MLP入门:多层人工神经网络模型及算法公式推导(正向传播与逆向传播过程详解) | 您所在的位置:网站首页 › 神经元之间的连接结构图 › MLP入门:多层人工神经网络模型及算法公式推导(正向传播与逆向传播过程详解) |
多层感知机MLP(Multi-Layer Perceptron)也叫多层人工神经网络。一般的,常见的神经网络是如下图所示的层级结构。由输入层、隐藏层(可有多层)和输出层组成。神经网络中最基本的成分是神经元(neuron)。每层神经元与下一层神经元全互连,神经元之间不存在同层连接,也不存在跨层连接。这样的神经网络结构通常称为“多层前馈神经网络”(multi-layer feedforward neural networks),(前馈并不意味着网络中信号不能向后传,而是指网络拓扑结构上不存在环或回路),其中,输入层神经元仅接收外界输入,不进行函数处理;隐藏层和输出层则包含功能神经元,能将接收到的总输入值与一定的阈值进行比较,然后通过“激活函数”(activation function)处理以产生神经元的输出。若将阈值也作为输入信号在神经网络中标出,则除输出层之外,各层会多出一个固定输入为-1的“哑结点”(dummy node),该节点与下一层的连接权即为阈值。这样权重和阈值的学习就可以统一为权重的学习。为方便后续解释,下图中并未标出哑结点。 下图给出“单隐层网络”模型并解释各层功能及其作用方式:
为了方便理解,这里举出该神经网络模型的应用实例:识别手写数字。 假设样本为n个手写数字图像,每个数字图像由28×28像素组成,每个像素由灰度值表示。我们把28×28的像素展开变成一个有784个维度的一维行向量,即一个样本向量,那么此时输入层的神经元个数就会有784个,即图中的d=784。因为是识别单个手写数字,其结果会有0-9这十种情况,因此输出层就会有10个神经元,即图中的 l=10。至于隐藏层的层数以及单元数则作为要优化的额外超参数,可以通过交叉验证技术解决,在此不对其进行详细展开。 关于激活函数: 理想的激活函数是如下图(a)所示的阶跃函数,它将输入值映射为输出值“0”或“1”,显然“1”对应于神经元兴奋,“0”对应于神经元抑制。然而,阶跃函数具有不连续、不光滑等不太好的性质,因此实际常用Sigmoid函数作为激活函数,如下图(b)所示。有时,输出层神经元也采用线性激活函数,即直接以输入值c与阈值θ的比较结果作为最后的预测值y’输出。 |
CopyRight 2018-2019 实验室设备网 版权所有 |