[剪枝]Channel Pruning for Accelerating Very Deep Neural Networks

电玩女神 2022-02-13 14:39 269阅读 0赞

[ICCV2017] Channel Pruning for Accelerating Very Deep Neural Networks

  • arxiv:https://arxiv.org/abs/1707.06168
  • github:https://github.com/yihui-he/channel-pruning

序言

最近在系统学习DL的相关理论知识,猛然看到无监督学习中关于“稀疏编码”的内容回想yihui-he的这篇通道裁剪方法可能其灵感就来源于这里(注:可能就照搬)。

训练方法

先上paper中的公式
arg ⁡ min ⁡ β , W 1 2 N ∥ Y − ∑ i = 1 c β i X i W i ⊤ ∥ F 2 + λ ∥ β ∥ 1 subject to ∥ β ∥ 0 ≤ c ′ , ∀ i ∥ W i ∥ F = 1 \begin{array}{l}{\underset{\boldsymbol{\beta}, \mathrm{W}}{\arg \min } \frac{1}{2 N}\left\|\mathrm{Y}-\sum_{i=1}^{c} \beta_{i} \mathrm{X}_{\mathrm{i}} \mathrm{W}_{\mathrm{i}}^{\top}\right\|_{F}^{2}+\lambda\|\boldsymbol{\beta}\|_{1}} \\ {\text { subject to }\|\beta\|_{0} \leq c^{\prime}, \forall i\left\|\mathrm{W}_{\mathrm{i}}\right\|_{F}=1}\end{array} β,Wargmin​2N1​∥∥​Y−∑i=1c​βi​Xi​Wi⊤​∥∥​F2​+λ∥β∥1​ subject to ∥β∥0​≤c′,∀i∥Wi​∥F​=1​
优化就是固定权值 W W W优化通道选择参数 β \beta β:
β ^ L A S S O ( λ ) = arg ⁡ min ⁡ β 1 2 N ∥ Y − ∑ i = 1 c β i Z i ∥ F 2 + λ ∥ β ∥ 1 subject to ∥ β ∥ 0 ≤ c ′ \begin{array}{l}{\hat{\boldsymbol{\beta}}^{L A S S O}(\lambda)=\underset{\boldsymbol{\beta}}{\arg \min } \frac{1}{2 N}\left\|Y-\sum_{i=1}^{c} \beta_{i} \mathrm{Z}_{\mathrm{i}}\right\|_{F}^{2}+\lambda\|\boldsymbol{\beta}\|_{1}} \\ {\text { subject to }\|\boldsymbol{\beta}\|_{0} \leq c^{\prime}}\end{array} β^​LASSO(λ)=βargmin​2N1​∥Y−∑i=1c​βi​Zi​∥F2​+λ∥β∥1​ subject to ∥β∥0​≤c′​
然后再反过来固定 β \beta β优化选择出来的权值 W ′ W^{\prime} W′:
arg ⁡ min ⁡ W ′ ∥ Y − X ′ ( W ′ ) ⊤ ∥ F 2 \underset{\mathrm{W}^{\prime}}{\arg \min }\left\|\mathrm{Y}-\mathrm{X}^{\prime}\left(\mathrm{W}^{\prime}\right)^{\top}\right\|_{F}^{2} W′argmin​∥∥∥​Y−X′(W′)⊤∥∥∥​F2​
再看看稀疏编码的训练方法
给定一组 N N N个输入向量 x ( 1 ) , ⋯   , x ( N ) \mathbf{x}^{(1)}, \cdots, \mathbf{x}^{(N)} x(1),⋯,x(N),需要同时学习基向量 A A A以及每个输入样本对应的稀疏编码 z ( 1 ) , ⋯   , z ( N ) \mathbf{z}^{(1)}, \cdots, \mathbf{z}^{(N)} z(1),⋯,z(N)。
稀疏编码的训练过程一般用交替优化的方法进行(交替优化就是这篇论文中的方法):

  1. 固定基向量 A A A,对每个输入 x ( n ) {x}^{(n)} x(n),计算其对应的最优编码
    min ⁡ x ( n ) ∥ x ( n ) − A z ( n ) ∥ 2 − η ρ ( z ( n ) ) , ∀ n ∈ [ 1 , N ] \min_{\mathbf{x}^{(n)}}\left\|\mathbf{x}^{(n)}-A \mathbf{z}^{(n)}\right\|^{2}-\eta \rho\left(\mathbf{z}^{(n)}\right), \forall n \in[1, N] x(n)min​∥∥∥​x(n)−Az(n)∥∥∥​2−ηρ(z(n)),∀n∈[1,N]
  2. 固定上一步得到的编码 z ( 1 ) , ⋯   , z ( N ) \mathbf{z}^{(1)}, \cdots, \mathbf{z}^{(N)} z(1),⋯,z(N),计算其最优的基向量
    min ⁡ A ∑ n = 1 N ( ∥ x ( n ) − A z ( n ) ∥ 2 ) + λ 1 2 ∥ A ∥ 2 \min _{A} \sum_{n=1}^{N}\left(\left\|\mathbf{x}^{(n)}-A \mathbf{z}^{(n)}\right\|^{2}\right)+\lambda \frac{1}{2}\|A\|^{2} Amin​n=1∑N​(∥∥∥​x(n)−Az(n)∥∥∥​2)+λ21​∥A∥2
    其中第二项为正则化项,λ 为正则化项系数。

是不是和上面优化参数非常的像,基向量 A A A对应权重 W W W,编码 z ( 1 ) , ⋯   , z ( N ) \mathbf{z}^{(1)}, \cdots, \mathbf{z}^{(N)} z(1),⋯,z(N)对应通道选择参数 β \beta β,正则化项就是一个稀疏性评价函数。

发表评论

表情:
评论列表 (有 0 条评论,269人围观)

还没有评论,来说两句吧...

相关阅读