Page 94 - 《应用声学》2025年第2期
P. 94

354                                                                                  2025 年 3 月

                           32f224f224
                 Ლܦ௑ᮠڏ              16f112f112  24f112f112       ҒՔᝠካ         ᅼគᗢᯤ     ᮕ฾ഐဋ     ᄾࠄಖኤ


                                                                    320f7f7      1280f7f7
                                                                                             Pooling & FC
                        ᝫጷ      MBConv   MBConv    MBConv                                         softmax
                                                         ...
                                ҝ౨       ҝ౨       ҝ౨                MBConv         MBConv
                                                                        ҝ౨   Яᦊᗢᯤ૯ܿ
                                                                                             Pooling & FC
                                                                                                 softmax
                        ଎ေ
                                                           ...
                                  ఞழτ 1    ఞழτ 2     ఞழτ 3      ఞழτ t           Pooling & FC
                                                                                 ଎ေᮕ฾

                                                         ...            KLஙए૯ܿ
                ูࡏѬዝ٨     ูࡏѬዝ٨               ูࡏѬዝ٨      ูࡏѬዝ٨


                                                        ಖኤ̔Ԣ྅૯ܿ
                                          图 2  基于知识蒸馏与网络剪枝的鸟声识别框架
                      Fig. 2 Proposed bird sound recognition framework based on knowledge distillation and pruning

             2.1 EfficientNet剪枝                                  限制进行合理设定。
                 在本研究中,EfficientNet网络主要由多个MB-                        可以看出,此目标函数为需要对通道权重w i 和
             Conv 模块组成。每个模块包括深度可分卷积、SE                         修剪标识符 b i 进行优化,这是一个典型的 NP-hard
             模块以及连接跳跃等操作。针对这样的模型结构进                            问题。因此,本文选择先固定权重学习修剪标识符,
             行剪枝并不直观。为了实现结构剪枝,本文选择逐                            再固定标识符学习修剪后网络的权重,从而迭代实
             步对 EfficientNet-B0 网络中的 MBConv 模块进行                 现整体的剪枝。剪枝实现可分解为损失变化与模型
             阶段剪枝。一方面,受逆背包问题的启发,本方法采                           复杂度变化两个子问题。
             用了一种新的剪枝策略,这种策略将损失的变化与                                (1) 损失变化∆L计算的子问题:给定剪枝搜索
                                                                                                    ∑
             模型复杂度之间的关系作为剪枝指标,迭代完成剪                            函数 f: W → U,权重向量 w ∈ X           n  =    w i h i ,
                                                                                                       i
             枝任务并提升微调效率。另一方面,本文所提方法                            其中,h i 为结构稀疏的 one-hot 向量,用于确保参数
             能够消除对预训练和复杂修剪调度的需要,同时使                            w i 在位置i处有效。修剪后的权重向量记为 ⃗w,其中
                                                                    ∑
             其对架构变化具有鲁棒性。剪枝过程并不会改变基                            ⃗ w j =    w i h i 表示结点位置 j 处的权重为 0。由
                                                                       i̸=j
             础网络的框架结构,而是通过通道的稀疏化达到模                            于该搜索函数收敛,本文尝试利用建立数学期望的
             型压缩的目的。                                           方式近似求得其泰勒展开方程。实验中发现,相比
                 由于损失变化与网络精度变化存在负相关,且                          较一级泰勒展开        [25] ,二级泰勒公式展开可以更好地
             此问题的函数性质为不可微,因此可利用交叉熵损                            拟合逼近将剪枝函数,即:
             失变化最小与模型复杂度约束来实现剪枝效率最                                           ( ∑      )
                                                                    f (⃗w j ) = f  w i h i
             大化,其目标函数如下列公式所示:
                                                                               i̸=j
                         ∑                                                                 (       )
                     min    b i ∆L (w i ) ,             (7)                ∂f (w)       ∂    ∂f (w)   2
                      b                                          ≈ f (w) −       w j −               w .  (9)
                                                                                                      j
                          i                                                 ∂w j       ∂w j   ∂w j
                        ∑
                     s.t.  b i F (w i ) > R, b i ∈ {0,1} ,  (8)  基于公式(7),修剪过程中,第l 层的第 c个通道的交
                         i
                                                               叉熵损失的数学期望为
             其中,b i 为网络权重 w i 修剪标识符,当 b i = 1 时权
                                                                      c
             重关联计算产生的模型复杂度记为 F(w i ),L 为修                       ∆L (w ) ≈
                                                                      l
                                                                                      (          )
             剪网络的交叉熵损失,∆L 为修剪后的网络所造成                                ∂L (x, w)  cT  ∂    ∂L (x, w)  (   ) 2
                                                                            w   +                  w cT   .
                                                                E x      c    l       c       c       l
             的损失变化,R 表示剪枝后节省的模型复杂度的阈                                 ∂w l         ∂w l    ∂w l
             值下限,具体数值需根据待搭载平台的算力和内存                                                                      (10)
   89   90   91   92   93   94   95   96   97   98   99