论文: Understanding and Improving Convolutional Neural Networks via Concatenated Rectified Linear Units
代码 :https://github.com/albanie/CReLU
1. 背景
论文作者在 AlexNet 的模型上做了一个有趣的实验,发现:低层的卷积层中的一些滤波器核存在着负相关程度很高的滤波器核,而层次越高的卷积层,这一现象越不明显。作者把这一现象称为 pairing phenomenon。 整个文章的出发点来自于下图的统计现象:
(1)余弦相似度
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)
Crelu重构效果:
也可以看看PVANET里面的实现。