版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
具有启发性的十种深度学习方法不管是AI也好,其他学科也好,学习、研究的过程中不断反思学科的历史,总结学科的发展现状,找出重要的理念,总能让人能“吾道一以贯之”。软件工程师JamesLe近期根据他研究的经验总结出了AI研究必须要知道的十种深度学习方法,非常具有启发性。The10DeepLearningMethodsAIPractitionersNeedtoApply人们对机器学习的兴趣在过去十年经历了爆炸式的发展。计算机科学项目中、业界会议中、媒体报道中,你都能够看到机器学习的影子。但是似乎所有关于机器学习的讨论中,人们常常会把AI能做什么和他们希望AI能做什么混为一谈。从根本上来讲,机器学习其实就是使用算法从原始数据中提取信息,并以某种类型的模型表示出来;然后我们使用这个模型来推断我们尚未建模的其他数据。神经网络作为机器学习的一类模型,它们已经存在了至少50年。神经网络的基本单元是节点,大致上模仿了哺乳动物大脑中的生物神经元的节点;节点之间的链接(也是模仿生物大脑)随着时间的推移(训练)而演化。在上世纪八十年代中期和九十年代早期,许多重要的神经网络构架都已经做出了,不过要想获得好的结果还需要足够强大的计算能力和大体量的数据集,这些当时在当时很不理想,所以也导致人们对机器学习的热情逐渐冷淡了下来。在21世纪初,计算机的计算能力呈现了指数级的增长——业界见证了计算机技术的“寒武纪大爆发”,这在之前几乎是不可想象的。深度学习作为这个领域中一个重要的架构,在计算能力爆发式增长的十年中,赢得了许多重要的机器学习竞赛。这个红利的热度直到今年仍未降温;今天,我们看到在机器学习的每个角落里都会提到深度学习。为了更深入地了解这些,我参加了一门“深度学习”课程,并开发了一个图像识别的神经网络以及基于循环神经网络(RNN)和长短项记忆(LSTM)的自然语言处理。可以去我的Github仓库中查看这些代码:/khanhnamle1994/deep-learning最近,我也开始阅读一些深度学习方面的学术论文。下面这些是我收集到的几篇对深度学习领域的发展有重大影响的几篇论文:1、Gradient-BasedLearningAppliedtoDocumentRecognition(1998)意义:向机器学习世界引进了卷积神经网络作者:YannLeCun,LeonBottou,YoshuaBengio,andPatrickHaffner2、DeepBoltzmannMachines(2009)意义:为玻尔兹曼机提出了一种新的学习算法,其中包含许多隐藏变量层。作者:RuslanSalakhutdinov,GeoffreyHinton3、BuildingHigh-LevelFeaturesUsingLarge-ScaleUnsupervisedLearning(2012)意义:解决了仅从未标记的数据构建高层次、特定类别的特征检测器的问题。作者:QuocV.Le,Marc’AurelioRanzato,RajatMonga,MatthieuDevin,KaiChen,GregS.Corrado,JeffDean,AndrewY.Ng4、DeCAF — ADeepConvolutionalActivationFeatureforGenericVisualRecognition(2013)意义:释放了一个深度卷积激活特征的开源实现——DeCAF,以及所有相关的网络参数,使视觉研究人员能够深入地在一系列视觉概念学习范例中进行实验。作者:JeffDonahue,YangqingJia,OriolVinyals,JudyHoffman,NingZhang,EricTzeng,TrevorDarrell5、PlayingAtariwithDeepReinforcementLearning(2016)意义:提供了第一个可以使用强化学习从高维感官输入中直接学习控制策略的深度学习模型。作者:VolodymyrMnih,KorayKavukcuoglu,DavidSilver,AlexGraves,IoannisAntonoglou,DaanWierstra,MartinRiedmiller(DeepMind团队)在这些学习和研究中,我发现大量非常有意思的知识点。在这里我将分享十个深度学习的方法,AI工程师可能会将这些应用到他们的机器学习问题当中。不过,首先先让我们来定义一下什么是“深度学习”。对很多人来说,给“深度学习”下一个定义确实很有挑战,因为在过去的十年中,它的形式已经慢慢地发生了很大的变化。先来在视觉上感受一下“深度学习”的地位。下图是AI、机器学习和深度学习三个概念的一个关系图。AI的领域要相对较广泛,机器学习是AI的一个子领域,而深度学习是机器学习领域中的一个子集。深度学习网络与“典型”的前馈多层网络之间是有一些区别的,如下:深度学习网络比之前的网络有更多的神经元深度学习网络具有更复杂的连接层的方式深度学习网络需要用强大的计算能力来训练深度学习网络能够进行自动特征提取因此深度学习可以被定义为在以下四个基本网络框架中拥有大量参数和层的神经网络:无监督预训练网络(UnsupervisedPre-trainedNetworks)卷积神经网络(ConvolutionalNeuralNetworks)循环神经网络(RecurrentNeuralNetworks)递归神经网络(RecursiveNeuralNetworks)在这篇文章中,我主要对后三个框架比较感兴趣。卷积神经网络基本上就是用共享权重在空间中进行扩展的标准神经网络。设计CNN主要是为了通过内部卷积来识别图片,内部卷积可以看到待识别物体的边。循环神经网络基本上是在时间上进行扩展的标准神经网络,因为边进入下一个时间步,而不是在同一时间步进入下一个层。设计RNN主要是为了识别序列,例如语音信号或者文本。它里面的循环意味着网络中存在短暂的记忆。递归神经网络更类似于分层网络,其中输入序列没有真正的时间面,而是输入必须以树状方式分层处理。以下10种方法可以应用于所有这些体系结构。1、反向传播反向传播是“误差反向传播”的简称,它是一种计算函数(在神经网络中以函数形式存在)偏微分的方法。当你要用一个基于梯度的方法来解决一个最优问题时(注意梯度下降只是解决这类问题的一种方法),你希望在每一次迭代中计算函数梯度。对于神经网络而言,目标函数具有合成的形式。那么如何计算梯度呢?一般情况下有两种常见的方法:微分分析法。当你知道这个函数的形式时,你只需要用链式法则计算导数即可;用有限差分方法来近似微分。这种方法的计算量很大,因为函数评估的数量是O(N),其中N是参数的数量。与微分分析法相比,这是比较昂贵的。不过,有限差分通常在调试时验证后端实现。2、随机梯度下降一个直观理解梯度下降的方法是去想象一条溯源山顶的河流。这条河流会沿着山势梯度的方向流向山麓下的最低点。如果让人来走,可能就不一样了,你可能会先随便选一个方向,然后沿着这个方向的梯度向下走;过一会儿再随机换一个方向向下走;最后你发现自己差不多也到了谷底了。数学化的理解就是:随机梯度下降主要用来求解类似于如下求和形式的优化问题:梯度下降法:当n很大时,每次迭代计算所有的梯度会非常耗时。随机梯度下降的想法就是每次在Deltaf_i中随机选取一个计算代替上面的Deltaf_i,以这个随机选取的方向作为下降的方向。这样的方法反而比梯度下降能够更快地到达(局部)最优解。3、学习率衰减在训练模型的时候,通常会遇到这种情况:我们平衡模型的训练速度和损失(loss)后选择了相对合适的学习率(learningrate),但是训练集的损失下降到一定的程度后就不在下降了,比如trainingloss一直在0.7和0.9之间来回震荡,不能进一步下降。如下图所示:遇到这种情况通常可以通过适当降低学习率(learningrate)来实现。但是,降低学习率又会延长训练所需的时间。学习率衰减(learningratedecay)就是一种可以平衡这两者之间矛盾的解决方案。学习率衰减的基本思想是:学习率随着训练的进行逐渐衰减。学习率衰减基本有两种实现方法:线性衰减。例如:每过5个epochs学习率减半;指数衰减。例如:每过5个epochs将学习率乘以0.1。4、dropout在当前的大规模神经网络中有两个缺点:费时;容易过拟合Dropout可以很好地解决这个问题。Dropout说的简单一点就是在前向传导的时候,让某个神经元的激活值以一定的概率p停止工作,示意图如下:每次做完dropout,相当于从原始的网络中找到一个更瘦的网络。Hinton在其论文中做了这样的类比,无性繁殖可以保留大段的优秀基因,而有性繁殖则将基因随机拆了又拆,破坏了大段基因的联合适应性;但是自然选择了有性繁殖,物竞天择,适者生存,可见有性繁殖的强大。dropout也能达到同样的效果,它强迫一个神经单元,和随机挑选出来的其他神经单元共同工作,消除减弱了神经元节点间的联合适应性,增强了泛化能力。5、maxpooling池化(Pooling)是卷积神经网络中另一个重要的概念,它实际上是一种形式的向下采样。有多种不同形式的非线性池化函数,而其中“最大池化(Maxpooling)”是最为常见的。它是将输入的图像划分为若干个矩形区域,对每个子区域输出最大值。直觉上,这种机制能够有效地原因在于,在发现一个特征之后,它的精确位置远不及它和其他特征的相对位置的关系重要。池化层会不断地减小数据的空间大小,因此参数的数量和计算量也会下降,这在一定程度上也控制了过拟合。通常来说,CNN的卷积层之间都会周期性地插入池化层。6、批标准化包括深度网络在内的神经网络需要仔细调整权重初始化和学习参数。批标准化使这些变得轻松许多。权重问题:无论权重的初始化如何,是随机的还是经验性的选择,它们离学习权重都会很远。考虑一个小批量,初期在所需的特征激活方面会有很多异常值。深层神经网络本身是病态的,初始层中的微小扰动都会导致后面层的非常大的变化。在反向传播过程中,这些现象会导致梯度弥散。这就意味着在学习权重产生所需要的输出前,必须对梯度的异常值进行补偿,这将导致需要额外的时段来收敛。批量归一化使这些梯度从分散到正常值并在小批量范围内流向共同目标(通过归一化)。学习率问题:一般来说,学习率需要保持较低的值,使得只有一小部分的梯度来校正权重,原因是要使异常激活的梯度不影响已学习到的激活。通过批量标准化,可以减少这些异常激活,因此也就可以使用更高的学习率来加速学习过程。7、longshort-termmemoryLSTM网络具有以下三个方面,使其与循环神经网络中的常见神经元不同:它能够决定何时让输入进入神经元;它能够决定何时记住上一个时间步中计算的内容;它决定何时让输出传递到下一个时间步。LSTM的美妙之处在于它能够根据当前的输入本身来决定所有这些。所以你看下面的图表:当前时间的输入信号x(t)决定所有上述3个点。输入门决定点1,遗忘门决定点2,输出门决定点3。任何一条输入都能够采取所有这三个决定。这种设计其实是受到了我们大脑如何工作的启发,并且可以基于输入来处理突然的上下文切换。8、skip-gram词嵌入模型的目标是为每个词项学习一个高维密集表示,其中嵌入向量之间的相似性显示了相应词之间的语义或句法相似性。Skip-gram是一个学习词嵌入算法的模型。skip-gram模型(以及许多其他的词语嵌入模型)背后的主要思想如下:两个词项相似,如果它们共享相似的上下文。换句话说,假设你有一个句子,例如“猫是哺乳动物”;如果你用“狗”而不是“猫”,这个句子还是一个有意义的句子。因此在这个例子中,“狗”和“猫”可以共享相同的上下文(即“是哺乳动物”)。基于上述假设,你可以考虑一个上下文窗口(一个包含k个连续项的窗口),然后你跳过其中一个单词,试着去学习一个能够得到除跳过项外的所有项的神经网络,并预测跳过的这个项。如果两个词在一个大语料库中反复共享相似的语境,则这些词的嵌入向量将具有相近的向量。9、连续词袋在自然语言处理问题中,我们希望学习将文档中的每个单词表示为一个数字的向量,使得出现在相似的上下文中的单词具有彼此接近的向量。在连续的单词模型中,目标是能够使用围绕特定单词的上下文并预测特定单词。我们通过在一个大的语料库中采取大量的句子来做到这一点,每当我们看到一个单词时,我们就提取周围的单词。然后,我们将上下文单词输入到一个神经网络,并预测在这个上下文中间的单词。当我们有成千上万个这样的上下文单词和中间词时,我们就有一个神经网络数据集的实例。我们训练神经网络,最后编码的隐藏层输出表示了特定单词的嵌入。恰巧,当我们对大量的句子进行训练时,类似语境中的单词得到相似的向量。10、迁移学习让我们想一下如何在CNN中处理一张图片。假设有一张图片,你对它进行卷积处理,然后你得到的输出是像素的组合,我们姑且称之为“边”吧。我们再次使用卷积,这时候你得到的输出将是边的组合,我们称之为“线”。如果再次使用卷积,那么你将得到线的组合,等等。每一层都是在寻找相应的特定模式。你的神经网络最后一层一般会给出非常特定的模式。也许你在处理ImageNet,你的网络最后一层可能是在找孩子、狗或飞机或别的任何东西。如果你向前两层看,网络可能是在找眼睛、耳朵、嘴巴或者轮子。深度卷积神经网络中的每一层的深入都是在构建越来越高层次的特征表示。最后两层会产生你输入模型的数据中的特定模式。换句话说,早期的层提取的特征则广泛得多,在提取的大量的类中有很多简单的模式。迁移学习就是当你用一个数据集训练CNN时,砍掉最后的一(些)层,再用另一个不同的数据集重新训练最后一(些)层的模型。直观地说,你在重新训练模型来识
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- BIM实施方案资料
- 市场扩张计划策略书模板与实施方案
- 企业品牌宣传与推广标准化手册
- 供应链管理优化策略与工具包
- 技术支持响应快速流程与知识库工具
- 吉林省前郭县联考2026届初三下学期教育质量调研(二模)英语试题含解析
- 江苏省泰州市泰兴市西城达标名校2026年初三一模试题(语文试题文)试题含解析
- 行业诚信领域活动启动承诺书(6篇)
- 居民区绿化管理保证承诺书6篇
- 2026年建筑工地消防安全专项方案编制指南
- 档案数字化项目立项申请书
- (正式版)DB51∕T 2787-2021 《研学旅行实践活动设计规范》
- 2026年温州永嘉县国有企业面向社会公开招聘工作人员12人笔试参考题库及答案解析
- 2026四川海大橡胶集团有限公司主业子公司第一次社会招聘49人笔试备考题库及答案解析
- 2026年六安职业技术学院单招职业适应性测试题库含答案详解(能力提升)
- 2026年南京信息职业技术学院单招职业适应性测试题库带答案详解(b卷)
- 2026湖南省卫生健康委直属事业单位招聘185人笔试模拟试题及答案解析
- 2025江西赣州水务集团招聘47名专业技术人员笔试历年典型考点题库附带答案详解
- 2026年河南农业大学招聘辅导员(硕士)10名备考题库及1套参考答案详解
- 心力衰竭的护理案例分析与实践
- 05S502 室外给水管道附属构筑物
评论
0/150
提交评论