【强基固本】损失函数 | 交叉熵损失函数
“强基固本,行稳致远”,科学研究离不开理论基础,人工智能学科更是需要数学、物理、神经科学等基础学科提供有力支撑,为了紧扣时代脉搏,我们推出“强基固本”专栏,讲解AI领域的基础知识,为你的科研学习提供助力,夯实理论基础,提升原始创新能力,敬请关注。
来源:知乎—飞鱼Talk
这篇文章中,讨论的Cross Entropy损失函数常用于分类问题中,但是为什么它会在分类问题中这么有效呢?我们先从一个简单的分类例子来入手。
01
我们希望根据图片动物的轮廓、颜色等特征,来预测动物的类别,有三种可预测类别:猫、狗、猪。假设我们当前有两个模型(参数不同),这两个模型都是通过sigmoid/softmax的方式得到对于每个预测结果的概率值:
模型1:
模型1对于样本1和样本2以非常微弱的优势判断正确,对于样本3的判断则彻底错误。
模型2对于样本1和样本2判断非常准确,对于样本3判断错误,但是相对来说没有错得太离谱。
好了,有了模型之后,我们需要通过定义损失函数来判断模型在样本上的表现了,那么我们可以定义哪些损失函数呢?
1.1 Classification Error(分类错误率)
最为直接的损失函数定义为:
1.2 Mean Squared Error (均方误差)
1.3 Cross Entropy Loss Function(交叉熵损失函数)
1.3.1 表达式
(1) 二分类
- —— 表示样本 的label,正类为 ,负类为
(2) 多分类
- ——类别的数量
- ——符号函数( 或 ),如果样本 的真实类别等于 取 ,否则取
from sklearn.metrics import log_loss
y_true = [[0, 0, 1], [0, 1, 0], [1, 0, 0]]
y_pred_1 = [[0.3, 0.3, 0.4], [0.3, 0.4, 0.3], [0.1, 0.2, 0.7]]
y_pred_2 = [[0.1, 0.2, 0.7], [0.1, 0.7, 0.2], [0.3, 0.4, 0.3]]
print(log_loss(y_true, y_pred_1))
print(log_loss(y_true, y_pred_2))
____________
1.3783888522474517
0.6391075640678003
02
03
神经网络最后一层得到每个类别的得分scores(也叫logits); 该得分经过sigmoid(或softmax)函数获得概率输出; 模型预测的类别概率输出与真实类别的one hot形式进行交叉熵损失函数的计算。
3.1 二分类情况
3.1.1 计算第一项:
3.1.2 计算第二项:
3.1.4 计算结果
3.2 多分类情况
因为多分类只有一个类别为 ,其他为 ,不失一般性,我们可以假设 为 ,其他为 ,所以损失函数求和式子中只有 这项不为 ,即 这一项求导时,需要针对 是否等于 进行分类讨论(这里 表示的是样本真实类别为 , 表示的是对我们想对输入到 的参数 求导)
3.2.1 计算第一项:
3.2.2 计算第二项:
3.2.3 计算第三项:
3.2.4 计算结果
04
4.1 优点
4.2 缺点
05
[1] http://jackon.me/posts/why-use-cross-entropy-error-for-loss-function/
[2] http://sefiks.com/2017/11/08/softmax-as-a-neural-networks-activation-function/
[3] https://sefiks.com/2017/12/17/a-gentle-introduction-to-cross-entropy-loss-function/
[4] Deng, Jiankang, et al. "Arcface: Additive angular margin loss for deep face recognition." Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2019.
“强基固本”历史文章
多场景建模
深度学习优化背后包含哪些数学知识?
利用宇宙的能力来处理数据!「物理网络」远胜深度神经网络
入门 | 异常检测Anomaly Detection
通俗易懂的解释Sparse Convolution过程
现在的人工智能是否走上了数学的极端?
神经网络训练中的拓扑演化
一文详解colmap中的多视图重建算法原理
深度学习、计算机视觉面试题合集
大白话用Transformer做Object Detection
手把手教你学DBNet
小样本学习只是一场学术界自嗨吗?
检测和处理异常值的极简指南
完整版图解Transformer
更多强基固本专栏文章,
请点击文章底部“阅读原文”查看
分享、点赞、在看,给个三连击呗!