目录
图像描述
1 深度语言模型__
递归神经网络RNN
有2类:
时间递归神经网络(Recurrent Neural Network):针对时间序列
结构递归神经网络(Recursive Neural Network):针对树状结构
优化方法:时序后向传播(Back propagation through time
长时记忆/递归深度问题:梯度爆炸(Gradient exploding)→梯度剪切;梯度消失(Gradient vanishing)→特殊设计
2 RNN的应用
基于RNN语言模型。我们首先把词依次输入到循环神经网络中,每输入一个词,循环神经网络就输出截止到目前为止,下一个最可能的词。
语言模型是对下一个词出现的概率进行建模。怎样让神经网络输出概率呢?用softmax层作为神经网络的输出层。
3 朴素Vanilla-RNN
单层神经网络在时间上的扩展;t-1时刻的隐层状态(Hidden state)会参与t时刻输出的计算;严重的梯度消失问题
关键:Hidden Layer会有连向下一时间Hidden Layer的边,是全连接
还有一种结构时Bidirectional Networks,也就是说会有来自下一时间的Hidden Layer传回来的边。
4 时序后向传播(BPTT)
传统后向传播(BP)在时间序列上的扩展
t时刻的梯度是前t-1时刻所有梯度的累积
时间越长,梯度消失越严重
BPTT算法是针对循环层的训练算法,它的基本原理和BP算法是一样的,也包含同样的三个步骤∶
前向计算每个神经元的输出值;反向计算每个神经元的误差项值δ,它是误差函数E对神经元j的加权输入的偏导数net;计算每个权重的梯度。
最后再用随机梯度下降算法更新权重。
5 Vanilla-RNN vs LSTM
6 LSTM
6.1 LSTM数学模型
3个输入:
前一时刻的隐含状态h(t-1);
前一时刻的记忆状态C(t-1);
当前时刻的输入Vt;
2个输出:
当前时刻的隐含状态h(t);
当前时刻的记忆状态C(t);
6.2 LSTM控制门作用
6.3 LSTM结构图
记忆状态->信息:存储之前时刻的信息;避免长时记忆问题的核心。
控制门->选择性控制信息流入:由元素乘操作实现;配有sigmoid激活函数的神经层;值域[0,1],0不通过任何信息,1通过所有信息。
忘记门:
决定前一时刻中多少记忆状态被移除;
Sigmoid激活;
2个输入:前一时刻的隐含状态h(t-1),当前时刻的输入Xt
输入门:
决定当前时刻有多少新输入信息需要存入记忆状态;
Sigmoid激活;
2个输入:前一时刻的隐含状态h(t-1),当前时刻的输入Xt
输入调制:
决定当前时刻有多少新输入信息需要存入记忆状态;
Tanh激活;
2个输入:前一时刻的隐含状态h(t-1),当前时刻的输入Xt
记忆状态更新:
选择性移除前一时刻态的旧信息(记忆状态);
选择性添加当前时刻的新信息(调制输入)
输出门:
决定当前时刻多少记忆状态用于输出;
2个输入:前一时刻的隐含状态h(t-1),当前时刻的输入Xt;
2个激活:Tanh激活;Sigmoid激活
7 LSTM vs GRU
LSTM
模型复杂,参数多,拟合能力强;
数据要求:大规模、复杂度高;
GRU
模型精简,参数少,拟合能力相对弱;
适用于偏小规模、不是很复杂的数据;