研究生课程:高级人工智能-第5讲 序列数据的深度学习模型
《高级人工智能》课程笔记:第5讲 序列数据的深度学习模型
第5讲 序列数据的深度学习模型
循环神经网络
序列数据建模:
- 学习序列数据,常需要转换输入序列到不同领域的输出序列
- 如果没有分离的目标序列,可以通过预测输入序列中的下一项来得到“教师信号”
- 预测序列的下一项,模糊了监督学习与非监督学习的差别
为什么不使用标准的神经网络?
- 输入和输出数据在不同例子中可以有不同的长度
- 不共享从文本的不同位置上学到的特征
RNN的特点:
- 隐藏状态可以高效存储过去的很多信息
- 非线性的状态转移可以允许通过很复杂的方式更新他们的隐藏状态
一般来说,RNN每一时间的输入和输出是不一样的
序列学习:对于序列数据是将序列项依次传入,每个序列项再对应不同的输出
时序展开:在RNN中每一个时间步骤用到的参数都是一样的
RNN可看作权值共享的多层、前向网络,训练权值约束的前向网络
Back Propagation Through Time:前向传播和反向传播
示例:
语言模型
新序列采样
字符级别的语言模型
序列生成
长序列的循环神经网络
训练长序列 (100 time steps) RNN中,梯度很容易膨胀或消散
即使好的初始化,也难以检测当前目标输出对很多步之前的输入的依赖关系
GRU
LSTM:
解决了RNN长期(like hundreds of time steps)记忆的问题
LSTM是一个存储单元,使用logistic和linear单元执行乘法运算
记忆单元:存储RNN的长期信息
LSTM vs GRU
GRU是更加简单的模型,更容易创建一个更大的网络,而且它只有两个门,在计算性上也运行得更快,可以扩大模型的规模。
LSTM更加强大和灵活,有三个门而不是两个。
双向循环神经网络(Bidirectional RNN)
深层循环神经网络(Deep RNNs)
序列模型
机器翻译
图片说明
使用集束搜索(Beam search algorithm)而不使用贪心搜索
改进集束搜索(Refinements to Beam Search),序列长度归一化
注意力模型
研究生课程:高级人工智能-第5讲 序列数据的深度学习模型
https://zhangzhao219.github.io/2022/09/28/UCAS/advanced-ai/advanced-ai-5/