小茶来自奥菲寺
训练数据集中的标签通常是不正确的,比如图像分类。如果有人把猫误标为狗,会对训练结果造成不良影响。
如何在不改变训练样本的情况下,将这类噪声数据对机器学习模型的影响降到最低?
最近Google提出了一个新的损失函数,解决了机器学习算法被噪声困扰的一个大问题。
逻辑损失函数的问题
机器学习模型处理噪声训练数据的能力很大程度上取决于训练过程中使用的损失函数。
Logistic损失函数通常用于训练图像分类,但它有两个主要缺点,导致在处理有噪声的数据时存在以下缺点:
1.远处的异常值将主导整体损失
逻辑损失函数对异常值非常敏感。这是因为损失函数没有上界,错误标注的数据往往远离决策边界。
这导致异常大的误差值拉伸决策边界,对训练结果造成不利影响,并可能牺牲其他正确的样本。
2.错误标签的影响将扩展到分类的边界
神经网络的输出是向量激活值。一般对于分类问题,我们使用softmax,将激活值表示为属于每个分类的概率。
由于这个逻辑损失传递函数的尾部是指数衰减的,训练过程会倾向于使边界更接近错误标记的例子,从而保证不属于这个分类的函数值更接近于0。
因此,即使标签噪声水平低,网络的泛化性能也会立即恶化。
△二进制分类的可视化结果,噪声会导致决策边界扩大,产生分类误差和两个参数可调的损失函数
Google通过引入两个可调参数的双回火Logistic损失解决了上述两个问题。这两个参数分别是温度)t1和尾重)t2。尾部重量实际上是指传递函数尾部下降的速率。
当t1和t2都等于1时,这个双稳态函数退化为普通的逻辑损失函数。
温度参数t1是一个介于0和1之间的参数,它的值越小,对逻辑损失函数极限的约束越严格。
尾重t2定义为大于等于1的参数。数值越大,尾部越厚,衰减相对于指数函数越慢。
△温度(左)和尾部重量(右)对损失函数结果的影响
也可以通过Google的在线Demo观察t1和t2参数的损失函数的变化。
对噪声数据集的影响
为了证明不同温度t1的影响,Google在合成数据集上训练了一个双层神经网络的二元分类问题。蓝点和红点表示数据的实际类别,两个不同的颜色区域表示神经网络的训练结果,白色是决策边界。
Google使用标准逻辑损失函数和不同温度参数的损失函数来比较无噪声数据集、小余量噪声数据集、大余量噪声数据集和随机噪声数据集这四种情况下的实验结果。
在没有噪声的情况下,两种损失都能产生良好的决策边界,从而成功地分离了这两类损失。
小余量噪声,即噪声数据接近决策边界。可以看出,由于softmax尾部的快速衰减,逻辑损耗会将边界拉伸到更靠近噪声点,以补偿它们的低概率。然而,双稳态损失函数有一个沉重的尾部,并保持边界远离噪声样本。
大余量噪声意味着噪声数据远离决策边界。由于双稳态损失函数的有界性,可以防止这些远离边界的噪声点拉离决策边界。
最后一个实验是随机噪声,噪声点随机分布在向量空之间。逻辑损失受到噪声样本的高度干扰,并且不能收敛到良好的判定边界。然而,双稳态损耗可以收敛到与无噪声情况几乎相同的结果。
门户网站
在线演示:
https://google.github.io/bi-tempered-loss/
博客地址:
https://ai . googleblog . com/2019/08/bi-回火-后勤-以培训换损失. html
论文链接:
https://arxiv.org/abs/1906.03361
1.《tempered 谷歌提出新分类损失函数:将噪声对训练结果影响降到最低》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。
2.《tempered 谷歌提出新分类损失函数:将噪声对训练结果影响降到最低》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/tiyu/1080014.html