卷积神经网络基本部件
“端到端”思想
机器学习算法中,其输入的特征需要是人工选择好的特征,机器学习算法负责的只是从这些特征中学习就可以了,但是因为特征的好坏是影响算法性能的关键,并且选择特征也不是简单的事情,有必要将其自动化。深度学习为我们提供了一种范式,即“端到端”学习方式,整个学习流程并不进行人为的子问题划分,而是完全交给深度学习模型直接学习从原始输入到期望输出的映射。
即对于深度学习模型来说,其输入数据是未经过任何认为加工的原始样本形式,后续则是堆叠在输入层上的众多操作层。
网络中的符号定义
三维张量
x
l
∈
R
H
l
×
W
l
×
D
l
x^l\in\mathbb{R}^{H^l\times W^l\times D^l}
xl∈RHl×Wl×Dl表示神经网络第
l
l
l层的输入;
三元组
(
i
l
,
j
l
,
d
l
)
(i^l,j^l,d^l)
(il,jl,dl)表示该张量对应第
i
l
i^l
il行,第
j
l
j^l
jl列,第
d
l
d^l
dl通道位置的元素;
在实践中,因为使用了小批量训练策略,网络中第
l
l
l层输入通常是一个四维张量,即
x
l
∈
R
H
l
×
W
l
×
D
l
×
N
x^l\in\mathbb{R}^{H^l\times W^l\times D^l\times N}
xl∈RHl×Wl×Dl×N,
N
N
N为小批量训练的每一批的样本数;
卷积层
卷积层是卷积神经网络中的基础操作,甚至在网络最后起分类作用的全连接层在工程实现中也是由卷积操作替代的。
二维卷积比较简单;
三维卷积:若三维情形下的卷积层
l
l
l的输入张量为
x
l
∈
R
H
l
×
W
l
×
D
l
x^l\in\mathbb{R}^{H^l\times W^l\times D^l}
xl∈RHl×Wl×Dl,该层的卷积核为
f
l
∈
R
H
×
W
×
D
f^l\in\mathbb{R}^{H\times W\times D}
fl∈RH×W×D。三维输入时卷积操作实际只是将二维卷积扩展到了对应位置的所有通道上(即
D
l
D^l
Dl),最终将一次卷积处理的所有
H
W
D
l
HWD^l
HWDl个元素求和作为该位置卷积的结果。
若类似
f
l
f^l
fl这样的卷积核有
D
D
D个,则在同一位置上可得到
1
×
1
×
1
×
D
1\times1\times1\times D
1×1×1×D维度的卷积输出,而
D
D
D即为第
l
+
1
l+1
l+1层特征
x
l
+
1
x^{l+1}
xl+1的通道数
D
l
+
1
D^{l+1}
Dl+1。形式化的卷积操作可以表示成
卷积操作中有两个重要的超参数:卷积核大小和卷积步长。合适的超参数设置值会对最终模型带来理想的性能提升。
汇和层
汇和层即该层操作为汇合操作的层。通常使用的汇合操作为平均值汇合和最大值汇合。汇和层不需要学习的参数,使用时仅需指定汇合类型、汇合操作的核大小和汇合操作的步长等超参数即可。
什么是汇合
第
l
l
l层汇合核可表示为
p
l
∈
R
H
×
W
×
D
l
p^l\in\mathbb R^{H\times W\times D^l}
pl∈RH×W×Dl。平均值汇合在每次操作时,将汇合核覆盖区域中所有制的平均值作为汇合结果。
汇合操作的作用
- 特征不变形:汇合操作使模型更关注是否存在某些特征二不是特征具体的位置。可看作是一种很强的先验,使特征学习包含某种程度自由度,能容忍一些特征微小的位移。
- 特征降维:汇合结果中的一个元素对应于原输入数据的一个子区域,因此汇合相当于在空间范围内做了维度约减,从而使模型可以抽取更广范围的特征。同时减小了下一层输入大小,进而减小计算量和参数个数。
- 在一定程度上放置过拟合,更方便优化。
**函数
**函数的引入为的是增加整个网络的表达能力(非线性表示)。
全连接层
全连接层在整个卷积神经网络中起到“分类器”的作用。也就是说将学习到的特征表示映射到样本的标记空间的作用。