龙空技术网

由“浅”变“深”,深度学习

硬十 33105

前言:

现时姐妹们对“recurrentnerualnet”都比较看重,看官们都需要了解一些“recurrentnerualnet”的相关文章。那么小编在网上收集了一些有关“recurrentnerualnet””的相关资讯,希望朋友们能喜欢,看官们一起来学习一下吧!

这些年深度学习太火了,你肯定疑惑深度学习网络看起来无比强大,但为什么直到这十多年才火热起来呢?从技术上来说,深度学习并不是一个特别高深,特别新颖的技术,很多是“旧瓶装新酒”。但在此之前,由于计算资源缺乏和数据的缺失,使得严重依赖于“算力”和“数据”的深度学习技术难以实用化。而现在芯片技术快速发展,具备了暴力计算的可能;各种数据似乎随手可得,学习资源也不再是瓶颈。当这些限制性的天花板被一个一个被打开后,深度学习终于迎来了他的春天。现在,你别嫌弃它“好傻好暴力”,它就是“很强很实用”。

深度学习的核心就是"深度" ,从实现上深度学习神经网络就是一种包括多个隐含层的多层感知机,它通过组合低层特征,形成更为抽象的高层表示,用以描述被识别对象的高级属性类别或特征,深度学习的“深”就是指层数多。我们把这四周一起学习的内容串一下,你能清晰的看到从上个世纪中“感知机”一步步发展到现在的“深度学习网络”,Deep learning几经起伏,走过了这条由“浅”变“深”之路。 下面我们就一起来回顾一下。1、机器学习和深度学习是两兄弟么?划重点:学习的核心是改善性能,深度学习是机器学习的一个分支,它的发展几经起伏。近十年伴随着算法成熟、数据爆炸,算力俱增,深度学习走入舞台中心。(1)西蒙教授(Herbert Simon)是1975年图灵奖获得者、1978年诺贝尔经济学奖获得者,他给学习下的定义是“学习的核心目的就是改善性能”。(2)机器学习(Machine Learning)是人工智能(Artificial Intelligence)的一个分支,深度学习(Deep Learning)是机器学习中的一个子集,或者说,机器学习是实现人工智能的一种方法,而深度学习仅仅是实现机器学习的一种技术。(3)上个世纪50年代至今,从1958年感知机实现,到BP神经网络的出现,再到2006年传奇的辛顿(Geoffrey Hinton)及其学生掀起深度学习的第三次浪潮,几经起伏后深度学习终于走上前台。而在此之后,伴随着数据量的爆炸式增长与计算能力的与日俱增,深度学习得到了进一步的发展。2、机器学习就是找到一个“好用的”函数
划重点:研究机器学习的过程是寻找有效算法的过程,算法是由一系列函数组成的,“好算法”的基石是“好的函数”。(1)我们可以这样理解机器学习“从数据中学习,形成有效经验,提升执行任务/工作的表现”,因此对于研究机器学习就是不断找寻更有效算法,而算法的基石是一个个函数,台湾大学李宏毅博士这样定义“机器学习在形式上可近似等同在数据对象中通过统计或推理的方法,寻找一个有关特定输入和预期输出的功能函数f”。(2)如何找到好用的函数呢?这个程包括建模、评估、优化散步。“建模”是找一系列的函数来实现预期的功能,“评估”是制定每个环节的评价标准,“优化”是调试到性能最佳的函数。3、学好数理化,走遍天下都不怕 划重点:理解机器学必备的数学基础知识包括线性代数、微积分、概率论等等,除了数学基础以外,编程能力和英文内功也很重要。(1)理解机器学习必备的数学基础知识包括线性代数、微积分、概率论、最优化理论等等,我们需要把数学知识点串联到自己的知识体系中,再以数学思维去理解人工智能的工具和行为。(2)机器学习涉及到非常广泛的知识域,要学习的东西太多就很容易让人发慌,打好基础尤为关键,总结起来就是“数学是基础,编程是手段,英文是内功”。4、机器学习中的函数(1)- 激活函数和感知机划重点:机器学习研究的突破始于仿生学,基于“M-P神经元模型”实现了感知机,感知机中激活函数根据不同应用要求不断演进。但感知机难以实现“异或”逻辑操作,成为致命短板。(1)机器学习研究的突破始于仿生学,模仿大脑神经元的最早实例是20世纪40年代提出的“M-P神经元模型”,提出者是神经生理学家麦克洛克(Warren McCulloch)和数学家皮茨(Walter Pitts),论文首次实现了用一个简单电路(也就是未来大名鼎鼎的感知机)来模拟大脑神经元的行为。(2)M-P神经元模型中,神经元接收来自n个其他神经元传递过来的输入信号,这些信号的表达通常通过神经元之间连接的权重Weight大小来表示,神经元将接收到的输入值按照某种权重叠加起来,汇集了所有其他外联神经元的输入,并将其作为一个结果输出。但这种输出并非直接输出,而是与当前神经元的阈值θ进行比较,然后通过激活函数f(Activation Function)向外表达输出,y即为最终输出。激活函数不断变化,包括Sigmoid、Tanh 、ReLU、Softmax等等,根据不同需求各显神通。(3)感知机是由心理学教授罗森布拉特(Frank Rosenblatt)在1957年提出的一种人工神经网络,是形式最简单的前馈式人工神经网络,是一种二元线性分类器,难以实现常见的“异或”逻辑操作,1972年明斯基出版了《感知机:计算几何简介》一书中点明了这个问题,机器学习研究进入漫长寒冬。什么技术进步帮助机器学习走出这个寒冬呢?5、机器学习中的函数(2)- 多层前馈网络巧解“异或”问题,损失函数上场优化网络性能 划重点:前馈神经网络由单层前馈变成多层前馈后,能力升级,可以解决“异或”问题。多层神经网络利用损失函数计算调节网络中参数,但面对越来越复杂的网络高效寻找参数是一个很大挑战。(1)多层前馈网络(Multi-layer Feedforward NeuralNetworks)诞生了,在输出层与输入层之间的再增加多层神经元,即增加“隐含层(hidden layer),大大提升网络能力,升级后可以解决“异或”问题。(2)机器学习的应用中,多层神经网络学习的本质就是利用损失函数来调节网络中的权重,然后根据网络输出与预期输出之间的差值,采用迭代的算法,改变前面各层的参数,直至网络收敛稳定。(3)网络层数增加,变得更加复杂了,遇到的问题变成如何从众多网络参数中找到最佳参数,包括神经元之间的连接权值和偏置等。简单粗暴的方法当然就是枚举所有可能的权值,然后优中选优,但对于稍微复杂的网络,这种策略的计算量是天文数字,根本不可行。如何高效地找到这些能让损失函数达到极小值的参数呢?6、机器学习中的函数(3) - "梯度下降"走捷径,"BP算法"提效率 划重点:基于梯度下降策略的BP算法提出,能高效地找到复杂网络中损失函数的极小值,但是BP算法本身的缺点又限制了神经网络“变深变强”,神经网络研究慢慢走入低潮。(1)为了高效找到复杂网络中损失函数的极小值,沃伯斯(Paul Werbos)提出了误差反向传播(error BackPropagation)BP算法,大神辛顿(Geoffrey Hinton)积极推动BP算法应用。(2)BP算法其实是一个双向算法,正向传播信号,输出分类信息;反向传播误差,调整网络权值 。BP算法基于梯度下降(gradient descent)策略,梯度下降法是一种常用的最优化问题求解方法,BP算法以目标的负梯度方向对参数进行调整,采用“链式法则”求解复合函数的导数,获得梯度值作为调整依据。(3)BP算法的缺点也有很多,在神经网络的层数更多时,很容易陷入局部最优解,亦容易过拟合,同时它也只能应用于一个全连接的网络。在上个世纪最后10年,他的这个缺陷在某种程度上又把神经网络研究送到了一个新的低潮期,什么技术进步帮助机器学习走出这个寒冬呢?7、机器学习中的函数(4) - 全连接限制发展,卷积网络闪亮登场划重点:引入卷积核进行特征提取,再通过池化层进一步降低数据规模,神经网络经过改良后,具备了“由浅变深”的能力,卷积神经网络即将出场。(1)BP算法的种种缺陷使它终归只能适用于“浅层”网络,当这种全连接结构的网络“变深”后,海量的连接权值难以训练,并且多而杂的信息获取和处理方式使它很难提取到有用的特征,特征归纳能力差,这种“浅层”网络难堪大用了,解决这个问题需要引入有“高效的执行特征抽取”能力的网络。(2)应用卷积进行特征提取是卷积神经网络中的第一步,在杨立昆(Yann LeCun)提出的经典LeNet-5神经网络中,先用卷积核完成特征提取,卷积之后再通过池化层(又称亚采样层)降低数据规模,进一步完善特征提取和数据整理的工作,这样进入全连接层的数据品质大大提高,不再是那种“鱼龙混杂”的海量数据了,而是经过反复提纯过的优质数据了。这么好的工具我们怎么样放到神经网络里?我们的主角卷积神经网络(Convolutional NeuralNetwork,CNN)要出现了。8、机器学习中的函数(5) - “算法、算力,数据”已齐备,深度学习走入舞台中心划重点:卷积神经网络通过技术创新成功的应用在了机器视觉领域,推动深度学习进入繁荣期,结合不同类型的应用,RNN、GAN等网络也各显神威。(1)典型的卷积神经网络通常由若干个卷积层(Convolutional Layer)、激活层(Activation Layer)、池化层(Pooling Layer)及全连接层(Fully Connected Layer)组成,各个层各司其职,卷积层从数据中提取有用的特征;激活层在网络中引入非线性,通过弯曲或扭曲映射,来实现表征能力的提升;池化层通过采样减少特征维度,并保持这些特征具有某种程度上的尺度变化不变性;在全连接层实施对象的分类预测。2)2012年,辛顿(Hinton)和他的博士生(Alex Krizhevsky)等提出了AlexNet ,一举拿下当时ImageNet比赛的冠军。Alexnet强化了典型CNN的架构,应用到更深更宽的网络中,还首次在CNN中成功应用了ReLU、Dropout等技术。由于它的出现,人们更加相信深度学习可以被应用于机器视觉领域,点燃了大家对深度学习的热情,深度学习很快进入了繁荣期。(3)卷积神经网络是实现深度学习的重要方法之一,但它也不是能包揽所有应用的,我们把卷积神经网络(CNN,Convolutional Neural Network)称作破译图像的神器,把循环神经网络( RNN,Recurrent Neural Network)定义洞悉语言的内涵的好工具,我们引入生成对抗网络(GAN, Generative Adversarial Network),提升网络性能。总之,结合实际应用深度学习的技术还是在快速发展之中。


我们分享这些知识也仅仅是深度学习这个庞大的知识域中很小的一部分,比如过拟合、Relu函数,超参数,对抗网络等等有趣的话题我们还没有机会和大家一起学习。不过大家千万不要被知识内容的庞杂吓到了,就像我们这四周的学习过程一样,先把主干建立起来,当你有一个体系化、成脉络的知识主干后,再不断添砖加瓦,逐步修正,你一定能修建出你自己的知识教堂来


附:往期汇总

机器学习和深度学习是两兄弟么?

机器学习就是找到一个“好用的”函数

学好数理化,走遍天下都不怕

机器学习中的函数(1)- 激活函数和感知机

机器学习中的函数(2)- 多层前馈网络巧解“异或”问题,损失函数上场优化网络性能

机器学习中的函数(3) - "梯度下降"走捷径,"BP算法"提效率

机器学习中的函数(4) - 全连接限制发展,卷积网络闪亮登场

机器学习中的函数(5) - “算法、算力,数据”已齐备,深度学习走入舞台中心

标签: #recurrentnerualnet