当前位置: 首页 > 滚动 > >正文

天天观点:GPT系列报告:经典深度学习算法拆解

来源:虎鲸报告    时间:2023-03-18 14:55:47

(每日研选深度报告导读,请关注:报告派)


(相关资料图)

报告出品/作者:华泰证券、谢春生

以下为报告原文节选

------

深度学习是基于神经网络的机器学习深度学习可以概括为特征的抽象和结果的预测。深度学习是将原始的数据特征通过多步的特征转换得到一种更高层次、更抽象的特征表示,并进一步输入到预测函数得到最终结果。

深度学习需要解决的关键问题是贡献度分配问题(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 通常设置为 2∼5,b 为 0 或 1)。一个卷积网络中可以堆叠 N 个连续的卷积块,然后在后面接着 K 个全连接层(N 的取值区间比较大,比如 1∼100或者更大;K 一般为 0∼2)。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 由【报告派】定期整理更新

(特别说明:本文来源于公开资料,摘录内容仅供参考,不构成任何投资建议,如需使用请参阅报告原文。)

精选报告来源:报告派

X 关闭

推荐内容

最近更新

Copyright ©  2015-2022 海峡医疗网版权所有  备案号:皖ICP备2022009963号-10   联系邮箱:396 029 142 @qq.com