就最终结果而言,我在本章开始时使用的“自上而下”法和神经网络的“自下而上”法的训练方法并没有区别。这两种方法输出的都是猫狗无限循环互动。但就这些模型如何推广应用到其他方面而言,两者有着天壤之别。我的“自上而下”构建的这个算法方法只对猫狗互斗文本的生成有用,而“自下而上”的神经网络则能够基于它所得到的奖励(rewards)来训练自己。
现在我所要做的就是创造一个更熟练的神经网络作者,并找到大量的文本来训练它。这不难。列夫·托尔斯泰的所有作品都可以在网上免费下载,我用了不到一分钟就找到并下载了《战争与和平》(War and Peace)和《安娜·卡列尼娜》。编写一个神经网络来阅读这些书并生成文本需要我进行更多的工作,不过我已经将大部分事情完成了。我问那位经常使用Tinder的同事亚历克斯,他是否能训练一个神经网络来学习托尔斯泰。他很快发现了—组由谷歌创建的程序库(programming libraries),这让他能够完成这项工作。他只花了几天时间就把它们训练成了托尔斯泰。
亚历克斯使用了神经网络的一个子类,称为递归神经网络,这种网络特别适合学习序列数据,就像我们逐字逐句地读《战争与和平》一样。输入神经元和隐藏神经元与递归神经网络形成一个“梯子”,这个“梯子”将这些词语“提”到神经网络顶部,并它们组合起来预测应该产生的下一个词。亚历克斯构建了一个神经网络,它通过读取前25个词语和标点符号,来预测第26个是什么词语或标点符号。这个神经网络已多次通读托尔斯泰的小说,试图在下一个词语出现之前就对其进行预测。当它预测出了正确的词,或者预测了一个相似的词,网络中那些产生正确预测的连接就会得到加强,这样一来就大大增加了猫狗算法的复杂性。我的猫狗算法之前只读取两个词语的输入,但我们必须给予托尔斯泰应有的尊重,25个词语还算说得过去。
第三部分 人智能的未类了吗?
193