深度学习: 激活函数 (Activation Functions)

Introduction

激活函数(activation function)层又称 非线性映射 (non-linearity mapping) 层,作用是 增加整个网络的非线性(即 表达能力抽象能力)。

深度学习之所以拥有 强大的表示能力 ,法门便在于 激活函数 的 非线性

然而物极必反。由于 非线性设计 所带来的一系列 副作用(如 期望均值不为0死区),迫使炼丹师们设计出种类繁多的激活函数来 约束 非线性 的 合理范围

由于激活函数接在bn之后,所以激活函数的输入被限制在了 (-1, 1) 之间。因此,即使是relu这种简易的激活函数,也能很好地发挥作用

激活函数类型

激活函数中,常用的有Sigmoid、tanh(x)、Relu、Relu6、Leaky Relu、参数化Relu、随机化Relu、ELU。

其中,最经典的莫过于 Sigmoid函数Relu函数

Sigmoid

Sigmoid函数,即著名的 Logistic 函数

被用作神经网络的阈值函数,将变量映射到 (0,1) 之间:

S(x)=11+e−x.S(x)=11+e−x.

{\displaystyle S(x)={\frac {1}{1+e^{-x}}}.}

缺陷:

  1. 输出值落在(0, 1)之间,期望均值为 0.5 [黄线],不符合 均值为 0 的理想状态。
  2. 受现有的梯度下降算法所限(严重依赖逐层的梯度计算值),Sigmoid函数对落入 (-∞,-5) ∪ (5,+∞) 的输入值,梯度 计算为 0,发生 梯度弥散。因此该函数存在一正一负 两块“死区”[蓝框区域]

tanh(x)

tanh是双曲函数中的一种,又名 双曲正切

tanh(x)=2S(2x)−1=ex−e−xex+e−xtanh⁡(x)=2S(2x)−1=ex−e−xex+e−x

{\displaystyle \tanh(x)={2S(2x)-1}={\frac{e^{x}-e^{-x}}{e^{x}+e^{-x}}}\,}

贡献

  1. 期望均值 平移到了 0[黄线]这一理想状态。

缺陷

  1. 本质上依然是Sigmoid函数,依然无法回避一左一右两块 “死区”[蓝框区域](此时“死区”甚至还扩张了区间范围):

Relu

Relu函数,Rectified Linear Unit,又称 修正线性单元

f(x)=max(0,x)f(x)=max(0,x)

{\displaystyle f(x)=\max(0,x)}

Relu设计已成为了当下的标配。

当下和relu相关的两大标配:

  • He初始化 (对relu网络有利);
  • conv->bn->relu (默认采用relu)。

贡献

  1. 彻底 消灭正半轴上死区
  2. 计算超简单;
  3. 正是因为AlexNet中提出了Relu,在当时很好地缓解了梯度弥散,使得网络深度的天花板第一次被打破;
  4. 该设计有助于使模型参数稀疏。

缺陷

  1. 期望均值 跑得离 0 更远了;
  2. 负半轴上死区[蓝框区域]直接蚕食到了 0点

Relu6

由于 Relu 函数正半轴 不施加任何非线性约束,因此当输入为 正大数 时,易引起 正半轴上梯度爆炸 。因此,Relu6 应运而生:

f(x)=min(max(0,x),6)f(x)=min(max(0,x),6)

{\displaystyle f(x)=\min(\max(0,x),6)}

贡献

  1. 正半轴 施加了 非线性约束
  2. 计算超简单。

缺陷

  1. 期望均值 依然不为 0
  2. 正半轴上死区 死灰复燃,从Relu的 (-∞,0) 蚕食至 Relu6的 (-∞,0) ∪ (6,+∞)

但是15年bn出来之后,输入被归一化到了 (-1, 1) 之间。因此,relu6的设计就显得没有必要了。

Leaky Relu

Relu 函数 新增一 超参数 λλ\lambda ,以解决负半轴的死区问题:

f(x)={xλx当x≥0时;当x<0时.f(x)={x当x≥0时;λx当x<0时.

f(x)=\left\{\begin{array}{ll}x &\mbox{当x≥0时;}\\\lambda x &\mbox{当x<0时.}\end{array}\right.

其中,超参数 λλ\lambda 常被设定为 0.01 或 0.001 数量级的 较小正数

贡献

  1. 负半轴上死区 也端了,从此再无死区;

缺陷

  1. 期望均值 依然不为 0
  2. 合适的 λλ\lambda 值 较难设定 且较为敏感,导致在实际使用中 性能不稳定

参数化Relu

Leaky Relu 函数 中的 超参数 λλ\lambda 设置为 和模型一起 被训练到变量,以解决λλ\lambda 值 较难设定 的问题。

贡献

  1. 更大自由度。

缺陷

  1. 更大的过拟合风险;
  2. 较为麻烦。

随机化Relu

Leaky Relu 函数 中的 超参数 λλ\lambda 随机设置

ELU

ELU函数,Exponential Linear Unit,又称 指数化线性单元 ,于2016年提出。

f(x)={xλ(exp(x)−1)当x≥0时;当x<0时.f(x)={x当x≥0时;λ(exp⁡(x)−1)当x<0时.

f(x)=\left\{\begin{array}{ll}x &\mbox{当x≥0时;}\\\lambda (\exp(x)-1) &\mbox{当x<0时.}\end{array}\right.

其中,超参数 λλ\lambda 常被设定为 1 。

贡献

  1. 完美解决了死区问题。

缺陷

  1. 期望均值 依然不为 0
  2. 计算较复杂。

其他函数

下图摘自:【机器学习】神经网络-激活函数-面面观(Activation Function)

Summary

  • Every coin has two sides.
  • Sigmoid 和 tanh(x) 不建议使用;
  • Relu最常用;
  • 为了进一步提高模型精度,Leaky Relu、参数化Relu、随机化Relu 和 ELU 均可尝试(但四者之间无绝对的高下之分)。
  • conv -> bn -> relu ” 套件目前早已成为了CNN标配module。

Test

Tensorflow中激活函数的 API使用 参见我的另一篇文章:tensorflow: 激活函数(Activation_Functions) 探究

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏潇涧技术专栏

Dog Face Recognition

采用PCA狗脸识别的方法完成下面的实验。图像特征可以采用灰度像素值、颜色直方图等。

812
来自专栏自然语言处理

一起走进条件随机场5(NLP重点理论)

矩阵表示形式前提条件:假设P(y|x)是线性链条件随机场,给定观测序列x,相应的标记序列y的条件概率。引进特殊的起点和终点状态标记y0 = start,yn+1...

922
来自专栏张俊红

朴素贝叶斯详解

总第78篇 一、统计知识 01|随机事件: 1、概念 随机事件是在随机试验中,可能出现也可能不出现,而在大量重复试验中具有某种规律性的事件叫做随机事件(简称事件...

3036
来自专栏量化投资与机器学习

【Python机器学习】系列之线性回归篇【深度详细】

谢谢大家的支持!现在该公众号开通了评论留言功能,你们对每篇推文的留言与问题,可以通过【写评论】给圈主留言,圈主会及时回复您的留言。 本次推文介绍用线性模型处理回...

1K9
来自专栏人工智能LeadAI

机器学习算法集锦

摘要: 机器学习 机器学习(Machine Learning, ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研...

3855
来自专栏大数据挖掘DT机器学习

常见的机器学习&数据挖掘数学知识点

常见的机器学习&数据挖掘数学知识点之Basis SSE(Sum of Squared Error, 平方误差和) SSE=∑i=1n(Xi−X¯¯¯)2 ...

6567
来自专栏AI研习社

硅谷网红从基础教深度学习中的数学,视频演示不可错过

Siraj Raval 作为深度学习领域的自媒体人在欧美可以说是无人不知、无人不晓。 凭借在 Youtube 上的指导视频,Siraj Raval 在全世界吸...

5099
来自专栏和蔼的张星的图像处理专栏

数字图像处理:

冈萨里斯数字图像处理的那本书的一小点点东西,数字图像处理其实是学过了的,这里我只是把这本书完整看一遍,也是略略的看,查漏补缺,前两张略过了,从第三章开始。

2554
来自专栏AI研习社

开发者自述:我是怎样理解支持向量机(SVM)与神经网络的

SVM与神经网络 支持向量机并不是神经网络,这两个完全是两条不一样的路吧。不过详细来说,线性SVM的计算部分就像一个单层的神经网络一样,而非线性SVM就完全...

3956
来自专栏SimpleAI

【DL碎片1】神经网络参数初始化的学问

从【DL笔记1】到【DL笔记N】,以及【DL碎片】系列,是我学习深度学习一路上的点点滴滴的记录,是从Coursera网课、各大博客、论文的学习以及自己的实践中总...

1534

扫码关注云+社区

领取腾讯云代金券