购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.4 为什么要学习已经过时的模型

不知道读者是否发现一个现象,无论从网上查询资料,还是看论文,又或是看机器学习方面的书籍,经常会看到一些已经过时的模型、算法的介绍。在这些介绍之后才开始进入正题。笔者也会依据这个传统,每讲一个主题,都会尽量从历史上挖掘,把曾经的做法也拿出来讲一讲。

为什么要这么做?为什么不直接讲最新的模型、算法?以前已经被淘汰的技术再学习不是浪费时间吗?

其实是这样的,任何一种技术都不可能是凭空产生的,大多都有其产生的路径,如先有火才能炼青铜,有煤产生高温才能炼铁,有了铁才能造机床,有了机床才能进一步精密加工零件等。

对这方面有兴趣的读者可以参阅布莱恩·阿瑟的著作《技术的本质》。

算法和模型也同样如此。神经网络的每一种模型,其实都是很多先验的集合,大先验套小先验,有些小先验还要套一些更小的先验,如特征工程。

而这些先验并非凭空产生的,一些是基于对人处理视觉、语言的方式的建模,这属于新先验。而更多的是基于已经被建模而且被证明有效的先验,如RNN、CNN和LSTM等。

CNN也是什么先验?其实就是假设图片内的事物有平移和距离不变性,就比如一张人脸,从左边看是人脸,从右边看也是,变小了是,变大了也是。CNN内所谓的卷积核就是逐行、逐列地扫描,这样不论目标物体在图片的哪个位置,都可以用同样的特征函数处理并获得同样的输出。

如果没有CNN的卷积核,也就是没有平移距离不变的这个先验,像全连接神经网络DNN那样,同样的一个物品(如abc的人脸),需要重复在每个位置都出现多次才能充分训练网络模型,否则,如果训练样本的图片中abc的人脸没有在左下角出现过,在模型推断时左下角出现了abc的人脸,那么模型是不可能输出正确结果的。这就是CNN出现之后CV领域就呈现出了爆发式的发展趋势,而DNN时代的神经网络则一直默默无闻的原因。

RNN是什么先验?RNN比CNN稍微复杂一些,但总体上就是假设当前时间点的数据的概率依赖前面所有时间点的信息。例如“我要去”后面可能跟“吃饭”“睡觉”等人可以做的动词,而不可能跟“爆炸”“电脑”等人不可能做的动词或名词。RNN同样有着类似CNN的平移不变性,也就是“×××我要去”跟“我要去”后面接的词大概率是类似的,除非×××里包含非常重要的词。

通过观察发现,语言等序列时间经常长度不一,不像图片总有1024×768、800×600之类的大小限制。所以使用循环迭代式的单元网络,这样可以适应各种长度的数据。虽然RNN本身是不要求数据长度一致的,但是为了训练方便,也就是可以以batch为单位进行批量训练,模型不得不统一样本长度,长的截断,短的补0向量。之后推断时如果也使用批量,那么长度同样需要限定。如果只是一条一条地推断,那么是可以不限制长度的。如果RNN之后增加了注意力机制,因为注意力的权重范围往往是固定的,那么RNN模型的长度一般也就随之固定了,从而导致RNN失去了处理动态长度数据的能力。

之后凡是基于RNN的模型,都是建立在RNN先验基础上的。每一篇新的论文,每一种新的模型,其实都是基于前面某些人的工作,基于某种模型或某几个模型的先验,然后在他们的基础上进行先验删除、增加或修改。

最终展现出来的模型往往是一个历史先验的集合,再加上该模型作者的一些创新,这些创新其实还是先验,或是基于对人脑处理事物的观察而建模的新的先验,或是基于以往某些先验的删除或修改。这样,所有的模型和论文最终组成了一个巨大的先验树。每一个新的论文模型都是基于前面某个或某些分支延伸出来的。因此,如果只讲最新的论文进展,那么你获得的知识就是片面的。论文所依赖的历史先验并非重点,此处不详细讲解,有兴趣的读者可以按前面所讲的方法查阅相关资料,真正理解论文的创新点及其思想。

即使有了囫囵吞枣式的理解,但如果没有抓住先验树的链路,就不可能掌握创作者的思考方式,也不可能真正理解这些创新是怎么来的,更不可能基于前面的创新路径而做出自己的创新。

相反,如果从历史模型的演变中学习到了其中的脉络,把每个先验体现在模型中就是一个个模块也就都弄清楚了,那么任何一个新的模型在你眼中都是有迹可循的,理解起来也会非常轻松,并且对于其未来可能发生的变化,或是自己动手实验需要从哪方面着手才可以进一步获得提高等都会有帮助。

此外,那些历史上已经做出的尝试,即使很多是失败的或已被淘汰了,也都是经验。在自己尝试解决问题的时候可以避免再去探索那些已经被探索过的、被证明无效的方向,节约很多时间。

笔者一直认为,教人知识不是目的,因为知识是死的,是固定的。如何使用知识,如何思考和创新才是最关键的。 D4BbHchv7+f8Ndzv7XEpu2DjlziYMNUB+h9s23vY3fO7rjJw2kLjskND+db1bj4+

点击中间区域
呼出菜单
上一章
目录
下一章
×