版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
机器学习原理与应用毋建军、姜波、郭舒2025年1月第4章深度学习与神经网络目录
深度学习
神经网络
深度神经网络
卷积神经网络
循环神经网络4.14.24.34.44.5
长短期记忆网络4.6本章学习目标(知识要点)了解深度学习的基本概念及主要流程;掌握神经网络的组成框架及关键技术;熟悉神经网络处理技术的一些常用技巧;熟练掌握CNN、RNN、LSTM等经典的神经网络算法的基本原理;熟练使用神经网络算法对手写数字识别和文本分类的应用目录
深度学习
神经网络
深度神经网络
卷积神经网络
循环神经网络4.14.24.34.44.5
长短期记忆网络4.6◎深度学习简介
◎深度学习发展历程◎深度学习分类
◎深度学习框架深度学习4.14.1.1
深度学习简介深度学习(DeepLearning)是基于人工神经网络(ArtificialNeuralNetwork,ANN)的机器学习的一个重要分支。深度学习的核心是特征学习,通过模拟生物系统中的信息处理和分布式通信节点连接方式,在网络中经过有限次的运算获取分层次的特征信息,从而解决以往需要人工设计特征的重要难题。深度学习被视为是一种更接近于人工智能(ArtificialIntelligence,AI)的机器学习方法
人工智能、机器学习和深度学习三者的关系深度学习发展历程概述1943年,WalterPitts和WarrenMcCulloch建立基于人脑神经网络的计算机模型1960年,HenryJ.Kelley开发连续反向传播模型的基础知识20世纪70年代,因资金缺乏,人工智能进入寒冬第一次发展浪潮(20世纪40年代-70年代)深度学习发展历程概述1980年,福岛邦彦提出具有多个池和卷积层“卷积神经网络”的认知机1989年,YannLeCun第一个将卷积神经网络和反向传播相结合读取手写数字图片1985-90年代,因过于乐观地夸大人工智能“即时”潜力,人工智能第二次进入冬天第二次发展浪潮(20世纪80年代-90年代)深度学习发展历程概述1997年,Sepp-Hochreiter和Juergen-Schmidhuber开发用于递归神经网络的长-短期记忆(LSTM)方法1999年,计算机处理数据速度加快,GPU被开发,神经网络优势显现2006年,GeoffreyHinton将多个受限玻尔兹曼机层层叠加得到深度信念网络(DBN)2009年,李菲菲推出ImageNet,含1400多万张标签图片的免费数据库2011年,YoshuaBengio提出深度稀疏整流神经网络,避免消失梯度问题2011年和2012年,AlexNet在国际图像分类比赛中获胜2014年,IanGoodfellow创建生成型对抗性神经网络(GAN),开启新应用之门2016年,谷歌DeepMind公司的AlphaGo击败世界围棋冠军李世石2019年,YoshuaBengio、GeoffreyHinton和YannLeCun获图灵奖第三次发展浪潮(20世纪90年代末-至今)深度学习发展历程概述深度学习的分类按输入数据是否有标签,可划分为有监督的神经网络和无监督的神经网络无监督学习算法自动编码器玻尔兹曼机深度信念网络生成式对抗网络监督学习算法从标签化训练数据集中推断出函数的机器学习任务K最近邻、感知机、决策树、逻辑斯蒂回归、支持向量机等深度学习的实际应用技术分类定义市场产品图像处理运用深度学习网络学习自然存在于照片中的某些模式
AdobePhotoshop等语音识别通过对语音信号进行处理和分析,运用深度学习等技术将语音内容转换为文本信息的过程,即让计算机“听懂”人类语言。苹果公司Siri、小米公司小爱等机器翻译基于深度学习等技术,将一种自然语言自动转换为另一种自然语言的过程,实现不同语言之间的信息交流和传递。Google翻译、DeepL翻译等自动驾驶利用传感器(如摄像头、雷达、激光雷达等)收集车辆周围环境信息,结合深度学习等人工智能算法,让车辆能够自动感知、决策和控制,实现自主行驶的技术。特斯拉Autopilot、蔚来汽车NIOPilot
等4.1.2深度学习框架TensorflowTensorFlow是由GoogleBrain团队开发的一个端到端的深度学习框架,支持Python、C++、Java、Go和R等多种编程语言来创建深度学习模型以及包装库,并使用数据流图来处理数据,便于观察数据在神经网络中的流动过程;TensorFlow的机器学习模型易于构建,可用于健壮的机器学习产品,支持在桌面和手机上使用,支持多GPU、分布式训练,跨平台运行能力强;TensorFlow支持AWS、Google和Azure等几乎所有的云服务,拥有大量的开发者和详细的说明文档4.1.2深度学习框架PytorchPytorch是Torch的Python版本,是由Facebook的人工智能研究实验室(FAIR)开发的一个深度学习框架;Pytorch建立在基于Lua的机器学习和深度学习算法的科学计算框架之上,采用Python、CUDA、C/C++库进行处理,主要用于构建深度神经网络和执行复杂度很高的张量计算,具有模型扩展和部署灵活性的双重特性;PyTorch通过混合前端、分布式训练以及工具库生态系统实现快速、灵活的实验和高效生产。PyTorch不仅提供GPU加速训练,同时还支持动态神经网络。4.1.2深度学习框架KerasKeras是一个由Python编写的轻量级、易于使用的深度学习框架。它提供了简单的API,可以作为Tensorflow、Microsoft-CNTK和Theano的高阶应用程序接口,以序列或独立的、完全可配置的模块图的形式提供模块化,并在用户出错时提供清晰和可操作的反馈信息;Keras能够与TensorFlow工作流无缝集成,支持多个深度学习后端,支持分布式训练和多GPU并行;Keras主要用于分类、文本生成、摘要、标记、翻译以及语音识别等领域,被微软研究院、NASA、Netflix和Cern等研究实验室和公司所使用。4.1.2深度学习框架MxNetMXNet是由分布式深度机器学习社区打造,用来训练部署深层神经网络的深度学习框架;支持C++、Python、R、Scala和Julia等多种语言开发,支持卷积神经网络(CNN)和长短期记忆网络(LSTM)等多种深度学习模型;MXNet以其在成像、手写/语音识别、预测以及自然语言处理方面的能力而闻名,已被亚马逊集成到AWS的深度学习框架。4.1.2深度学习框架TheanoTheano是由蒙特利尔大学开发的一个基于Python的深度学习库,专门用于定义、优化、求值数学表达式,效率高,适用于多维数组处理,利用符号化式语言定义结果,对程序进行编译,使其高效运行于GPU或CPU;Theano具有良好的底层框架,支持Keras和Lasagne等高级库,但不支持训练模型的分布式并行计算。4.1.2深度学习框架CaffeCaffe是由加利福尼亚大学柏克莱分校所开发的一个视觉识别深度学习框架,全称是ConvolutionalArchitectureforFastFeatureEmbedding。它使用C++编写,支持C、C++、Python、MATLAB和命令行等多种编程接口,具有速度快、模块化和开放性等特点;Caffe支持基于GPU和CPU的加速计算内核库,如NVIDIA、cuDNN和IntelMLK,提供在CPU和GPU模式之间的无缝切换。通常用于图像检测和分类,现已获得在视觉、语音和多媒体等领域的大规模工业应用。4.1.2深度学习框架Deeplearning4jDeeplearning4j是为Java和Java虚拟机编写的开源深度学习库,支持Scala、Clojure和Kotlin等JVM语言;Deeplearning4j在分布式CPU或GPU的基础上与Hadoop和Spark协同工作,提供多种深度学习网络支持,包括:受限玻尔兹曼机(RBM)、深度置信网络(DBN)、卷积神经网络(CNN)、递归神经网络(RNN)、递归神经张量网络(RNTN)和长-短期记忆(LTSM);Deeplearning4j同时集成了word2vec、doc2vec和GloVe等算法及对应分布式并行版本,用于处理大型文本集和执行自然语言处理。4.1.2深度学习框架CNTKCNTK是一个由微软研究院开发的深度学习框架,全称是MicrosoftCognitiveToolkit,具有速度快、训练简单和可扩展等特点。CNTK支持Python和C++等接口,支持RNN和CNN类型的神经模型,主要应用在语音识别、机器翻译、图像识别、图像字幕、文本处理、语言理解和语言建模等领域。目录
深度学习
神经网络
深度神经网络
深度神经网络
循环神经网络4.14.24.34.44.5
长短期记忆网络4.6◎神经网络简介
◎激活函数◎神经网络分类
神经网络4.24.2.1神经网络简介人工神经网络(ArtificialNeuralNetwork,ANN),简称神经网络(NeuralNetwork,NN),是一种模仿生物神经网络的结构和功能的数学模型或计算模型,用于对函数进行估计或近似。神经网络由大量的人工神经元联结进行计算,通常在外界信息的基础上进行内部结构的改变,是一种具备学习功能的自适应系统。4.2.1神经网络简介神经网络通常由输入层、隐藏层、输出层所构成;第0层叫输入层,最后一层叫输出层,其他中间层叫做隐含层(或隐藏层、隐层);隐藏层(HiddenLayer)根据模型的大小和复杂程度可以设计成数量任意的多层,各层之间的连接一般表示特征的权重。神经网络模型通常是由不止一层组成,设计的层数越多,深度就越大,模型也越复杂。一个基本的三层神经网络4.2.1神经网络简介神经网络是一个由神经元、连接权重和偏置项组成的非线性模型。其中,神经元是一个包含权重和偏置项的非线性激活函数;连接权重是需要学习的参数,可通过梯度下降方法求解;当只有输入层与输出层且输出层只有一个神经元时,线性变换与非线性变换被集成在一个神经元中,神经网络等同于逻辑回归。因此,对于具有多层或多个输出神经元的神经网络其每个隐藏层神经元/输出层神经元的值,都是由上一层神经元,经过加权求和与非线性变换而得到的。从逻辑回归到神经元变换4.2.1神经网络简介神经网络的非线性变换函数,也称为激活函数(activation
function)或者映射函数(mappingfunction),是将一个较大的输入数据,通过一定变换输出为一个有限的范围内的值。大多数情况下,激活函数的选择可以大幅提高或降低神经网络的性能。常用的激活函数有Sigmoid、Tanh、ReLU、LeakyReLU等。4.2.1神经网络简介Sigmoid函数:也叫Logistic函数,是深度学习领域使用频率最高的激活函数,用于隐层神经元输出。其定义为:取值范围为(0,1),用来做二分类。Sigmoid函数是便于求导的平滑函数,导数表达式为:Sigmoid函数存在计算量大、容易出现梯度消失、收敛缓慢等问题Sigmoid函数及其导数4.2.1神经网络简介Tanh函数:也叫双切正切函数,也是一种Sigmoid型函数。其定义为:取值范围为(-1,1),在特征相差明显时的效果会很好,在循环过程中会不断扩大特征效果。Tanh与Sigmoid的区别是,Tanh是0
均值的,实际应用中Tanh会比Sigmoid更好,能够比较“光滑”地解决问题,其导数表达式为:Tanh函数存在梯度消失、收敛缓慢等问题Tanh函数及其导数4.2.1神经网络简介
ReLU函数及其导数4.2.1神经网络简介
LeakyReLU函数及其导数4.2.1神经网络简介激活函数的作用提高模型鲁棒性提升非线性表达能力缓解梯度消失加速模型训练选择激活函数注意事项在神经网络实际训练中,激活函数的选择需要根据输入、输出以及数据变化的实际场景,并没有统一标准4.2.1神经网络简介神经网络根据不同分类标准具有不同网络类型;依据学习策略划分主要有:监督式学习网络(SupervisedLearningNetwork)无监督式学习网络(UnsupervisedLearningNetwork)混合式学习网络(HybridLearningNetwork)联想式学习网络(AssociateLearningNetwork)最适化学习网络(OptimizationApplicationNetwork)依据网络架构划分主要有:前馈神经网络(FeedForwardNetwork)循环神经网络(RecurrentNetwork)强化式架构(ReinforcementNetwork)4.2.2前馈神经网络前馈神经网络(FeedforwardNeuralNetwork,FNN),也叫作深度前馈网络(DeepFeedforwardNetwork,DFN)或者多层感知机(MultilayerPerceptron,MLP),是目前应用最广泛、发展最迅速的人工神经网络之一;在前馈神经网络内部,参数从输入层向输出层单向传播,各层间没有反馈,每一层中每个神经元只接收前一层神经元的信号,并产生输出到下一层,内部节点之间的连接不会形成循环;常见的前馈神经网络:多层感知机自编码器限制玻尔兹曼机卷积神经网络4.2.2前馈神经网络
单层感知机示例4.2.2前馈神经网络单层感知器作为线性分类器,依据权重和偏置将输入空间分为0和1两类,划分两类的线(高维时为超平面)称分类边界或决策边界。常见的单层感知器神经元激活函数有线性函数、Sigmoid函数、Tanh函数等,其表达式如下:
4.2.2前馈神经网络前馈神经网络常见形式为由多个感知器组成的框架。多层感知器区别于单层感知器,具备学习计算非线性可分函数能力,用于监督学习的回归和分类任务;多层感知器至少有一个隐藏层,每层神经元有激活函数,可采用多种激活函数;为适配反向传播算法有效学习,需用可微函数,双曲正切函数及逻辑函数等S形函数因良好可微性常被选用。4.2.2前馈神经网络
4.2.2前馈神经网络
在神经网络中,由于梯度信息沿与输出计算流相反方向向后流动,更新规则可用反向传播算法扩展。梯度流源于最后一层,其大小与目标输出和实际输出之差成比例。4.2.3图神经网络图嵌入(网络嵌入)与图神经网络紧密相关。它将图顶点转为低维向量,保留拓扑和节点信息,利于后续用朴素贝叶斯等传统机器学习算法;代表性算法含矩阵分解等无监督模型,部分基于深度学习的图嵌入算法,如图卷积网络等,也归属图神经网络。图神经网络与图嵌入关系目录
深度学习
神经网络
深度神经网络
卷积神经网络
循环神经网络4.14.24.34.44.5
长短期记忆网络4.6◎深度神经网络简介
◎深度神经网络模型
◎深度学习框架
◎案例分析深度神经网络4.34.3.1深度神经网络简介深度神经网络(DeepNeuralNetwork,DNN)是一种具有多个隐藏层的前馈神经网络。类似于人工神经网络,深度神经网络使用复杂的数学模型以复杂的方式处理数据,多层框架提供了更高的抽象层次,提升了模型的学习能力;深度神经网络各层之间采用全连接的方式,即前一层的任意一个神经元一定与后一层的任意一个神经元相连,神经元连接的所有权值可以通过监督学习或无监督学习进行初始化;深度神经网络作为人工智能领域最基础的模型,已广泛应用于语音识别、图像识别、自动驾驶、游戏模拟、癌症检测等领域。DNN的网络结构4.3.1深度神经网络简介
4.3.1深度神经网络简介
4.3.1深度神经网络简介
4.3.1深度神经网络简介
4.3.1深度神经网络简介
4.3.1深度神经网络简介反向传播算法通过存储中间公共的变量
,使得中间的子状态仅计算一次:
4.3.1深度神经网络简介
4.3.2深度神经网络模型目前深度神经网络发展极其迅速,呈现出模型种类繁多、应用领域广泛、拓扑框架各异等现象;常用的深度神经网络模型有:前馈神经网络(FeedforwardNeuralNetwork,FNN)径向基神经网络(RadialBasisNetwork,RBN)循环神经网络(RecurrentNeuralNetwork,RNN)长短期记忆网络(Long-shortTermMemory,LSTM)门控循环单元(GatedRecurrentUnit,GRU)自动编码器(AutoEncoder,AE)霍菲特网络(HopfieldNetwork,HN)玻尔兹曼机(BoltzmannMachine,BM)深度信念网络(DeepBeliefNetwork,DBN)卷积神经网络(ConvolutionalNeuralNetworks,CNN)4.3.2深度神经网络模型前馈神经网络(FeedforwardNeuralNetwork,FNN)结构特点:从前到后逐层反馈信息,每层由并行的输入、隐藏或输出单元组成,相邻层通常全连接,最简单形式可模拟逻辑门;训练方式:通过反向传播算法训练,反向传播误差基于输入输出差异;应用领域:数据压缩、模式识别、计算机视觉、目标识别、语音识别、手写体识别等。4.3.2深度神经网络模型径向基神经网络(RadialBasisNetwork,RBN)结构特点:以径向基函数为激活函数,能确定生成输出和目标输出的距离差距,适用于连续值情况,用其它激活函数时表现和前馈神经网络一样。应用领域:函数逼近、时间序列预测、分类、系统控制等。4.3.2深度神经网络模型循环神经网络(RecurrentNeuralNetwork,RNN)结构特点:隐藏层中每个神经元接收具有特定时间延迟输入,神经元不仅从上一层得信息,也从自身得信息,输入顺序重要;训练问题:存在消失(或爆炸)梯度问题,计算速度慢、记忆时间短;应用领域:机器翻译、机器控制、时间序列预测、语音识别、语音合成、音乐创作等。4.3.2深度神经网络模型长短期记忆网络(Long-shortTermMemory,LSTM)结构特点:引入门和显式定义的记忆单元,每个神经元有记忆单元和输入门、输出门、遗忘门;训练优势:解决梯度消失或爆炸问题;应用领域:语音识别、写作识别、目标识别等。4.3.2深度神经网络模型门控循环单元(GatedRecurrentUnit,GRU)结构特点:LSTM变种,有更新门、重置门和当前记忆门,不维持内部单元状态;训练优势:运行效率稍高于LSTM,表达能力稍差;应用领域:复调音乐模型、语音信号建模、自然语言处理等。4.3.2深度神经网络模型霍菲特网络(HopfieldNetwork,HN)结构特点:每个神经元都与其它神经元直接相连,神经元状态可因接受其它神经元输入而改变;应用领域:优化问题、图像检测与识别、医学图像识别、增强X
射线图像等。4.3.2深度神经网络模型玻尔兹曼机(BoltzmannMachine,BM)结构特点:有输入节点和隐藏节点,隐藏节点状态改变后输入节点转换为输出节点,从随机权重开始,可通过反向传播或对比发散学习;训练方式:激活由全局温度值控制,温度降低时细胞能量降低,网络达到平衡;应用领域:降维、分类、回归、协同过滤、特征学习等。4.3.2深度神经网络模型深度信念网络(DeepBeliefNetwork,DBN)结构特点:使用无监督算法学习,隐藏层起特征检测器作用,可表示为受限玻耳兹曼机(RBM)和自动编码器(AE)的组合,最后用概率方法得结果;训练方式:无监督训练后可进行分类;应用领域:文件减少、图像建设、非线性降维等。4.3.2深度神经网络模型卷积神经网络(ConvolutionalNeuralNetworks,CNN)结构特点:允许无监督地构造层次图像表示,添加更复杂特征以准确执行任务;应用领域:图像分类、图像聚类、自然语言处理、药物发现和目标识别等。4.3.3案例:手写数字识别案例问题描述手写数字识别是图像识别领域最常见的任务,其目的是利用计算机对图像进行处理、分析和理解,以识别各种不同风格的手写数字。机器学习领域一般将0~9共10个数字的手写体识别任务问题转化为分类问题,尤其是深度学习模型已经被广泛应用于汇款单识别、手写邮政编码识别,大大缩短了业务处理时间,提升了工作效率和质量。实现方法在PyCharm集成开发环境下,基于深度学习框架Tensorflow和Python编程语言实现全连接神经网络DNN,并在MNIST手写数字数据集上实现手写数字图片的分类;全连接神经网络DNN识别MNIST图像的主要分为三个部分:前向传播过程、进行网络参数优化方法的反向传播过程和验证模型准确率的测试过程。4.3.3案例:手写数字识别案例数据集:MNIST是包含各种手写数字图片的经典数据集MNIST数据集包含以下四个部分:train-images-idx3-ubyte.gz:6万个训练集图片和train-labels-idx1-ubyte.gz:6万个训练集标签t10k-images-idx3-ubyte.gz:1万个测试集图片t10k-labels-idx1-ubyte.gz:1万个测试集标签MNIST数据集里的每张图片大小为28×28像素,图片中纯黑色像素值为0,纯白色像素值为1。可以用28×28的数组来表示一张图片,标签用大小为10的数组进行独热编码表示。4.3.3案例:手写数字识别案例1.读取图片数据集首先使用TensorFlow自带的input_data函数加载MNIST数据集并设置one-hot编码方式。主要实现代码如下:4.3.3案例:手写数字识别案例2.前向传播过程在前向传播过程中,需要定义网络模型输入层个数、隐藏层节点数、输出层个数,定义网络参数w、偏置b,定义由输入到输出的神经网络架构4.3.3案例:手写数字识别案例3.后向传播过程反向传播过程实现利用训练数据集对神经网络模型训练,通过降低损失函数值,实现网络模型参数的优化,从而得到准确率高且泛化能力强的神经网络模型。4.3.3案例:手写数字识别案例3.后向传播过程代码4.3.3案例:手写数字识别案例实验结果运行结果如图所示,模型经过30000步训练,损失函数值逐步减小,最终达到0.03左右,继续调节训练参数应该可以得到更好的结果。反向传播过程的网络误差训练4.3.3案例:手写数字识别案例4.模型测试过程当模型训练完成后,向已保持的神经网络模型输入测试集验证网络的准确性和泛化性。4.3.3案例:手写数字识别案例4.模型测试代码运行结果:
手写数字测试集上的准确率在98%左右。目录
深度学习
神经网络
深度神经网络
卷积神经网络
循环神经网络4.14.24.34.44.5
长短期记忆网络4.6◎卷积神经网络简介
◎卷积神经网络分类◎卷积神经网络算法
◎案例分析卷积神经网络4.44.4.1卷积神经网络简介卷积神经网络(ConvolutionalNeuralNetworks,CNN)是一类包含卷积计算且具有深度结构的前馈神经网络。卷积核或滤波器沿着输入特征滑动并共享权重结构,因此CNN也被称为平移不变人工神经网络(Shift-InvariantArtificialNeuralNetworks,SIANN)。CNN由具有可学习的权值和偏差的神经元组成。每个神经元接收一些输入,执行点积运算,并可选地以非线性逐层传递。当前,大多数卷积神经网络只是等变的,而不是不变的,广泛应用于图像和视频识别、推荐系统、图像分类、图像分割、医学图像分析、自然语言处理和金融时间序列等领域。4.4.1卷积神经网络简介典型的卷积神经网络由3个部分构成:卷积层(ConvolutionalLayer)、池化层(PoolingLayer)、全连接层(Fully-ConnectedLayer)卷积层:负责提取图像中的局部特征;池化层:大幅降低参数量级(降维);全连接层:类似传统神经网络的部分,输出最终结果4.4.1卷积神经网络简介卷积层核心构成卷积层是CNN核心,参数由可学习的过滤器(内核)组成,过滤器有小感受野,能覆盖输入图像深度。工作原理前向传递时,滤波器在输入图像宽和高上卷积,通过点积运算生成二维激活图,检测到特定特征时被激活,所有激活图叠加成输出。输出可看作观察小区域且参数共享的神经元输出。重要参数深度:即滤波器数量,数量越多结果越准。步长:滑动滤波器的像素数,步幅越大特征图越小。零填充:控制特征映射大小,有零填充为宽卷积,无则为窄卷积。4.4.1卷积神经网络简介给定一个像素值仅为0和1的5×5图像,特征检测器检测输入图像的每一个部分,然后根据特征检测器与输入图像的匹配得到特征映射。如右图所示,一个3×3矩阵称为“滤波器”或“内核”或“特征检测器”,通过将滤波器滑动到图像上并计算点积形成的矩阵称为“卷积特征”或“激活图”或“特征图”。需要注意的是,滤波器充当原始输入图像的特征检测器。卷积特征的计算过程4.4.1卷积神经网络简介池化层功能作用池化层利用子采样(下采样)降低每个特征图的维数,同时保留关键重要信息。操作类型最大池化:选取池化核区域内的最大值作为采样值。平均池化:以池化核区域的平均值来确定采样值。和池化:将池化核区域内所有值相加,以其加和作为采样值。4.4.1卷积神经网络简介在最大池化的情况下,定义一个池化窗口为2×2的空间邻域,然后从每个区块中的4个数获取最大的元素,如右图9所示。也可以通过平均池或总和池获取窗口中所有元素,而不是取最大的元素。实践证明,Max-Pooling效果更好注意,池化窗口过大则会对特征图的信息造成破坏,通常取值2或3。Max-Pooling的计算过程4.4.1卷积神经网络简介池化层的优势与作用数据与参数优化:池化机制采用相对位置表征特征,显著减少数据规模、参数数量及计算开销,还能在一定程度上有效防止过拟合现象;网络结构应用:通常在CNN网络结构的卷积层之间会周期性插入池化层,它可看作是另一种形式的平移不变性;对特征的调整:卷积核是特征发现器,卷积层易发现图像各类边缘,但所发现特征过于精确。而池化层能够降低卷积层对边缘的敏感性,优化特征表现。4.4.1卷积神经网络简介全连接层结构与作用全连接层是传统多层感知器,在多层卷积和池化操作后,于输出层借助softmax激活函数、SVM分类器等对输入图像进行类别分类;特征学习优势虽然卷积层和池化层的多数特征能用于分类任务,但全连接层可在二者基础上学习图像高级特征的非线性组合,具备更好的表示效果;输入输出特性全连接层输出概率之和为1,这是因为在输出层使用Softmax作为激活函数。Softmax函数能将任意实值分数向量压缩成介于0和1之间且总和为1的值向量。4.4.2
典型卷积神经网络算法
卷积神经网络的体系结构多种多样,这些体系结构是构建算法的关键。本小节将重点介绍当前主流卷积神经网络的算法模型和主要特点。LeNetAlexNetVGGNetGoogLeNetResNet4.4.2
典型卷积神经网络算法
LeNetLeNet由Y.LeCun在1998年发表的文章《Gradient-BasedLearningAppliedtoDocumentRecognition》中正式提出[18]。它是第一个成功应用于手写数字识别问题并产生实际商业价值的卷积神经网络。LeNet的网络结构4.4.2
典型卷积神经网络算法
整体概况LeNet网络共7层,输入为32×32图像,实际应用可按需修改输入尺寸与网络结构各层结构C1层:卷积层,用6个5×5卷积核卷积输入层,特征图尺寸为28×28,产生6个特征图。S2层:池化层,最大池化,池化窗口2×2,得6个14×14特征图。C3层:卷积层,16种5×5卷积核,特征图由S2层部分或全部特征图加权组合,输出16个10×10特征图。S4层:池化层,2×2池化窗口,最大池化,输出16个5×5特征图,神经元数400。C5层:卷积层,120个5×5卷积核,输出120个1×1特征图,与S4全连接,因输入尺寸变化时特征图维数可变仍视为卷积层。F6层:与C5层全连接,输出84张特征图。输出层:与F6层全连接,输出长为10的张量,指示特征所属类别。4.4.2
典型卷积神经网络算法
LeNet-5特点每个卷积层包含三个部分:卷积、池化和非线性激活函数。使用卷积提取空间特征。降采样(Subsample)的平均池化层(AveragePooling)。双曲正切(Tanh)或S型(Sigmoid)的激活函数MLP作为最后的分类器。层与层之间的稀疏连接减少计算复杂度。4.4.2
典型卷积神经网络算法
AlexNetAlexNet是由AlexKrizhevsky在2012年发表的文章《ImagenetClassificationwithDeepConvolutionalNeuralNetworks》中正式提出。AlexNet在LeNet的基础上加深了网络的结构,学习更丰富更高维的图像特征。AlexNet夺得了2012年ImageNetLSVRC的冠军,且准确率远超第二名,达到最低的15.3%的Top-5错误率。AlexNet的网络结构4.4.2
典型卷积神经网络算法
整体概况AlexNet网络含8层,前5层卷积层,后3层全连接层,最后全连接层输出为1000维softmax输入,产生1000类标签分布。采用非饱和ReLU激活函数,训练性能优于tanh和sigmoid,用两个GPU训练,网络结构分上下两部分AlexNet的网络结构4.4.2
典型卷积神经网络算法
各层结构第一层(卷积层):经11×11卷积(步长4,96输出通道,分两组)、ReLU激活、3×3池化(步长2)、局部归一化,输出27×27×96图片。第二层(卷积层):以27×27×96为输入,96特征图分组在两GPU运算,5×5卷积(步长1,128输出通道)、ReLU激活、3×3池化(步长2)、局部归一化,输出两组13×13×128图片。第三层(卷积层):输入13×13×128,3×3×192卷积(步长1)、ReLU激活,无池化和归一化,输出两组13×13×192图片。第四层(卷积层):3×3卷积(步长1)、ReLU激活,输出两组13×13×192图片。第五层(卷积层):3×3卷积(输出通道128,步长1)、ReLU激活、3×3池化(步长2),输出两组6×6×128图片。第六层(全连接层):输入两组6×6×128(合为6×6×256),4096输出通道,经ReLU和Dropout,输出4096一维向量。第七层(全连接层):输入4096一维向量,4096×4096全连接,ReLU和Dropout后输出4096一维向量。第八层(全连接层):输入4096一维向量,4096×1000全连接,输出1000一维向量,经softmax得1000分类结果。4.4.2
典型卷积神经网络算法
AlexNet特点采用ReLU替代了Tanh和Sigmoid激活函数。ReLU具有计算简单,不产生梯度弥散等优点,现在已经基本替代了Tanh和Sigmoid。全连接层使用了Dropout来防止过拟合。Dropout可以理解为是一种下采样方式,可以有效降低过拟合问题。卷积-激活-池化后,采用了一层局部归一化。将一个卷积核在(x,y)空间像素点的输出,和它前后的几个卷积核上的输出做权重归一化。使用了重叠的最大值池化层。3×3的池化核,步长为2,因此产生了重叠池化效应,使得一个像素点在多个池化结果中均有输出,提高了特征提取的丰富性使用CUDAGPU硬件加速。训练中使用了两块GPU进行并行加速,使得模型训练速度大大提高。数据增强。随机从256×256的原始图片中,裁剪得到224×224的图片,从而使一张图片变为了(256-224)2张图片。并对图片进行镜像,旋转,随机噪声等数据增强操作,大大降低了过拟合现象。4.4.2
典型卷积神经网络算法
VGGNetVGGNet是牛津大学计算机视觉组(VisualGeometryGroup)和GoogleDeepMind公司的研究员一起研发的深度卷积神经网络。VGGNet探索了卷积神经网络的深度与其性能之间的关系,通过反复堆叠3×3的小型卷积核和2×2的最大池化层,VGGNet成功地构筑了16~19层深的卷积神经网络。VGGNet相比之前state-of-the-art的网络结构,错误率大幅下降,并取得了ILSVRC2014比赛分类项目的第2名和定位项目的第1名。VGGNet全部使用了3×3的卷积核和2×2的池化核,通过不断加深网络结构提升性能。VGGNet的网络结构4.4.2
典型卷积神经网络算法
网络输入及卷积层操作初始卷积:输入尺寸为224×224×3的图像,利用64个3×3的卷积核进行两次卷积操作,再经ReLU激活函数处理,得到尺寸为224×224×64的特征图。第一次池化:执行2×2的最大化池化操作,特征图尺寸变为112×112×64。第二次卷积:通过128个3×3的卷积核进行两次卷积,并经ReLU激活,特征图尺寸更新为112×112×128。第二次池化:再次进行2×2的最大化池化,特征图尺寸变为56×56×128。第三次卷积:使用256个3×3的卷积核进行三次卷积,然后经ReLU激活,特征图尺寸变为56×56×256。第三次池化:进行2×2的最大化池化,特征图尺寸变为28×28×256。第四次卷积:由512个3×3的卷积核进行三次卷积,并经ReLU激活,特征图尺寸变为28×28×512。第四次池化:执行2×2的最大化池化,特征图尺寸变为14×14×512。第五次卷积:运用512个3×3的卷积核进行三次卷积,再经ReLU激活,特征图尺寸仍为14×14×512。第五次池化:最后进行2×2的最大化池化,特征图尺寸变为7×7×512。4.4.2
典型卷积神经网络算法
全连接操作将得到的特征图与两层尺寸为1×1×4096和一层尺寸为1×1×1000的层进行全连接,并经过ReLU激活函数处理。最终输出通过softmax函数输出1000个预测结果,用于完成相应的分类任务。4.4.2
典型卷积神经网络算法
VGGNet特点采用了较深的网络,最多达到19层,证明了网络越深,高阶特征提取越多,从而准确率得到提升。串联多个小卷积,相当于一个大卷积。VGG中使用两个串联的3×3卷积,达到了一个5×5卷积的效果,但参数量却只有之前的9/25。同时串联多个小卷积,也增加了使用ReLU非线性激活的概率,从而增加了模型的非线性特征。VGG-16中使用了1×1的卷积。1×1的卷积是性价比最高的卷积,可以用来实现线性变化,输出通道变换等功能,而且还可以多一次ReLU非线性激活。GG有11层,13层,16层,19层等多种不同复杂度的结构。使用复杂度低的模型训练结果,初始化复杂度高模型的权重等参数,可以加快收敛速度。4.4.2
典型卷积神经网络算法
GoogLeNetGoogLeNet是谷歌研究出来的深度网络结构,首次出现在2014年ILSVRC比赛中获得冠军。这次的版本通常称其为InceptionV1。InceptionV1有22层深,参数量为5M,通过设计一个稀疏网络结构,但是能够产生稠密的数据,既能增加神经网络表现,又能保证计算资源的使用效率。4.4.2
典型卷积神经网络算法
InceptionModule是GoogLeNet的核心组成单元。该结构将CNN中常用的1×1卷积、3×3卷积、5×5卷积、3×3池化操作堆叠在一起,最后对四个成分运算结果进行通道上组合。InceptionModule的核心思想是,通过多个卷积核提取图像不同尺度的信息,最后进行融合,可以得到图像更好的表征。Inception的网络结构GoogLeNet的网络结构4.4.2
典型卷积神经网络算法
输入原始输入图像大小为224×224×3。对输入图像进行零均值化的预处理操作,以调整数据分布,利于后续训练。第一层(卷积层)采用7×7卷积核,滑动步长为2,填充为3,64个通道,输出尺寸为112×112×64。卷积后进行ReLU操作。经过3×3的最大池化,输出尺寸为56×56×64(计算:((112-3+1)/2)+1=56),再进行ReLU操作。第二层(卷积层)使用3×3卷积核,滑动步长为1,填充为1,192个通道,输出为56×56×192。卷积后进行ReLU操作。经过3×3的最大池化,输出尺寸为28×28×192(计算:((56-3+1)/2)+1=28),再进行ReLU操作。4.4.2
典型卷积神经网络算法
第三层(Inception3a层)分支1:64个1×1卷积核,ReLU操作,输出28×28×64分支2:96个1×1卷积核降维,ReLU,再进行128个3×3卷积(padding为1),输出28×28×128分支3:16个1×1卷积核降维,ReLU,再进行32个5×5卷积(padding为2),输出28×28×32分支4:pool层(3×3核,padding为1),再进行32个1×1卷积,输出28×28×32四部分输出结果第三维并联(64+128+32+32=256),最终输出28×28×256第三层(Inception3b层)分支1:128个1×1卷积核,ReLU,输出28×28×128分支2:128个1×1卷积核降维,ReLU,再进行192个3×3卷积(padding为1),输出28×28×192分支3:32个1×1卷积核降维,ReLU,再进行96个5×5卷积(padding为2),输出28×28×96分支4:pool层(3×3核,padding为1),再进行64个1×1卷积,输出28×28×64四部分输出结果第三维并联(128+192+96+64=480),最终输出28×28×480后续层(第四层、第五层等)第四层(4a,4b,4c,4d,4e)、第五层(5a,5b)等,结构与3a、3b类似,通过不同尺度卷积核组合提取特征。4.4.2
典型卷积神经网络算法
GoogLeNet特点在相同尺寸的感受野中叠加更多的卷积,能提取到更丰富的特征。使用1×1卷积进行降维,降低了计算复杂度。利用稀疏矩阵分解成密集矩阵计算的原理来加快收敛速度。4.4.2
典型卷积神经网络算法
ResNet残差网络(ResNet)是由何恺明等人在2016年发表的文章《Deepresiduallearningforimagerecognition》中正式提出。ResNet在2015年ImageNet图像识别挑战赛夺魁。ResNet网络主要解决关于深层网络训练带来的问题梯度消失和网络退化等问题。ResNet假设设计一个网络层,存在最优化的网络层次,其中深层次网络是有很多网络层为冗余层。这些冗余层能够完成恒等映射,保证经过该恒等层的输入和输出完全相同。具体哪些层是恒等层,由网络训练自己判断出来。残差块的单元结构4.4.2
典型卷积神经网络算法
右图为残差块的具体构造X是这一层残差块的输入,也称作F(x)为残差,x为输入值,F(X)是经过第一层线性变化并激活后的输出,该图表示在残差网络中,第二层进行线性变化之后激活之前,F(x)加入了这一层输入值X,然后再进行激活后输出。在第二层输出值激活前加入X,这条路径称作shortcut连接。残差块的单元结构4.4.2
典型卷积神经网络算法
shortcut路径大致可以分成2种,取决于残差路径是否改变了featuremap数量和尺寸,一种是将输入x原封不动地输出,另一种则需要经过1×1卷积来升维或降采样,主要作用是将输出与F(x)路径的输出保持shape一致,对网络性能的提升并不明显。ResNet内部的网络结构ResNet组合的网络结构4.4.2
典型卷积神经网络算法
ResNet特点与普通神经网络相比,ResNet具有很多“旁路”,即shortcut路径,其首尾圈出的layers构成一个ResidualBlockResNet所有ResidualBlock都没有pooling层,降采样通过卷积的步长实现的具有更强的泛化能力,能更好地避免退化问题ResNet结构非常容易修改和扩展,通过调整block内的channel数量以及堆叠的block数量,就可以很容易地调整网络的宽度和深度,获得更好的性能表现4.4.3案例:猫狗分类应用问题描述猫狗识别是学习CNN中一个二分类的引用。考虑到训练速度和实验的简易性,本节使用CNN网络中经典的AlexNet模型。猫狗分类问题由三步组成:数据处理、模型训练和测试结果。实现方法在PyCharm集成开发环境下,基于深度学习框架Tensorflow和Python编程语言实现AlexNet网络结构,进行模型训练,实现猫狗图片的分类;AlexNet模型自动识别猫狗图片功能主要分为四个部分
:图片数据预处理、网络结构搭和参数训练以及调用已训练保存的模型自动识别猫狗图片
。4.4.3案例:猫狗分类应用数据集:猫狗数据集中包含了1,200张图片,其中训练集1040张,测试集160张。该数据集源自于Kaggle竞赛,主要为各种场景下的猫狗图片。
猫的种类BirmanBombayBritishshorthair
狗的种类beagle
Pug
shiba_inu
4.4.3案例:猫狗分类应用1.训练阶段读取训练集和测试集的图片数据对数据的顺序进行随机打乱4.4.3案例:猫狗分类应用2.Alex网络训练AlexNet网络训练首先需要搭建网络结构,然后分别设定卷积层、池化层及全连接层的相关参数,并进行训练模型的保存。
4.4.3案例:猫狗分类应用2.Alex网络训练AlexNet网络训练代码运行结果当模型迭代次数增加时,训练数据集上损失函数值逐渐减小,训练精度逐渐增大;继续增加模型迭代次数,损失函数值将继续稳步下降,模型精度将继续稳步上升。当达到最大迭代次数或误差阈值时,模型将停止训练,并保存模型此时参数,用于猫狗图片分类测试。4.4.3案例:猫狗分类应用3.模型测试加载已训练好的模型,用测试数据评估已训练好的模型对新图片的预测分类性能。模型预测分类的主要实现代码如下
:4.4.3案例:猫狗分类应用3.模型测试实验结果表明,AlexNet模型能够对猫狗图片进行精准分类目录
深度学习
神经网络
深度神经网络
卷积神经网络
循环神经网络4.14.24.34.44.5
长短期记忆网络4.6◎循环神经网络简介
◎循环神经网络分类◎卷积神经网络算法
◎案例分析循环神经网络4.54.5.1循环神经网络简介循环神经网络(RecurrentNeuralNetwork,RNN)是一种以时间序列数据为输入,节点之间沿时间序列方向按链式连接进行递归演进的人工神经网络循环神经网络依赖于序列内的先验元素,从前向的输入中获取信息来影响当前输入和输出,具有记忆性、参数共享、图灵完备等特性,在对序列的非线性特征进行学习时具有一定优势。循环神经网络在语音识别、语言建模、机器翻译、个性化推荐、搜索引擎、生物序列预测、单点降水预报等领域有广泛应用。4.5.1循环神经网络简介
4.5.1循环神经网络简介
4.5.1循环神经网络简介
4.5.1循环神经网络简介
4.5.1循环神经网络简介
tanh函数及导数的函数取值范围4.5.1循环神经网络简介RNN使用ReLu作为激活函数,可以解决梯度消失问题ReLu在定义域负数部分恒等于零,导致神经元无法激活在标准的RNN网络结构基础上,可以通过更改内部结构来解决梯度消失和梯度爆炸问题4.5.2典型循环神经网络算法循环神经网络具有多种网络结构的变体,常见的典型算法包括:双向循环神经网络深度循环神经网络堆叠循环神经网络4.5.2典型循环神经网络算法
BRNN的网络结构4.5.2典型循环神经网络算法DRNN深度循环神经网络(DeepRecurrentNeuralNetwork,DRNN)是将多个RNN单元堆叠在一起而形成的网络结构。深度循环神经网络的网络结构如图所示。DRNN的网络结构4.5.2典型循环神经网络算法
SRNN的网络结构4.5.3案例:文本分类问题描述文本分类是自然语言处理领域的一个基本任务,其目标是对给定的句子、文档等文本数据按照一定的分类体系或标准进行自动分类标记。目前,文本分类方法包括传统机器学习方法和深度学习的方法。基于深度学习的文本分类方法是当前主流的学习模型,在新闻文本分类、微博文本分类、评论文本分类等分类场景中取得了巨大成功。实现方法在PyCharm集成开发环境下,基于深度学习框架Tensorflow和Python编程语言实现RNN模型,并进行新闻文本的自动分类,数据集来源于中文新闻网站,覆盖体育、财经、房产、家居、教育、科技、时尚、时政、游戏、娱乐这10个类别,每个类别共有6500条文本数据。
RNN文本分类过程主要分为三个部分:文本数据预处理、模型结构搭建和参数训练及模型性能测试。
4.5.3案例:文本分类1.文本数据预处理数据的预处理主要包括读取文件数据、构建词汇表、转换词汇表、固定分类目录等过程。主要实现代码如下:4.5.3案例:文本分类2.RNN模型训练通过配置词向量维度、词汇表大小、隐藏层层数、神经元个数、迭代次数等参数,实现RNN模型构建。4.5.3案例:文本分类2.RNN模型训练通过配置词向量维度、词汇表大小、隐藏层层数、神经元个数、迭代次数等参数,实现RNN模型构建。4.5.3案例:文本分类3.文本分类精度测试最后将已训练RNN的模型用在测试集上进行新文本的分类4.5.3案例:文本分类3.文本分类精度测试最后将已训练RNN的模型用在测试集上进行新文本的分类4.5.3案例:文本分类运行结果如图所示,卷积神经网络CNN模型能够对文本主题进行准确分类
目录
深度学习
神经网络
深度神经网络
卷积神经网络
循环神经网络4.14.24.34.44.5
长短期记忆网络4.6◎长短期记忆网络简介 ◎长短期网络算法◎案例分析长短期记忆网络4.64.6.1长短期记忆网络简介长短期记忆网络(LongShortTermMemroy,LSTM)是一种用于深度学习领域的人工递归神经网络结构,与标准的前馈神经网络不同,它具有反馈连接,在RNN链条式结构中引入了四个隐含层,使用长短期记忆单元和门控神经元结构来解决梯度消失问题LSTM不仅可以处理单个数据点(如图像),还可以处理整个数据序列(如语音或视频),非常适合手写识别、语音识别和流量异常检测等任务LSTM的网络结构4.6.1长短期记忆网络简介
遗忘门的计算结构4.6.1长短期记忆网络简介
输入门的计算结构4.6.1长短期记忆网络简介
更新单元状态4.6.1长短期记忆网络简介
输出结果信息4.6.2典型长短期记忆网络算法在标准LSTM模型基础上,大量研究人员对其结构进行了不同程度的优化,以适用不同的任务。PeepholeLSTMPairedLSTMGRU4.6.2典型长短期记忆网络算法PeepholeLSTMPeepholeLSTM由Gers和Schmidhuber提出,在LSTM上添加了一种“窥视孔连接(peepholeconnections)”,这使得每一个门结构都能够窥视到单元的状态。PeepholeLSTM的网络结构如图所示。PeepholeLSTM的网络结构4.6.2典型长短期记忆网络算法PairedLSTMPairedLSTM使用了成对的遗忘门和输入门,仅在需要添加新输入时才会忘记部分信息,同理仅在需要忘记信息时才会添加新的输入。PairedLSTM的网络结构如图所示。PairedLSTM的网络结构4.6.2典型长短期记忆网络算法GRU门控循环单元网络(GatedRecurrentUnit,GRU)是在LSTM基础上,将遗忘门和输入门整合成一层,称之为“更新门(updategate)”,同时配以一个“重置门(resetgate)”的递归神经网络。GRU的网络结构如图所示。GRU的网络结构4.6.2典型长短期记忆网络算法
GRU的网络结构4.6.3案例:文本生成应用问题描述文本生成是自然语言处理中一个重要的研究领域,文本自动生成技术可以应用于智能问答与对话、机器翻译、新闻报道等领域,具有十分广泛的应用前景。实现方法在PyCharm集成开发环境下,基于深度学习框架Tensorflow和Python编程语言实现字符级循环神经网络CharRNN模型,并进行新闻文本的自动分类,用来实现英文、写诗、歌词等文本的自动生成。CharRNN模型自动生成文本功能主要分为四个部分:文本数据预处理、模型结构搭建、模型参数训练以及调用已训练保存的文本模型自动生成文本。
4.6.3案例:文本生成应用1.数据预处理首先对数据进行加载与字符编码转换,实现字符-数字、文本-数组之间的映射,并将词典进行保存。主要实现代码如下:4.6.3案例:文本生成应用2.构建模型模型构建部分主要包括了输入层、LSTM层、输出层、损失函数loss、优化器optimizer等部分的构建。4.6.3案例:文本生成应用2.模型训练在模型训练之前,首先初始化一些参数,主要参数有单个batch中序列的个数、单个序列中字符数目、隐层结点个数、LSTM层个数、学习率等,并进行模型保存。
4.6.3案例:文本生成应用2.模型训练模型训练结果如图所示,经过20000步训练,损失函数值逐步减小,最终达到1.7左右,继续调节训练参数应该可以得到更好的结果。LSTM模型误差训练4.6.3案例:文本生成应用4.生成新文本模型训练得到了一系列训练过程中保存下来的参数,利用这些参数来进行新文本的生成。当输入一个字符时,它会预测下一个,然后将这个新的字符输入模型,就可以一直不断地生成字符,从而形成文本。
4.6.3案例:文本生成应用4.生成新文本使用英文小说文本数据训练保存的CharRNN模型能够生成有意义的新小说。4.6.3案例:文本生成应用4.生成新文本使用古诗文本数据训练保存的CharRNN模型能够生成有意义的新古诗
。第4章小结深度神经网络深度神经网络是一种模仿生物神经网络的结构和功能的数学模型或计算模型,用于对函数进行估计或近似,具备自主学习功能。典型的神经网络框架主要包括网络结构、激活函数和学习规则这三个部分。根据网络层次数量,神经网络可分为单层神经元网络和多层神经元网络。根据网络架构差异,神经网络可分为前馈神经网络、卷积神经网络、循环神经网络、长短期记忆网络和图神经网络等。前馈神经网络前馈神经网络是最早发明的简单人工神经网络类型。在前馈神经网络内部,参数从输入层向输出层单向传播,不会构成有向环。常见的前馈神经网络包括多层感知机、自编码器、限制玻尔兹曼机、卷积神经网络等。前馈神经网络是目前应用最广泛、发展最迅速的人工神经网络之一。图神经网络图神经网络是一种直接在图结构上运行的神经网络。图神经网络通过构建顶点和边之间关系组成图谱,典型应用包括节点分类、链接预测、社区划分和因果推理等。图神经网络是近年来的一大研究热点,图神经网络在社交网络、知识图谱、推荐系统,甚至生命科学等领域越来越受到欢迎。第4章小结卷积神经网络卷积神经网络是一种前馈神经网络。卷积神经网络由一个或多个卷积层和顶端的全连通层组成,同时也包括关联权重和池化层。这一结构使得卷积神经网络能够利用输入数据的二维结构。典型的卷积神经网络算法包括LeNet、AlexNet、VGGNet、GoogLeNet和ResNet等。卷积神经网络在图像和语音识别方面能够给出更好的结果。相比较其他深度、前馈神经网络,卷积神经网络需要考量的参数更少,使之成为一种颇具吸引力的深度学习结构。循环神经网络循环神经网络是神经网络的一种。循环神经网络具有记忆性、参数共享并且图灵完备,因此能以很高的效率对序列的非线性特征进行学习。单纯的循环神经网络无法处理递归问题,导致权重指数级爆炸或梯度消失问题,难以捕捉长期时间关联。结合不同的长短期记忆网络可以很好解决这个问题。典型的循环神经网络算法包括BRNN、DRNN、SRNN、LSTM和GRU等。循环神经网络在语言建模、语音识别、机器翻译和文本生成等序列建模上有着天然的优势,也被用于各类时间序列预报或与卷积神经网络相结合处理计算机视觉问题。习题概念题列举常见的深度学习框架,并说明其适用场景?什么是神经网络?基本结构包括哪些部分?什么是图神经网络?图神经网络与图嵌入有何异同?卷积神经网络CNN包括哪些典型算法?列表比较不同算法的优劣?循环神经网络RNN包括哪些典型算法?列表比较不同算法的优劣?操作题编写一个基于深度学习模型的情感分析系统,实现如下功能:
收集IMDB情感分析数据集,对每条评论进行预处理,包括删除标点符号、缩略词、特殊符号、表情包、超链接等干扰信息;
对评论内容进行分词,并将已标注过的电影评论数据集划分为训练集和测试集;
使用深度学习模型对Netflix评论进行正向和负向的分类。参考文献1WangSC.Artificialneuralnetwork[M].Interdisciplinarycomputinginjavaprogramming.Springer,Boston,MA,2003:81-100.2BebisG,GeorgiopoulosM.Feed-forwardneuralnetworks[J].IEEEPotentials,1994,13(4):27-31.3ScarselliF,GoriM,TsoiAC,etal.Thegraphneuralnetworkmodel[J].IEEEtransactionsonneuralnetworks,2008,20(1):61-80.4KhamsiMA,KirkWA.Anintroductiontometricspacesandfixedpointtheory[M].JohnWiley&Sons,2011.5WuZ,PanS,ChenF,etal.Acomprehensivesurveyongraphneuralnetworks[J].IEEEtransactionsonneuralnetworksandlearningsystems,2020,32(1):4-24.6HamiltonW,YingZ,LeskovecJ.Inductiverepresentationlearningonlargegraphs[J].Advancesinneuralinformationprocessingsystems,2017,30.7LiuW,WangZ,LiuX,etal.Asurveyofdeepneuralnetworkarchitecturesandtheirapplications[J].Neurocomputing,2017,234:11-26.8RosenblattF.Theperceptron:aprobabilisticmodelforinformationstorageandorganizationinthebrain[J].Psychologicalreview,1958,65(6):386.9BroomheadDS,LoweD.Radialbasisfunctions,multi-variablefunctionalinterpolationandadaptivenetworks[R].RoyalSignalsandRadarEstablishmentMalvern(UnitedKingdom),1988.参考文献10ElmanJL.Findingstructureintime[J].Cognitivescience,1990,14(2):179-211.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 核心素养导向下的模型意识与解决问题能力培养
- 素养导向·初中九年级道德与法治《中国发展与全球治理》单元教学设计
- 高中英语必修第二册(译林版)Unit1Lights,Camera,Action!词汇多维知
- 小学一年级英语上册Unit 10 Numbers第一课时教学设计
- 全球医疗美容美学医学与整形外科服务创新趋势与产业前瞻(年)行业发展报告
- 初中七年级英语《Starter Unit 3 Wele!Section B (1a1e)》跨学科融合式教学设计
- 初中物理八年级下册第八章《力与运动》大单元教学设计(教科版)
- 小学三年级数学上册《三位数减两、三位数(连续退位)知识清单》
- 小学四年级数学下册第九单元知识清单:鸡兔同笼问题模型全解
- 小学四年级数学《三角形分类:基于核心素养的结构化教学设计》
- 2024年北京人力资源市场工资指导价位
- 汕尾市市区教育设施布局专项规划(2018-2035年)
- 合伙人协议合同
- 2024年银行外汇业务知识理论考试题库及答案(含各题型)
- 太阳能平板式集热器
- (高清版)WST 227-2024 临床检验项目标准操作程序编写要求
- 形成性评价在消化内科住院医师规范化培训中的意义初探
- 《基因编辑CRISPR技术原理及应用课件》
- HSE管理体系文件
- 历代公文选第一章-公文概说资料课件
- BIM土建工程招投标计价(建筑工程计量计价)
评论
0/150
提交评论