(每日研选深度讲演导读,请关注:讲演派) 讲演出品/作者:华泰证券、谢春生 以下为讲演原文节选 ------ 深度学习是基于神经网络的机器学习深度学习能够概括为特征的笼统和结果的预测。深度学习是将原始的数据特征经过多步的特征转换得到一种更高层次、更笼统的特征表示,并进一步输入到预测函数得到最终结果。 深度学习需求处置的关键问题是贡献度分配问题(Credit Assignment Problem,CAP),即一个系统中不同的组件(component)或其参数对最终系统输出结果的贡献或影响。深度学习的目的是让模型自动学习出好的特征表示,从而最终提升预测模型的精确率。 深度学习采用的模型主要是神经网络模型。主要缘由是神经网络模型能够运用误差反向传播算法(Backpropagation),能够比较好地处置贡献度分配问题。只需是超越一层的神经网络都会存在贡献度分配问题,因而能够将超越一层的神经网络都看作深度学习模型。 深度学习逐步超越表示学习范畴,用于处置愈加复杂的推理、决策等问题。表示学习(Representation Learning)能够自动地学习出有效的特征(即表示),并进步最终机器学习模型的性能。早期,深度学习主要用来中止表示学习,但目前更多地用来处置愈加复杂的推理、决策等问题。概括来说,深度学习是将“表示学习+预测模型的学习”中止端到端的学习,中间不需求人工干预。其中,端到端学习(End-to-End Learning),也称端到端锻炼,是指在学习过程中不中止分模块或分阶段锻炼,直接优化任务的总体目的。 关系梳理:人工智能>机器学习>深度学习人工智能包含机器学习,机器学习包含深度学习。人工智能(AI)的重要组成部分是机器学习(ML),而神经网络(NN)是 ML 的一个子范畴。深度学习能够看做是神经网络的分支,运用了更复杂和更深层次的网络结构,如卷积神经网络(CNN),来处置更高维度和更笼统的数据,如图像、声音和文本。此外,逐步兴起的强化学习也是机器学习的一个分支。 深度学习与强化学习能够相互分离,称为深度强化学习(DRL)。 从生物神经网络到人工神经网络神经网络 是一种模仿生物神经系统的人工智能算法。通常,机器学习中的神经网络指的是人工神经网络,人工神经网络是为模仿人脑神经网络而设计的一种计算模型,它从结构、完成机理和功用上模仿人脑神经网络。人工神经网络与生物神经元相似,由多个节点(人工神经元)相互衔接而成,能够用来对数据之间的复杂关系中止建模。不同节点之间的衔接被赋予了不同的权重,每个权重代表了一个节点对另一个节点的影响大小。在对神经网络中止锻炼时,不时优化神经元之间的权重,使得输出的结果逐步接近预期的结果,最终确认整个网络的参数,并用于执行下游任务。 常用的神经网络结构包含前馈网络、记忆网络和图网络。 1)前馈网络:各个神经元按接纳信息的先后分为不同的神经层,整个网络中的信息朝一个方向传播,没有反向的信息传播。 2)记忆网络:也称为反响网络,网络中的神经元岂但能够接纳其他神经元的信息,也能够接纳自己的历史信息,具有记忆功用记忆神经网络中的信息传播能够是单向或双向。3)图网络:是定义在图结构数据上的神经网络。每个节点都由一个或一组神经元构成,节点之间的衔接能够是有向的,也能够是无向的。每个节点能够收到来自相邻节点或自身的信息。图网络是前馈网络和记忆网络的泛化。 深度学习与神经网络展开历史(1943-2017)神经网络降生于 1943 年,深度学习崛起于 2006 年。1943 年,心理学家 McCulloch 和数学家 Pitts 最早提出了一种基于简单逻辑运算的人工神经网络—MP 模型,开启了人工神经网络研讨的序幕。1986 年,Hinton 提出第二代神经网络,并应用误差的反向传播算法来锻炼模型,该算法对神经网络的锻炼具有重要意义。1989 年,Yann LeCun 等提出卷积神经网络(CNN)用来辨认手写体。1997 年,循环神经网络(RNN)的改进型长短时记忆网络(LSTM)被提出。2006 年,Hinton 初次提出了深度置信网络(Deep Belief Network,DBN)和深度学习的概念。2014 年,生成对立网络(GAN)的提出是深度学习的又一突破性停顿。 2016 年,AlphaGo 击败围棋世界冠军李世石,将深度学习推向高潮。 本讲演以 2016 年之前几种典型的深度学习算法为研讨对象,对其中止深度拆解和剖析。主要算法包含:卷积神经网络(CNN)、循环神经网络(RNN)、生成对立网络(GAN)、深度强化学习(Deep Reinforcement Learning,DRL)。此外,深度学习还包含很多其他算法和模型,例如深度信心网络、概率图模型、序列生成模型等。 前馈神经网络:最早发明的简单人工神经网络前馈神经网络是最早发明的简单人工神经网络。神经网络是一种典型的散布式并行处置模型,经过大量神经元之间的交互来处置信息,每一个神经元都发送“兴奋和抑止”的信息到其他神经元。前馈神经网络(FNN)也经常称为全衔接神经网络(Fully Connected Neural Network,FCNN)或多层感知器(Multi-Layer Perceptron,MLP)。在前馈神经网络中,各神经元分别属于不同的层,每一层的神经元能够接纳前一层神经元的信号,并产生信号输出到下一层。其中,第 0 层称为输入层,最后一层称为输出层,其他中间层称为躲藏层。 整个网络中无反响,信号从输入层向输出层单向传播。 通用近似定理保障了前馈神经网络的强拟合才干。前馈神经网络具有很强的拟合才干,常见的连续非线性函数都能够用前馈神经网络来近似。该才干由通用近似定理来保障,即关于具有线性输出层和至少一个运用激活函数的躲藏层组成的前馈神经网络,只需其躲藏层神经元的数量足够,它能够以恣意的精度来近似任何一个定义在实数空间中的有界闭集函数。 前馈神经网络标记人工智能从高度符号化的学问期向低符号化的学习期开端转变。前馈神经网络在 20 世纪 80 年代后期就已被普遍运用,大部分都采用两层网络结构(即一个躲藏层和一个输出层),神经元的激活函数基本上都是 Sigmoid 函数,运用的损失函数大多数是平方损失。前馈神经网络是一种衔接主义的典型模型,标记这人工智能从高度符号化的学问期向低符号化的学习期开端转变。 反向传播算法:神经网络参数学习的重要算法反向传播算法是神经网络锻炼中经常运用的高效计算梯度措施。神经网络参数能够经过梯度降落法来中止学习,反向传播算法(BackPropagation,BP)是经常运用的高效计算梯度措施。“反向传播”体往常,第 l 层的误差项能够经过第 l+1 层的误差项计算得到。浅显的解释是:将输出的结果与真实结果对比,计算误差(损失函数),并以误差降到最低为目的,不时调整卷积核参数和全衔接网络权重,直到抵达预期效果。由于这种调整方向是从输出到输入逐级返回,因而叫做反向传播。 自动梯度计算:变手动计算为自动计算深度学习框架包含的自动梯度计算功用大大进步了模型开发效率。神经网络的参数主要经过梯度降落来中止优化。通常,当肯定了风险函数以及网络结构后,能够手动计算梯度并用代码中止完成。但是手动的方式一方面较为低效,另一方面容易呈现错误,影响开发效率。目前,主流的深度学习框架都包含了自动梯度计算的功用,开发者只需思索网络结构并用代码完成,梯度计算即可由深度学习框架来自动完成,大大进步精确度和开发效率。 自动微分是大多数深度学习框架首选的自动计算梯度措施。自动计算梯度措施包含数值微分、符号微分和自动微分。 1)数值微分:指的是用数值措施来计算函数的导数。 2)符号微分:是一种基于符号计算(也叫代数计算)的自动求导措施,是指用计算机来处置带有变量的数学表白式,其输入和输出都是数学表白式,不需求代入细致的值。 3)自动微分:是一种能够对程序或函数中止导数计算的措施,其基本原理是,一切的数值计算能够合成为一些基本操作,然后应用链式规律来自动计算一个复合函数的梯度。依照计算导数的次第,自动微分能够分为两种方式:前向方式和反向方式。自动微分能够直接在原始程序代码中止微分,因而成为目前大多数深度学习框架的首选。 CNN:卷积+集聚+全衔接 典型的卷积神经网络是由卷积层、集聚层、全衔接层交叉堆叠而成。其中,一个卷积块包含连续 M 个卷积层和 b 个集聚层(M 通常设置为 25,b 为 0 或 1)。一个卷积网络中能够堆叠 N 个连续的卷积块,然后在后面接着 K 个全衔接层(N 的取值区间比较大,好比 1100或者更大;K 普通为 02)。CNN 能够有效的将大数据量的图片降维成小数据量,并有效的保存图片特征。 卷积层应用卷积核完成特征提取。卷积层的作用是提取部分区域的特征,不同的卷积核相当于不同的特征提取器,反之,提取不同的特征需求不同的卷积核。输入原图经过卷积核提取后,即得到特征映射(Feature Map),每个特征映射能够作为一类抽取的图像特征。 目前,卷积网络的整体结构趋向于运用更小的卷积核(好比 1×1 和 3×3),以及更深的结构(好比层数大于 50)。 每个卷积层后引入非线性激活函数,确保整个网络的非线性。常用的激活函数为线性整流单元(Rectified Linear Unit,ReLU),其实质是将特征图上一切负数变成 0,而正数坚持不变。其他常用的激活函数还有 Sigmoid 函数、双曲正切函数(tanh)。激活函数使得神经网络模型具有非线性,从而能够表示非线性的函数,处置愈加复杂的任务。 集聚层进一步紧缩数据和参数量。集聚层(Pooling Layer)也叫子采样层(Subsampling Layer)或池化层,其作用是中止特征选择,降低特征数量,减少参数数量。典型的集聚层是将每个特征映射划分为 2×2 大小的不堆叠区域,然后运用最大集聚的方式中止下采样,即用 2×2 区域的最大值替代整个区域的值。此外,还能够采用 2×2 区域的平均值来替代整个区域值。以图像为例,集聚层的运用依据包含,一方面图像中相邻的像素倾向于具有相似的值,另一方面对图片降维通常不会影响辨认结果。值得留意的是,由于卷积的操作性越来越灵活(好比不同的步长),集聚层的作用也变得越来越小,因而目前比较盛行的卷积网络中集聚层的比例有所降低。 全衔接层采用神经网络中的前馈网络结构。将池化后的结果按次第排成一列,输入全衔接层。全衔接层把相邻两层的神经元全部交叉相联合,两层之间一切神经元都有相应的权重,经计算后得到最终输出结果。通常全衔接层在卷积神经网络尾部。 卷积神经网络参数可应用误差反向传播算法来肯定。卷积神经网络能够经过误差反向传播(Backpropagation)和梯度降落等算法中止参数学习,包含肯定卷积核参数和全衔接网络权重等。 卷积神经网络应用从图像辨认逐步向其他范畴拓展。卷积神经网络的前身是层级化人工神经网络—神经认知模型,该模型由日本学者福岛邦彦受生物视觉系统研讨启示而提出,用来处置手写字符辨认等问题。随着各类基于 CNN 理念的新模型不时被提出,CNN 在语音辨认、自然言语处置、人脸辨认、运动剖析、医学诊断等多个方面均有突破。 典型的 CNN:LeNet-5 和 AlexNet LeNet-5 是法国学者 Yann LeCun 提出的基于梯度学习的卷积神经网络算法。LeNet-5 共有 7 层,包含 3 个卷积层、2 个集聚层、1 和全衔接层和 1 个输出层,接受的输入图像大小为 32×32=1024,输出对应 10 个类别的得分。基于 LeNet-5 的手写数字辨认系统在 20 世纪 90 年代被美国很多银行运用,用来辨认支票上面的手写数字。 AlexNet 是第一个现代深度卷积网络模型。AlexNet 初次运用了现代深度卷积网络的技术措施,好比运用 GPU 中止并行锻炼,采用 ReLU 作为非线性激活函数,运用数据增强来进步模型精确率等。AlexNet 赢得了 2012 年 ImageNet 图像分类竞赛的冠军。AlexNet 模型包含 5 个卷积层、3 个集聚层和 3 个全衔接层。由于网络范围超出了当时的单个 GPU 的内存限制,AlexNet 将网络拆为两半,分别放在两个 GPU 上,GPU 间只在某些层中止通讯。 --- 讲演摘录终了 更多内容请阅读讲演原文 --- 讲演合集专题一览 X 由【讲演派】定期整理更新 (特别阐明:本文来源于公开资料,摘录内容仅供参考,不构成任何投资倡议,如需运用请参阅讲演原文。) 精选讲演来源:讲演派 |