网络剪枝
(network pruning)
一个网络往往会过参数化(over-parameterized),通过网络剪枝可以移除冗余的权重或神经元
为什么需要网络剪枝?为何不直接训练一个简单的网络?
一种观点是小网络不容易进行训练,一个大网络可以看作许多小网络的组合,增加了能训练好的几率,但是,也存在相反的观点。
网络剪枝的流程

关键在于如何衡量权重和神经元的重要程度
权重剪枝不容易实现和 GPU加速,神经元剪枝容易实现
知识蒸馏
(knowledge distillation)
做法是:有一个大网络和一个小网络,大网络已经训练好,小网络要向大网络学习,使得对于同一个输入,它们的输出尽可能一致

这样做的理由是,不仅告诉小网络样本的真实类别,还告诉它该样本长得像谁

参数量化
(Parameter Quantization)

架构设计
(architecture design)
使用瓶颈
不论是全连接还是卷积网络,都可以采用一种瓶颈结构,即在两个层之间加一个收缩层(神经元数目或通道数减少)

深度可分离卷积
(Depth-wise Separable Convolution)



To learn more …
- SqueezeNet https://arxiv.org/abs/1602.07360
- MobileNet https://arxiv.org/abs/1704.04861
- ShuffleNet https://arxiv.org/abs/1707.01083
- Xception https://arxiv.org/abs/1610.02357
动态计算
(Dynamic Computation)