CNN网络中的不变性理解

神经网络中的不变性

  个人认为cnn中conv层对应的是“等变性”(Equivariance),由于conv层的卷积核对于特定的特征才会有较大激活值,所以不论 上一层特征图谱(feature map)中的某一特征平移到何处,卷积核都会找到该特征并在此处呈现较大的激活值。这应该就是“等变性”

  这种“等变性”是由conv层的 1局部连接 2权值共享 两个特性得到的。
  所谓的“形变不变性”,应该指的是,若是特征有较小的形变,那么激活值不会有太多的变化。


  个人觉得没有“旋转不变性”,只能通过data argumentation这种方式(人为地对样本做 镜像、旋转、缩放等操作)让CNN自己去学习旋转不变性。
而所谓的“尺度不变性”,个人觉得应该是由类似于SSD这种对不同尺寸(分辨率)的feature map作相同的处理得到的。CNN本身并不具备尺度不变性。

  真正的“不变性”(invariation)应该对应于pooling层,以max-pooling为例,若是2x2的池化,那么特征在2x2的区域中平移,得到的结果是一样的。越往后的pooling层,2x2的核的感受野就越大、所允许的平移也就越大。个人感觉这种“不变性”往往是针对 分类任务而言的。(其实说白了, 检测任务就是对局部区域的分类,分割任务就是对单个像素的分类)


  还有一篇博文对CNN 对于图像特征的各种不变性做了比较生动的解释:
  http://blog.csdn.net/xiaojiajia007/article/details/78396319(原文)

原文地址:https://www.cnblogs.com/xiaoboge/p/10583180.html