三维卷积与单层卷积神经网络
三维图像卷积
对于三维图像RGB的特征,有3个通道。彩色图像如果是6×6×3,这里的3指的是三个颜色通道,可以把它想象成三个6×6图像的堆叠。
第一个6代表图像高度,第二个6代表宽度,这个3代表通道的数目。同样你的过滤器也有一个高,宽和通道数,并且图像的通道数必须和过滤器的通道数匹配
相较于3个矩阵的堆叠,我们可以任务过滤器的一个三维的立方体。
叠加过滤器
如果我们不仅仅想要检测垂直边缘怎么办?如果我们同时检测垂直边缘和水平边缘,还有45°倾斜的边缘?
让这个6×6×3的图像和这个3×3×3的过滤器卷积,得到4×4的输出。(第一个)这可能是一个垂直边界检测器或者是学习检测其他的特征。第二个过滤器可以用橘色来表示,它可以是一个水平边缘检测器。
- 通过垂直过滤器,得到二维4x4的检测结果
- 通过水平过滤器,得到二维4x4的检测结果
- 将两种结果叠加得到三维检测结果
维度
三维图像维度:
n
×
n
×
n
c
n\times n\times n_{c}
n×n×nc
过滤器维度:
f
×
f
×
n
c
f\times f\times n_{c}
f×f×nc
卷积输出维度:
n
−
f
+
1
×
n
−
f
+
1
×
n
c
′
n-f+1\times n-f+1\times n_{c}'
n−f+1×n−f+1×nc′
这里的padding=valid,stride=1,更一般的卷积输出如下:
n
+
2
p
−
f
+
1
s
×
n
+
2
p
−
f
+
1
s
×
n
c
′
\frac{n+2p-f+1}{s}\times\frac{n+2p-f+1}{s}\times n_{c}'
sn+2p−f+1×sn+2p−f+1×nc′
其中输出的通道数即过滤器的个数
单层神经网络
假设你有10个过滤器,神经网络的一层是3×3×3,那么这一层有多少个参数呢?
- 每一层都是一个3×3×3的矩阵,因此每个过滤器有27个参数加上一个偏差,参数增加到28个。
- 有10个过滤器,加在一起是28×10,也就是280个参数。
不论输入图片有多大,参数数量取决于过滤器大小和数量,这就是卷积神经网络的一个特征,叫作“避免过拟合”。
符号说明
f [ l ] : 第 l 层 的 过 滤 器 大 小 f^{[l]}:第l层的过滤器大小 f[l]:第l层的过滤器大小
p [ l ] : 第 l 层 p a d d i n g 的 数 量 p^{[l]}:第l层padding的数量 p[l]:第l层padding的数量
s [ l ] : 第 l 层 s t r i d e 的 数 量 s^{[l]}:第l层stride的数量 s[l]:第l层stride的数量
n c [ l ] : 第 l 层 过 滤 器 的 数 量 n^{[l]}_{c}:第l层过滤器的数量 nc[l]:第l层过滤器的数量
f [ l ] × f [ l ] × n c [ l − 1 ] : 第 l 层 的 过 滤 器 维 度 f^{[l]}\times f^{[l]}\times n^{[l-1]}_{c}:第l层的过滤器维度 f[l]×f[l]×nc[l−1]:第l层的过滤器维度
f [ l ] × f [ l ] × n c [ l − 1 ] × n c [ l ] : 第 l 层 权 重 维 度 f^{[l]}\times f^{[l]}\times n^{[l-1]}_{c}\times n_{c}^{[l]}:第l层权重维度 f[l]×f[l]×nc[l−1]×nc[l]:第l层权重维度
1 × 1 × 1 × n c [ l − 1 ] : 第 l 层 偏 置 维 度 1\times 1\times 1\times n_{c}^{[l-1]}:第l层偏置维度 1×1×1×nc[l−1]:第l层偏置维度
n H [ l − 1 ] × n W [ l − 1 ] × n c [ l − 1 ] : 第 l 层 的 输 入 维 度 n_{H}^{[l-1]}\times n_{W}^{[l-1]}\times n_{c}^{[l-1]}:第l层的输入维度 nH[l−1]×nW[l−1]×nc[l−1]:第l层的输入维度
n H [ l ] × n W [ l ] × n c [ l ] : 第 l 层 的 输 出 维 度 n_{H}^{[l]}\times n_{W}^{[l]}\times n_{c}^{[l]}:第l层的输出维度 nH[l]×nW[l]×nc[l]:第l层的输出维度
m × n H [ l ] × n W [ l ] × n c [ l ] : 第 l 层 m 个 样 本 的 输 出 维 度 m\times n_{H}^{[l]}\times n_{W}^{[l]}\times n_{c}^{[l]}:第l层m个样本的输出维度 m×nH[l]×nW[l]×nc[l]:第l层m个样本的输出维度
卷积神经网络中的网络类型
- 卷积层CONV
- 池化层POOL
- 全连接层FC