在此总结一下个人对cnn的认识。
1 核心思想
1 感受野与神经元
19世纪60年代,科学家提出了感受野(Receptive Field)。当时科学家针对猫的视觉皮层细胞研究发现,每一个视觉神经元只会处理一小块区域的视觉图像。80年代日本科学家提出神经认知机(Neocoginitron)的概念,可以算作cnn的最初的实现原型。 神经认知机包括抽取特征的S-cells(对应cnn的卷积核滤波操作)和对抗形变的C-cell(对应cnn的激活函数和池化)。
注意要点:每个神经元处理一小块区域。 其中的神经元就是cnn中的一个神经节点;一小块区域就是一个卷积核覆盖的区域。 所以在卷积层需要多少神经元呢? 答案就是需要多少个卷积核覆盖输入数据。每一个卷积层可以有多个卷积核,这些卷积核按照统一的步长移动,卷积层神经元节点的个数只跟卷积的步长有关。后面细说
2 局部连接(locally connected)
有了感知野的概念,就可以理解局部连接了。 人工神经网络中,每个神经元和前一层的输出是全连接的,造成中间参数(w,b)数量极多; 人工神经网络使用多神经元,每个神经元有自己的感受野,即每个神经元与前一层的输出的部分连接。
3 卷积核(kernel)
- 每个神经元都会看一部分数据,看到以后怎么抽取特征呢? 卷积核就是神经元加工数据的依据。卷积核通常是n*m二维的矩阵,n和m也是神经元的感受野。n*m 矩阵中存的是对感受野中数据处理的系数。
- 通常的说法是卷积核滑动来处理整个数据(例如一张图片),其实也就是每次滑动相当于跳到下个神经元进行特征抽取。滑动过程相当于目光移动&#x