严冬
九十年代末,神经网络遇到的困境就是一个字——“慢”。
除了计算速度的因素外,还有一个根本问题就是反向传播时所谓的“梯度消失问题”(vanishing gradient problem)。
简单的说, 就是cost function从输出层反向传播时,每经过一层,梯度衰减速度极快, 学习速度变得极慢,神经网络很容易停滞于局部最优解而无法自拔。
又由于当时SVM在图像和语音方面取得的成功,使得很多研究者转战SVM(就像现在研究者开始往深度学习这边靠拢)。到本世纪初,神经网络在学术界的情况更加糟糕,以至于任何论文送到学术期刊时,研究者都不敢用 “神经网络” 几个字,免得被粗暴拒绝。
但是在这样的科研环境中,有个执著的小老头,多伦多大学的Geoffrey Hinton,还在神经网络领域苦苦坚守。一个五十多岁的小老头,做了三十多年“没有前途的研究“,还要绞尽脑汁四处神经研究经费,境况可谓悲惨。2003年 在温哥华大都会酒店,以 Hinton 为首的十五名来自各地的不同专业的科学家,和加拿大先进研究院 (Canadan Institue oF Advanced Research,简称 CIFAR) 的基金管理负责人Melvin Silverman 交谈。
Silverman 问大家,为什么 CIFAR 要支持他们的研究项目。计算神经科学研究者,Sebastian Sung (现为普林斯顿大学教授),回答道,“喔,因为我们有点古怪。如果 CIFAR 要跳出自己的舒适区,寻找一个高风险,极具探索性的团体,就应当资助我们了!”
最终 CIFAR 同意从 2004年 开始资助这个团体十年,总额一千万加元。CIFAR 成为当时,世界上唯一支持神经网络研究的机构。
不夸张地说,如果没有 2004年 CIFAR 的资金支持,人类在人工智能的研究上可能还会在黑暗中多摸索几年。
不过鉴于”神经网络“之前在学术界的糟糕口碑,Hinton在拿到资金之后,将其改名换姓,叫作”Deep Learning“。
复兴之路 – 深度学习
2006年,Hinton 和合作者发表论文,”A fast algorithm for deep belief nets”。使用RBM(限制玻尔兹曼机)预训练初始化后的网络(即对网络连接的权重进行初始化),再用反向传播算法微调。
2007年之前, 用 GPU 编程缺乏一个简单的软件接口。 编程繁琐,debug困难。这在 07年 Nvidia 推出 CUDA 的 GPU 软件接口后才真正改善。
2009年6月, 斯坦福大学的 Rajat Raina 和吴恩达(Andrew Ng)合作发表论文“Large-scale Deep Unsupervised Learning using Graphic Processors“。论文结果显示,使用 GPU 运行速度和用传统双核 CPU 相比, 最快时要快近七十倍。在一个四层,一亿个参数的深信度网络上,使用 GPU 把程序运行时间从几周降到一天。
2010年 瑞士学者 Dan Ciresan 和合作者发表论文,“Deep Big Simple Neural Nets Excel on Handwritten Digit Recognition”把训练神经网络的图像,刻意通过旋转, 放大缩小和弹性形变等方式进行改变。这样用于训练的图像数目大大增加。
2011年,加拿大蒙特利尔大学学者 Xavier Glorot 和 Yoshua Bengio 发表论文,“Deep Sparse Rectifier Neural Networks”。论文中使用 “修正线性单元”(Rectified Linear Unit,又称 ReLU)激活函数。使用 RELU 的含有三个隐层的神经网络模型,被用来测试于四个不同的经典的图像识别问题。和使用别的激励函数的模型相比,RELU 不仅识别错误率普遍更低,而且其有效性,对于神经网络是否进行 “预先训练” 过并不敏感。
2012 年还在斯坦福大学做研究生的黎越国同学 (Quoc Viet Le) 领衔, 和他的导师吴恩达,以及众多谷歌的科学家联合发表论文,(Building High-level Features Using Large Scale Unsupervised Learning)。黎越国的计算模型分布式地在一千台机器 (每台机器有 16 个 CPU 内核) 上运行,花了三天三夜才完成训练。经过训练的神经网络,在ImageNet 的共享图像数据库里,面对两万两千个不同类别,一千四百万个图像, 分类识别的正确率达到了 15.8%。 而在此之前最好的公开发表的模型,正确率只有 9.3%。
2012年7月,Hinton发表论文,”Improving neural networks by preventing co-adaptation of feature detectors“。提出用于解决过拟合问题的“Dropout”技术。
LSTM, FCN, ……
AlexNet
GoogLeNet
VGG
……
直到2016年,AlphaGo横空出世,才让所有人意识到,深度学习已一统天下。
但悲伤的是,笔者在博士阶段的工作。
是基于SVM的。
好气啊。