门控循环单元与开发环境搭建
1. 门控循环单元(GRU)
1.1 GRU 简介
长短期记忆网络(LSTM)由 Hochreiter 和 Schmidhuber 在 1997 年提出。2014 年,Cho 及其同事引入了门控循环单元(GRU),它受 LSTM 启发,但计算和实现更简单。LSTM 和 GRU 都常用于现代循环神经网络(RNN)中。
1.2 GRU 与 LSTM 的对比
观察 LSTM 单元网络时,会思考为何需要两组不同的状态,似乎用一组状态就能构建恒定误差循环(CEC)。GRU 做到了这一点,还移除了输出激活和输出门,并将记忆门和遗忘门合并为一个更新门。
1.3 GRU 的两种实现版本
GRU 有两种不同版本:重置后(Reset-after)和重置前(Reset-before)实现。
- 重置后实现 :
- 原始实现如图左侧所示,CEC 的 c - 状态从单元中移除,CEC 使用前一个时间步的输出。
- 最左侧的逻辑 sigmoid 神经元(计算值 z)是更新门,它替代了 LSTM 中的遗忘门和记忆门。当更新门输出为 1 时,CEC 用激活函数的输出更新;输出为 0 时,记住前一个时间步的状态。
- 从左数第二个逻辑 sigmoid 神经元(计算值 r)是重置门,它决定前一个时间步的状态对新计算值的影响程度。
- 重置前实现 :
- 乍一看似乎是更简单的实现,但激活神经元的输入接收向量 r * h(t - 1),需要先在单元外计算重置值向量。
- 与第一
超级会员免费看
订阅专栏 解锁全文
4万+

被折叠的 条评论
为什么被折叠?



