30年前过气老论文,为何能催生革命全球的CNN框架?

2019-10-10 18:12发布

过气30年的老理论,能不能变成颠覆世界的新趋势?CNN之父Yann LeCun一定会说,能!因为他在1989年发布的全球第一个CNN框架LeNet-5,就是源自1950、1960年代的理论,但是,采取了全新的视野,反而掀起了现代深度学习的新革命。

约1970年晚期,当时在巴黎高等电子工程师学校就读大二的Yann LeCun,偶然读到一本书,提到了皮亚杰(Jean Piaget)研究的机器学习模式“感知器”(Perceptron),“这是我第一次接触到机器学习的概念。”他回忆。

这类机器学习理论起源,可以追溯到1950年代。当时,Frank Rosenblatt运用mcCulloch-Pitts人造神经元(Artificial neuron),仿效人类大脑的生物结构,在1957年创造出感知器神经网络。由于人脑是由神经元连接构成的大型网络,感知器模型也是立基于这个概念,以人造神经元来构建类神经网络,通过相对简单的运算单元,来计算输入(input)的权重总和,并且通过修改神经元之间的连接来进行机器学习。

Yann LeCun比较,传统机器学习的典范是创建一个特征提取器(Feature Extractor)抽取特征,再创建可训练的分类器(Trainable Classifier),比如感知器模型,“这是一种单层神经网络的模式。”

后来,机器学习的典范改变了,从单层神经网络,发展到了多层神经网络架构(multi-layer)的深度学习。深度学习的多层神经网络设计中,可以指定每一层神经网络学习不同的特征,如第一层负责从图像的单个像素学习线条的走向、第二层结合第一层来学习识别简单形状,每提高一层就学习更多特征。

Yann LeCun表示,因为感知世界的本质,就是由多个细节组件组合而成,比如物体可拆分为数个主要部分,主要部分由次要部分所组成,次要部分又能解构为多个基本对象,基本对象由边缘组成,边缘又包含许多像素。因此,如果想要识别图片中的汽车,可以先侦测是否有圆形物体,推论出可能有轮胎或类似的东西,一层层判断特征再做决策,“这就是所谓的深度学习。”

“但,为何多层神经网络的概念早就出现,却没有发展?”Yann LeCun自己的答案是,人们选错了“神经元”来发展神经网络,早期的二元神经元(binary neuron)因为不需用到乘法而容易执行运算,但也阻止人们联想到运用梯度模式来发展多层神经网络的训练方法。直到1986年,深度学习之父Geoffrey Hinton等人提出“反向传播算法”(Backpropagation)来训练多层神经网络,才让深度学习的研究重新复苏。

但是,当还是大学生的Yann LeCun对此产生兴趣,开始寻找些文献来阅读时,机器学习迎来了第一次寒冬。

钻研多层神经网络,在1989年提出首个CNN框架LeNet-5

“机器学习重新受到关注后,看着那些旧论文,我最感兴趣的是,如何训练多层的神经网络?所以,我开始朝这个方面研究。”Yann LeCun在多伦多大学担任博士后研究生时,直接拜师Hinton,从事深度神经网络的研究,接着在1988年,进入了贝尔实验室的自适应系统研究部门,不久后就发布了经过反向传播训练的首个CNN框架LeNet-5,不仅是深度学习最基础的框架之一,也验证了CNN架构的可行性。

Yann LeCun提出的CNN框架LeNet-5,运用了大脑视觉皮层神经元结构,以及K.Fukushima在1980年代提出的神经网络Neocognitron的概念。LeNet-5在不含输入与输出层的前提下,总层数有6层,分别为C1卷积层、S2池化层、C3卷积层、S4池化层、C5卷积层、F6全连接层,再输出结果。尽管层数不多,但其中的卷积(Convolution)、池化或子采样(Pooling or Sub Sampling)、全连接层(Fully connection),都是现今CNN模型的基本元素。

当年,Yann LeCun将LeNet-5框架用来创建了一个能识别手写文本的技术。这个技术在1994年被NCR公司(ATM设备大厂之一)应用在支票识别系统中,全盛时期,美国10%至20%的支票的判读,都用到了这个技术。

Yann LeCun屡屡提到当年深度学习如何走出第一次寒冬的关键,他认为,实证经验可以证明新科技的有效性。例如,深度学习的神经元观念就来自生物学对大脑研究的实证经验,但是,实证经验往往发展太慢又太昂贵,“创建理论,可以让我们修剪经验的摸索空间,避免遥不可及的目标(例如永动机),有时理论甚至可以帮我们预测现象。”

可是,一度成为全球金融交易的关键技术、死灰复燃的深度学习,却又再次碰壁!到了1990年代末期,深度学习的研究再次没落。

Yann LeCun认为,造成机器学习进入寒冬有4大因素。首先,是硬件资源难以进行浮点运算,光是训练一个字符识别模型就要花费两周时间;再者,是缺乏训练数据,除了字符和语音数据之外,没有其他的大型数据集;第三,则是没有实用的软件开发工具,都必须从头开始创建;最后,则是没有开放数据、开源框架的概念,导致研究进程缓慢。

甚至,Yann LeCun自己跳下来,开始设计AI专用的加速芯片硬件,从1986年发布的12×12数组处理芯片,到1992年的ANNA芯片,已经可以加速运算64×64层网络的CNN训练。不过,深度学习研究的进展依然缓慢,学界也不看好。

坚持深度学习研究,用十年寒冬奠定图片识别基础

在其后十年间,Yann LeCun仍不放弃,持续研究CNN的框架,从理论和实证来寻找新的突破点。在1993年到2005年间,Yann LeCun用CNN模型来侦测图片中的多个人脸或行人;而在2000年代中期,也用来开发能侦测障碍物的自驾小车,不仅标注出摄影机画面的每个像素可否行驶,来训练模型,也运用立体视觉系统,来标记更大范围的图片,借此来规划长途行进路线,在闪避障碍物的同时,也维持大方向行进路线不变。

约在2009、2010年时,Yann LeCun将CNN模型部署到硬件设备FPGA芯片中,在训练数据中标注出道路、人行道、建筑物、树木、汽车、行人等所有物体,以每秒20帧的速度进行图片识别,并在纽约大学中测试,初步实现了自动驾驶汽车的技术架构。“当时运用的技术,与现今许多自动驾驶系统使用的技术,本质上很相似,都通过测量与障碍物的距离来闪避。”

最终让深度学习重获大众目光的转折,发生在2012年,Yann LeCun的同门师弟Alex Krizhevsky、Ilya Sutskever在Hinton带领下,使用Nvidia的GPU,来训练同为CNN架构的AlexNet图片识别模型,一举拿下ImageNet的冠军,正确率更超过第二名将近10%。因为硬件的进步与技术的成熟,深度学习再次复苏,应用也更趋多样,“比如语音识别系统,从原先完全不使用神经网络,在短短几年内就几乎都已经采用。”

在这之后,研究者也开始增加CNN框架的层数,来增加识别准确率。若以ImageNet数据集,来测试运用不同框架所训练的模型的误判率,可以发现8层架构AlexNet所训练的模型,图片识别的误判率有16.4%,但用19层架构的VGGNet来训练,误判率只剩7.3%,22层的GoogleNet则是6.7%,而层数急剧上升到152层的ResNet,误判率更是降至3.6%,说明了层数越多,可能达到更高的正确率。

接下来的故事,大家都很清楚了,现在不只百层,结合了云计算运算和各种AI专用芯片,上千层的运算都做得到。但凡医疗图片分析、自动驾驶汽车、脸部识别、语言翻译、语音助理、游戏、安全、科学研究等领域的各式AI应用大量出现。

但是,如此威力强大的深度学习,距离具有常识能力的“AI”有多远?这就是Yann LeCun在ICIP开讲要披露的事。

文章来源: https://www.toutiao.com/group/6746109119926632973/