一、深度学习
1、历史发展趋势:
- 丰富悠久的历史
- 随着可以使用的训练数据量逐渐增加,应用空间变更大
- 随着计算机硬件和深度学习软件基础架构的改善,模型规模变更大
- 随着时间推移,解决复杂应用的精度变更高
2、优势:
- 基础计算架构性能的提升
- 更大的数据集
- 更好地优化训练技术
二、RNN与LSTM算法
1、RNN(Recurrent neural network)
1、循环神经网络,一系列能够处理序列数据的神经网络的总称
- 每个时间节点产生一个输出,且隐单元间连接循环
- 每个时间节点产生一个输出,且该时间节点上的输出仅与下一时间节点的隐单元有循环连接
- RNN包含带有循环连接的隐单元,且能够处理序列数据并输出单一的预测
2、RNN的优化
缺点:处理长期依赖时,会有梯度消失和梯度膨胀的问题(距离较远节点涉及雅可比矩阵多次相乘)
解决:
- ESN(Echo State Network)
- 增加有漏单元(Leaky Units): 设计连接间的权重系数,累积距离较远节点的长期联系
- 门限RNN(Gated RNN): LSTM;允许不同时刻改变权重系数,且允许网络忘记当前已经累积的信息
2、LSTM
(1) 简述
增加输入门限、遗忘门限和输出门限,使得自循环权重变化,避免梯度消失或者梯度膨胀
LSTM的CELL示意图:
(2) 公式
遗忘门限:
输入门限:
前一时刻cell状态:
cell状态(循环发生):
输出门限:
当前单元的输出:
三、LSTM
1、核心思想
1) “cell state”
3
2) cell state也可以理解为传送带,其实就是整个模型中的记忆空间,随时间而变化
传送带本身是无法控制哪些信息是否被记忆,起控制作用的是控制门(gate)
3) 控制门的结构:
一个sigmoid函数跟点乘操作
4) 3个控制门:输入门、输出门、记忆门
2、工作原理
1) 标准LSTM结构
1) forget gate: 选择忘记过去某些信息:
2) input gate: 记忆现在某些信息
3) 过去记忆与现在记忆合并
4) output gate: 输出
2) LSTM的改善
1) peephole connections: 为每个门的输入增加一个cell state的信号
2) coupled forget and input gates: 合并忘记门和输入门
3) LSTM模型推导
1) 模型思想:将RNN中每个隐藏单元换成了具有记忆功能的cell
2) cell组成
- 输入节点(gc): 接受上一时刻点的隐藏节点的输出及当前输入作输入,然后通过一个tanh的激活函数
- 输入门(ic): 控制输入信息,门的输入为上一时刻点的隐藏节点的输出以及当前的输入,激活函数为sigmoid
- sigmoid的输出为0-1之间
- 将输入门的输出与输入节点的输出相乘可以起控制信息量的作用
- 内部状态节点(sc): 输入为被输入门过滤后的当前输入以及前一时间点的内部状态节点输出
- 忘记门(fc): 控制内部信息,门的输入为上一个时刻点的隐藏节点的输出以及当前的输入,激活函数为sigmoid
- sigmoid的输出为0-1之间
- 将内部状态节点的输出与忘记门的输出相乘可以起控制信息量的作用
- 输出门(oc): 控制输出信息,门的输入为上一个时刻点的隐藏节点的输出以及当前的输入,激活函数为sigmoid
- sigmoid的输出为0-1之间
- 将输出门的输出与内部状态节点的输出相乘可以起控制信息量的作用
3) LSTM 的计算