Lecture 7: Introduction to Natural Language Processing (Part 2)
Language Model
Model the probability of a sentence
Using Chain Rule of probabilities
Single Language Model: N-Grams
Bi-gram Approximation:
N-gram conditional probabilities can be estimated based on raw concurrence counts in the observed sequence
Recurrent Neural Network, RNN
The same function and the same set of parameters are used at every time step.
Training
Testing
序列生成策略
- Sampling
- 根据 softmax 的输出概率分布随机采样下一个字符。
- Allows to generate diverse outputs
- ArgMax
- 每一步选择概率最大的字符作为输出。
- Could be more stable in practice
- Beam Search
- 保留 个最优路径。每次扩展所有可能字符组合后仅保留概率概率最高的 个序列。
- Typically gets the best results
Teacher Forcing
在训练时,模型在每个时间步 使用真实的目标作为下一时间步的输入,而非使用模型自己在前一时间步生成的输出。
可以加速模型收敛。
Slow move from Teacher Forcing to Sampling
每个时间步动态选择使用真实值 或使用模型自己预测的值 。
Backpropagation through time
Truncated Backpropagation through time
Run forward and backward through chunks of the sequence instead of whole sequence.
Carry hidden states forward in time forever, only backpropagate for some smaller number of steps.
Gradient Exploding / Vanishing
Exploding Gradients → Gradient Clipping
Vanishing Gradients → Change RNN architecture
Long-Short Term Memory, LSTM
LSTM 单元由四个主要部分组成:
- 遗忘门
- 输入门
- 候选记忆单元
- 输出门
遗忘门
的每个元素表示遗忘的比例,接近 1 表示保留,接近 0 表示遗忘。
输入门
- :输入门的激活值,决定候选信息的加入比例。
- :候选记忆单元,包含当前时刻的新信息。
更新 Cell 状态
遗忘旧信息 & 添加新信息。
Cell 指的是一个和长期记忆单元,存储模型需要保留的长期信息。
注意这里的更新方式是加法,从而有效避免了梯度问题。
输出门
决定输出的隐藏状态。结合 cell 状态 和输入门进行选择性的更新。