您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 数据通信与网络 > 多层神经网络MLP快速入门
神经网络学习交流报告目录CONTENTE神经元模型1感知机与多层神经网络2应用一:MLP分类器3应用二:MLP的3D可视化4神经元模型人工神经网络(ann)是一种计算模型,启发自人类大脑处理信息的生物神经网络。人工神经网络在语音识别、计算机视觉和自然语言理领域取得了一系列突破,让机器学习研究和产业兴奋了起来。神经网络(neuralnetworks)方面的研究很早就已经出现,今天“神经网络”已是一个相当大的、多学科交叉的学科领域。神经网络中最基本的成分是神经元(neuron)模型,一般称作「节点」(node)或者「单元」(unit)。节点从其他节点接收输入,或者从外部源接收输入,然后计算输出。每个输入都辅有「权重」(weight,即w),权重取决于其他输入的相对重要性。节点将函数f(定义如下)应用到加权后的输入总和,如图1所示:神经元模型还有配有权重b(称为「偏置(bias)」或者「阈值(threshold)」)的输入1。神经元模型函数f是非线性的,叫做激活函数。激活函数的作用是将非线性引入神经元的输出。因为大多数现实世界的数据都是非线性的,我们希望神经元能够学习非线性的函数表示,所以这种应用至关重要。每个(非线性)激活函数都接收一个数字,并进行特定、固定的数学计算。在实践中,可能会碰到几种激活函数:Sigmoid(S型激活函数):输入一个实值,输出一个0至1间的值σ(x)=1/(1+exp(−x))tanh(双曲正切函数):输入一个实值,输出一个[-1,1]间的值tanh(x)=2σ(2x)−1ReLU:ReLU代表修正线性单元。输出一个实值,并设定0的阈值(函数会将负值变为零)f(x)=max(0,x)神经元模型将上述情形抽象,就是一直沿用至今的“M-P”神经元模型。在这个模型中,神经元收到来自n个其他神经元传递来的输入信号,这些输入信号通过带权重(w)连接进行传递,神经元接收到的输入值将与神经元的阈值进行比较,然后通过“激活函数”得到神经元的输出。感知机与多层神经网络前馈神经网络是最先发明也是最简单的人工神经网络。它包含了安排在多个层中的多个神经元(节点)。相邻层的节点有连接或者边(edge)。所有的连接都配有权重。感知机与多层神经网络一个前馈神经网络可以包含三种节点:1.输入节点:输入节点从外部世界提供信息,总称为「输入层」。在输入节点中,不进行任何的计算——仅向隐藏节点传递信息。2.隐藏节点:隐藏节点和外部世界没有直接联系(由此得名)。这些节点进行计算,并将信息从输入节点传递到输出节点。隐藏节点总称为「隐藏层」。尽管一个前馈神经网络只有一个输入层和一个输出层,但网络里可以没有也可以有多个隐藏层。3.输出节点:输出节点总称为「输出层」,负责计算,并从网络向外部世界传递信息。在前馈网络中,信息只单向移动——从输入层开始前向移动,然后通过隐藏层(如果有的话),再到输出层。在网络中没有循环或回路(前馈神经网络的这个属性和递归神经网络不同,后者的节点连接构成循环)。感知机与多层神经网络多层感知器(MultiLayerPerceptron,即MLP)包括至少一个隐藏层(除了一个输入层和一个输出层以外)。单层感知器只能学习线性函数,而多层感知器也可以学习非线性函数。感知机与多层神经网络训练我们的多层感知器BP算法(backpropagation),反向传播误差算法,是几种训练人工神经网络的方法之一。这是一种监督学习方法,即通过标记的训练数据来学习(有监督者来引导学习)。由前向传播和后向传播构成。简单说来,BackProp就像「从错误中学习」。监督者在人工神经网络犯错误时进行纠正。学习的目的是为分配正确的权重。通过输入向量,这些权重可以决定输出向量。前向传播:最初,所有的边权重(edgeweight)都是随机分配的。对于所有训练数据集中的输入,人工神经网络都被激活,并且观察其输出。后向传播:这些输出会和我们已知的、期望的输出进行比较,误差会「传播」回上一层。该误差会被标注,权重也会被相应的「调整」。该流程重复,直到输出误差低于制定的标准。感知机与多层神经网络上述算法结束后,我们就得到了一个学习过的人工神经网络,该网络被认为是可以接受「新」输入的。该人工神经网络可以说从几个样本(标注数据)和其错误(误差传播)中得到了学习。然后我们看一个案例。感知机与多层神经网络我们通常在感知器的输出层中使用Softmax函数作为激活函数,以保证输出的是概率并且相加等于1。Softmax函数接收一个随机实值的分数向量,转化成多个介于0和1之间、并且总和为1的多个向量值。所以,在这个例子中:概率(Pass)+概率(Fail)=1感知机与多层神经网络感知机与多层神经网络如果我们现在再次向网络输入同样的样本,网络应该比之前有更好的表现,因为为了最小化误差,已经调整了权重。如图7所示,和之前的[0.6,-0.4]相比,输出节点的误差已经减少到了[0.2,-0.2]。这意味着我们的网络已经学习了如何正确对第一个训练样本进行分类。应用一:MLP分类器应用一:MLP分类器应用一:MLP分类器应用一:MLP分类器应用一:MLP分类器应用一:MLP分类器应用一:MLP分类器应用一:MLP分类器应用一:MLP分类器应用二:MLP的3D可视化AdamHarley创造了一个多层感知器的3D可视化(~aharley/vis/fc/),并已经开始使用MNIST数据库手写的数字进行训练。此网络从一个28x28的手写数字图像接受784个数字像素值作为输入(在输入层有对应的784个节点)。网络的第一个隐藏层有300个节点,第二个隐藏层有100个节点,输出层有10个节点(对应10个数字)。虽然这个网络跟我们刚才讨论的相比大了很多(使用了更多的隐藏层和节点),所有前向传播和反向传播步骤的计算(对于每个节点而言)方式都是一样的。应用二:MLP的3D可视化应用二:MLP的3D可视化应用二:MLP的3D可视化应用二:MLP的3D可视化应用二:MLP的3D可视化THANKSFORWATCHING完
本文标题:多层神经网络MLP快速入门
链接地址:https://www.777doc.com/doc-7024824 .html