动手学深度学习 19.循环神经网络 中文教材:zh.d21.ai 英文教材:www.d2I.ai 教学视频:https:l/courses.d2l.ai/berkeley-stat-157/units/rnn.html D2L.ai
动手学深度学习 19. 循环神经网络 中文教材:zh.d2l.ai 英文教材:www.d2l.ai 教学视频:https://courses.d2l.ai/berkeley-stat-157/units/rnn.html
概要 循环神经网络 ·实现RNN语言模型 截断通过时间反向传播 ·门控循环单元(GRU) ·长短期记忆网络(LSTM) D2L.ai
概要 • 循环神经网络 • 实现 RNN 语言模型 • 截断通过时间反向传播 • 门控循环单元(GRU) • 长短期记忆网络(LSTM)
10 2 9 2 2 8 3 3 8 3 循环神经网络 7
循环神经网络
隐变量模型 ·隐含状态总结了有关过去所有的相关信息 ht f(x1,...xt-1)=f(ht-1,xt-1) p(htlht-1,xt-1),p(xtlht,xt-1) D2L.ai
隐变量模型 • 隐含状态总结了有关过去所有的相关信息 x h � ℎ! ℎ!"#, �!"# , �(�!|ℎ!, �!"#) ℎ! = �(�#, … �!"#) = �(ℎ!"#, �!"#)
循环神经网络 解释 行动 D2L.ai
循环神经网络 行动 解释
循环神经网络 输出 解释 观测 ·隐含状态更新 ht =(Whhht-1+WhxXt-1+bn) ·观察更新 ot=(Whoht +bo) D2L.ai
循环神经网络 • 隐含状态更新 • 观察更新 x h 观测 解释 �! = �(�""�!#$ + �"%�!#$ + �") �! = �(�"&�! + �&) 输出 o
代码.… D2L.ai
代码 …
实现RNN语言模型 D2L.ai
实现RNN语言模型
输入编码 需要将输入标记映射到向量 ·选择颗粒度(单词,字符,音节) ·映射到单热门编码的向量 nd.one_hot(nd.array([0,2]),vocab_size) [[1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0. 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.] [0.0.1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0. 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.] ·再乘以嵌入矩阵W D2L.ai
输入编码 • 需要将输入标记映射到向量 • 选择颗粒度(单词,字符,音节) • 映射到单热门编码的向量 • 再乘以嵌入矩阵 W
输入编码 H TI M 0 0 0 0 0 0 简洁向量V 01- 0 0 0 00 0 0 0 0 嵌入矩阵W 嵌入向量v D2L.ai
输入编码 简洁向量 � 嵌入矩阵 � T H E _ T I M E 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 1 0 0 0 嵌入向量 �’