大数据文摘出品:来源:v编译:武帅、狗小白、马莉 随着21世纪第二个十年行将结束,我们有必要回顾一下这十年来在深度学习领域所取得的巨大进步。在性能日益强大的计算机及大数据可用性的推动下,深度学习已经成功攻克了曾经棘手的难题,特别是在计算机视觉和自然语言处理方面。深度学习在我们的日常生活中已无处不在,从自动驾驶到医学影像分析,从虚拟助理到深度伪装。 理解深度前馈神经网络训练的难点(7446次引用)Xavier初始化后的激活(上)和不进行初始化的激活(下) 本文探讨了深度网络的一些问题,特别是权值的初始随机化。本文还注意到了S型曲线和双曲正切激活问题,并提出了替代方案SoftSign,它是一种具有更加平滑的渐近线的S型激活函数。但是,本文最主要的贡献在于初始化。当使用正态分布的权重进行初始化时,数值很可能会急剧增大或者减小,从而无法进行训练。假设前一层的值是正态分布的独立同分布,则将它们相加会增大其方差,因此应按输入数量成比例地缩小方差,以保持输出值服从标准正态分布。将这个逻辑反过来(即按输出数量进行处理)则可以处理梯度的问题。本文介绍的Xavier初始化是两者之间的折衷,是利用方差为 的正态分布初始化权重, 分别是前一层神经元和后一层神经元的数量。2015年的一篇论文《深入研究整流函数:在ImageNet分类上超越人类水平》介绍了Kaiming初始化,它是在Xavier初始化的基础上考虑了ReLU激活函数的一个改进版本。 深度稀疏整流神经网络 (4071 次引用)从最早的MLP到2015年左右的许多神经网络都是用S型函数作为激活函数。S型函数具有处处可微和输出有界的特点,常用的有Logistic函数和双曲正切函数。而且它与神经生物学中的全或无定律相吻合。(注:全或无定律是神经传导的一项基本特性。即当刺激达到神经元的反应阈限时,它便以最大的脉冲振幅加以反应,但刺激强度达不到某种阈限时,神经元便不发生反应。详情参考https://en./wiki/All-or-none_law)然而,由于S型函数的导数从零开始迅速衰减,因此随着神经网络层数的增加,梯度通常会迅速减小。这就是我们常说的梯度消失问题,这也正是当时神经网络难以深度扩展的原因之一。该论文提出,使用ReLU激活函数来解决梯度消失问题,从而为神经网络的深度发展奠定了基础。(注:ReLU,Rectified Linear Unit,一种常用的激活函数,称为线性整流函数或修正线性单元) S型函数及其导数 著名文章对其的引用:
2012 深度卷积神经网络的ImageNet分类(52025次引用)AlexNet 结构 著名文章对其的引用:ImageNet层次结构中的图像示例
LeNet 结构
著名文章对其的引用:GloVe: 单词表示的全局向量 :GloVe的核心思想与word2vec相同,是其改进版本,但是实现方式略有不同。关于这两个模型哪一个更好,人们至今没有定论。 利用深度强化学习玩Atari(3251次引用) DeepMind的Atari DQN的研究结果开启了深度强化学习领域的大门。强化学习之前常用在诸如网格世界之类的低维环境,很难在复杂环境中有所应用。Atari是强化学习在高纬度环境下的第一例成功应用,这使得强化学习从籍籍无名而转身称为AI领域的香饽饽。 本文特别使用了深度Q学习,这是一种基于价值的强化学习方式。基于价值就是说目标是通过遵循由Q值函数隐式定义的策略来了解在每种状态下获得的奖励的期望值。本文所使用的策略是 —它根据Q函数及概率 的估计结果而采取最贪婪(即得分最高)的行动。这样也是为了探索整个状态空间。训练Q值函数的目标是从贝尔曼方程(Bellman equation)推导出来的,它将Q值分解为当前奖励值与加权后的下一期的最大Q值之和 从而可以实现参数的自更新。这种基于当前值和未来价值函数之和来更新价值函数的方式通常被称为时差学习(Temporal Difference Learning)。 著名文章对其的引用:2014生成对抗网络(被引用13917次) 因其绝妙的可视化功能,生成对抗网络怎么称其成功也不为过。依托于生成器(Generator)和鉴别器(Discriminator)之间的极大极小博弈,GANs能够对复杂、多维度分布进行建模,其对象通常是图片。生成器的目标就是最小化鉴别器正确甄别错误样本的对数概率,也即log(1 – D(G(\bold)))log(1−D(G(z))) ;而鉴别器的目标则是最大化对于正确和错误样本的分类误差,也即log D(x) + log(1 – D(G(\bold)))logD(x)+log(1−D(G(z))) 。 著名文章对其的引用 Wassertein GAN及改进的Wassertein GAN:原版生成对抗网络(Vanilla GANs)存在种种问题,特别是训练的稳定性问题。即使经过轻微调整,原版GANs也常常训练失败,或者出现模式崩溃(也即,生成器生成只生成几张图片)的情况。调整梯度的Wassertein GAN提高了训练稳定性,因此也成为如今事实上默认使用GAN。原版GANs使用Jensen-Shannon距离法,导致分布之间因不正常的梯度饱和几乎不相交;WGAN与之不同,采用的是Earth Mover距离法。WGAN原稿论文通过限制权重的方式,强加了一个要求梯度小于任何一个常量的Lipschitz连续性限制,从而通过调整梯度的方式改善了一些存在的问题。 StyleGAN:StyleGAN能够生成令人惊叹的、几乎无法区分于真实图片的高清图片。生成如此高清图片的GANs之中所运用的最重要的技术就是渐进地增大图片大小,而StyleGAN内置了这项技术。StyleGAN还能修改不同大小规模的图片的隐空间,从而只对生成图片的特定细节进行操作。 通过联合学习对齐和翻译的神经机器翻译(被引用9882次) 这篇文章引入了attention的概念,即,我们可以不选择压缩信息进一个RNN的隐空间里,而是在内存中保留全部的内容,通过“\mathcal(nm)O(nm)”这一操作,使输出的所有要素处理输入的所有要素。即使attention要求递增二阶收敛,它依然比固定状态的RNNs表现更优秀,不仅在类似于翻译和语言建模的文本处理领域不可或缺,其身影也穿梭在与之相去甚远的GANs领域的模型中。Adam:随机优化的一个方法(被引用34082次)Adam因其易于微调在自适应优化中被广泛运用,它基于为每个参数适配单独的学习率的理念。虽然最新的一些文章对Adam的表现提出了质疑,但它依然是深度学习领域中最为流行的优化算法。著名文章对其的引用:
2015针对图像识别的深度残差学习(被引用34635次) 最初被设计为解决深度CNNs中的坡度消失/爆炸问题而产生的残差块(residual block),如今已成为几乎所有CNNs的构建基石。概念其实非常简单:在每个卷积层块前的输入加进输出中。残差网络的灵感源自于神经网络理论上不应以更多层来降维,因为最坏的情况下,多余的层会被粗暴地设为恒等映射(identity mapping)。然而实际操作中,更深度网络训练中常遇到各种困难;残差网络使各层更容易学习恒等映射,同时减少了梯度消失的问题。虽然方法十分简单,但从效果上看,特别是在更深度网络中,残差网络比常规CNNs出色得多。 许多不同CNNs之间的对比 (其它许多更复杂得CNN基础理论文章也非常优秀,这里只列举了一小部分历史上重要的网络理论) · 高速网络:残差网络是早期高速网络的一个特例。早期的高速网络通过一个类似但更复杂的封闭式设计,来在更深度网络中处理梯度。
Batch正则化:通过内部变量转化加速深度网络训练(被引用14384次)Batch正则化是如今几乎所有神经网络的又一支柱。Batch正则基于另一个简单而强有效的概念:训练中保留均值和方差数据,运用它们将原分布正则化至均值为0和方差为1。Batch正则化有效的确切原因仍存疑,但它们在实操中的有效性却母庸置疑。著名文章的引用: 不同正则化手段的可视化
2016 有监督学习和强化学习传递途径;策略/价值网络架构 在深蓝打败Kasparov后,AI社区向围棋届称霸进军。相对国际象棋,围棋有更广阔的游戏阵地,也更依赖于人类玩家的直觉。在AlphaGo之前类似于Crazy Stone和Zen等最优秀的围棋AI系统,基本都是带有许多手工探索引导树形搜索的蒙特卡洛树形搜索组合。从这些AI系统的进展来看,打败最优秀的围棋选手还需要很多年。虽说之前已有将深度学习应用于围棋的尝试,还没有哪个AI系统达到了AlphaGo的成就,而AlphaGo也用巨型算力集成了不少这些尝试中的技术成果。具体来说,AlphaGo包含一个策略网络和一个价值网络,分别可以缩小树形搜索,和对树形搜索舍项。这些网络最开始由标准有监督学习训练,之后再接受强化机器学习。在以上列举的进展中,AlphaGo的AlphaGo对Lee Sedol比赛,大概对公众思想影响最为深刻,受众约由1亿人口,尤其是在围棋十分流行的中日韩三国。这场比赛和之后的AlphaGo Zero对战甚至对人类的围棋策略都产生了影响。举个例子,AlphaGo在第2场比赛37手下的棋非常反传统,惊异到了许多分析者。这一手后来成为AlphaGo战胜的至关重要的一步。著名论文对其的引用: 不用人类经验而精通围棋:这篇介绍AlphaGo Zero的文章,移除了受监督学习过程,通过对战自己来训练策略和价值网络。虽然未受人类围棋策略的影响,AlphaGo Zero却能自己走出许多人类围棋手的策略,此外还能独创自己更优的围棋策略;这些策略甚至与传统围棋思路中的假定是相悖的。 2017 注意力机制即你所需(5059次引用)转换器架构是利用注意力机制的一个例证,已经发展成为几乎今天所有最先进的自然语言处理模型的基础。转换器模型击败RNNs,很大程度上是由于它在巨型网络中的计算优势。在RNNs中,梯度需要在整个“展开”的图形中传播, 这使得内存访问成为很大瓶颈。这也恶化了梯度消失/爆炸(exploding/vanishing gradients)问题,从而需要更复杂(计算成本更高)的LSTM和GRU模型。相反,转换器模型对高度平行处理进行了优化。计算成本最高的部分位于注意层(能平行使用)之后的前馈网络和注意层本身(巨大的矩阵乘法表,易于优化)。 使用增强学习的神经架构搜索(引用1186次)神经架构搜索(NAS)已成为网络性能压缩领域的普遍做法。NAS能实现架构设计自动化,而非令人痛苦的人工设计。在这篇论文中,利用RL训练一个控制器网络,从而生产性能网络架构,而这个架构能创建许多SOTA网络。相反,其他方法,例如Regularized Evolution for Image Classifier Architecture Search (AmoebaNet),使用了演化算法。 2018 BERT:语言理解的深度双向转换器的预训练BERT与GPT、ELMo的比较 BERT是一种双向语境文本嵌入模型。与word2vec相似,它的基础是给每个单词(or, rather, sub-word token)赋予一个向量。但BERT里的这些向量是语境化的,能正确区别同形异义词。另外,BERT是深度双向的,每层中的每个潜在向量依赖于前一层中的所有潜在向量,这是与GPT(仅包含前向)和ELMo(包括了独立的前向和后向语言模型,两者到最后才结合)等早期工作不同之处。如在类似GPT的单向语言模型中,训练模型在每个时间步骤(time step)去预测下一个标记(token),这种模型行得通是因为每个时间步骤的状态仅依赖于上一个状态。(在ELMo中,前向和后向模型用这种方法独立训练,共同优化。)但在深度双向网络中,步骤tt 和层LL的状态S^L_tStL 必须依赖于所有 S^{L-1}_{t’}St′L−1的状态, 而这些状态中的任意一个反过来依赖于S^{L-2}_{t}StL−2的状态,从而使得网络能欺骗语言模型。为了解决这个问题,BERT运用重构任务去恢复隐藏标记(masked tokens),而网络看不到这些隐藏标记。著名文章对其的引用:自BERT发表以来,其他基于转换器的语言模型层出不穷。由于这些模型较为相似,我仅列举其中一些。当然,这个领域发展迅猛,无法做到全面;而且,很多论文还有待时间验证,哪些论文影响最大尚难定论。
2019 深度双波谷:更大的模型和更多的数据伤害了谁这篇文章所探讨的深度双波谷( (Deep) Double Descent)现象与经典机器学习和现代深度学习的流行观点背道而驰。在经典机器学习中,模型复杂性伴随着偏差-方差权衡。模型太弱,则不能充分捕捉数据结构,而模型太强,则会导致过拟合,涵盖了无法泛化的虚假模式。正因为如此,在经典机器学习中,随着模型变大,测试误差预期会下降,而一旦模型开始过拟合,那么测试误差又开始增加。实践中,在深度学习中,模型通常过度参数化,但看上去对较大模型的测试性能有所改进。这种冲突是隐藏在深度双波谷( (deep) double descent)背后的动机。深度双波谷扩展了Belkin 等人Double Descent论文, 通过实证证明了Double Descent对更广泛类型的深度学习模型的效果,以及它对模型大小、训练时间和数据集大小的适用性。如果考虑了更多的函数类,这些函数类包含更多与数据适配的候选预测因子,我们可以发现具有更小范式因而也更简单的插值函数。因此,增加函数类容量将改进分类器的性能。当模型容量接近于“插值阈值(interpolation threshold)”,即经典机器学习和深度学习的分界线,梯度下降法可能会发现接近于零误差的模型,很可能导致过拟合。但是,当模型容量进一步提高,可实现零训练误差的不同模型的数量增加,一些模型平滑拟合数据(也就是,不发生过拟合)的可能性增加。Double Descent假设,梯度下降法更可能发现这些更平滑的零训练误差网络,尽管这些网络过度参数化,但泛化性确很好。 彩票假说:发现稀疏可训练的神经网络另一篇关于深度神经网络训练特征的论文就是彩票假说论文。彩票假说认为,网络性能大部分来自于某些幸运初始化的特定子网络(也就是说,“彩票”,特指这些子网络),而且更大的网络彩票发生的概率更高,因而性能也更好。这不仅允许我们剪除不相关的权重(文献中已很好地论证),而且还允许我们仅使用“彩票权重”重新训练,令人惊讶的是,这种方式结果与原始结果较为接近。任何密集、随机初始化的神经网络都包含一个子网络。这个子网络能通过初始化,使得隔离训练时,该子网络在经过不多于原密集网络学习迭代次数的前提下达到与原网络相当的训练效果。 结论与未来展望过去的十年由深度学习革命(梯度网络的复兴)的肇始而驱动,标志着人工智能历史上一个令人难以置信的快速发展和创新时期。很大程度上得益于可用算力的不断提高,神经网络规模变得越来越大,能力也越来越强,在全球范围内从计算机视觉到自然语言处理,全面代替了传统的人工智能技术。但神经网络也有缺点:他们需要海量数据进行训练、失败模式无法解释、无法实现超越个体任务的泛化。由于人工智能领域的巨大进步,深度学习在提高人工智能方面的局限性已经开始显现,人们的注意力开始转向对深度学习的更深入理解。在未来十年里,人们可能会越来越了解今天所观察到的神经网络的许多经验特征。就我个人而言,我对人工智能的前景持乐观态度;深度学习是人工智能工具箱中非常宝贵的工具,它让我们对智能的理解又近了一步。向成果丰硕的21世纪20年代致敬!相关报道: https://v/2019/12/31/The-Decade-of-Deep-Learning/ |
|