NNDL学习笔记
第四章
4.1 神经元
1. 基本概念
输入:该神经元获得的上一层输入——x
净输入:神经元所获得的输入信息的加权和——z
z
=
w
T
x
+
b
z = w^Tx + b
z=wTx+b
活性值:净输入经过激活函数后的输出——a
a
=
f
(
z
)
a = f(z)
a=f(z)
一个典型的神经元结构如下:
2. 激活函数
-
基本性质:①连续可导非线性;②尽可能简单;③导数值域区间合适
-
Logistic函数:
σ ( x ) = 1 1 + e x p ( − x ) \sigma(x) = \frac{1}{1 + exp(-x)} σ(x)=1+exp(−x)1
特点:①将实数域的输入挤压到0-1区间;②输入0附近近似为线性函数;③非零中心化的输出会使下一层发生偏置偏移,并使梯度下降的收敛速度变慢 -
Tanh函数:
t a n h ( x ) = e x p ( x ) − e x p ( − x ) e x p ( x ) + e x p ( − x ) tanh(x) = \frac{exp(x) - exp(-x)}{exp(x) + exp(-x)} tanh(x)=exp(x)+exp(−x)exp(x)−exp(−x)
特点:①可看作放大并平移的Logistic函数,值域为(-1,1);②输出是零中心化的;③与Logistic函数均为Sigmoid函数 -
Hard-Logistic函数与Hard-Tanh函数:
h a r d − l o g i s t i c ( x ) = m a x ( m i n ( 0.25 x + 0.5 , 1 ) , 0 ) hard-logistic(x) = max(min(0.25x+0.5, 1), 0) hard−logistic(x)=max(min(0.25x+0.5,1),0)h a r d − t a n h ( x ) = m a x ( m i n ( x , 1 ) , − 1 ) hard-tanh(x) = max(min(x, 1), -1) hard−tanh(x)=max(min(x,1),−1)
特点:①在中心使用泰勒展开线性函数代替,形成分段函数;②计算开销较小
-
ReLU函数:
R e L U ( x ) = m a x ( 0 , x ) ReLU(x) = max(0, x) ReLU(x)=max(0,x)
特点:①计算高效;②具有单侧抑制、宽兴奋边界的特点;③具有较好的稀疏性;④缓解了梯度消失问题;⑤非零中心化影响梯度下降效率⑥容易死亡 -
改进的ReLU函数:
①带泄露的ReLU(Leaky ReLU)在非零时加入一个很小的梯度。
②带参数的ReLU引入一个可学习的参数,不同神经元具有不同参数。
③ELU函数构造了一个零中心化的输出:
E L U ( x ) = m a x ( 0 , x ) + m i n ( 0 , γ ( e x p ( x ) − 1 ) ) ELU(x) = max(0, x) + min(0, \gamma(exp(x) - 1)) ELU(x)=max(0,x)+min(0,γ(exp(x)−1))
④Softplus函数构造了ReLU的平滑版本:
S o f t p l u s ( x ) = l o g ( 1 + e x p ( x ) ) Softplus(x) = log(1 + exp(x)) Softplus(x)=log(1+exp(x)) -
Swish函数:
s w i s h ( x ) = x σ ( β x ) swish(x) = x\sigma(\beta x) swish(x)=xσ(βx)
特点:①一种自门控激活函数;②可看作线性函数与ReLU函数之间的非线性插值函数,程度由参数beta控制 -
GELU函数:
G E L U ( x ) = x P ( X < = x ) GELU(x) = xP(X <= x) GELU(x)=xP(X<=x)
特点:①P函数为高斯分布的累积分布函数②可以使用Tanh函数或Logistic函数近似 -
Maxout单元:
输入为上一层的全部输出,非线性函数定义为取最大值
4.2 网络结构
-
前馈神经网络:每一层神经元接收前一层输出,并输出到下一层。
特点:①没有反向传播,可以用有向无环图表示;②可以看作通过简单非线性函数多次复合来拟合一个复杂函数;③结构简单,易于实现
-
记忆网络:神经元也可以接收自己的历史信息,在不同时间具有不同状态
特点:①具有记忆功能;②可以单向或者双向传递,具有更强的计算和记忆能力
-
图网络:一个或一组神经元组成图的一个节点,形成网络
特点:①可以处理图结构数据;②是前馈网络与记忆网络的泛化,由多种不同的实现形式
下图为三种网络结构对比:
4.3 前馈神经网络
- 基本结构:
- 通用近似定理:常见的连续非线性函数都可以用前馈神经网络来近似
- 前馈神经网络也可以看作一个特征抽取方法,将原始数据映射到一个特征空间,再连接Logistic或SoftMax分类器实现分类
- 使用梯度下降法进行参数学习
4.4 反向传播
4.5 自动梯度计算
-
数值微分:在指定点加入非零扰动,基于导数定义计算该点梯度
特点:①易于实现及计算;②难以寻找合适扰动,计算精确度不高;③计算复杂度高
-
符号微分:基于规则转换符号表达式
特点:①易于优化,平台独立;②编译时间较长;③实现难度较大
-
自动微分:将函数分解成一些基本操作,基于计算图,利用链式法则自动计算符合函数梯度
特点:①无须事先编译,便计算边记录计算图
下图为符号微分与自动微分的对比:
4.6 优化问题
- 非凸优化问题:很多损失函数是非凸函数,难以优化。
- 梯度消失问题:梯度不断衰减直至消失。