×

PyTorch教程10.2之门控循环单元(GRU)

消耗积分:0 | 格式:pdf | 大小:0.49 MB | 2023-06-05

路过秋天

分享资料个

随着 RNN,尤其是 LSTM 架构(第 10.1 节)在 2010 年代迅速流行,许多论文开始尝试简化架构,希望保留结合内部状态和乘法门机制的关键思想,但目的是加快速度上计算。门控循环单元 (GRU) Cho等人,2014 年 提供了 LSTM 记忆单元的简化版本,通常可实现相当的性能,但具有计算速度更快的优势Chung等人,2014 年

import torch
from torch import nn
from d2l import torch as d2l
from mxnet import np, npx
from mxnet.gluon import rnn
from d2l import mxnet as d2l

npx.set_np()
import jax
from flax import linen as nn
from jax import numpy as jnp
from d2l import jax as d2l
import tensorflow as tf
from d2l import tensorflow as d2l

10.2.1。重置门和更新门

在这里,LSTM 的三个门被两个替换:重置门更新门与 LSTM 一样,这些门被赋予 sigmoid 激活,迫使它们的值位于区间内(0,1). 直觉上,重置门控制着我们可能还想记住多少之前的状态。同样,更新门将允许我们控制新状态中有多少只是旧状态的副本。 图 10.2.1说明了 GRU 中重置门和更新门的输入,给定当前时间步的输入和前一时间步的隐藏状态。两个门的输出由两个具有 sigmoid 激活函数的全连接层给出。

https://file.elecfans.com/web2/M00/A9/C8/poYBAGR9NwGAXZs0AAG4kiTEU6A515.svg

图 10.2.1计算 GRU 模型中的重置门和更新门。

在数学上,对于给定的时间步长t,假设输入是一个小批量Xt∈Rn×d(示例数量:n, 输入数:d) 而前一个时间步的隐藏状态是 Ht−1∈Rn×h(隐藏单元的数量:h). 然后,复位门 Rt∈Rn×h和更新门 Zt∈Rn×h计算如下:

(10.2.1)Rt=σ(XtWxr+Ht−1Whr+br),Zt=σ(XtWxz+Ht−1Whz+bz),

在哪里 Wxr,Wxz∈Rd×hWhr,Whz∈Rh×h是权重参数和 br,bz∈R1×h是偏置参数。

10.2.2。候选隐藏状态

接下来,我们集成复位门Rt使用(9.4.5)中的定期更新机制,导致以下候选隐藏状态 H~t∈Rn×h在时间步 t:

 

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !