04. 卷积神经网络
第1周 卷积神经网络
1.1 计算机视觉
- 计算机视觉问题
(1)图像分类
(2)目标检测
(3)风格迁移
- 大规模图片上的深度学习
(1)以往的图片往往大小是64×64×3的,即总特征数为12288。
(2)若图片大小增加到1000×1000×3,则总特征数增加到3百万。
1.2 边缘检测示例
- 计算机视觉问题
(1)人脸检测距离
- 垂直边缘检测
⎣⎢⎢⎢⎢⎢⎢⎡312042057124182315295162731723413889⎦⎥⎥⎥⎥⎥⎥⎤∗⎣⎡111000−1−1−1⎦⎤=⎣⎢⎢⎡−5−100−3−4−2−2−202−4−383−7−16⎦⎥⎥⎤
- 编程实现
(1)python:conv_forward
(2)tensorflow:tf.nn.conv2d
- 垂直边缘检测的直观解释
1.3 更多边缘检测内容
- 垂直和水平边缘检测
(1)垂直
⎣⎡111000−1−1−1⎦⎤
(2)水平
⎣⎡10−110−110−1⎦⎤
(3)正负边缘
正边缘指从亮到暗的过渡边缘。
- 学习边缘检测
(1)Sobel滤波器(更鲁棒)
⎣⎡121000−1−2−1⎦⎤
(2)Scharr滤波器
⎣⎡3103000−3−10−3⎦⎤
(3)可以将矩阵元素作为学习的参数。
1.4 Padding
- Padding
(1)若有一张图片大小为n×n,滤波器大小为f×f,则卷积结果大小为(n−f+1)×(n−f+1)。
(2)缺点:每次卷积图像会变小;边角的像素只在一次卷积中涉及到,中部的像素点被多次采用。
(3)解决方法:在原始图像外围填充一圈像素点。设填充像素点个数为p,则原始图像变为(n+2p)×(n+2p),因此卷积结果大小变为(n+2p−f+1)×(n+2p−f+1)
- Valid卷积和Same卷积
(1)Valid卷积:不填充
(2)Same卷积:填充,使得卷积结果和原始图像大小相同
- 通常情况下,f是奇数。
1.5 卷积步长
- 步幅卷积
(1)之前的卷积过程,步幅为1。
(2)若输入为n×n,滤波器为f×f,填充大小为p,步幅为s,则输出结果为⌊sn+2p−f+1⌋×⌊sn+2p−f+1⌋
- 互相关和卷积
机器学习(深度学习)领域中的卷积,和数学领域的卷积有所区别,和数学领域中的互相关更一致。
数学领域中的卷积运算,首先要对滤波器进行水平和垂直翻转,然后再进行计算。
1.6 三维卷积
- RGB图像卷积
(1)原始图像尺寸:高×宽×通道数
(2)卷积核尺寸:高×宽×通道数(与原始图像相同)
(3)输出结果:高×宽(二维)
- 多过滤器
用于检测不同目标,如垂直边缘、水平边缘等。此时输出结果不再是二维的,和过滤器数量有关。
1.7 单层卷积网络
- 单层举例
- 符号说明
若l层为卷积层,则
(1)f[l]过滤器规模
(2)p[l]填充像素数量
(3)s[l]步长
(4)nC[l]过滤器数量
(5)每个过滤器的大小为f[l]×f[l]×nC[l]
(6)**函数a[l]为nH[l]×nW[l]×nC[l]
(7)权重f[l]×f[l]×nC[l]×nC[l]
(8)偏差nC[l]
(9)输入:nH[l−1]×nW[l−1]×nC[l−1]
(10)输出:nH[l]×nW[l]×nC[l],其中nH[l]=⌊s[l]nH[l−1]+2p[l]−f[l]+1⌋,nW[l]类似.
1.8 简单卷积网络示例
1.9 池化层
1.10 卷积神经网络示例
1.11 为什么使用卷积?
相关文章: