专栏中心

EEPW首页 > 专栏 > 为什么交叉熵和KL散度在作为损失函数时是近似相等的

为什么交叉熵和KL散度在作为损失函数时是近似相等的

发布人:数据派THU 时间:2022-02-19 来源:工程师 发布文章

来源:DeepHub IMBA

尽管最初的建议使用 KL 散度,但在构建生成对抗网络 [1] 时,在损失函数中使用交叉熵是一种常见的做法。这常常给该领域的新手造成混乱。当我们有多个概率分布并且我们想比较它们之间的关系时,熵和 KL 散度的概念就会发挥作用。


在这里我们将要验证为什么最小化交叉熵而不是使用 KL 散度会得到相同的输出。所以我们首先从正态分布中抽取两个概率分布 p 和 q。如图 1 所示,两种分布都不同,但是它们共享一个事实,即两者都是从正态分布中采样的。
图片




熵是系统不确定性的度量。直观地说它是从系统中消除不确定性所需的信息量。系统各种状态的概率分布 p 的熵可以计算如下:
图片


交叉熵


交叉熵是指存在于两个概率分布之间的信息量。在这种情况下,分布 p 和 q 的交叉熵可以表述如下:
图片


KL散度


两个概率分布之间的散度是它们之间存在的距离的度量。概率分布 p 和 q 的KL散度( KL-Divergence )可以通过以下等式测量:
图片
其中方程右侧的第一项是分布 p 的熵,第二项是分布 q 对 p 的期望。在大多数实际应用中,p 是实际数据/测量值,而 q 是假设分布。对于 GAN,p 是真实图像的概率分布,而 q 是生成的假图像的概率分布。

验证


现在让我们验证 KL 散度确实与使用交叉熵分布 p 和 q 相同。我们分别在 python 中计算熵、交叉熵和 KL 散度。
图片图片图片
右侧的第二项,即分布 p 的熵可以被认为是一个常数,常数的导数是0,对反向传播不会有影响。因此我们可以得出结论,最小化交叉熵代替 KL 散度会出现相同的输出,因此可以近似相等。

总结


在本文中,我们了解了熵、交叉熵和 kl-散度的概念。然后我们回答了为什么这两个术语在深度学习应用程序中经常互换使用。我们还在 python 中实现并验证了这些概念。完整代码参考这个地址: https://github.com/azad-academy/kl_cross_entropy.git
引用:[1] Goodfellow, I. et al., Generative adversarial nets. In Advances in  neural information processing systems. pp. 2672–2680, 2014[2]https://en.wikipedia.org/wiki/Kullback%E2%80%93Leibler_divergence
作者:J. Rafid S., PhD



*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

关键词: AI

相关推荐

AI正在成为美国军事系统核心

2026-03-24

TI 携手 NVIDIA 推出面向下一代 AI 数据中心的完整 800 VDC 电源架构

边缘 AI 加速的 Arm® Cortex®‑M0+ MCU 如何为电子产品注入更强智能

嵌入式系统 2026-03-25

EEPW2018年6月刊(5G)

资源下载 2018-06-11

英伟达 Groq 3:AI 推理时代已至

赋能AI与新能源时代的高动态MW级负载平台

Gartner发布三大AI价值实现路径

基于Microchip MCU的AI/ML培训教程3

视频 2025-11-12

基于Microchip MCU的AI/ML培训教程1

视频 2025-11-12

CSR8670CSR8675智能语音Alexa蓝牙方案开发

资源下载 2017-12-14

AI狂潮 半导体通膨压力重重

智能计算 2026-03-23

电子元件培训教材

芯片互连初创企业Kandou AI完成2.25亿美元融资

EEPW2018年3月刊(工业物联网)

尼吉康的事业介绍

视频 2025-07-25

在工业自动化和智能家用电器设计中实现支持边缘 AI 的电机控制

基于Microchip MCU的AI/ML培训教程2

视频 2025-11-12

尽管与亚马逊达成芯片合作,英伟达股价仍下跌 3%,油价与加息担忧冲击 AI 交易

PowiGaN for AI Data Centers: Unmatched Power Density and Reliability

视频 2025-12-19
更多 培训课堂
更多 焦点
更多 视频

技术专区