卷积神经网络之卷积(Convolution)
Convolutional Neural Networks
(此文章是对照着张老师PPT做的笔记,感谢张老师)
- 什么是卷积?
- 从数学上来讲,卷积就是一种运算。
- 离散卷积的例子
- 有两枚骰子:
- 把这两枚骰子都抛出去:
- 求:两枚骰子点数加起来为4的概率为多少?
那么,两枚骰子点数加起来为4的情况有:
f(1)g(3)+f(2)g(2)+f(3)g(1)
- 连续卷积的例子
- 一维离散卷积的示例
Filter: [-1,0,1]
wk称为滤波器(filter)或者卷积核(convolution kernel)
- 卷积在图像处理中的应用
1、在图像处理中,图像二维矩阵的形式,因此我们需要二维卷积。
垂直边缘检测
tensorflow: tf.nn.conv2d(实现卷积运算)
Keras:con2D
- 互相关 Cross-Correlation
- 互相关是一个个衡量两个序列相关性的函数,通常是用滑动窗口的点积计算来实现 ,即对应位乘积再求和。
- 互相关和卷积的区别在于卷积核仅仅是否进行翻转。
- 翻转就是从两个维度(从上到下、从左到右)颠倒次序,即旋转 180度(?)。 因此互相关也可以称为不翻转卷积。
下面的例子是互相关的例子(不翻转):
互相关:
卷积: (??)
在神经网络中使用卷积是为了进行特征抽取,卷积核是否进行翻转和其特征抽取的能力无关。特别是当卷积核是可学习的参数时,卷积和互相关是等价的。
因此,为了实现上(或描述上)的方便起见,我们用互相关来代替卷积。事实上,很多深度学习工具中卷积操作其实都是互相关操作 。
七、
- 图像的卷积,等价于一种模板操作。
- 模板运算中的模板就是卷积运算中的卷积核(滤波器),卷积就是作加权求和的过程。邻域中的每个像素分别与卷积核中的每一个元素相乘,乘积求和所得结果即为中心像素的新值。
- 图像的平滑、锐化、边缘检测等,都会用到模板操作。
- 卷积的扩展:
步长 stride 与 零填充 zero-padding