深度学习知识总结|交叉熵函数

交叉熵函数 第一章 机器学习是什么
第二章 深度学习是什么
第三章 前馈神经网络
第四章 卷积神经网络
第五章 交叉熵函数

文章目录

  • 交叉熵函数
  • 信息熵
  • 交叉熵

信息熵 说到交叉嫡就要说一下“信息嫡”这个概念,信息嫡如果要用平民语言说得尽可能直白的话,我觉得可以说成是信息的杂乱程度或者意外程度的量化描述。
信息熵的公式如下:
深度学习知识总结|交叉熵函数
文章图片

解释:前面的x我们当成一个向量吧,就是若干个x把每个可能项产生的概率乘以该可能性的信息量,然后各项做加和。
为了说得清信息熵还是具体举例吧,比如中国乒乓球队和巴西乒乓球队比赛。
假设中国乒乓球队和巴西乒乓球队历史交手共64次,其中中国队获胜63次,63/64是赛前大家普遍认可的中国队获胜的概率——这个是先验概率。那么这次“中国队获胜”这个消息的信息量有多大呢?
深度学习知识总结|交叉熵函数
文章图片

“巴西队获胜”的信息量有多大呢?
深度学习知识总结|交叉熵函数
文章图片

所以,中国乒乓球队和巴西乒乓球队比赛的结果,这一信息的信息嫡约为:
深度学习知识总结|交叉熵函数
文章图片

交叉熵 如果信息嫡的概念理解没有问题的话,那么交叉嫡的概念也就会好理解一些了,先给表达式。
深度学习知识总结|交叉熵函数
文章图片

从损失函数(交叉嫡损失函数)的形式上来看,会不会觉得比较眼熟?是的,看上去好像在做逻辑回归,因为对于每一种分类都是伯努利分布,要么“是”要么“不是”,当然对于它们中每一个来说表达形式会看着多少有些同源。
深度学习知识总结|交叉熵函数
文章图片

对于最后一层SOFTMAX的每一个输出节点来说,都是上面这个样子,有多个x输入的向量,有节点上的w矩阵跟它做内积,加上偏置b,再把结果通过Sigmoid函数输出一个0到1之间的概率值。
深度学习知识总结|交叉熵函数
文章图片

Sigmoid函数是一个很有趣的函数,当把它对它的自变量z求导的时候会得到自身o(z)和1-o(z)的乘积。不要觉得奇怪,它的导数就是这个结果。然后一步一步做纯数学推导:
深度学习知识总结|交叉熵函数
文章图片

根据链式法则,我们还是能得到这样一个偏导值。偏导数能帮到我们的就是求出在凸优化时每个待定系数在更新中所移动的大小。我们只说一点好了,请注意这个地方我们如何理解:
深度学习知识总结|交叉熵函数
文章图片

在整个训练进行的过程中,我们是把样本向量和标签向量同时放人模型的。在放入的时候自然样本没有特殊理由的情况下都是会将期望的分类维度设置成1,其余的维度设置成0,用这样的形式来标记分类标签向量。也就是上面说的这个yi。而在拟合的过程中会有这样一个事实,那就是说当y为0的时候,由于y, In a失效而( 1-yi) ln ( 1-a)这一项是有效的,所以ln ( 1-a)的大小就是损失值了。这个就很好理解了,本来不应该分成这一类,但是1-a却成为了分作这一类的概率,ln(1-a)是负数。
深度学习知识总结|交叉熵函数
文章图片

深度学习知识总结|交叉熵函数
文章图片

从函数yi-ln ( 1-x)的图像上也能看出来,α越接近1产生的负值的绝对值就越大,也可以解释成拟合所产生的分类概率与实际应该产生的分类概率分歧越大。反之,a越接近0则产生比较小损失值越小。同理,当yi为1的时候,( 1-y) ln ( 1-a)失效而yiIn a有效,此时产生很类似的情况,α越接近1则损失值越小,a越接近0损失值越大。E里面所包括的内容加和一定是一个负数,而在前面加了-二后则会变成正数,正数越大损失值也就越大。
在整个训练的过程中,实际在每个样本进行拟合的时候都会产生这样一个效果,那就是诸如这样一对一对的目标分类向量值和拟合分类向量值之间的差值:
深度学习知识总结|交叉熵函数
文章图片

看到这里大概知道“交叉嫡”是什么概念了吧?就是一种当前拟合出来的模型分类所产生的信息嫡和这种“客观上”的信息嫡的差距。
首先,在你创造的这个“小世界”(就是这个网络)里,比如你放进去10000张图片做训练,分成4类,不论这四类是比较平均的还是某一类比较多,从统计上都会产生一个信息嫡,也就是随便来一张图片即便不通过这个网络也会有一个先验概率产生。这个概率就是基于这些图片“天然”分布的一个统计比例,这就和我们在不知道任何其他前提的情况下看到有个骰子扔到空中,当它落地的时候掷到1的概率是; 或者在一个苹果手机市场占有率为70%的地区,随便在街上找到一个人问他的手机是什么品牌,回答为苹果手机的概率为70%是完全一样的情况。根据这种针对“客观世界”的统计产生的分类的“信息嫡”就是分类目标的嫡,而在拟合过程中产生的嫡实际上跟这个嫡值是有差距的,这个差距就是在使用交叉嫡损失函数的情况下所定义的嫡的差距,那么优化的方向就是向着调整待定系数减小“嫡差”的方向去运动。现在好理解了吧?而且通过观察你也可以发现这个差值越大导数也就越大,学习的效率也就越高,这当然也是一个非常好的性质。通过训练不断调整众多卷积核中w的大小,来决定一个合适的特征提取的量化值,这就是卷积网络训练的基本原理了。
ending!!!
【深度学习知识总结|交叉熵函数】本文参考文献:《白话讲深度学习与Tensorflow》高扬、卫峥 著

    推荐阅读