基础概念
CNN是一种人工神经网络,结构可以分成三层:
- 卷积层:主要作用是提取特征
- 池化层:主要作用是采样,减少训练参数,但不损坏识别结果
- 全连接层:主要作用是做分类判断
卷积层
那么卷积层是如何提取特征的呢?
我们都知道卷积就是2个函数的叠加,运用在图像上,可以理解成拿一个滤镜罩在图像上,找出图像中的某些特征。因为我们需要很多特征才能区分某一物体,所以我们会有很多滤镜,通过这些滤镜的组合进行分类。
可以看看文中举的例子,还是蛮好理解的。
池化层
那么经过卷积层处理的特征是否就可以直接用来分类了呢?答案是不能。
我们需要对数据进一步处理,降低图片维度,减少数据大小,这样就需要引入采样层。常见的池化方法有最大池化、平均池化等。
接着问题来了,池化会不会对结果产生影响?实际上,池化并不会对数据丢失产生影响,因为我们每次保留的都是最显著的一个输入,而把其他无用信息丢掉,这样一来,池化之后最显著的特征并没有丢失。
池化层的引入还保证了平移不变性,即同样的图像经过翻转变形之后,通过池化层,可以得到相似的结果。
既然是降采样,那么是否有其他方法实现降采样,也能达到同样的效果呢?当然有,通过其他的降采样方式,我们同样可以得到和池化层同样的结果,因此也就可以拿这种方法替换掉池化层。
通常卷积层和池化层会重复多次形成具有多个隐藏层的网络,俗称深度神经网络。
全连接层
全连接层的作用就是分类。它是一个完全连接的神经网络,根据权重每个神经元反馈的比重不一样,最后通过调整权重和网络得到分类结果。因为全连接层占了神经网络80%的参数,因为对全连接层的优化就显得十分重要。