FNN神经网络

FNN网络结构:

前馈神经网路是一种单向多层的网络结构,信息从输入层开始,逐层向一个方向传递,即单向传递,一直到输出层结束。前馈的意思就是指传播方向指的是前向。前馈神经网络由三部分组成:输入层(第0层),输出层(最后一层),中间部分称为隐藏层,隐藏层可以是一层,也可以是多层 。FNN如下图所示,其中圆圈是神经元。

FNN神经网络_第1张图片

 前馈神经网络:

  

 特点:每一层是全连接层—即每一层的每个神经元与上一层所有神经元都有连接;
作用:
1、多个全连接层可以从不同角度提取特征;
2、全连接层作为输出层有分类和数值预测的功能;也经常用于卷积神经网络。
缺点:权重多,计算量大。
场景:所有的神经网络均可以利用

FNN前向传播:


(1)每个神经元以上一层各个节点输出作为输入,通过线性变换(结合偏置)和非线性函数激活,得到这个节点的输出,并传递给下一层的节点
(2)输入层的节点对数据不做任何处理,节点个数等于输入自变量x的维度
(3)输出层的节点个数等于输出因变量y的维度


FNN反向传播:


(1)用神经网络对数据进行建模,就是要找到最合适的参数(权重w和偏置b),对数据进行最佳逼近。通常会设计一个损失函数来度量逼近效果,最优参数应使得损失函数最小化。
(2)神经网络可以视为一个非常复杂的复合函数,求解最优参数时,需要进行链式求导,形成了梯度的反向传播。
(3)常见损失函数:分类问题:交叉熵;回归问题:均方误差

BP神经网络:

BP神经网络是前馈神经网络的一种,是指用反向传播算法(BP算法)进行训练的多层前馈神经网络,它包括信号的前向传播和误差的反向传播两个过程,即计算误差输出时(预测与真实的误差)按从输入到输出的方向进行,而调整权值w和偏置b,则从输出到输入的方向进行(在输出层不能得到期望的输出或者说与真实差别较大,才转入反向传播进行调整)。通过不断的前向计算误差输出,再反向调整权值w和偏置b,让它预测出新的输出y’,不断迭代重复,最终能得到误差十分小的输出,如误差为0.01、0.001,与真实的值十分接近。如图所示

FNN神经网络_第2张图片

BP算法基本思想是梯度下降(求偏导,每次找到梯度下降最快的方向),上面推荐up主视频推导部分,权值w - 学习率α*偏导数,可以理解成调整的过程,偏导数指每次梯度下降多少,学习率α大小能决定要下降多少次才能逼近最小误差,所以实际开发中学习率太大,每次迭代下降(减去的数)就很快,太小下降就慢。好比人走路去商场,步子跨的小,走的步数多,步子跨的大,走的步数就少。如图,每次找梯度下降最快的方向下降,最终到最低点,也是误差最小点。

 

你可能感兴趣的:(神经网络,深度学习,cnn)