机器学习Softmax函数详解_第1页
机器学习Softmax函数详解_第2页
机器学习Softmax函数详解_第3页
机器学习Softmax函数详解_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Softmax函数几乎是深度学习中的标配了,在人工神经网络中,几乎无处不可见 softmax 函数的身影。可以认为softmax 是arg max操作的一种平滑近似。我将softmax的用途总结为两种:?分类:给定一系列类别,softmax可以给出某输入被划分到各个类别的概率 分布。由于人工智能领域的许多问题都可以抽象成分类问题,所以 softmax 最广泛的应用当属分类;?寻址:由于softmax的输出是一种概率分布的形式,可以用它来实现一种 软性的寻址。近几年逐渐推广的(软性)注意力机制就可以认为是一种软性寻 址的方式,根据各个键向量与查询向量的相似度从各个值向量中获取一定 的“信息”。因

2、此使用了softmax的注意力机制也可以用于外部记忆的访问。不难发现,在分类问题中,我们也可以使用arg max来找到对应的类别;在寻址问题中,一个直观的方法也是使用arg max寻找最相似的向量/记忆。但是arg max操作并不具有良好的数学性质,其不可导的性质使 其无法直接应用基于梯度的优化方法。因此在分类和寻址两种用途中,常 常都使用 softmax 函数替代 arg max。基于这两种用途,softmax可以在人工神经网络中充当什么样的角 色,就靠诸君的想象了。这篇文章中,我想简单、粗浅地探讨一下 softmax的一些性质与变种。1.基本形式给定一个n维向量,softmax函数将其映射

3、为一个概率分布。标准的softmax函数b ; R r 股 由下面的公式定义:4厂工Lj 1呻,fbi £ = 1,几 and x = e,工巾般简记为Z,表示势能函数(Potential其中,分母是配分函数 (Partition Function) 所有X犬态/值的总和,作为归一化因子;分子是Function)。直观上看,标准 softmax函数用一个自然底数 e先拉大了输入值之间 的差异,然后使用一个配分将其归一化为一个概率分布。在分类问题中,我们希望模型分配给正确的类别的概率接近1,其他的概率接近 0,如果使用线性的归一化方法,很难达到这种效果,而 softmax有一个先拉开差

4、 异再归一化的“两步走”战略,因此在分类问题中优势显著。事实上,在势能函数和配分函数中,可以采用的底数不仅仅是自然底数e,也可以采用一些其他的底数。原则上,任意b>0都可以作为这里的底数,越大的底数越能起到“拉开差异”的作用。使用 底数时,将产生以下的非标准softmax函数1 :b = exp 网作为%(x)i =expjfe)避中(曲),for i 1, * * , n and x =T Rn (2)其中B是一个实数,正的B常常在机器学习中使用,在信息检索的工 作DSSMfr, B就充当了一个平滑因子;负的B常常在热力学系统中使 用,由于一些概率图模型也参考了热力学的原理,所以在概率

5、图模型中也 常常能见到这种形式,如玻尔兹曼机。2 .导数与优化标准softmax具有非常漂亮的导数形式:(3)=diag(ff(x) - ff(x)ff(x)在分类问题中,softmax函数常常和交叉嫡损失函数一起使用,此时 交叉嫡损失函数 J(X)对X的导数,由下面的形式给出:一e)其中y是真实标签对应的 one-hot编码向量。这样的导数在优化时非 常方便,实现起来也非常简单。由于softmax函数先拉大了输入向量元素之间的差异,然后才归一化 为一个概率分布,在应用到分类问题时,它使得各个类别的概率差异比较 显著,最大值产生的概率更接近1,这样输出分布的形式更接近真实分布。但是当softm

6、ax函数被应用到寻址时,例如注意力机制中,softmax这个拉大元素间差异的过程可能会导致一定的问题。假设输入向量有唯一 的最大值,如果将 arg max操作定义为指示最大值的一个one-hot编码函1,在非标准 softmax 中有lim %(x) = arg max xT+8*这里的证明参见下方的补充(A)。如果将非标准softmax的B融入到输入中,则容易看出:当输入的方差/数量级较大时,softmax的输出会比较接近一个one-hot向量。根据式(3),其导数的两个项会比较接近,导致导数变成0矩阵。这也就导致了梯度弥散的问题,不利于优化,具体讨论可以参考我先前的一篇回答4 o这也是为什

7、么注意力机制中常常使用缩放点积形式的注意力。插一句题外话,开篇提到softmax是arg max操作的一种平滑近似,而针对 max操作的近似,其实有一个LogSumExp5操作(也叫作softmax),其导数形式就是 softmax函数,是不是很有趣呢?3 . Softmax 的解释Softmax可以由三个不同的角度来解释。从不同角度来看softmax函数,可以对其应用场景有更深刻的理解。3.1 是arg max的一种平滑近似1前面提到过,softmax可以当作arg max的一种平滑近似,与 argmax操作中暴力地选出一个最大值(产生一个 softmax将这种输出作了一定的平滑,即将 1按

8、输入元素值的大小分配给其他位置。如式 softmax逐渐收敛为 arg max操作。在机器学习应用中,我们往往不(直接) 这时候显然数学性质更好、更容易优化的 3.2归一化产生一个概率分布one-hot 向量)不同,one-hot输出中最大值对应的(5)所示,当底数增大时,arg max的操作,softmax就是我们的第一选择。Softmax函数的输出符合指数分布族的基本形式尸(y四二无已冲(仅T(y) 4伊)其中。三 1,)=1/Z: T(y) = y,幺=。不难理解,softmax将输入向量归一化映射到一个类别概率分布,即 n个类别上的概率分布(前文也有提到)。这也是为什么在深度学习中常

9、常将softmax作为MLP的最后一层,并配合以交叉嫡损失函数(对分布问 差异的一种度量)。3.3产生概率无向图的联合概率从概率图模型的角度来看,softmax的这种形式可以理解为一个概率无向图上的联合概率。因此你会发现,条件最大嫡模型与softmax回归模型实际上是一致的,诸如这样的例子还有很多。由于概率图模型很大程度 上借用了一些热力学系统的理论,因此也可以从物理系统的角度赋予softmax 一定的内涵。4 . Softmax 的改进与变种Softmax函数是一种简单优美的归一化方法,但是它也有其固有的缺陷。直观上看,当应用到实际问题时,其最大的问题就在于配分函数的计 算:当类别的数量很多

10、时,配分函数的计算就成为了推断和训练时的一个 瓶颈。在自然语言处理中,类别常常对应词汇表中的所有词汇,这个数量 之大可见一斑,如果直接采用softmax计算方法,计算效率会非常低。因此一般采用一些方法改进 softmax函数,加速模型训练。这里列举几个自 然语言处理中的经典改进 /变种3 :层次化softmax :将扁平的n分类问题转化为层次化的分类问题。将词汇表 中的词分组组织成(二叉)树形结构,这样一个n分类问题,可以转化为多层 的二分类问题,从而将求和的次数由 n降低到了树的深度级别。这里可以使用的一个方法是,按照词汇的频率求和编码Huffman树,从而进一步减少求和操作的计算次数。采样

11、方法:使用梯度上升优化时,softmax的导数涉及到一次配分函数的计 算和一次所有词汇上的softmax对词汇的梯度的期望,这两个计算都可以用采样方法来近似,比如重要性采样,这样计算次数由n减少为采样样本数 K的级别。这种方法的性能很受采样策略的影响,以重要性采样方法为例, 其效果就依赖于提议分布的选取;采样样本数K的选取也需要考虑精度和训练效率的折衷。?噪声对比估计(NCE):将密度估计问题转换为两类分类问题(区分噪声与真 实数据),从而降低计算复杂度。其中配分函数被替换为了一个可学习的参数,这样NCETJ法能促使输入的未归一化向量自己适应为一个归一化的、接近真实分布的分布向量。由于不再需要

12、计算配分函数,训练效率大大提升。这种对比学习思想在深度学习中也十分常见。5 .总结前面简单讨论了 softmax的性质、解释与变种,从现在来看,似乎 softmax已经是神经网络中的一根老油条了。Softmax还有哪些可以挖掘的地方呢?作为一个菜鸟,只好先把这个问题抛给诸位了。补充式(5)直接放进来有一点太唐突了,觉得还是要简单证明一下,算是 完善一下之前的回答。假设固定输入 X三R徒不变,变化参数B ,假设输入x中有唯一的最大值xk,则有:lim cr(x)j = lim :St十g"+8 £0exp(阿)=lim pT + OQ 1 +X着存i心通(双町磔)门g(x,户= £ exp(万(叼-新)不妨设J=13方,可以分类讨论一下:1 .当:=入则.#力叼瓯,此时lim g(X回 £) = 0炉 T+002 .当,丹,则叮外町一幼0 ,此时lim g(x,6") = +oa(9)由一rkg结合(6)(8),可以得到lim。日;,二 £(10)S-h

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论