吴恩达DeepLearningCourse5-序列模型

第一周:循环序列模型

循环神经网络(RNN)模型

吴恩达DeepLearningCourse5-序列模型

代价计算和反向传播
吴恩达DeepLearningCourse5-序列模型

更多RNN模型
吴恩达DeepLearningCourse5-序列模型

语言模型和序列生成

语言模型做的最基本工作就是输入一个文本序列,然后语言模型会估计某个句子序列中各个单词出现的可能性。
如:语言模型可以根据输入计算出两句话各自的可能性,并选择可能性较大的一句。
当序列中含有字典中不存在的单词时,使用UNK代表未知词。
训练语言模型:
吴恩达DeepLearningCourse5-序列模型

训练后对其进行取样,将y_hat1作为y_1输入到第二个单元并获得y_hat2,以此类推。

GRU(门控循环单元)

对很深的RNN网络从左到右做前向传播然后再反向传播。反向传播时只有距离较近的y才能影响附近的参数,而从输出y得到的梯度很难传播回去,影响靠前层的权重。可以使用GRU或LSTM解决远距离依赖的问题。
使用c(memory cell)记录需要保存,以备使用的值。
吴恩达DeepLearningCourse5-序列模型

LSTM(长短期记忆)

吴恩达DeepLearningCourse5-序列模型

双向循环神经网络/BRNN

基本单元不仅仅是标准 RNN 单元,也可以是 GRU单元或者 LSTM 单元。
每个单元的预测结果不仅输入了过去的信息,还考虑了未来的信息。
吴恩达DeepLearningCourse5-序列模型

深层RNN

将单层的RNN堆叠可以得到深层RNN
深层RNN的层数通常不多,因为在时间维度上,每层RNN的计算量已经很大,多层RNN堆叠的算力需求更高
吴恩达DeepLearningCourse5-序列模型