Page 345 - 《软件学报》2025年第9期
P. 345

4256                                                       软件学报  2025  年第  36  卷第  9  期


                 多的良性参与者, 从而减少了有效的数据源并降低模型整体性能; 较小的阈值可能导致贡献较低的参与者未被检
                 测, 从而使模型继续遭受其影响          [37] . 最后, 我们对贡献度  λ 进行处理, 对于贡献度为负值的参与者, 我们将其设置
                 为  0. 与以往方法不同, 我们求解参与者贡献度的过程不仅保留了权重特征的高保真性, 也权衡了参与者之间的公
                 平性, 避免出现一些攻击者搭便车的情况. 算法             1  展示了求解参与者贡献度的流程.
                 算法  1. 求解参与者贡献度.

                        ,
                       r ˆ r
                 输入:   ¯ W W w ;
                           ,
                             0
                       i
                          j
                 输出:  λ i .
                        0                     0
                 1. 基于  w  求解最后一层权重参数数       ˜ w ;
                 2. for  r ∈ [0,R−1] do
                                               ¯ W ( ˆ W ) ∀i, j ∈ (1,...,K) & i , j;
                                                   r
                                                r
                 3.  接收   K  个参与者上传的本地模型            ,
                                                i  j
                                                   {
                                                              }
                                                        r
                                                             r
                                                     r
                          r
                             r
                         ¯ W  (  ˆ W ) 的最后一层权重参数:   ˜ w = ˜w , ˜w ,..., ˜w ;
                 4.  获取
                          i  j                       1  2    K
                         ˜ w ˜w = ˜w − ˜w = { ˜w 1 , ˜w 2 ,..., ˜w K };
                 5.  更新  :     0
                                     (                     )
                                         2
                                               1
                                                 2
                                       1
                                                       1
                                                          2
                 6.  获得   ˜ w 的主特征:  u = (u ,u ),...,(u ,u ),...,(u ,u ) ← PCA(( ˜w 1 , ˜w 2 ,..., ˜w K ),components = 2);
                                       1
                                         1
                                                       K
                                                          K
                                                 i
                                               i
                 7.  对   ˜ w 求解余弦相似度:  e cs = (e cs 1,1 , e cs 1,2 ,..., e cs i,j ,..., e cs K,K ) ← cos( ˜w 1 , ˜w 2 ,..., ˜w K );
                                  (  1  2   1  2    1  2  )
                 8.  提取  e cs 的主特征:   (s , s ),...,(s , s ),...,(s , s ) ← PCA(e cs 1,1 , e cs 1,2 ,..., e cs i,j ,..., e cs K,K );
                                    1  1    i  i    K  K
                                        (                     )
                 9.  求解质心  :              1  2    1  2    1  2
                            ct ct ← Median (s , s ),...,(s , s ),...,(s , s ) ;
                                          1  1    i  i    K  K
                 10.    cs = (cs 1 ,cs 2 ,...,cs K ) ← cos(u,ct);
                                         r
                 11.   累计并存储贡献度:    λ r+1  = λ +cs r+1 ;
                                             i
                                         i
                                     i
                                               
                                               q 1 ← Q 1 (λ,0.25)
                                               
                 12.   采用第一四分位数作为最佳阈值:                      ;
                                               
                                               
                                                λ ← λ i −q 1
                 13.   归一化处理:  λ = λ/max i (λ);
                 14.   for  i ∈ [1,K] do
                 15.   if  λ i < 0 then
                 16.     λ i = 0
                 17.   end if
                 18.   end for
                 19. end for
                 20. return   λ i

                 3.2   创建离散更新空间
                    在  CEFL  系统中, 云服务器首先为      G  初始化随机权重     w  和相应的分数  , 然后分发       G  给所有  E  个边缘服务
                                                0
                                                                                       0
                                                               0
                                                                            0
                                                                            s
                     K  个参与者       w  和  ). 其中, 本文采用  Signed Kaiming Constant 算法  [38]  w  以及  Kaiming Uniform  算
                                        0
                                                                                    0
                                    0
                                       s
                 器和           (共享                                              生成
                 法  [39] 生成  s . 我们知道  FedDiscrete 的训练目标是在不改变权重大小的情况下搜索信誉度最高的边. 特别地, 在构
                         0
                                                                                                 s  来求解
                                                                                                  0
                 建离散更新空间的过程中, 我们仅考虑网络模型的卷积层和全连接层, 通过逐层排序模型连接边的分数
                            S . 所谓的排名是指向量从低到高排序后该向量元素对应的索引值, 本文使用                       ARGSORT  函数计算.
                             0
                 初始全局排名      G
                 例如, 假设该网络模型存在        6  个边, 即   w = [w 0 ,w 1 ,w 2 ,w 3 ,w 4 ,w 5 ], 对应   s = [0.5,0.2,0.3,0.4,0.7,1.2], 则有  S = [1,2,
                                                                                                  1
                                                                       0
                                                0
                                                                                                  G
                                           1
                                                        0
                 3,0,4,5], 这一过程形式化表示为     S ← ARGSORT(s ).
                                           G
                    在客户端, 我们采用      edge-popup (EP) 算法  [38] 稀疏化网络模型, 以搜索子网络. EP   算法的核心思想是通过迭代
                 地移除网络中不重要的边         (连接权重), 达到减少网络参数数量、降低网络的规模和提高模型效率的目的. 具体地,
                                                 0   0  0     0       (i∈[1,E],0)  ← G . 以第   轮为例, 边缘服务器共享
                                                                              0
                 客户端首先接收来自云服务器端分发的              G (w  和   s ), 即  W i∈[1,K]  ← W Edge  r
   340   341   342   343   344   345   346   347   348   349   350