跳转到主要内容

不规则卷积神经网络

demi 提交于

来自中科院自动化所的“不规则卷积神经网络”。

文章链接: 《Irregular Convolutional Neural Networks》
https://arxiv.org/abs/1706.07966

从直观上来看,一个不规则的卷积核(其shape可以自动学习)似乎更适应输入的pattern。 但考虑更多方面,比如学习效率、操作复杂度这些因素。个人认为,不规则卷积目前不是一个很有应用价值的工作。

<font color="blue"><strong>1. 方法介绍</strong></font>

<img width="600" src="http://imgtec.eetrend.com/files/2019-08/%E5%8D%9A%E5%AE%A2/100044718-77…; alt=""><br>

上图中,图(a)表示一个不规则卷积; 图(b)表示,尽管该不规则卷积可由两个3x3卷积联合操作得到,但所需要的卷积核参数较多;图(c)表示不规则卷积的学习方法,即可以由规则卷积初始化,然后不断学习位置变换。

<font color="blue"><strong>2. 要点介绍</strong></font>

(1)如何描述一个不规则卷积核?

为了描述一个不规则卷积核,需要在原有的权重信息W的基础上增加一个位置信息P。

<img width="600" src="http://imgtec.eetrend.com/files/2019-08/%E5%8D%9A%E5%AE%A2/100044718-77…; alt=""><br>

如下图所示,P描述的是每一个权重的具体位置。

<img width="600" src="http://imgtec.eetrend.com/files/2019-08/%E5%8D%9A%E5%AE%A2/100044718-77…; alt=""><br>

(2)如何学习一个不规则卷积核?

学习的过程其实就是一个BP的过程:“参与才能求导,求导就能更新。”

那么位置信息如何参与到网络的计算中呢? 双线性插值。

<img src="http://imgtec.eetrend.com/files/2019-08/%E5%8D%9A%E5%AE%A2/100044718-77…; alt=""><br>

具体的,根据不规则卷积核的位置,对输入进行双线性插值变换,然后通过矩阵乘法完成不规则卷积。整个操作如下图:

<img width="600" src="http://imgtec.eetrend.com/files/2019-08/%E5%8D%9A%E5%AE%A2/100044718-77…; alt=""><br>

下式为双线性插值,据此可以对位置信息进行求导更新。

<img width="600" src="http://imgtec.eetrend.com/files/2019-08/%E5%8D%9A%E5%AE%A2/100044718-77…; alt="">
<img width="600" src="http://imgtec.eetrend.com/files/2019-08/%E5%8D%9A%E5%AE%A2/100044718-77…; alt=""><br>

<font color="blue"><strong>3. 分析</strong></font>

(1)参数冗余增加。 一个同样大小的不规则卷积核和规则卷积核,前者要比后者多2倍的参数用来记录参数生效位置。

(2)训练复杂度增加。 需要学习更多间接参数。

(3)计算复杂度增加。 如果有N个不同shape的卷积核,则需要对输入做N次不同的双线性插值。

---------------------
版权声明:本文为CSDN博主「shuzfan」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/shuzfan/article/details/77964370