文章目录
基础
- ReLU作为CNN的激活函数,其效果在较深的网络超过了Sigmoid,成功解决了Sigmoid在网络较深时的梯度弥散问题。
- 训练时使用Dropout随机忽略一部分神经元,以避免模型过拟合。
- 在CNN中使用最大池化。平均池化具有模糊化效果。
- 在CNN中让池化重叠。让步长比池化核的尺寸小,这样池化层的输出之间会有重叠和覆盖,提升了特征的丰富性。
- 增加LRN层,对局部神经元的活动创建竞争机制,使得其中响应比较大的值变得相对更大,并抑制其他反馈较小的神经元,增强了模型的泛化能力。(后被认为基本没用)
- 对于给定的感受野(与输出有关的输入图片的局部大小),采用堆积的小卷积核是优于采用大的卷积核,因为多层非线性层可以增加网络深度来保证学习更复杂的模式,而且代价还比较小(参数更少)。在很多网络中,都使用了3个3x3卷积核来代替7x7卷积核,使用了2个3x3卷积核来代替5x5卷积核。
- CNN由于固定的几何结构,导致其对几何形变的建模受到限制。为了加强CNN对形变的建模能力,文献”deformable convolution network的”提出了deformable convolution和 deformable RoI pooling两种网络结构单元。deformable convolution 和 deformable RoI pooling都是基于通过学习一个额外的偏移(offset),使卷积核对输入feature map的采样的产生偏移,集中于感兴趣的目标区域。可以将deformable convolution , deformable RoI pooling加入现有的CNN中,并可进行端到端训练。
- ROIs Pooling顾名思义,是Pooling层的一种,而且是针对RoIs的Pooling,他的特点是输入特征图尺寸不固定,但是输出特征图尺寸固定。因为可能输入的feature map需要先投影出region proposal(物体检测中),而region proposal的大小是不固定的,但是我们又需要对其进行分类和回归,所以就需要使用ROIs Pooling,先将region proposal划分为尽可能等大的几个section(section数目与输出特征图尺寸维度相关),然后对每个section进行max pooling,获得输出大小固定的特征图。
- ROIs Pooling操作中两次量化(边框长宽除以步