Lecture 5: Convolutional Neural Networks
A bit of history
Convolutional Neural Networks
神经网络的最后一部分为全连接层,在lecture 4中有过讨论。
在这里只对输入做点乘运算,没有激活函数,计算的结果是最终结果。
如图所示:
对于各层而言,从一般的点乘转化为卷积运算。
在之前的lecture 4中有过讨论,即卷积核对应元素的乘积之和为中心元素值,此时卷积核为多维矩阵,对应元素的乘积也是多维乘积,最终得到的是1维结果。
如图所示:
注意此时往往卷积核不是1个而是n个,分别对原数据进行处理,得到的结果也是n维的。
卷积相当于之前神经网络的点乘操作,之后要经历激活函数,如ReLU。
每经历多层迭代之后,还要进行池化操作。
最后进入全连接层,没有激活函数,得到结果。
实际结构如图所示:
在lecture4 HoG中有过讨论,即经过卷积后,原图像会缩小。
卷积核边长一定是奇数个,中心元素可以一个一个挨着取,也可以跳着取,即stride值,输出的尺寸表示为输入边长和stride,卷积核边长值的总关系:(N - F) / stride + 1
为了令卷积结果遍及到图像的每一个像素上,采用填充0的方式,补零。
补P圈0,则输出结果的size为(N + 2P - F) / stride + 1
普遍而言,sride一般为1,P = (F - 1) /2
卷积会收缩图像的体积,收缩太快并不好。
总结
池化层
可以使表达更小,更易于管理
维度保持不变,图像大小缩小
一般只有一个2维卷积核,所以维度不变。
可能不会做卷积运算
以最大池化为例
池化层总结