Page 326 - 《软件学报》2021年第11期
P. 326

3652                                Journal of Software  软件学报 Vol.32, No.11, November 2021

                 FP)如下:
                                                   N             N
                                              FN =   y i (1 p− ∑  i ) ,FP =  2  p 2 i  (1 y−∑  i ),
                                                   i=  1         i=  1
                 其中,N 为总样本个数,也就是一张眼底图像中总像素个数;y i 为第 i 个样本(像素)的标注,取值为 0 或者 1;p i 为第
                 i 个样本的激活概率值,由 sigmoid 函数计算而来.
                    第 2 阶段的损失函数定义如下:
                                             N           N                         N
                                                                                           2
                             L 2 ( , )p y =  FN +  FP =  y i (1 p− ∑  i ) +  2  p i 2 (1 y− ∑  i ) =  (1 p− ∑  i ) +  2  p = ∑  i 2  (y − ∑  i  p i ) .
                                             i=  1      i=  1      i y  1 =  i y =  0  i=  1
                    从公式中可以看出,第 2 阶段的损失函数 L 2 经过化简之后就是均方误差损失函数,也就是将分类问题转化
                 为回归问题,使得对于每一个样本 i,其激活概率值要接近真实的标注.
                 2.2.3    训练算法
                    首先使用 VGGNet 在 ImageNet   [25] 上预训练的权重来初始化模型 M 的参数θ.第 1 阶段,从训练数据 D 中随
                 机选择一个样本,然后网络前向传播得到对该样本的分割概率图 p,随后使用 L 1 损失函数计算当前样本的损失
                 值,并计算梯度 g,最后使用随机梯度下降算法更新参数θ.第 2 阶段与第 1 阶段类似,区别是使用 L 2 损失函数训
                 练网络,第 2 阶段训练结束之后,得到分割模型 M.如算法 1 所示为训练算法伪代码,为了方便表示,伪代码中并未
                 考虑权重衰减和动量.
                    算法 1.  两阶段训练算法.
                    (a)  第 1 阶段
                                              N
                                                N
                                        1
                                      1
                    输入:训练数据 D={((x ,y )),…,(x ,y )},超参数(学习率η 1 ,η 2 ,最大迭代次数 Max1,Max2 等).
                    输出:分割模型 M.
                    initialize θ from VGGNet;
                    set r=1;
                    repeat
                               i
                             i
                      sample (x ,y ) from D;
                          i
                      p=f(x |θ);
                                i
                      Loss1=L 1 (p,y |θ);
                          ∂ Lp  i  | )θ
                            (, y
                       g =  1      ;
                             ∂ θ
                      θ=θ−η 1 g;
                      r=r+1;
                    until (r>Max1)
                    (b)  第 2 阶段
                    set r=1;
                    repeat
                             i
                               i
                      sample (x ,y ) from D;
                          i
                      p=f(x |θ);
                                i
                      Loss2=L 2 (p,y |θ);
                          ∂ Lp  i | )θ
                            (, y
                       g =  2      ;
                             ∂ θ
                      θ=θ−η 2 g;
                      r=r+1;
                    until (r>Max2)
                    return θ;
   321   322   323   324   325   326   327   328   329   330   331