与上篇论文剪枝权重连接不同,这篇论文是直接剪枝神经元,并且是data-free,就是不用重训练的,值得读一下。
本篇论文的主要思想是,找到两个非常相似的神经元,删除其中的一个并使最终的输出尽量不变。
定义相似的神经元
之前的神经元剪枝操作是找到冗余的(权重为0的)神经元,然后进行剪枝,这样的话最终的网络输出是没有任何影响的。
在这篇论文中,作者定义了另外一种神经元冗余。首先以单层隐藏层、只有一个输出z的神经网络举例,如下图:
对于该神经网络输出z来说:
z = a 1 h ( W 1 T X ) + a 2 h ( W 2 T X ) + a 3 h ( W 3 T X ) + a 4 h ( W 4 T X ) (1) z = {a}_1h({W}_1^TX) + {a}_2h({W}_2^TX) + {a}_3h({W}_3^TX) + {a}_4h({W}_4^TX) \tag{1} z=a1h(W1TX)+a2h(W2TX)+a3h(W3TX)+a4h(W4TX)(1)
其中W是包含bias的权重向量,a是单个权重标量,h(·)是单调增长的非线性单元如sigmoid或ReLU。
假如W1 = W2,这就意味着
h ( w 1 T X ) = h ( w 2 T X ) h({w}_1^TX) = h({w}_2^TX) h(w1TX