机器学习算法与实践 课件 第12章 神经网络_第1页
机器学习算法与实践 课件 第12章 神经网络_第2页
机器学习算法与实践 课件 第12章 神经网络_第3页
机器学习算法与实践 课件 第12章 神经网络_第4页
机器学习算法与实践 课件 第12章 神经网络_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第十二章神经网络人工神经网络(ArtificialNeuralNetworks,简称ANNs)也称为神经网络(NNs)或称为连接模型(ConnectionModel)。神经网络是由具有适应性的简单单元组成的广泛并行互连的网络,它的组织能够模拟生物神经系统对真实世界物体所做出的交互反应。112.1人工神经网络概述生物神经元

生物神经系统由大量名为神经元的基本单元通过某种方式构成,其工作原理如下图所示:

树突是神经元的分支,负责接收其他神经元的信号。轴突是神经元的传递通道,负责将信号传递给其他神经元。其工作原理维:轴突接收其他神经元的“信号”,当这些“信号”叠加达到一定“阈值”时,会导致神经元的电位发生变化,那么此神经元会“兴奋”起来,把新的“信号”通过轴突传递给其他神经元。212.1人工神经网络概述M-P神经元

312.1人工神经网络概述激活函数①阶跃函数

阶跃函数具有不连续,不光滑等性质,对后续模型的求解不利。412.1人工神经网络概述②Sigmoid函数

512.1人工神经网络概述Sigmoid函数变型

612.1人工神经网络概述人工神经网络

人工神经网络由相互连接的M-P神经元(也称为节点或者处理单元)构成。生物神经元的连接和连接的强弱,在人工神经网络中以节点间的连线以及连接权重来表示。根据网络的层数可分为两层神经网络、三层及以上的神经网络或多层神经网络。712.1人工神经网络概述8

如右图所示。图中椭圆表示节点,有向线段表示节点之间的连接。人工神经网络一般分为输入层、隐藏层、输出层,隐藏层可以有也可以没有,也可以有多层。如右图,只有输入层和输出层,没有隐藏层,即为最简单的神经网络结构,感知机(Perception)模型。

感知机能力有限,需要通过很多神经元协作完成复杂的功能。通过一定的链接方式或信息传递方式进行协作的多个神经元可以看作一个神经网络,称为人工神经网络,也简称为神经网络。到目前为止,研究者已经发明了各种各样的神经网络结构。本章主要介绍“多层前馈神经网络”(Multi-LayerFeedforwardNeuralNetworks),也可称为多层感知机(MultipleLayersPerception,简记为MLP)。12.1人工神经网络概述9如左图所示,其中输入层负责接收外界信号输入,隐藏层和输出层负责对信号进行处理,最后由输出层输出,其中隐藏层可以是单层也可以是多层,分别称为“单隐层前馈网络”和“多隐层前馈网络”。多层前馈神经网络能够解决复杂的分类和回归问题。12.2

感知机

感知机是一种最基本的前馈式神经网络模型,仅由输入层和输出层构成。

感知机模型原理

1012.2

感知机

感知机模型的几何解释感知机模型的适用性(1)对于线性可分问题感知机为线性模型,可以解决线性可分问题,例如逻辑与、或、非运算

1112.2

感知机它们都可以通过只有两个输入节点的简单感知机模型实现:

1212.2

感知机(2)对于非线性可分问题感知机原理简单容易理解,但能力有限,不能解决非线性问题。比如逻辑异或。

此问题非线性可分,不存在直线可以将正负类分开,需要多层神经网络解决。

1312.2

感知机感知机的学习策略

1412.2

感知机1)我们可以通过随机梯度下降法极小化目标函数

1512.2

感知机2)我们可以通过对偶法极小化目标函数

1612.2

感知机感知机随机梯度下降法步骤

1712.2

感知机感知机对偶算法步骤

1812.3多层前馈神经网络基本结构

1912.3多层前馈神经网络20

12.3多层前馈神经网络

多层前馈神经网络的表示能力非常强大,例如可以轻松解决逻辑“异或”问题21

12.3多层前馈神经网络误差传播算法

前馈神经网络表示能力非常强,但随着隐藏层的层数以及神经元的个数的增加,需要确定的参数也会增加。训练如此多的参数需要强大的学习算法,误差传播(ErrorBackPropagation,简称BP)算法是目前最成功的神经网络学习算法。(1)标准BP算法

2212.3多层前馈神经网络

23结合Sigmoid函数的性质得

12.3多层前馈神经网络

24

并且各参数的更新公式如下:

12.3多层前馈神经网络(2)累积BP算法

累积BP算法在读取整个训练集后才对参数进行更新,其参数相对标准BP算法来说更新的频率低得多。但是,当累积误差下降到一定程度时,下降速度会变得非常缓慢,此时标准BP算法会更快得到问题得解,尤其当训练集为大规模数据集时。

2512.3多层前馈神经网络正则化(Regularization)

由于BP神经网络表示能力非常强,在实际使用过程中经常出现过拟合问题,常用的方法有“早停”(EarlyStopping)和“正则化”(Regularization)。早停(EarlyStopping)

指将数据分成训练集和验证集。训练集用来训练网络参数,更新权重和阈值,验证集用来估计误差。在训练过程中,当训练集误差降低但验证集误差升高时,停止训练,同时返回权重和阈值。

在目标函数上增加正则项,用来描述网络的复杂程度,在目标函数和正则项之间设置不同权重,用来折中误差和网络复杂度。例如设置目标函数为:

2612.3

多层前馈神经网络BP算法步骤

2712.4其他神经网络介绍

12.4.1常用神经网络记忆网络(MemoryNetworks)

也称为反馈网络,是一种用于自然语言处理(NLP)任务的神经网络模型。其中的神经元不但可以接收其他神经元的信息,也可以接收自己的历史信息,具有记忆功能,在不同时刻具有不同的状态。其在问答系统、机器翻译、阅读理解等任务中取得了显著的成果,并且在处理具有不确定性和复杂上下文的自然语言问题方面具有很大的潜力。

2812.4.1常用神经网络输入模块(InputModule):将输入文本转换为向量形式,并存储到外部存储器中。通常使用词嵌入(WordEmbedding)技术将单词表示为连续向量。记忆模块(MemoryModule):通过查询内存存储的信息来获取答案。它将查询向量与存储的键进行匹配,并使用注意力机制(AttentionMechanism)来加权选择相关的值。

输出模块(OutputModule):把从记忆模块中检索到的信息进行整合和处理,并生成最终的输出。常见的方法是使用全连接层或逻辑回归等。更新模块(UpdateModule):根据查询和输出的结果,更新外部存储器中的信息。

记忆网络的训练过程常常采用端到端的方式,通过最小化预测与真实答案之间的损失来优化模型参数。

记忆网络包含循环神经网络、Hopfield网络,波尔兹曼机、受限波尔兹曼机等。此外,为了提高记忆网络的性能,还可以使用额外的技术,如多层结构、注意力机制和长短期记忆(LSTM)单元等,称为记忆增强神经网络(MemoryAugmentedNeuralNetwork,简称MANN)29

基本结构由输入模块(InputModule)、记忆模块(MemoryModule)、输出模块(OutputModule)、更新模块(UpdateModule)四个主要组件组成。12.4.1常用神经网络图网络(GraphNeuralNetwork,简称GNN)

GNN是一类用于处理图结构数据的神经网络模型。与传统的神经网络主要处理向量和序列数据不同,图网络能够捕捉和利用图中节点之间的关系和拓扑结构。

输入数据被表示为图的形式,由节点(或称为顶点)和边组成。每个节点可以包含与之相关的特征或属性信息,每个节点都由一个或一组神经元构成。

实现方式包括图卷积网络(GraphConvolutionalNetwork,GCN)、图注意力网络(GraphAttentionNetwork,GAT)、消息传递神经网络(MessagePassingNeuralNetwork,MPNN)等。3012.4.1常用神经网络GNN的设计目标是对每个节点进行聚合和更新,以综合其相邻节点的信息,并将这些信息反馈给下一层的节点。这种迭代的过程使得网络能够逐步地获取全局图结构的信息。通常由以下几个关键组件构成:

输入编码(InputEncoding):将节点和边的特征转换为向量的形式,常见的方法包括使用词嵌入、图像特征提取等技术。

图卷积层(GraphConvolutionalLayer):图卷积层用于聚合节点的邻居信息。通过考虑节点特征和邻居节点特征之间的关系,可以有效地更新节点的表示。

节点更新(NodeUpdate):根据聚合的邻居信息来更新节点的表示。这些更新可以采用不同的函数和操作,如加权求和、非线性激活函数等。

输出预测(OutputPrediction):根据图网络中得到的节点表示,可以进行各种任务的预测,如节点分类、图分类、链接预测等。31图池化(GraphPooling):有时候,为了减少图的规模或提取图的关键信息,需要对图进行汇聚操作。图池化可以将一个图缩减为一个更小的子图,保留重要的节点和边。12.4.2

深度神经网络32为了学习一种好的表示,需要构建具有一定“深度”的模型,并通过学习算法来让模型自动学习出好的特征表示(从底层特征,到中层特征,再到高层特征),从而最终提升预测模型的准确率。所谓“深度”是指原始数据进行非线性特征转换的次数。理论上来说,参数越多的模型复杂度越高、"容量"(capacity)越大。这意味着它能完成更复杂的学习任务。但一般情形下,复杂模型的训练效率低,易陷入过拟合,因此难以受到人们青睐。而随着云计算、大数据时代的到来,计算能力的大幅提高可缓解训练低效性,训练数据的大幅增加则可降低过拟合风险,因此,以“深度学习”(DeepLearning)为代表的复杂模型开始受到人们的关注,典型的深度学习模型就是很深层的神经网络。本小节介绍几种常用的深度学习模型。12.4.2

深度神经网络33全连接层用于将特征图与输出进行连接,进行分类或预测任务。它将所有特征图中的神经元连接到每个输出神经元,实现输入与输出之间的全连接。全连接层通常使用softmax函数进行多分类预测,或者使用线性激活函数得到回归预测。总的来说,卷积神经网络能够自动学习到输入数据中的空间和位置信息,具有对平移和缩放的鲁棒性。它在图像处理和计算机视觉任务中表现出色,在许多挑战性的数据集上取得了优异的性能。卷积神经网络(ConvolutionalNeuralNetworks,CNN)CNN广泛应用于图像识别和计算机视觉任务。主要由卷积层、池化层和全连接层组成.

卷积层是CNN的核心组件,它通过卷积操作对输入进行特征提取。卷积操作使用一个滤波器(也称为卷积核)在输入数据上滑动,计算每个位置的局部乘积,并将其求和得到输出特征图。通过多个卷积核的并行计算,CNN能够学习到输入数据的不同特征表示。卷积操作还具有权值共享的特性,即同一个卷积核在输入的不同位置共享相同的参数,大大减少了模型的参数数量。

池化层用于减小特征图的尺寸并保留重要的特征。常见的池化操作有最大池化和平均池化,它们分别选择局部区域中的最大值或平均值作为输出。通过降低特征图的维度,池化层能够提高模型的计算效率,并增强模型对输入的平移和缩放不变性。12.4.2

深度神经网络循环神经网络(RecurrentNeuralNetworks,RNN)

RNN是一种常用于处理序列数据的深度学习模型,它主要用于自然语言处理、语音识别等任务。通过引入递归的结构来建模序列数据之间的依赖关系。

RNN的基本结构是一个循环单元,它包含一个隐藏状态和一个输入。在处理序列数据时,RNN会根据当前的输入和前一时刻的隐藏状态计算出当前时刻的隐藏状态。这样,RNN可以在时间维度上共享权重,并捕捉到序列数据的上下文信息。同时,为了有效解决RNN梯度消失和梯度爆炸问题,提出了门控循环单元(GRU),它将LSTM的输入门和遗忘门合并为一个更新门,并引入候选隐藏状态。GRU相对于LSTM具有更简化的结构,在某些情况下能够取得与LSTM相当的性能。3412.4.2

深度神经网络长短期记忆网络(LongShort-TermMemory,LSTM)

LSTM是一种特殊类型的循环神经网络,专门用于解决传统RNN难以处理长期依赖问题的挑战。LSTM通过引入门控机制来解决模型无法有效地“记住”较早期的信息这一问题,并在序列数据中选择性地存储和遗忘信息。已经在自然语言处理、语音识别、机器翻译等多个领域取得了重大突破和应用。

LSTM包含了一个细胞状态和三个控制单元:输入门、遗忘门和输出门。输入门用于控制需要更新到细胞状态的新信息,遗忘门用于控制需要从细胞状态中遗忘的旧信息,输出门用于控制输出的内容。这些门控单元通过对输入、遗忘和输出的加权处理,实现对细胞状态的更新。3512.4.2

深度神经网络注意力机制(AttentionMechanism)

通过引入注意力权重,动态地分配模型对不同位置或特征的关注度。具体而言,注意力机制通过计算注意力权重来获取输入的加权和,从而获得更精准的表示。

常见的注意力机制包括softmax注意力和硬注意力。softmax注意力将注意力权重计算为输入的概率分布,使得所有权重之和为1;硬注意力则通过取最大值或使用贪婪算法来选择重要的位置或特征。

注意力机制的引入可以提升模型对关键信息的集中学习能力,从而提高模型的性能和泛化能力。

注意力机制是一种常用于增强深度学习模型性能的技术,被

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论