热门标签 | HotTags
当前位置:  开发笔记 > 人工智能 > 正文

【方向整理】损失函数改进方法

首先感谢原文作者:https:blog.csdn.netu014380165articledetails769463581.总结看过五种基本的损失函数改进之后,对

首先感谢原文作者: https://blog.csdn.net/u014380165/article/details/76946358


1. 总结

看过五种基本的损失函数改进之后,对损失函数的改进方向有了一个基本的认识。
这五个方向的改进大概分为两类,1,2,3,5一类,4一类


  1. 1.2.3.5 角度化改进与中心点改进
    这一类改进方法的核心是尽可能使同一类分类结果集中,不同类分类结果分散。
    1,2,5一脉相承,核心思路是关注向量之间的角度,通过限制角度范围提高训练难度,增强测试时候的准确度。
    2则是为各个分类添加一个类核心,将元素与核心的距离加入到损失函数的考虑中来。
  2. 4给予不同分类结果不同的权重
    简单的分类问题,其损失函数所占比重较低。比较困难的分类问题,损失函数所占比重较高。

现在觉得,在进一步深入探究损失函数的作用之前,必须着手尝试搭建一个简单的神经网络,直观地加深各个参数的变化对最终训练结果的影响。


2.各个损失函数的笔记


2.1 Large Margin SoftMax loss

在这里插入图片描述
其中公式φ的定义为:
在这里插入图片描述
D函数是一个单调递减函数,而且D(Π/m)=cos(Π/m)


2.2 Center Loss

在这里插入图片描述


2.3 Angular Softmax Loss

在这里插入图片描述
关于参数m的选择,作者说明了:
对于二分类,m需要满足mmin > 2+√3
对于多分类,m需要满足mmin > 3


2.4 Focal Loss

在这里插入图片描述
这是一个思路不同的Loss改进方法,目标是使错误分类的样例对最后结果造成更大影响。正确样例尽量忽略。


2.5 Additive Angular Margin Loss

在这里插入图片描述
在角度空间上为角度加上了m,而不是之前的*m
在这里插入图片描述


2.6 LCML

由腾讯人工智能实验室提出的损失函数,由上面的绿色曲线表示,可以看出其训练难度与5大致持平,而且在角度极大时难度不会下降。
其不同之处在于用于造成空白(margin)的参数m添加在了cos空间上
在这里插入图片描述
注意它与5的区别,实际操作时效果差别也不大


推荐阅读
author-avatar
瞄瞄摩卡李流
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有