前言
第一课是讲全连接神经网络,因为各种神经网络都是基于全连接神经网络出发的,所以需要先了解最基本的原理,接下来的各种网络也能学得得心应手。
全连接神经网络
它作为神经网络家族中最简单的一种网络,相信大家看完它的结构之后一定会对它有个非常直观的了解。
各个层之间全部连接,左边为输入,中间为计算,右边为输出。
可以将整个网络视为一个
f
f
f函数:
f
(
[
0
0
]
)
=
[
0.51
0.85
]
f\left(\left[\begin{array}{l} 0 \\ 0 \end{array}\right]\right)=\left[\begin{array}{l} 0.51 \\ 0.85 \end{array}\right]
f([00])=[0.510.85]
如下图所示,输入为[0, 0],输出为[0.51, 0.85]:
对于单层的网络来说,可以看做是多个Logistic Regression。或者将Logistic Regression看做是仅含有一个神经元的单层的神经网络。
z
1
=
w
x
1
+
b
1
z_1=wx_1+b_1
z1=wx1+b1
其中
w
w
w为权值,
x
x
x为输入,
b
b
b为偏差。
σ
(
z
1
)
=
1
1
+
e
−
z
1
\sigma (z_1)=\frac{1}{1+e^{-z_1}}
σ(z1)=1+e−z11
下图通过实际数值输入演示如何得到单层的结果:
第一层的所有结点的输出记作
a
1
a_1
a1,将
a
1
a_1
a1作为第二层的输入,以此类推最终得到最后的输出
y
y
y:
合并起来就如下面这个式子:
最后一层output layer可以视为一个分类器,将其结点个数设置为输出
y
y
y的长度,就可以实现分类:
训练的时候可以使用交叉熵损失:
每一层的求解就是常用的梯度下降法: