1.为什么high level特征位置信息不精确?
fpn:The bottom-up feature map is of lower-level semantics, but its activations are more accurately localized as it was subsampled fewer times.
进一步问题:为什么下采样或者说pooling会导致位置信息不精确?
首先明确卷积层卷积后其实是有位置信息的,但经过pooling之后,对于每个pooling里面框住的像素丢失了位置信息,但两个pooling之间框住的部分像素的位置信息其实是保留了的。为什么?因为max-pooling取的是pooling框的最大值,只保留了最大值的值,但具体在pooling框的哪个位置并没有保留。不仅仅是max-pooling,mean-pooling也一样没有保留。
https://blog.csdn.net/bojackhosreman/article/details/78081422
个人觉得,高层检测物体的性能不好,除了高层特征的位置信息不精确,还有就是高层的感受野大,大感受野其实更多的是平移不变性,但检测位置其实是需要的平移不变性。
再进一步的问题:那为什么还要采用pooling或者maxpooling?
因为需要分类,需要抽取特征,分类需要平移不变性,并且减少了参数量
2.如果人们选择图像中的连续范围作为池化区域,并且只是池化相同(重复)的隐藏单元产生的特征,那么,这些池化单元就具有平移不变性 (translation invariant)。
也就是说在池化框住的范围内,是具有平移不变性的。
Deep Learning Review(发表在Nature)中提到了池化层能够reduce the dimensionality of the representation, create an invariance to small shifts and distortions.
池化层能够降低特征表示的维度这个很好理解,伴随来的副作用是局部特征信息的损失,想象如果池化层的filtering bank不是通常的2x2维的矩阵,而是更大维度的矩阵,用max pooling 或者average pooling,信息会损失更多,而且因为每层卷积后都跟着池化层,实际上是相当于在特征的每个提取阶段,从低级特征到中级特征再到高级特征,都有略微的信息损失,因为做了多层的pooling,而不是只做一次pooling,这也是设计上的一个trick啊.这是计算复杂度和性能的trade-off
其实pooling的目的就是为了使参数量减少,因为根本不需要那么多参数。pooling也只能做到在极小范围内的平移不变性,旋转和 伸缩是做不到的。其实不变性都是特征工程时代的概念了,现在在数据量极大的情况下,样本覆盖了足够多的variance,dnn自动就会把各种不变性学习出来。
3.以前自己认为识别只需要语义信息,但这篇博客中https://www.aiuai.cn/aifarm119.html的人脸那个例子发现,识别不仅仅需要语义信息,也需要位置信息,或者说整体信息和局部信息。以前的分类网络的设计是先经过卷积层,然后fc,其实也就是一个局部特征提取并且保留局部的空间位置信息,fc相当于整个图片的一个卷积,也就是从前面的具体特征抽一个整体的特征。局部信息拥有跟多的局部信息但缺乏平移不变性,整体信息正好相反。
总结一下:前面层由于在原图的感受野小,抽取的是局部特征,这个特征提取器就是卷积;后面的层由于在原图的感受野大,抽取的是大的局部特征或者说整体特征。无论是分类还是检测,局部到整体还必须保证位置信息。这个位置信息对于分类来是两个特征的相对位置关系,对于检测来说是具体的坐标数值和相对位置关系。
4.为什么高层有更多的语义信息?
感受野大了,还有就是通过多层pooling进行了特征抽取
5.rfcn为什么最后要用mean pooling
实际上mean pooling也没有保留位置信息,
但反向传播的时候会让pooling框的几个值都获得梯度进行更新
http://yann.lecun.com/exdb/publis/orig/boureau-cvpr-10.pdf
6.为什么图像金字塔有很高的时间和计算量消耗?
我采用的图像金字塔train的时候用多个image scale,测试用一个scale。如果你测试使用放大的scale,本身计算量就要增大,因为输入增多了;如果使用小的scale,还好。训练的时候,因为用了多个尺度,其实就是数据增强,如果训练10个epoch时间就会增加,因为每个epoch的图片数量增加,如果你是放大的图片本身计算量和时间也要增加
7.为什么图像金字塔的效果好?
类似于数据增强,让网络能适应多尺度的形变。其实做一个分类识别,难点也就在于形变(或者说不通的pattern),尺寸变换,位置变换
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px ".PingFang SC"; color: #454545 }
span.s1 { font: 12.0px "Helvetica Neue" }
原文地址:https://www.cnblogs.com/ymjyqsx/p/9585803.html