兰 亭 墨 苑
期货 · 量化 · AI · 终身学习
首页
归档
编辑文章
标题 *
URL 别名 *
内容 *
(支持 Markdown 格式)
2006年后来被称为深度学习元年,是因为辛顿发表了关于DBN网络的论文。他证明了深层网络是有可能实现的,但是实际情况是,DBN这种方式非常的原始,梯度消失也在经常折磨着工业界,基本上没有超过三层的网络可以在真实场景下应用。当时,即便是辛顿和杨立昆,虽然有了寒冬即将过去的预感,但也不知道真正的春风将何时吹来。当时,处在这种困惑中的大有人在,李飞飞(Fei-Fei Li)也是其中一位。 1、神经网络的英雄大会:ImageNet 李飞飞(Fei-Fei Li) 2006年,李飞飞还是伊利诺伊大学香槟分校(UIUC)的一位助理教授,除了她的主要研究领域CV之外,她对人类的认知心理学也非常的感兴趣。在加州理工读博期间,她的论文《视觉识别:计算模型与人类心理物理学》就得到了学术界的肯定。届时,她的同行都在埋头耕耘自己的数学公式,在一个几万张图片的数据集测试竞赛中比赛谁的公式最漂亮,谁的手工特征设计的更精细。和同行们沉迷算法不同,她的脑子里一直在思考一个问题,为什么一个人类的婴儿对图片的识别能力远超大部分精细的算法?她认为:“一个 3 岁的孩子之所以能认出那是猫,是因为他的眼睛一直在观察现实的世界,相当于每秒钟处理好几张图片。这样的大量积累,到 3 岁时他已经看过了上亿张现实世界的画面。” 所以,她的结论是:AI 之所以不行,不是算法太笨,而是它们“看”得太少了。她决定要做一个覆盖整个物理世界的数据集,倒逼 AI 去学习。但是这个想法并没有得到普遍的支持,在会议上申请经费经常被拒。同行们嘲笑她:“做数据集是苦力活,不是科学。”但是这种嘲笑,并没有阻止李飞飞。她是来自一个工程能力和科学能力并重的东方国家的科学家,对她而言这不但不是阻力,反而让她看到了机会。 在开始动手时,李飞飞遇到的最大难题是:“我该怎么给这个世界分类?”此时,她的认知心理学知识又一次帮助了她。在普林斯顿攻读物理学时,她曾有机会接触过乔治·米勒教授,这位认知心理学家主要的研究方向是人类的大脑是如何组织词汇的。 乔治认为,人类记忆单词不是按字母表记的,而是按语义网络记的。所以,为了他的心理学研究,他设计了一个名为WordNet的英语词汇数据库。这个数据库是个语义网络。WordNet 的基本单位不是单词(Word),而是“同义词集” (Synset, Synonym Set)。英语中有很多多义词。比如 "Bank",既可以是“银行”,也可以是“河岸”。WordNet 将表达同一个概念的所有单词归为一个 Synset。例如: Synset A: {bank, cant, camber} -> (斜坡) Synset B: {bank, building} -> (金融机构) WordNet包含了大概11.7万个这样的Synset。这些Synset还被整理成了具有层级关系的树形结构。这使得WordNet成为NLP领域的标准基础设施。在大语言模型出现之前,WordNet 是计算机理解“语义”的最重要工具。 李飞飞直接借用了WordNet中的名词部分,将其作为她的图像网络ImageNet的骨架,这个骨架告诉李飞飞:世界上有一个概念叫“哺乳动物”,它下面有个概念叫“狗”,“狗”下面有个概念叫“哈士奇”。李飞飞的任务是:在 WordNet 的“哈士奇”这个节点上,挂上 1000 张哈士奇的照片;在“波音747”这个节点上,挂上 1000 张飞机的照片。最终,ImageNet 使用了 WordNet 约8万个名词节点,最终为其中的2.2万个节点找到了足够的图片,一共1500万张。 2009年,ImageNet 正式在 CVPR 会议上发布。但是现场关注的人很少,大家还是觉得这只是个“大一点的数据集”而已。当时李飞飞遇到了辛顿,向他兴奋的推荐:“我们正在做一个巨大的数据集,有上千万张图片,每一张都有标签!”而辛顿却冷冷的提出自己的建议:“你应该多关注一下标签是不是对的,或者搞搞无监督。”当时的他,和杨立昆都在无监督学习上陷入狂热,他当时认为:“真正的智能应该像人类一样自己探索世界,而不是靠人类给每一张图打标签。“ 虽然辛顿当时的反应很冷淡,但是他敏锐的意识到,这份数据集要比MNIST规模大得多,未来估计会有价值。也正是对这份偶遇的记忆,使得他鼓励自己的学生Alex Krizhevsky:“去用那个 ImageNet 数据集试试我们的网络吧。”结果就诞生了 AlexNet。 当时的杨立昆,其实也遇到了数据问题。在这段时间,杨立昆投递给 CVPR(计算机视觉顶会)关于 CNN 的论文,经常被拒。审稿人的理由通常是:“这东西在 MNIST 上行,但在现实复杂的图片(如 PASCAL VOC)上比不过 SVM。”杨立昆也动过使用ImageNet的念头,但是他习惯了 MNIST 这种极度干净的数据。面对 ImageNet 这种背景复杂、遮挡严重、甚至标签可能有错的“脏数据”,他一开始觉得卷积神经网络可能处理不了这么大的变异性。直到他发现辛顿团队用AlexNet夺冠之后,杨立昆才开始重拾对CNN网络处理脏数据的信心。 李飞飞并没有因为CVPR 会议上的冷遇而泄气,她直接找了当时计算机视觉界的权威竞赛PASCAL VOC的组织者。当时这个赛事的数据集规模不大,但是却是行业的金标准。她说服了组织者,让ImageNet作为子赛项挂在了他们的比赛下面。 2010 年,第一届 ILSVRC 正式作为 PASCAL VOC 的一部分拉开帷幕,这正是后来引发深度学习革命的那个赛事的起点。各路英雄开始云集这场大会,开始争夺在这个榜单上的排名。 2、AlexNet的横空出世 2010 年第一届 ImageNet 挑战赛的冠军团队是来自 NEC实验室和伊利诺伊大学厄巴纳-香槟分校的联合团队。队伍的主要成员包括后来百度的两位大神余凯和林元庆。当时他们用传统的特征工程加分类器的方法,把Top-5的错误率压到了28.2%。这个成绩意味着,每 100 张照片里,AI 甚至给出了五个选项,仍然有超过 28 张完全认错。这种错误率,其实并不低,但是在传统特征工程方法下,这已经是巅峰水准了。ImageNet 里有 120 种不同品种的狗。对于当时的手写特征值算法来说,区分“英国可卡犬”和“美国可卡犬”简直是噩梦。 其后的2011年第二届冠军,在数值上也只有微弱的提升,但是此时的ImageNet因为其高难度和海量图片,已经站稳了脚跟,众多从业者开始拿它当作最好的练兵场。 此时辛顿手中刚拿到本吉奥帮他打造的碧玉刀ReLU,ReLU急需站在一个战场上接受挑战。于是,辛顿把目光投向了他的两个天才学生:亚历克斯·克里泽夫斯基 (Alex Krizhevsky) 和 伊尔亚·苏茨克维 (Ilya Sutskever),而他选择的战场则是李飞飞为ImageNet所举办的ILSVRC。 亚历克斯·克里泽夫斯基 (Alex Krizhevsky) AlexNet 的诞生,并不是一群科学家坐在黑板前推公式推出来的,而更像是一场极其硬核的工程攻关。主角 Alex Krizhevsky 是一个罕见的“全栈天才”——他既懂高深的数学理论,又是一个能手写汇编级代码的顶级黑客。 在 2012 年的大部分时间里,Alex 把自己关在宿舍里,面对着电脑和老师帮他租来的两块GTX 580显卡,进行着一场孤独的赌博。他手里握着三张在当时看来毫不起眼,组合起来却威力无穷的“秘密底牌”: 底牌一:被复活的引擎 —— CNN(卷积神经网络): 他们没有重新发明轮子。AlexNet 的基础架构,本质上就是杨立昆 1998 年 LeNet-5 的巨型放大版。他们继承了卷积、池化这些核心思想。他所面对的对手,也就是2010年和2011年的冠军,用的都是传统方法,错误率卡在 26% 左右。业界普遍认为,要再降低 1% 都难如登天。Alex所祭出的CNN,在当时是被认为是老古董般的存在,有好几次在和同行交流这个想法的时候,被同行嘲笑:”那不是 90 年代杨立昆用来读支票的老古董吗?它怎么可能处理得了复杂自然图像?“学术会议上全是 SIFT、HOG 特征加上 SVM 分类器。 此时的杨立昆已经离开了贝尔实验室,也暂时脱离了被SVM之父Vapnik每天嘲讽的日子。1995年,Vapnik和杨立昆打赌,看到了2000年,是他的SVM还是杨立昆的CNN会统治计算机视觉领域。在2000年的时候,依然受困于梯度消失问题的CNN在效果上不及SVM,SVM几乎统治了整个计算机视觉江湖。感到懊恼的杨立昆,输掉了一顿天价晚餐,还被Vapnik嘲笑了一整年。那个时候,杨立昆并没想到,两年后老朋友辛顿的弟子帮他在全世界面前找回了场子,并亲自为SVM的坟墓挖开了第一锹土。 Alex之所以选择了CNN,除了老师辛顿的建议之外,还因为他有着第二张强大的底牌。 底牌二:涡轮增压器 —— NVIDIA GPU: Alex非常熟悉杨立昆的 LeNet。虽然 LeNet 只是处理小图(32x32),但其核心思想“权值共享”完美解决了ImageNet的图片尺寸过大导致的参数爆炸问题。他用局部感受野这种机制,把一张大图用小型卷积核分割成一个个区域,这就使得整体的参数量大幅的下降。只需要进行卷积计算,就能实现这个目的。他此时又敏锐的发现,卷积运算本质上是大量的、重复的、独立的矩阵乘法,这和GPU渲染图形的并行计算非常的相似。但是当时的软硬件环境非常的原始,那时还没有现在常用的PyTorch/TensorFlow这些深度学习框架,甚至NVIDIA 的 CUDA 库对卷积的支持也很弱。 Alex发挥了自己对底层代码熟悉的特长,直接使用 CUDA C 语言编写了底层的卷积运算内核。他极其精细地管理GPU的寄存器和共享内存,手动调度线程块,以确保显卡的每一个计算核心都能满负荷运转,不浪费哪怕一个时钟周期。这使得原来需要在CPU上需要跑几个月的训练时间,直接缩短到了两周内。 Alex不仅优化了在显卡上的卷积运算效率,他还设计了一个双塔结构,让两块GPU并行计算。当时的旗舰显卡 GTX 580 只有3GB 显存。而 AlexNet 有 6000 万个参数和 65 万个神经元,加上中间生成的特征图,一张显卡根本塞不下。他只好把网络切成两半,分别放在两块GPU上运行,但是PCIe 总线带宽太慢了,每一层都通信的话,数据传输速率又将会成为瓶颈。于是他设计让GPU只在特定的层(如第3层卷积和全连接层)进行数据交换,其他时间各自跑各自的卷积。这是神经网络第一次尝试分布式训练,也是第一次代替神经网络向当时的硬件世界发出呐喊:“计算不是瓶颈,通信才是瓶颈!” AlexNet敲醒了当时的英伟达掌门人黄仁勋(Jensen Huang),黄仁勋Get到了Alex所传达的所有信息,CUDA开始把目光从科学计算领域转移到AI上。2014 年,英伟达发布了 cuDNN,它把 Alex Krizhevsky 费劲手写的那些卷积优化、池化优化,全部封装成了标准 API。后来所有的框架(Caffe, TensorFlow, PyTorch)都直接调用 cuDNN,不再需要程序员自己写 CUDA 内核。Alex 的个人智慧变成了全行业的标准基础设施。Alex拆分网络的做法,让黄仁勋意识到几个架构上的问题: PCIe 太慢了,于是发明 NVLink。 点对点通信不够,于是发明 NVSwitch 显存太小,于是引入HBM (高带宽内存) 单卡是孤岛,统一内存架构 (Unified Memory) 更重要的是,AlexNet 证明了深度学习的核心就是矩阵乘法,这让英伟达开始修改GPU的硬件架构,专门为 AI 服务,到了2017年,甚至直接引入了Tensor Core,英伟达的卡不再用来画图,开始成为算AI的专用设备了。英伟达的万亿帝国,从AlexNet开始成功筑基。 有了基础网络架构,通过自己魔改搞定了算力,Alex手中的第三张王牌就是老师辛顿手中的ReLU。 底牌三:新型燃料与刹车系统 —— ReLU 和 Dropout 正如之前所说的,梯度消失问题不会因为算力而有所缓解,CNN的网络架构也同样笼罩在梯度消失的乌云之下,辛顿此时建议Alex 放弃 Sigmoid,改用ReLU。这直接解决了梯度消失,而且让网络训练速度又快了 6 倍。另外,在训练的过程中,由于网络规模过大,很容易过拟合(死记硬背)。辛顿提出了当时在物理学中学会的心法“引入随机性”,这就是Dropout,在训练时随机关掉一半神经元,强迫网络学习鲁棒的特征。这成了防止过拟合的神器。 有了这三张底牌,Alex把自己关在宿舍里,两块显卡没日没夜地咆哮,温度高到需要开着窗户散热。他们一直在调整参数,直到提交截止前的最后一刻,模型还在训练。他们提交了最终的预测结果。当 ImageNet 主办方跑完测试数据,看到结果时,他们以为代码出Bug了。第二名(传统方法集大成者):错误率 26.2%。第一名AlexNet:错误率 15.3%。错误率几乎腰斩!领先了第二名整整 10 个百分点!在任何成熟的科学竞赛中,这种程度的进步都不能再称为进步了,这是外星科技降临,这是血淋淋的屠榜。 2012年10月,计算机视觉顶会 ECCV 在意大利佛罗伦萨举行。ImageNet 的研讨会因为这场差距悬殊的比赛而变成了重头戏。通常,这种研讨会大家都在下面聊天、看手机。但当辛顿替他的学生走上台,展示出那个 15.3% 的柱状图时,整个会场陷入了一片死寂。坐在台下的李飞飞后来回忆说: “那一刻,你能感觉到空气凝固了。所有人都意识到,一个时代结束了,新的时代开始了。” 比赛结束后没几个月,谷歌为了得到辛顿、Alex 和 Ilya 这三个人,直接以几千万美元的价格收购了他们为了打比赛而成立的空壳公司。 AlexNet 推倒了第一块多米诺骨牌,Alex手中,辛顿的碧玉刀闪耀着光芒。在ImageNet比赛后,碧玉刀高居兵器谱排名第一位,它不仅让辛顿师徒直接获得了财富自由,得以可以全身心的投入研究,更是点醒了黄仁勋,让英伟达冲着AI算力巨无霸的方向猛冲,十年后造就了全球最值钱公司的万亿美金市值。 随后几年里,神经网络终于打破了被封印多年的命运,开始成为AI发展的主流范式,横亘在辛顿、杨立昆和本吉奥们面前十数年的叹息之墙终于轰然倒塌。但沐浴在春风里庆功的身影中,却少了鲁梅尔哈特。他患上了一种非常罕见的神经退行性疾病皮克氏病,并于2011年去世。他亲手证明了大脑如何通过神经元学习知识,但疾病却在物理上一层层地拆除他脑内的神经连接。2006年,辛顿用DBN网络宣告深度学习元年的开始的时候,2012年,AlexNet彻底宣告反向传播有效的时候,鲁梅尔哈特都没能在场,但在每次网络回传误差时,每次权重更迭时,都是他的智慧在闪耀着光芒。 同时,ImageNet的舞台效应开始显现,大量的研究团队开始在这个赛场角逐。为了追求更准确的图像识别率,而开始构建更深层的网络的竞赛时代开始了。一时间所有人仿佛都认为春暖花开了,谁也没想到梯度消失还可能会卷土重来。
配图 (可多选)
选择新图片文件或拖拽到此处
标签
更新文章
删除文章