深度学习是人工智能的一种实现方法。
本文考察作为深度学习的代表的卷积神经网络的数学结构
1.讲解卷积神经网络的结构
1.深度学习是重叠了很多层的隐藏层(中间层)的神经网络。
这样的神经网络使隐藏层具有一定的结构,从而更加有效的进行学习
下面我们来考察一下卷积神经网络的设计思想
2.具体来说隐藏层是多个由卷积层和池化层构成的层组成的,它不仅“深”而且含有内置的结构
3.卷积神经网络和简单的神经网络比,优点:
·1.对于复杂的模式识别问题,也可以用简洁的网络来处理
·2.整体而言,因为神经单元的数量少了,所以计算比较轻松
2.翻译为卷积神经网络的语言
1.相似度汇总一下,就是根据过滤器s得到的卷积的结构,称为特征映射
2.通过池化进行信息压缩
最有名的信息压缩方法:最大池化,具体来说就是将划分好的个区域的最大值提取出来。
3.卷积神经网络的变量关系式
1.要确定一个卷积神经网络,就必须具体的确定过滤器以及权重,偏置。为此,我们需要用数学式来表示这些参数之间的关系
位置 | 符号 | 含义 |
---|---|---|
输入层 | x i j x_{ij} xij | 神经单元中输入的图像像素(i行j列)的值。与输出值相同 |
过滤器 | w i j F k w_{ij}^{Fk} wijFk | 用于建立第k个特征映射的过滤器的i行j列的值。 |
卷积层 | z i j F k z_{ij}^{Fk} zijFk | 卷积层第k个字层的i行j列的神经单元的加权输入 |
- | b F k b^{Fk} bFk | 卷积层第k个字层的i行j列的神经单元的偏置,注意这些偏置在各个特征映射中是相同的 |
- | a i j F k a_{ij}^{Fk} aijFk | 卷积层第k个字层的i行j列的神经单元的输出(激活函数的值) |
池化层 | z i j p k z_{ij}^{pk} zijpk | 池化层第k个字层的i行j列的神经单元的输入 |
- | a i j p k a_{ij}^{pk} aijpk | 池化层第k个字层的i行j列的神经单元的输出 |
输出层 | w k − i j O n w_{k-ij}^{On} wk−ijOn | 从池化层第k个字层的i行j列的神经单元指向输出层第n个神经单元的箭头的权重 |
- | z n o z_n^o zno | 输出层的第n个神经单元的加权输入 |
- | b n o b_n^o bno | 输出层的第n个神经单元的偏置 |
- | a n o a_n^o ano | 输出层的第n个神经单元的输出(激活函数的值) |
2.输入层
3.过滤器和卷积层
4.池化层
5.输出层
6.求代价函数
C
T
C_T
CT
5.卷积神经网络和误差反向传播法
1.确立关系式
·1.卷积层
z
i
j
F
k
=
w
11
F
k
x
i
j
+
w
12
F
k
x
i
j
+
1
+
w
13
F
k
x
i
j
+
2
+
w
21
F
k
x
i
+
1
j
+
w
22
F
k
x
i
+
1
j
+
1
+
w
23
F
k
x
i
+
1
j
+
2
+
w
31
F
k
x
i
+
2
j
+
w
32
F
k
x
i
+
2
j
+
1
+
w
33
F
k
x
i
+
2
j
+
2
+
b
F
k
z_{ij}^{Fk}=w_{11}^{Fk}x_{ij}+w_{12}^{Fk}x_{ij+1}+w_{13}^{Fk}x_{ij+2}\\ \quad\quad+w_{21}^{Fk}x_{i+1j}+w_{22}^{Fk}x_{i+1j+1}+w_{23}^{Fk}x_{i+1j+2}\\ \quad\quad+w_{31}^{Fk}x_{i+2j}+w_{32}^{Fk}x_{i+2j+1}+w_{33}^{Fk}x_{i+2j+2}+b^{Fk}
zijFk=w11Fkxij+w12Fkxij+1+w13Fkxij+2+w21Fkxi+1j+w22Fkxi+1j+1+w23Fkxi+1j+2+w31Fkxi+2j+w32Fkxi+2j+1+w33Fkxi+2j+2+bFk
a
i
j
F
k
=
a
(
z
i
j
F
k
)
a_{ij}^{Fk}=a(z_{ij}^{Fk})
aijFk=a(zijFk)
·2.池化层
z
i
j
P
k
=
M
a
x
(
a
2
i
−
12
j
−
1
P
k
,
a
2
i
−
12
j
P
k
,
a
2
i
2
j
−
1
P
k
,
a
2
i
2
j
P
k
)
z_{ij}^{Pk}=Max(a_{2i-12j-1}^{Pk},a_{2i-12j}^{Pk},a_{2i2j-1}^{Pk},a_{2i2j}^{Pk})
zijPk=Max(a2i−12j−1Pk,a2i−12jPk,a2i2j−1Pk,a2i2jPk)
a
i
j
P
k
=
z
i
j
P
k
a_{ij}^{Pk}=z_{ij}^{Pk}
aijPk=zijPk
·3.输出层
a
n
o
=
a
(
z
n
o
)
a_n^o=a(z_n^o)
ano=a(zno)
·4.平方误差
C
=
1
2
{
(
t
1
−
a
1
o
)
2
+
(
t
2
−
a
2
o
)
2
+
(
t
3
−
a
3
o
)
2
}
C=\frac{1}{2}\{(t_1-a_1^o)^2+(t_2-a_2^o)^2+(t_3-a_3^o)^2\}
C=21{(t1−a1o)2+(t2−a2o)2+(t3−a3o)2}
2.梯度下降法是基础
关于过滤器的偏导数
关于输出层神经单元的权重的偏导数
关于卷积层神经单元的偏置的偏导数
关于输出层神经单元的偏置的偏导数
梯度的偏导数计算非常麻烦,因此相处了误差反向传播法,具体来说就是将梯度分量的偏导数计算控制到最小限度,并通过递推关系式进行计算
3.省略变量符号中的附带的图像编号
4.
δ
j
l
\delta_j^l
δjl的导入和偏导数的关系
5.
δ
j
l
\delta_j^l
δjl表示关于输出层神经单元的梯度分量
6.
δ
j
l
\delta_j^l
δjl表示关于卷积层神经单元的梯度分量
7.计算输出层的
δ
\delta
δ
8.建立关于卷积层神经单元误差
δ
\delta
δ的“反向”递推关系式