Filter Grafting for Deep Neural Networks阅读笔记

0.摘要:
1.本文提出一种新颖的学习范例,称为过滤器嫁接(filter grafting),旨在提高深度神经网络(DNN)的表示能力。对于一些看起来没什么用的filters,过滤器裁剪(filter pruning)会因为效率考虑而去掉他们。过滤器嫁接会重新激活他们。通过将外部信息(权重)嫁接到无效的过滤器中来处理激活。
2.为了更好的执行嫁接过程,我们开发了一种基于熵的标准来测量过滤器的信息,并提出了一种自适应加权策略来平衡网络之间的嫁接信息。嫁接操作后,与原始状态相比,网络具有很少的无效过滤器,从而为模型提供了更多的表示能力。

1.介绍:
DNN具有无效的过滤器,移除他们可以提高效率。激发了许多工作,包括:1.如何确定不重要的过滤器2.如何在保证性能变化不大的情况下去掉一个过滤器。
但这其中也包括许多问题:有的传统意义上没啥用的过滤器在特定模型中就会非常有用,有的单个过滤器比较差,但是结合起来效果就比较好。
因此我们就可以使用嫁接网络,它将层数和每层中的过滤器保持不变。嫁接的网络具有较高的表示能力,因为网络中更多的有效过滤器会参与信息处理。
关键步骤是选择适当的信息来源(我们应该从哪里嫁接信息),本文主张从外部而不是内部来嫁接信息。通常,我们可以并行训练多个网络。在某些时期进行训练期间,我们将一个网络的有意义的过滤器嫁接到另一个网络的无效过滤器中。通过执行嫁接,每个网络都可以从其他网络中学习外部信息。
1.我们提出了一种新的学习范例,称为DNN的过滤器嫁接。嫁接可以重新激活无效的过滤器,以提高DNN的潜力,而无需更改网络结构。
2.提出了一种基于熵的准则和自适应加权策略,以进一步提高过滤器嫁接方法的性能。
3.我们对分类和识别任务进行了广泛的实验,并显示了嫁接可以大大改善DNN的性能。例如,嫁接的MobileNetV2在CIFAR-100上的准确度达到78.32%,比未嫁接的MobileNetV2高约7%。

2.相关工作:略

3.分成四块:

3.1研究嫁接过程中的信息来源。
将无效的过滤器成为“rootstocks”,将有意义的过滤器或信息的嫁接称为“scions”,因此选择有用的信息对于嫁接至关重要。在本文中,我们提出了三种获取接穗的方法。
3.1.1 Noise as Scions(利用噪声)
从无效的过滤器中引入高斯噪声N(0, σt),对于DNN来说,高斯噪声就是用来初始化权重的。在嫁接之前,无效过滤器的L1范数较小,对输出的影响很小。但是在嫁接之后,无效滤波器具有更大的l1范式,并开始对DNN产生更多影响。
在这里插入图片描述
我们也让σt随时间减小(请参阅(1)),因为过多的噪声可能会使模型更难以收敛。
3.1.2 Internal Filters as Scions
我们将其他过滤器(L1范数较大)的权重添加到无效过滤器(l1范数较小)中。嫁接在单个网络中进行处理。具体来说,对于每一层,我们通过l1norm对滤波器进行排序,并设置阈值γ。对于l1norm小于γ的过滤器,我们将这些过滤器视为无效过滤器。然后,我们将第i个最大过滤器的权重嫁接到第i个最小过滤器中。此过程如图2所示。
由于无效滤波器具有更大的l1范数的新权重,因此可以激活它们以对输出产生更大的影响。但这种方式并没有给网络带来新的信息,因为嫁接来自于自己的网络。我们通过信息论的语言对其进行了进一步的评估。为了简化证明过程,我们在网络的特定层处理两个滤波器(请参阅定理1,在补充材料中可以找到证明)。从定理1中,选择内部过滤器作为接穗不会带来新的信息。 4.1节中的实验也与我们的分析一致。
定理1:假设在网络的特定层中有两个过滤器,分别表示为随机变量X和Y。 Z是另一个满足Z = X + Y的变量,则H(X,Y)= H(X,Z)= H(Y,Z),其中H表示信息论中的熵。
3.1.3 External Filters as Scions
针对单个网络内部添加随机噪声和权重的缺点,我们选择了其他网络中的外部滤波器作为接穗。具体来说,我们可以并行训练两个网络,分别表示为M1和M2。在某些时期训练期间,我们将M1的有效过滤器权重嫁接到M2的无效过滤器中。与3.1.2节中的嫁接过程相比,我们进行了两个修改:
1.嫁接是在层级别而不是过滤器级别进行的,这意味着我们将M1中某个层中所有过滤器的权重嫁接到M2中的同一层中(反之,也将M2嫁接到M1中)。由于使用不同的权重初始化了两个网络,因此无效过滤器的位置在统计上是不同的,并且仅将信息嫁接到层中一部分过滤器中可能会破坏层的一致性(请参阅补充材料中的更多分析和实验结果)。通过执行嫁接,两个网络的无效过滤器可以相互学习相互信息。
2.进行嫁接时,将对固有信息和外部信息进行加权。具体地,我们使用WM2 i表示M2的第i层的权重,WM’2 i表示接枝后M2的第i层的权重。然后:
在这里插入图片描述
假设WM2 i比WM1 i更具信息性,则α应该大于0.5。
这两个网络的嫁接过程如图3所示。从等式(2)和图3,嫁接有两个关键点:1)如何计算WM1 i和WM2 i的信息; 2)如何确定加权系数α。我们将在第3.2节和第3.3节中彻底研究这两个问题。同时,我们也想增加两个网络之间的差异。因此,两个网络使用不同的方式进行初始化,而且两个网络的超参数也不同(学习率,采样顺序)。值得注意的是,在对两个网络进行嫁接算法时,经过(2)的嫁接过程后,两个网络的权重相同。但是嫁接仅在每个时期进行。对于其他迭代步骤,由于通过不同的超参数学习了两个网络,因此它们的权重彼此不同。同样,当我们在嫁接算法中添加更多网络(N> 2)时,该问题也消失了。在第3.4节中可以找到多个网络嫁接。

3.2提出两个准则来计算过滤器信息。
在本节中,我们研究两个准则来计算过滤器或层的信息。
3.2.1 L1 Norm
在前面的部分中,我们使用l1norm来衡量过滤器的信息。表示Wi,j∈RNi×K×Kas是第i个卷积层中第j个滤波器的权重,其中Ni是第i层中滤波器的数量。其l1norm可以表示为:
在这里插入图片描述
l1norm准则在许多研究中普遍使用。但是最近的研究表明,L1越小过滤器越不重要的准则并不总是正确的。一种特殊情况是0-1规则排列的过滤器要优于所有1过滤器。 [5]还指出,要使用这种L1越小过滤器越不重要的重要标准,存在一些先决条件。否则,修剪可能会损害有效的过滤器。
3.2.2 熵
虽然l1norm准则仅着重于过滤器权重的绝对值,但我们更加注意权重的变化。 l1norm准则的一个问题是l1准则忽略了权重的变化。假设滤波器的权重Wi,j∈RNi×K×K满足Wi,j(n,k1,k2)= a对于每个n∈{1,。 。 。 ,Ni}和k1,k2∈{1,。 。 。 ,K},Wi,j中的每个单个值都相同。因此,当使用Wi,j对输入进行卷积运算时,即使a大,输入的每个部分也同样对输出有贡献。因此,滤波器无法区分输入的哪一部分更重要。基于以上分析,我们选择测量重量的变化。我们假设从随机变量X的分布中采样的Wi,jis的每个值,并使用熵来衡量分布。假设分布满足P(X = a)= 1,则Wi中的每个单个值都相同,并且熵为0。计算连续分布的熵很困难,我们遵循[17,1]中的策略。我们首先将连续分布转换为离散分布。具体来说,我们将值的范围划分为m个不同的bin,并计算每个bin的概率。最后,变量的熵可以计算如下:
其中B是bin的数量,pkis是bin k的概率。 H(Wi,j)的分数越小,意味着滤波器的变化(信息)越少。
假设第i层具有C个过滤器,则第i层的总信息为:
但是(5)的一个问题是,由于(5)独立计算每个过滤器的信息,因此它忽略了过滤器之间的相关性。为了保持层的一致性,我们直接计算整个层权重的熵Wi∈RNi×Ni + 1×K×Kas如下:
与(4)不同,要在(6)中进行合并的值是基于整个图层的权重,而不是单个过滤器。在补充材料中,我们证明了层一致性对于嫁接算法至关重要。
3.3如何有效的利用信息进行嫁接。
在这一部分中,我们提出了一种自适应加权策略,用于对(2)中两个模型的权重进行加权。指示WM和H(WM)作为第M1网络第i层的权重和信息。则H(WM)的计算可以由(6)表示。我们列举了计算系数α需要满足的两个条件。
在这里插入图片描述
(1)信息量越大的权重占比约大。
(2)无论信息量占比如何,每个网络都要保存一定的属于自己的信息。
为满足上述要求,设计了以下自适应系数:
在这里插入图片描述
其中(7)中的A和c是固定的超参数。 α是(2)的系数。我们在图4中进一步描绘了图片。我们可以看到此功能很好地满足了上述条件。

3.4我们将嫁接方法扩展到多个网络,比提出了最终的基于熵的嫁接算法。
嫁接方法可以轻松地扩展到多网络情况,如图5所示。在训练期间的每个时期,每个网络Mk接收来自Mk-1的信息。在某些训练时期之后,每个网络都包含来自所有其他网络的信息。加权系数也被自适应地计算。从第4.5节中,我们发现通过使用嫁接训练多个网络,每个网络都可以实现很大的性能提升。我们在算法1中提出基于熵的嫁接。值得注意的是,嫁接是在多个网络上并行执行的,这意味着当我们使用WMk-1 l更新WMk l时,尚未通过嫁接来更新WMk-1 l 。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值