CNN网络中的不变性理解

Posted xiaoboge

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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(原文)

 

以上是关于CNN网络中的不变性理解的主要内容,如果未能解决你的问题,请参考以下文章

关于卷积神经网络旋转不变性的一点研究

转 String的不变性 immutable

为啥 JavaScript 中的不变性如此重要(或需要)?

现代 CNN(卷积神经网络)作为 DetectNet 是不是旋转不变?

理解NLP中的卷积神经网络(CNN)

Hyperledger 网络中的不相交通道