卷积神经网络由卷积核来提取特征,通过池化层对显著特征进行提取,经过多次的堆叠,得到比较高级的特征,最后可以用分类器来分类。这是CNN的一个大概流程,其具体实现的结构是丰富多样的,但总的思想是统一的。
CNN整个的计算过程,最重要的有两点:组合性和局部不变性(平移、旋转、尺度放缩)。
组合性:
每个卷积核可以看做某种特征的提取器。所谓组合性就是将卷积核提取的一些简单特征进行组合,得到更高级的特征。比如图像的人脸分类:
第一个卷积层,可能只是从原始图像像素中学习到一些边缘特征,第二个卷积层可以从这些边缘特征中探测到简单的形状特征,然后接下来的卷积层,就可以用这些简单的形状特征探测到更高级的特征。比如人脸的形状。
局部不变性:
所谓局部不变性,比如图像,就是图像经过简单的平移、旋转、尺度放缩,池化层在相同的位置依旧可以提取到相同的特征。是的,这是池化层完成的任务。那么怎么样理解不变性呢,为了方便理解,如下图示例(来源知乎):
(1)平移不变性: