
1、卷积的实现

从左到右的矩阵可以看作:一幅图像、过滤器filter(核)、另一幅图像
编程中卷积的实现:支持卷积的深度学习框架都会有一些函数实现这个卷积运算
python:conv_forward函数
TensorFlow:tf.nn.conv2d函数
Keras:Conv2D函数
2、卷积完成垂直边缘检测

经过这样的卷积操作,我们可以得到明暗的交界处
3、正边缘和负边缘的区别:由亮变暗和由暗变量的边缘过度

30:表示由亮变暗;-30表示由暗变亮
4、水平和垂直边缘检测器,如下图

不同的过滤器:

我们可以把过滤器中的数值设置为需要学习的参数,通过反向传播,可以学习到不同的过滤器,实现不同的边缘检测效果

5、填充(Padding)
通用公式
n*n图像使用f*f的过滤器得到(n-f+1)*(n-f+1)的输出
缺点:①每次使用一个卷积操作,图像都会缩小
②图像角落或者边缘的像素只会在输出中被使用一次,丢失了图片上许多边界的信息

解决办法:填充

填充完再卷积的话:输出:(n+2p-f+1)*(n+2p-f+1)

到底要填充多少:
Valid:没有填充;n*n图像使用f*f的过滤器得到(n-f+1)*(n-f+1)的输出
Same:输出大小=输入大小;f几乎永远是奇数

6、卷积步长stride

当不能整除的时候,就向下取整



















