论文: Understanding and Improving Convolutional Neural Networks via Concatenated Rectified Linear Units 

代码 :https://github.com/albanie/CReLU

1. 背景

论文作者在 AlexNet 的模型上做了一个有趣的实验,发现:低层的卷积层中的一些滤波器核存在着负相关程度很高的滤波器核,而层次越高的卷积层,这一现象越不明显。作者把这一现象称为 pairing phenomenon。整个文章的出发点来自于下图的统计现象:
Understanding and Improving Convolutional Neural Networks via Concatenated Rectified Linear Units

Understanding and Improving Convolutional Neural Networks via Concatenated Rectified Linear UnitsUnderstanding and Improving Convolutional Neural Networks via Concatenated Rectified Linear UnitsUnderstanding and Improving Convolutional Neural Networks via Concatenated Rectified Linear Units

(1)余弦相似度

            Understanding and Improving Convolutional Neural Networks via Concatenated Rectified Linear Units

cos距离的取值范围是 [-1,+1],距离越接近-1,表示两个向量的方向越相反,呈负相关关系。

(2)pair filter

一个卷积层有 j=1,,n 个卷积核(filter)。 一个卷积核 ϕi 对应的pairing filter定义为 ϕi¯¯¯=argminϕjcos<ϕi,ϕj>. 即从所有卷积核中选择一个cos相似度最小的卷积核。 对所有卷积核寻找其pair filter,并计算cos相似度得到蓝色的统计直方图。 红色的曲线,是假设随机高斯分布生成的卷积核得到的相似度统计。

现象:

网络的前部,参数的分布有更强的负相关性(类似于正负对立)。随着网络变深,这种负相关性逐步减弱。

结论:

网络的前部,网络倾向于同时捕获正负相位的信息,但ReLU会抹掉负响应。 这造成了卷积核会存在冗余。

2. CReLU

定义:

CReLU(x)=[ReLU(x),ReLU(x)]

输出维度会自动加倍。 比如 3[0,3] 3[3,0]

在网络中的实现也很简单,甚至不用修改代码(通过scale层取反再经过一次ReLU)

                                          Understanding and Improving Convolutional Neural Networks via Concatenated Rectified Linear Units

Crelu重构效果:

                             Understanding and Improving Convolutional Neural Networks via Concatenated Rectified Linear Units

也可以看看PVANET里面的实现。

相关文章:

  • 2021-07-14
  • 2021-09-02
猜你喜欢
  • 2022-01-04
  • 2021-07-23
  • 2021-12-20
  • 2022-01-24
  • 2021-12-28
相关资源
相似解决方案