1700538780
y=g(Vht) ,
1700538781
1700538782
(10.7)
1700538783
1700538784
1700538785
1700538786
1700538787
1700538788
,
1700538789
1700538790
(10.8)
1700538791
1700538792
1700538793
其中n为隐含层ht−1的维度(即隐含单元的个数),对应的n×n维矩阵,又被称为雅可比矩阵。
1700538794
1700538795
由于预测的误差是沿着神经网络的每一层反向传播的,因此当雅克比矩阵的最大特征值大于1时,随着离输出越来越远,每层的梯度大小会呈指数增长,导致梯度爆炸;反之,若雅克比矩阵的最大特征值小于1,梯度的大小会呈指数缩小,产生梯度消失。对于普通的前馈网络来说,梯度消失意味着无法通过加深网络层次来改善神经网络的预测效果,因为无论如何加深网络,只有靠近输出的若干层才真正起到学习的作用。这使得循环神经网络模型很难学习到输入序列中的长距离依赖关系。
1700538796
1700538797
梯度爆炸的问题可以通过梯度裁剪来缓解,即当梯度的范式大于某个给定值时,对梯度进行等比收缩。而梯度消失问题相对比较棘手,需要对模型本身进行改进。深度残差网络是对前馈神经网络的改进,通过残差学习的方式缓解了梯度消失的现象,从而使得我们能够学习到更深层的网络表示;而对于循环神经网络来说,长短时记忆模型[23]及其变种门控循环单元(Gated recurrent unit,GRU)[24]等模型通过加入门控机制,很大程度上弥补了梯度消失所带来的损失。
1700538798
1700538799
1700538800
1700538801
1700538803
百面机器学习:算法工程师带你去面试 03 循环神经网络中的激活函数
1700538804
1700538805
1700538806
1700538807
场景描述
1700538808
1700538809
我们知道,在卷积神经网络等前馈神经网络中采用ReLU激活函数通常可以有效地改善梯度消失,取得更快的收敛速度和更好的收敛结果。那么在循环神经网络中可以使用ReLU作为每层神经元的激活函数吗?
1700538810
1700538811
知识点
1700538812
1700538813
ReLU,循环神经网络,激活函数
1700538814
1700538815
问题 在循环神经网络中能否使用ReLU作为激活函数?
1700538816
1700538817
难度:★★★☆☆
1700538818
1700538819
分析与解答
1700538820
1700538821
答案是肯定的,但是需要对矩阵的初值做一定限制,否则十分容易引发数值问题。为了解释这个问题,让我们回顾一下循环神经网络的前向传播公式
1700538822
1700538823
nett=Uxt+Wht−1
1700538824
1700538825
(10.9)
1700538826
1700538827
ht=f(nett)
1700538828
1700538829
(10.10)
[
上一页 ]
[ :1.70053878e+09 ]
[
下一页 ]