前面介绍了《感知器》,类似于单个神经元细胞,现在我们用多个感知器组合成更加复杂的神经网络。本文介绍了多层神经网络通过前向传播方法,逐层计算出最终结果值的过程。

如上图所示(亲绘 ^ _ ^),展示了两层神经网络,有n+1个输入,2个输出,包含1个隐藏层。
其他N层的神经网络以此类推就行。
输入
x
=
[
x
0
x
1
⋮
x
n
]
x=
第1层权重
w
(
1
)
=
[
w
00
(
1
)
w
01
(
1
)
w
02
(
1
)
.
.
.
w
0
n
(
1
)
w
11
(
1
)
w
11
(
1
)
w
12
(
1
)
.
.
.
w
1
n
(
1
)
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
w
k
1
(
1
)
w
k
1
(
1
)
w
k
2
(
1
)
.
.
.
w
k
n
(
1
)
]
w^{(1)}=
第1层输出
a
(
1
)
=
f
1
(
w
(
1
)
x
)
=
[
a
0
(
1
)
a
1
(
1
)
⋮
a
k
(
1
)
]
a^{(1)}=f_1(w^{(1)}x)=
其中
f
1
f_1
f1是第1层的激活函数。
第2层权重
w
(
2
)
=
[
w
00
(
2
)
w
01
(
2
)
w
02
(
2
)
.
.
.
w
0
k
(
2
)
w
11
(
2
)
w
11
(
2
)
w
12
(
2
)
.
.
.
w
1
k
(
2
)
]
w^{(2)}=
第2层输出
a
(
2
)
=
f
2
(
w
(
2
)
a
(
1
)
)
=
f
2
(
w
(
2
)
(
f
1
(
w
(
1
)
x
)
)
)
=
f
2
(
[
w
00
(
2
)
w
01
(
2
)
w
02
(
2
)
.
.
.
w
0
k
(
2
)
w
11
(
2
)
w
11
(
2
)
w
12
(
2
)
.
.
.
w
1
k
(
2
)
]
[
a
0
(
1
)
a
1
(
1
)
⋮
a
k
(
1
)
]
)
=
[
a
0
(
2
)
a
1
(
2
)
]
a^{(2)}=f_2(w^{(2)}a^{(1)})=f_2\big(w^{(2)}(f_1(w^{(1)}x))\big)=f_2\bigg(
其中
f
2
f_2
f2是第2层的激活函数。
以此类推,那么在第
l
l
l 层
a
(
l
)
=
f
l
(
w
(
l
)
a
(
l
−
1
)
)
a^{(l)}=f_l(w^{(l)}a^{(l-1)})
a(l)=fl(w(l)a(l−1))
以
x
→
f
1
w
(
1
)
a
(
1
)
→
f
2
w
(
2
)
⋯
→
f
l
w
(
l
)
a
(
l
)
x\xrightarrow[f_1]{w^{(1)}}a^{(1)}\xrightarrow[f_2]{w^{(2)}}\dots \xrightarrow[f_l]{w^{(l)}}a^{(l)}
xw(1)f1a(1)w(2)f2⋯w(l)fla(l)的形式,神经网络通过逐层的信息传递,最终得到网络的输出
a
(
l
)
a^{(l)}
a(l),这叫前馈神经网络的前向传播。
神经网络与深度学习-邱锡鹏
《深度学习入门:基于Python的理论与实现》