目录
1. 激活函数activation function
作者:量子位
链接:https://www.zhihu.com/question/264189719/answer/649129090
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
你也许会注意到,在上面的神经网络中,每层的输出都是在线性运算的结果后加上一个“过滤”。为什么要这样处理呢?
现实中输入和输出之间的关系通常并非线性。如果神经网络的架构仅由线性算法组成,那么它很难计算出非线性行为。所以我们要在每层的结尾加上一个激活函数。
【扩展学习:非线性函数】线性函数是一次函数的别称,则非线性函数即函数图像不是一条直线的函数。非线性函数包括指数函数、幂函数、对数函数、多项式函数等等基本初等函数以及他们组成的复合函数。
不同的激活函数有不同的特点。选取不当会导致梯度变得非常小,就是通常所说的梯度消失问题。
另外还存在一种相反的问题,就是梯度爆炸,当梯度值过大时,网络会变得非常不稳定。
常见的4种激活函数有:Sigmoid、tanh,ReLU、leaky ReLU,下面简单讨论一下它们的优缺点。
1.1 Sigmoid
1/(1+e-x)
这个函数非常适合将输入分为两类。它的形状很缓和,因此它的梯度能得到很好的控制。
主要的缺点是,在极端情况下,函数输出变得非常平坦。这意味着它存在梯度消失的问题。
1.2 tanh
(2 / (1+e-2x)) - 1
它与Sigmoid非常相似。函数曲线更陡峭,因此它的输出也将更强大。缺点与Sigmoid类似。
1.3 ReLU
max(0,x)
如果输入大于0,则输出等于输入。否则,输出为0。
它的输出范围从0到无穷大。这意味着它的输出可能会变得非常大,可能存在梯度爆炸问题。它还有个问题是左侧完全平坦,可能导致梯度消失。
ReLU计算简单,是神经网络内层最常用的激活函数。
1.4 Leaky ReLU
将ReLU函数的前半段用0.01x代替。
1.5 softmax
e-x / Sum(e-x)
输出范围介于0和1之间。
Softmax将输入归一化为概率分布。它将输入压缩为0到1范围,就像Sigmoid。
它通常在多分类场景中的输出层,Softmax确保每个类的概率之和为1。
实际上,神经网络是一系列函数的组合,有一些是线性的,有一些是非线性的,它们共同组成一个复杂的函数,将输入数据连接到我们需要的输出。
1.6 Gelu
2. 归一化 normalization
2.1 Layer normalization
3. 损失函数
3.1 sigmoid函数
3.2 KL divergence loss
3.3 reconstruction loss
4. 评价指标
4.1 BLUE 和 ROUGE/ruːʒ/
BLUE和ROUGE是机器翻译的打分指标metrics
- BLUE,Bilingual Evaluation Understudy
- ROUGE, Recall-oriented Understudy for Gisting Evaluation
参考
[1] Congying Xia. CG-BERT: Conditional Text Generation with BERT for Generalized Few-shot Intent Detection. arXiv:2004.01881v1 [cs.CL] 4 Apr 2020