神经网络-前向传播

Posted 小帆的帆

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了神经网络-前向传播相关的知识,希望对你有一定的参考价值。

转载请标明出处:小帆的帆的专栏

记号

下面会用到这些记号

记号这样设计的原因是,希望产生这样的效果

zl+1=alWl+bl

上一层经过计算,产生,下一层的数据

X: 泛指样本集,不明确说明是用于,训练、验证还是测试
X(,j) : 所有样本,第j个特征的值
y: 泛指样本集的真实输出值
alj : 第l层,第j个神经元的激活值
al : 第l层,神经元中的激活值。对于输入层来说,X就是 a1
wljk :权重。第l层,从第j个神经元指向下一层第k个神经元
wlk :权重。第l层,指向下一层第k个神经元的权重
zlj : 第l层,第j个神经元激活前的值
zl : 第l层,神经元中激活前的值。 zl z2 开始,没有 z1
σ : 表示某个激活函数
X_train: 训练样本集
y_train: 训练样本集的真实输出值
m: 样本集个数,也就是X的行数
n: 样本集的特征数,也就是X的列数,也等于input_size
input_size: 输入层神经元数量
hidden_size: 隐藏层神经元数量
output_size: 输出层神经元数量

特点

方向:从左往右
作用:由最左边的输入,计算出最右边的输出

推导

1、计算a1, 输入层

在前向传播过程中,我们只使用 al 而不使用X,因为 al 可以代表每一层中神经元的激活值,而X只表示输入层的值,所以

a1=X(1)

2、计算 a2 ,隐藏层

首先需要算 z2 ,然后 z2 经过激活函数后得到 a2

z2=a1W1+b1(2)a2=σ(z2)(3)

3、计算 a3 ,输出层

与计算 a2 一样

z3=a2W2+b2(4)a3=σ(z3)(5)

总结

当把X赋值给 a1 后,后面计算方式都是一样的,所以只需要下面三个公式就可以计算任何层级的前向传播了。

a1=X(1)zl+1=alWl+bl(6)al=σ(zl)前向传播和反向传播

神经网络的前向与后向传播简单理解

卷积神经网络前向传播和BP后向传播计算步骤

深度学习之前馈神经网络(前向传播和误差方向传播)

007-卷积神经网络-前向传播-反向传播

神经网络中 2 个隐藏层的反向传播和前向传播