Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

归一化指数函数

在数学,尤其是概率论和相关领域中,Softmax函数,或称归一化指数函数,是逻辑函数的一种推广。它能将一个含任意实数的K维的向量 的“压缩”到另一个K维实向量σ(z)中,使得每一个元素的范围都在(0,1)之间,并且所有元素的和为1。在概率论中,softmax函数的输出可以用来表示一个分类分布,它也就是一个超过K个可能的结果概率分布。实际上,它是分类概率分布中的梯度-对数正态分布。Softmax函数实际上是有限项离散概率分布的梯度对数归一化。因此,Softmax函数在包括 多项逻辑回归 ,多项线性判别分析,朴素贝叶斯分类器和人工神经网络等的多种基于概率的多分类问题方法中都有着广泛应用。

来源:维基百科
简介

Softmax函数,或称归一化指数函数,是逻辑函数的一种推广。它能将一个含任意实数的K维的向量的“压缩”到另一个K维实向量σ(z)中,使得每一个元素的范围都在(0,1)之间,并且所有元素的和为1。该函数的形式通常按下面的式子给出:

在概率论中,softmax函数的输出可以用来表示一个分类分布,它也就是一个超过K个可能的结果概率分布。实际上,它是分类概率分布中的梯度-对数正态分布。

下图是一个softmax的小demo,不同的beta下的曲线如下图所示:

Softmax函数实际上是有限项离散概率分布的梯度对数归一化。因此,Softmax函数在包括多项逻辑回归 ,多项线性判别分析,朴素贝叶斯分类器和人工神经网络等多种基于概率的多分类问题方法中都有着广泛应用

例子

输入向量 [1,2,3,4,3,2,1] 对应的Softmax函数的值为[0.024,0.064,0.175,0.475,0.024,0.064,0.175]。输出向量中拥有最大权重的项对应着输入向量中的最大值“4”。这也显示了这个函数通常的意义:对向量进行归一化,凸显其中最大的值并抑制远低于最大值的其他分量。

ANN中的应用

softmax函数通常用于神经网络分类器的最后一层。这种网络通常是在给出了多项式逻辑回归的非线性变化下,在log loss(或交叉熵)机制来进行训练的,如softmax GAN(2017)。softmax函数经常在ANN中被当作为激活函数。现在就了解一下激活函数以及softmax函数在ANN中如何被使用的。

激活函数(activation function):一个节点的激活函数定义了该节点在给定的输入或输入的集合下的输出。也就是激活函数连接了两层神经网络,它将一个或多个输入通过激活函数进行转变,输出一个或多个输出。常见的激活函数包括Sigmoid、TanHyperbolic(tanh)、ReLU、softplus以及softmax函数。它们的特性都是非线性的。线性的激活函数就是大家理解的感知机

如何选取激活函数:

  • 用于分类器时,Sigmoid函数及其组合通常效果更好。
  • 由于梯度消失问题,有时要避免使用sigmoid和tanh函数。
  • ReLU函数是一个通用的激活函数,目前在大多数情况下使用。可以从ReLU函数开始,如果ReLU函数没有提供最优结果,再尝试其他激活函数。如果使用ReLU,那么一定要小心设置learning rate,而且要注意不要让你的网络出现很多“dead”神经元,如果这个问题不好解决,那么可以试试Leaky ReLU、PReLU或者Maxout.
  • 如果神经网络中出现死神经元,那么PReLU函数就是最好的选择。

备注:纯属总结经验,没有固定规则。

【描述来源:Artificial Intelligence,URL:http://artint.info/html/ArtInt_61.html

发展历史

描述

随着人工神经网络快速发展,研究人员都对其研究,演化出更多的,更加复杂的,更深的神经网络来提高精确度。而激活函数的不同也会导致过拟合等问题。现在我们看看经典的神经网络中使用的激活函数的演变。第一个CNN模型诞生于1989年,发明人LeCun。需要指出的是,从诞生的第一天起,CNN自带deep属性。1998年,LeCun提出LeNet,并成功应用于美国手写数字识别。然而这是一种自下向上的一种学习方式。LeNet是使用Tanh激活函数。

常见的激活函数有:sigmoid;tanh;ReLU;LReLU,PReLU,RReLU;ELU(Exponential Linear Units);softplus;softsign等

AlexNet,在当年的ImageNet图像分类竞赛中,top-5错误率比上一年的冠军下降了十个百分点。AlexNet的成功既得益研究者的自我奋斗:Relu和Dropout的提出,也是大历史进程的结果:大数据训练和GPU并行计算。AlexNet使用ReLU代替了以前传统的激活函数传统的Tanh或者其他logistic函数。之后ReLu就进入了人们的视线,ReLU本质上是分段线性模型并且简单的梯度计算使得它在目前的神经网络中备受欢迎。ReLU在基于斜坡函数的基础上发展出其他同样被广泛应用于深度学习的变种,譬如带泄露线性整流(Leaky ReLU),带泄露随机线性整流(Randomized Leaky ReLU),以及噪声线性整流(Noisy ReLU)。其中带泄露随机线性整流(Randomized Leaky ReLU, RReLU)最早是在Kaggle全美数据科学大赛(NDSB)中被首先提出并使用的。

线性整流被认为有一定的生物学原理,并且由于在实践中通常有着比其他常用激活函数(譬如逻辑函数)更好的效果,而被如今的深度神经网络广泛使用于诸如图像识别等计算机视觉领域。

于此同时,softmax在神经网络中也是非常受欢迎的。GoogleLeNet(2014),VGG(2014)都将softmax 作为激活函数应用于神经网络中。2017年,softmax GAN被提出,网络中利用softmax交叉熵来代替传统GAN中的分类损失函数,解决了判别器和生成器在训练过程中不平衡的问题。

A

B

ANN演生网络

激活函数

LeNet

Tanh

AlexNet

Rectified Linear Unit (ReLU)

ImageNet

Exponential linear unit (ELU)

VGG

softmax cross-entropy loss

GoogleLeNet

softmax function

Long short-term memory

sigmoid function; hyperbolic tangent function.

DCGAN

LeakyReLU

[描述来源:wiki, URL:https://en.wikipedia.org/wiki/Activation_function]

年份

事件

相关论文

1998

LeCun等人提出LeNet

LeCun, Y., Bottou, L., Bengio, Y., & Haffner, P. (1998). Gradient-based learning applied to document recognition. Proceedings of the IEEE, 86(11), 2278-2324.

2012

ALEX等人提出ALEXNET

Krizhevsky, A., Sutskever, I., & Hinton, G. E. (2012). Imagenet classification with deep convolutional neural networks. In Advances in neural information processing systems (pp. 1097-1105).

2014

Simonyan提出VGG神经网络

Simonyan, K., & Zisserman, A. (2014). Very deep convolutional networks for large-scale image recognition. arXiv preprint arXiv:1409.1556.

2017

Min Lin针对判别器和生成器训练过程中不平和的问题,提出了softmax GAN

Lin M. Softmax GAN[J]. arXiv preprint arXiv:1704.06191, 2017.

发展分析

瓶颈

对于Softmax Classifier来说:

  • Softmax function的主要限制是,如果数据不是线性可分的,它就不会起作用。
  • 它不支持假设检验(null rejection)

在神经网络中,每个激活函数都有自身的特点,需要根据不同网络的需求来进行选择。

未来发展方向

无论是ReLU 还是Softmax,tanh or sigmod,每个函数都有自身的有点以及缺点。如何将使得自己的网络能够获取更高的准确性,需要根据不同的需求(如计算量,或梯度变化)等来进行选择。

Contributor: Ruiying Cai

简介