Softmax Layer

Softmax函数将多个标量映射为一个概率分布,其输出的每一个值范围在(0,1)。公式如下图

softmax 函数

softmax函数经常用在神经网络的最后一层,作为输出层,进行多分类。此外,softmax在增强学习领域内,softmax经常被用作将某个值转化为激活概率,这类情况下,softmax的公式如下:

带温度参数的softmax函数

其中,T被称为是温度参数(temperature parameter)。当T很大时,即趋于正无穷时,所有的激活值对应的激活概率趋近于相同(激活概率差异性较小);而当T很低时,即趋于0时,不同的激活值对应的激活概率差异也就越大。这个结论很重要,Hinton在2015年的一篇paper中重点阐释了如何根据温度参数来soften神经网络的输出,从而提出了distillation的思想和方法。

temperature = 0.01


temperature = 1


temperature = 100

1.前向传播

该过程比较简单,对输入的每个节点进行softmax(x)计算。但是需要注意的是,由于存在指数函数exp,对于输入很大的实数会softmax数值越界,导致预想不到的结果。所以在做softmax之前,需要将数据做简单的预处理,即:找出输入节点的最大值,然后让每个节点减去该最大值,使得输入节点都是小于等于0的,这样就能避免数值越界。

2.反向传播

softmax层的导数要分两种情况:1)该节点是输出类别 (i  =  j);2)该节点不为输出类别(i != j)

softmax 导数
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 承接前面的《浅谈机器学习基础》、《浅谈深度学习基础》和《浅谈自然语言处理基础》,主要参考了《解析深度学习:语音识别...
    我偏笑_NSNirvana阅读 23,939评论 6 66
  • 第二个Topic讲深度学习,承接前面的《浅谈机器学习基础》。 深度学习简介 前面也提到过,机器学习的本质就是寻找最...
    我偏笑_NSNirvana阅读 16,126评论 7 49
  • 曾经勾勒过千千万万的未来,现在想来那应该都是梦吧。 像天使漂浮在星空中。 而真正脚踏实地去做的时候,人的生活其实是...
    我是李小志阅读 1,769评论 0 1
  • Top_Chenxi阅读 1,423评论 0 0
  • 我是一个在减肥路上没有方向和出路的人,至少目前是这样的状态。 今晚就让我好好回想一下过往的努力和思索这条路该何处何...
    奕奕GRACE阅读 1,526评论 0 0

友情链接更多精彩内容