如果一个AI根据现实情况给自己提要求让自己写AI代码,然后执行,那会是什么结果?细思极恐。
我刚才就让ChatGPT根据指定要求写了一段用C#写的神经网络。它对话中的具体的细节要求的理解的到位让人有点惊讶。
我的问题是:
——“请用C#代码实现一个有10个输入节点,20个隐节点,和一个输出节点的用于图像识别的神经网络。注释请用中文。”
不过这段代码只有前向传播的过程,并没有写出反向传播的代码,当然对于“用于图像识别”这个意思它采取了忽略(我以为它会把卷积,池化什么的都写出来,结果木有)。于是我又要求它把反向传播的逻辑也写进去,重新更新了问题:
——“请用C#代码实现一个有10个输入节点,20个隐节点,和一个输出节点的用于图像识别的神经网络,必须要包含反向传播的逻辑。注释请用中文。”

这次的结果完善了点,提供了反向传播的代码,但是似乎它忘了提供Sigmoid()激活函数的实现(看来它也是丢三落四的),如果没有这个函数的实现它提供的代码就无法编译(却那个函数),于是我又增补了要求。
——“请用C#代码实现一个有10个输入节点,20个隐节点,和一个输出节点的用于图像识别的10层深度神经网络,必须要包含反向传播的逻辑,要提供激活函数的实现代码。输入数据是1-10。注释请用中文。”
这次虽然代码完善了,整个代码完全可以编译,没有错误,但它忽略了“输入数据是1-10”和“10层”这两个要求。
综合上述几次有些微改变的要求ChatGPT返回的代码的分析来看,它三次提供的代码是高度一致的,很多代码的变量名都完全一致,算法不变,只是增补了要求的部分,看起来有点像是根据要求剪裁和拼图。
所以我有这些感想:

1)我个人觉得ChatGPT是为程序开发做了特别优化的,也就是说它很可能针对各种编程语言的模型和代码库进行了大量的训练,而且要针对程序代码和相对应的自然语言含义进行训练,这个貌似有点困难,但也可能仅仅是针对训练用的样本代码中的关键字(被翻译为多种语言)进行训练,搜索包含关键字的代码样本(包括注释),然后综合给出代码,代码中的变量名称是一致的(自然语言可能会用一些不同的省略表达,但编程语言比较刻板,名称必须永远不变)。而且编程语言中的一些关键概念,例如“注释”,可能是经过了特别优化的。毕竟由于编程语言和大量的在线代码是现成的数据集,而且这种数据集是非常规范的(语义规范是非常强的),因此训练和预测要比自然语言要容易得多。
2)如果搜索到的最佳的样本代码的结果集合无法满足要求就被直接忽略。部分没有提到的要求也可能被忽略。这是让人抓狂的地方——你一个电脑程序,凭什么不响应我明确地要求??至少说一个“臣妾做不到”嘛。这个估计就是ChatGPT开发者玩弄心理学了,因为忽略比回答“我不能”感觉更“人性化”一点。如果你看到AI不停地唠叨这我做不到,那也做不到会是什么感受?所以ChatGPT的智力还没有想象地那么高。

3)猜测ChatGPT是一个搜索引擎+关键字匹配分析+自然语言表达输出的综合查询系统,通过用户谈话中的关键字的语义分析进行搜索然后用人工智能将搜索结果中最匹配的信息综合起来用看起来最符合自然语言的方式(或者某些特定要求的方式,例如以代码或者表格形势)输出给用户,这貌似就是ChatGPT的原理,推测大概包括三个过程:
A)一个搜索引擎用于调取原始知识库——当然是经过面向AI优化的知识库,有更清晰的分类标识和预先提取的资料相关特征的权重标记,例如感情色彩的打分,文体类别打分等等,这个和人用的搜索引擎略有不同。
B)对搜索的结果资料集依据关键字进行最佳分析并合并得到解答内容的语义要点——对搜索到的资料跟提问中的关键字进行评分,优选出最契合的资料然后进行合并,并剪裁为可拼接的语句或者段落组(中间必须包含必要的去重过程,以免多个资料重复出现)。程序代码类的生成可能是跟自然语言分开处理的,因为这部分更有商业化潜力,而且也更容易规范。

C)自然语言风格输出——将语句或段落资料组中的词汇和语句以最高频的组合搭配方式输出(并插入必要的词汇连接补充),结果让“人”读起来觉得很自然、熟悉,这个并不难,因为人类的语言是高度有序和一致的,虽然没有程序代码那么严谨,但绝大多数人的用词方式都高度一致,这是人类为了沟通自然使然,也是语言演化及保守的原理。因此只要机器用目前人类最常见的方式来排列组合任何字符(最高频的词句搭配法),现代人类就不会觉得有什么不自然。
不神秘,不神秘,只是觉得还有点用,因为搜索和整理资料对人来说确实成本有点高。
ChatGPT只能算是一个对人类更友好的输入输出接口吧,至于智能,我觉得它还几乎没有。
编程如果有完整的中文生态环境,绝大多数程序员将变的一文不值,但是会有极少部分的程序员会身价倍增,编程这个行业非常特殊,几千几万个程序员可能还不如一个有灵魂的程序员的作用更大。中国真正需要的是有创新能力,而不是简单复制粘贴的程序员。

打开boss直聘和智联,搜索3年以上java经验的工程师,结果发现30岁以上的java应聘者非常多,要求都不太高,开发经验都在7-13年,月薪要求为1万左右,相反,29岁以下5年经验的java应聘者起步1.2万,最高要到1.5-1.7w,java人才严重过剩,高光时刻过去了。
最近浏览了很多关于ChatGPT方面的文章,细思极恐,人类智能化时代扑面而来,ChatGPT拥有各专业大量数据,几乎拥有人类历史所有的知识,不仅如此,它能模仿人类的思维,对你提出的问题给予明确的答案。
目前ChatGPT在多个领域的发展获得好评,比如简单编程、课件和论文报告的撰写都非常具有参考性,它写诗写词都很有意境和美感,后续随着应用的增加,可以预期,ChatGPT将在更多领域大有作为。
科技的进步引领人类革命的浪潮!ChatGPT在解放人类部分工作、给人类分担很多工作的同时,也将在很快取代很多人的工作。
与此同时,人工智能化对现代社会的道德、经济和政治秩序必将产生强烈的冲击。







