• 【DyNet】2020-arxiv-DyNet Dynamic Convolution for Accelerating Convolutional Neural Networks-论文阅读


    DyNet

    2020-arxiv-DyNet Dynamic Convolution for Accelerating Convolutional Neural Networks

    来源: ChenBong 博客园

    • Institute:huawei
    • Author:Yikang Zhang, Qiang Wang
    • GitHub:/
    • Citation: 4

    Introduction

    和Google 的 CondConv,Microsoft 的 Dynamic Convolution 类似的工作,做的都是input-dependent的动态卷积核权重生成。

    Google: 19 NIPS CondConv

    image-20210202172117329

    卷积层: (W_i: C_{out} × C_{in} × k × k)(hat W: C_{out} × C_{in} × k × k)

    卷积层维度变化: (n × C_{out} × C_{in} × k × k ==> C_{out} × C_{in} × k × k)

    变换方式:加权求和

    加权系数: (α=r(x)=sigmoid(fc(avg pool(x))))

    Microsoft: 20 CVPR Dynamic Convolution

    image-20210303160106507

    卷积层: (conv_i: C_{out} × C_{in} × k × k)(hat {conv}: C_{out} × C_{in} × k × k)

    卷积层维度变化: (n × C_{out} × C_{in} × k × k ==> C_{out} × C_{in} × k × k)

    变换方式:加权求和

    加权系数: (pi=softmax(fc(relu(fc(avgpool(x))))))

    Huawei: 20 DyNet

    image-20210420164002222

    卷积层维度变化:: ((g_t × C_{out}) × C_{in} × k × k ==> (C_{out}) × C_{in} × k × k)

    单个卷积核维度变化:: ((g_t) × C_{in} × k × k ==> (1) × C_{in} × k × k)

    变换方式:加权求和

    加权系数: (eta_t=sigmoid(fc(avg pool(x))))

    区别:

    • DyNet 从多套权重生成1套权重时,进行了分组;降低权重加权求和时的计算量( (widetilde{w}_{t}=sum_{i=1}^{g_{t}} eta_{t}^{i} cdot w_{t}^{i}) ,类似分组卷积降低计算量的原理)
    • CondConv 和 Dynamic Convolution 都是一个layer计算一次加权系数,DyNet是一个block计算一次加权系数;降低计算加权系数时的 计算量(fc) 和 参数量(fc)
    image-20210420170546673

    Motivation

    image-20210420165312696
    • 经典网络中卷积核之间存在很高的相关性,即卷积核存在冗余的现象
    • 剪枝无法完全去除这些冗余性,是由于网络需要学习噪声无关的特征(例如对于人脸识别来说,光照,背景等就是噪声特征),需要多个相似的卷积核来协同提取这些噪声无关的特征 &&,因此fine-tune后冗余性会重新回来,称为内在的/固有的冗余性
    • 发现通过对固定的卷积核,基于输入做线性组合,可以无需多个相似的卷积核协同,就可以提取噪声无关的特征 &&

    Contribution

    Method

    image-20210420164002222

    Coefficient prediction module

    image-20210420170201318

    Training algorithm

    image-20210420170841194

    按照权重生成的原理,应该对每个样本做权重生成再做卷积,但这样无法做batch_size>1的训练,因为每个样本所对应的卷积权重都不同;

    实际上训练过程中是一个batch先做卷积,再对输出做加权求和。

    Experiments

    ImageNet

    image-20210420171131368

    Dy-MobileNetV3 和 MobileNetV3 的实际推理宽度相同

    Dy-mobile 的实际推理宽度 < MobileNetV3 的实际推理宽度

    image-20210420170905773

    Analysis

    相关性

    image-20210420165312696 image-20210420171302750

    DyNet的输出相关性降低

    分辨率与加速比

    image-20210420171351245

    作者认为,由于生成权重的过程(计算量新增的部分avgpool,fc)与输入分辨率是无关的,因此分辨率越大,加速效果越好;

    实际上忽略生成权重的部分,Dy-mobile是一个比MobileNetV2更窄的网络,事实上是窄网络和宽网络在不同分辨率下加速比的对比(多出来的计算量 avgpool,fc 的占比在大分辨率推理中占比减小,使得加速比上升)

    Ablation Study

    固定网络与动态网络

    image-20210420171535837

    Fix-mobile 是和 Dy-mobile(实际推理)宽度相同的固定网络,想说明相同实际推理宽度下,动态网络比静态网络性能好;但实际上Dy-mobile的参数量是Fix-mobile的g=6倍

    gruop size(g)

    image-20210420171638848
    • g=6效果好
    • g=1相对于做attention,因此g=1也是有提点的效果的,g=6比g=1还有提点,说明效果不完全来自于attention

    Conclusion

    Summary

    To Read

    Reference

    2019-NIPS-CondConv: Conditionally Parameterized Convolutions for Efficient Inference: https://www.cnblogs.com/chenbong/p/14392503.html

    2020-CVPR-Dynamic Convolution Attention over Convolution Kernels: https://www.cnblogs.com/chenbong/p/14476760.html

    https://zhuanlan.zhihu.com/p/139933466

    https://blog.csdn.net/kingsleyluoxin/article/details/105702418

    https://www.cnblogs.com/xiximayou/p/13192378.html

  • 相关阅读:
    HDU 1069 Monkey and Banana
    HDU 1029 Ignatius and the Princess IV
    HDU 1024 Max Sum Plus Plus
    Gym100923H Por Costel and the Match
    Codeforces 682C Alyona and the Tree
    Codeforces 449B Jzzhu and Cities
    Codeforces (ccpc-wannafly camp day2) L. Por Costel and the Semipalindromes
    Codeforces 598D (ccpc-wannafly camp day1) Igor In the Museum
    Codeforces 1167c(ccpc wannafly camp day1) News Distribution 并查集模板
    快乐数问题
  • 原文地址:https://www.cnblogs.com/chenbong/p/14682562.html
Copyright © 2020-2023  润新知