撸一撸 ICML2016的CReLU

此方法来源于:

ICML2016  Understanding and Improving Convolutional Neural Networks via Concatenated Rectified Linear Units.

这篇论文~~

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

可以在理解原理的基础上撸一遍。

在tensorflow中也集成了这个CRelu,API为:tf.nn.crelu()

论文作者在 AlexNet 的模型上做了一个有趣的实验,发现:低层的卷积层中的一些滤波器核存在着负相关程度很高的滤波器核,而层次越高的卷积层,这一现象越不明显。作者把这一现象称为 pairing phenomenon。这是基础思想。

文中提到一个叫pair filter的概念,定义如下:

设网络的某层卷积层的滤波器组的卷积核组表示为ϕ⃗ 1,ϕ⃗ 2,,ϕ⃗ n,定义的 pairing filter 为ϕ⃗ i=argminϕ⃗ jϕ⃗ i,ϕ⃗ j,其中j=1,2,,nn 为该层卷积层的滤波器数目。滤波器 ϕ⃗ i 和 ϕ⃗ i 之间的余弦相似度记为

μϕi


下图中蓝色表示:
撸一撸 ICML2016的CReLU_第1张图片


计算cos相似度得到统计直方图~~ 

我们看第一卷积层conv1,蓝色的直方图分布以-0.5为中心点,均匀分布,也就是说有较多成对的滤波器。越到后面的层,比如conv5蓝色的直方图分布越集中,成对的滤波器越少.



CReLU是为了消除 ReLU 带来的冗余而提出,设[]+=max(,0),则 CReLU 定义如下:

                                                                                CReLU(x)=([-x]+,[x]+

 举个栗子,-1带入公式,则CReLU(-1)=(0,1)

在实际中用的时候,需要注意,你要输入的特征图个数是ReLU时的一半即可。

你可能感兴趣的:(cv)