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 θ;