【深度学习】YOLOv5网络结构图&FocalLoss的原理

【深度学习】YOLOv5网络结构图&FocalLoss的原理

  • YOLOv5网络结构图
  • FocalLoss的原理
  • 结语

YOLOv5网络结构图

以YOLOv5s为例更新时间为2020.11.17
【深度学习】YOLOv5网络结构图&FocalLoss的原理_第1张图片

FocalLoss的原理

二分类的交叉熵损失函数公式如下:

H y / ( p ( y ) ) = − [ y / ∗ l o g ( p ( y ) ) + ( 1 − y / ) l o g ( 1 − p ( y ) ) ] H_{y^/}(p(y)) =-[y^/*log(p(y))+(1-y^/)log(1-p(y))] Hy/(p(y))=[y/log(p(y))+(1y/)log(1p(y))]

y / y^/ y/是label, p ( y ) p(y) p(y)是网络的分类结果

即:

{ H y / ( p ( y ) ) = − l o g ( p ( y ) ) , y / = 1 H y / ( p ( y ) ) = − l o g ( 1 − p ( y ) ) , y / = 0 \begin{cases}H_{y^/}(p(y))=-log(p(y)),y^/=1\\H_{y^/}(p(y)) = -log(1-p(y)),y^/=0\end{cases} { Hy/(p(y))=log(p(y)),y/=1Hy/(p(y))=log(1p(y)),y/=0

可见,当label为1时,预测结果越大loss越小;当label为0时,预测结果越小loss越小


Focal Loss在此基础上进行了改进,公式如下:

{ L y / ( p ( y ) ) = − α ( 1 − p ( y ) ) γ l o g ( p ( y ) ) , y / = 1 L y / ( p ( y ) ) = − ( 1 − α ) p ( y ) γ l o g ( 1 − p ( y ) ) , y / = 0 \begin{cases}L_{y^/}(p(y))=-\alpha(1-p(y))^{\gamma}log(p(y)),y^/=1\\L_{y^/}(p(y)) = -(1-\alpha)p(y)^{\gamma}log(1-p(y)),y^/=0\end{cases} { Ly/(p(y))=α(1p(y))γlog(p(y)),y/=1Ly/(p(y))=(1α)p(y)γlog(1p(y)),y/=0

Focal Loss新加入两个参数 γ \gamma γ α \alpha α

γ \gamma γ大于0时,如果正样本预测结果接近1,则 ( 1 − p ( y ) ) γ (1-p(y))^{\gamma} (1p(y))γ很小,如果正样本预测结果接近0,则 ( 1 − p ( y ) ) γ (1-p(y))^{\gamma} (1p(y))γ相对较大。同理,如果负样本预测结果接近0,则 p ( y ) γ p(y)^{\gamma} p(y)γ很小,如果负样本预测结果接近1,则 p ( y ) γ p(y)^{\gamma} p(y)γ相对较大。由此,Focal Loss对于Hard的样本权重更大,即更关注Hard的样本。 γ \gamma γ一般取2

α \alpha α为平衡因子,一般取0.25,即负样本loss的权重更大。

结语

如果您有修改意见或问题,欢迎留言或者通过邮箱和我联系。
手打很辛苦,如果我的文章对您有帮助,转载请注明出处。

你可能感兴趣的:(深度学习)