交叉熵(cross

您所在的位置:网站首页 对勾函数的推导过程怎么写 交叉熵(cross

交叉熵(cross

2024-07-12 11:39| 来源: 网络整理| 查看: 265

交叉熵(cross-entropy)损失函数求导过程推导 1. 什么是交叉熵?1.1 熵1.2 KL散度1.3 交叉熵 2. 关于softmax函数3. 推导过程3.1 关于softmax的求导3.2 关于cross-entropy的求导

  今天,师兄突然问我关于交叉熵求导的问题,分分钟被难住了,感慨自己读研一年多了,连这种基本问题都不懂。在师兄的帮助下,从头到尾推导了一遍, 决定写篇博客记录一下自己的收获。

1. 什么是交叉熵? 1.1 熵

  首先,我们要知道什么是熵(entropy), 熵的物理意义是对体系混乱程度的一种度量方式。后来,香农将熵的概念引入到信息论中,提出了所谓的“信息熵”概念,从概率论的角度来看,就是说某个事件发生的不确定性越大,信息熵就越大。下文中提到的熵都是指“信息熵”。信息熵的公式如下: 在这里插入图片描述   公式中的 p ( x i ) p(x_i) p(xi​)表示的是事件P发生第i类的概率。

1.2 KL散度

  在说交叉熵之前,还要提一下KL散度(Kullback-Leibler divergence),大家平时说的KL散度(其实也是一种熵,我们称之为相对熵。KL散度可以用来度量两个分布的相似度,比如在机器学习中,我们就可以用KL散度来衡量样本真实分布与预测分布之间的差异。KL散度的公式如下: 在这里插入图片描述

1.3 交叉熵

  我们对KL散度进行如下变换: 在这里插入图片描述   因为我们知道在机器学习问题中,样本的真实分布是已知的,所以真实分布的熵 H H H是固定不变的, D K L D_{KL} DKL​的大小只与后面的部分有关。于是,我们把后面的那一部分称为交叉熵,在优化过程中,只要优化这一部分就行了。交叉熵的公式如下: 在这里插入图片描述

2. 关于softmax函数

  在深度学习中,softmax函数是分类任务中常用的激活函数。softmax的公式如下: 在这里插入图片描述   其中, y j y_j yj​表示第j个神经元的输出。有兴趣的同学,推荐看一下link,里面有一副图十分形象。

3. 推导过程

  在开始正式的推导之前,我再讲一下容易被大家遗忘的基础知识。   商函数的求导法则:在这里插入图片描述   好了,介绍完所有相关的基础知识,我们接下来就可以开始正式推导的工作了。

3.1 关于softmax的求导

  首先,我们对softmax进行求导: 在这里插入图片描述

3.2 关于cross-entropy的求导

  为了保证符号上的统一,我们在这定义神经网络优化过程中的交叉熵形式为 在这里插入图片描述   其中 y i y_i yi​表示预测得到的的样本分布, y i ′ y^{'}_i yi′​表示真实的样本分布。 在这里插入图片描述   在这里我们令 Y = ( y 1 , y 2 , . . . , y n ) Y=(y_1,y_2,...,y_n) Y=(y1​,y2​,...,yn​),根据链式法则可做以下推导: 在这里插入图片描述   然后,我们将对softmax的求导结果代入到上式中,可得 在这里插入图片描述   对交叉熵CE对 y i y_i yi​求导可得 在这里插入图片描述   带入到 ( 1 ) (1) (1)式中,得到 在这里插入图片描述   ok,到这里我们的工作就算是正式收工了。其实在写的时候,很多东西我自己也不是特别明白,但是一边写一边想,就感觉自己的思路越来越清晰了。推导过程中还是有很多的细节我没有一一提到,相信大家动手推导一遍就能都能明白。欢迎大家留言交流。HHHH~ 在这里插入图片描述



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3