前馈神经网络 |
您所在的位置:网站首页 › BP神经网络的正向过程主要计算哪个值 › 前馈神经网络 |
目录 2、多层感知机(前馈神经网络) 2.1 定义 2.2 神经元 2.3 激活函数 2.3.1 sigmoid函数 2.3.2 tanh函数 2.3.3 relu函数 2.4 计算 2.4.1 前向传播 2.4.2 反向传播 2、多层感知机(前馈神经网络) 2.1 定义多层感知机(MLP)是一种前馈神经网络模型。 前馈神经网络(feedforward neural network),又称作深度前馈网络(deep feedforward network)、多层感知机(multilayer perceptron,MLP) 除了输入输出层,它中间可以有多个隐层,最简单的MLP只含一个隐层,即三层的结构,如下图:(图片来自《动手学深度学习》) 2.2 神经元人工神经元简称神经元,是构成神经网络的基本单元,其主要是模拟生物神经元的结构和特性,接受一组信号并产生输出。假设一个神经元接受了一组输入后,这些输入又会分别各自做出加权和偏置操作,最后得出一个值称之为净输入,这时我们的净输入需要经过一个非线性函数f(·)后,得到神经元的活性值a,其中的非线性函数称为激活函数。 2.3 激活函数2.3.1 sigmoid函数 特点: 它能够把输入的连续实值变换为0和1之间的输出,特别的,如果是非常大的负数,那么输出就是0;如果是非常大的正数,输出就是1. 缺点: 缺点1:在深度神经网络中梯度反向传递时导致梯度爆炸和梯度消失,其中梯度爆炸发生的概率非常小,而梯度消失发生的概率比较大 缺点2:Sigmoid 的 output 不是0均值(即zero-centered)。这是不可取的,因为这会导致后一层的神经元将得到上一层输出的非0均值的信号作为输入。 产生的一个结果就是:如x>0, x>0, f= ,那么对w求局部梯度则都为正,这样在反向传播的过程中w要么都往正方向更新,要么都往负方向更新,导致有一种捆绑的效果,使得收敛缓慢。 当然了,如果按batch去训练,那么那个batch可能得到不同的信号,所以这个问题还是可以缓解一下的。因此,非0均值这个问题虽然会产生一些不好的影响,不过跟上面提到的梯度消失问题相比还是要好很多的。 缺点3:其解析式中含有幂运算,计算机求解时相对来讲比较耗时。对于规模比较大的深度网络,这会较大地增加训练时间。 2.3.2 tanh函数特点: 1.tahn解决了Sigmoid函数的不是zero-centered输出问题, 2.然而,梯度消失(gradient vanishing)的问题和幂运算的问题仍然存在。 2.3.3 relu函数ReLU函数其实就是一个取最大值函数,注意这并不是全区间可导的,但是我们可以取sub-gradient 有以下几大优点: 1) 解决了gradient vanishing问题 (在正区间) 2)计算速度非常快,只需要判断输入是否大于0 3)收敛速度远快于sigmoid和tanh ReLU问题: 1)ReLU的输出不是zero-centered 2)Dead ReLU Problem,指的是某些神经元可能永远不会被激活,导致相应的参数永远不能被更新。有两个主要原因可能导致这种情况产生: (1) 非常不幸的参数初始化,这种情况比较少见 (2) learning rate太高导致在训练过程中参数更新太大,不幸使网络进入这种状态。解决方法是可以采用Xavier初始化方法,以及避免将learning rate设置太大或使用adagrad等自动调节learning rate的算法。 参考链接:为什么要使用激活函数,激活函数的作用_贾世林jiashilin的博客-CSDN博客_为什么要用激活函数 2.4 计算 2.4.1 前向传播例如: 相当于两个向量相乘得到第一个net1和net2 2.4.2 反向传播参考视频:精华!前向传播和反向传播都讲得很清楚 8分钟搞懂神经网络反向传播算法_哔哩哔哩_bilibili |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |