当前位置: 首页 > news >正文

各类神经网络学习:(七)GRU 门控循环单元(上集),详细结构说明

上一篇下一篇
LSTM(下集)GRU(下集)

GRU(门控循环单元)

它其实是 R N N RNN RNN L S T M LSTM LSTM 的折中版,有关 R N N RNN RNN L S T M LSTM LSTM 请参考往期博客。

实际应用要比 L S T M LSTM LSTM 少,往往作为一个小部件使用。

一、相关知识早知道

  1. L S T M LSTM LSTM 的区别?

    • 这两种模型其实不相上下,重点还是在于调整层数以及超参数。
    • G R U GRU GRU 的参数较少,因此其训练速度更快;也因此相比于 L S T M LSTM LSTM G R U GRU GRU 能降低过拟合风险。
    • 如果有足够的训练数据,表达能力更强的 L S T M LSTM LSTM 或许效果更佳。
  2. 为什么能缓解梯度消失和梯度爆炸?

    L S T M LSTM LSTM 一样,请参考往期博客。

二、结构图

1)单个时刻结构图

在这里插入图片描述

其内部包含三个网络层(其中两个门单元):更新门、重置门、隐层状态输出层。

两个极端情况,一是直接舍弃过去的隐层状态信息,只接受当下的输入信息;另一种是完全接受过去的隐层状态信息,并舍弃当下的输入信息。

①重置门 r t \Large r_t rt

公式: r t = σ ( W x r ⋅ x t + W h r ⋅ h t − 1 + b r ) = σ ( W r ⋅ [ x t , h t − 1 ] + b r ) \Large r_t=\sigma(W_{xr}·x_t+W_{hr}·h_{t-1}+b_r)=\sigma(W_{r}·[x_t,h_{t-1}]+b_r) rt=σ(Wxrxt+Whrht1+br)=σ(Wr[xt,ht1]+br)

σ \large \sigma σ 函数使 r t \large r_t rt 的元素处于 0 ∼ 1 0\sim1 01 ,使其对 h t − 1 \large h_{t-1} ht1 具有舍弃功能, 1 1 1 表示 “完全接受”, 0 0 0 表示 “完全忽略” (对当前时刻没有用的历史信息就给它舍弃掉)。

②更新门 z t \Large z_t zt

公式: z t = σ ( W x z ⋅ x t + W h z ⋅ h t − 1 + b z ) = σ ( W z ⋅ [ x t , h t − 1 ] + b z ) \Large z_t=\sigma(W_{xz}·x_t+W_{hz}·h_{t-1}+b_z)=\sigma(W_{z}·[x_t,h_{t-1}]+b_z) zt=σ(Wxzxt+Whzht1+bz)=σ(Wz[xt,ht1]+bz)

③隐层状态输出 h t \Large h_t ht

公式:
h ~ t = t a n h ( W x h ⋅ x t + W h h ⋅ ( r t ⊙ h t − 1 ) + b h ) h t = ( 1 − z t ) ⊙ h t − 1 + z t ⊙ h ~ t \Large \tilde{h}_t=tanh(W_{xh}·x_t+W_{hh}·(r_t⊙h_{t-1})+b_h)\\ \Large h_t = (1-z_t)⊙h_{t-1}+z_t⊙\tilde{h}_t h~t=tanh(Wxhxt+Whh(rtht1)+bh)ht=(1zt)ht1+zth~t
这里的 ⊙ ⊙ 表示:向量或矩阵的对应元素相乘。

这里的 h ~ t \large \tilde{h}_t h~t 可以理解成:是在对历史信息进行部分舍弃之后,再结合当前信息学习到的新知识(有冗余项,相当于候选的隐层状态信息输出)。

h t \large h_t ht 是在 h ~ t \large \tilde{h}_t h~t 的基础上,进一步对历史信息进行筛选,看看是不是还有一些有用的信息。

补充】:其实这里的 ( 1 − z t ) (1-z_t) (1zt) z t z_t zt 是可以交换的,固定好之后让模型自动学习即可。

2)说明:

  • r t \large r_t rt z t \large z_t zt 虽然在表达式上相差无几,不过在模型参数的不断学习中,两者的功能会自动区分开。

    r t \large r_t rt 的作用实质上是在更新 h t \large h_t ht 的时候,舍弃多少 h t − 1 \large h_{t-1} ht1 的信息(用来捕获短期依赖信息); z t \large z_t zt 的作用实质上是在更新 h t \large h_t ht 的时候,吸收多少 h t − 1 \large h_{t-1} ht1 的信息(用来捕获长期依赖信息)。

  • 隐层的尺寸一般来说都是 128 × 1 128×1 128×1 256 × 1 256×1 256×1 这些常规的尺寸。

相关文章:

  • Hadoop集群常用命令
  • Kotlin 接口详解
  • 阿里云服务器安装docker以及mysql数据库
  • 集和诚携手Intel重磅发布BRAV-7820边缘计算新品,为车路云一体化场景提供强大算力支撑
  • 鸿蒙如何通过日程管理提高直播上线率
  • 【NLP】16. NLP推理方法重点回顾 -- 52道多选题
  • C#:尝试解析方法TryParse
  • JSON.toJSONString(xxx) @JsonFormat失效
  • 米勒电容-Mos管驱动台阶
  • 系统与网络安全------Windows系统安全(3)
  • 密码学基础——密码学相关概念
  • 0基础入门scrapy 框架,获取豆瓣top250存入mysql
  • nginx作为下载服务器的设定和优化
  • 【蓝桥杯】每日练习 Day18
  • AI中的RAG技术在测试领域的探索
  • 《深度学习》——yolov4详解
  • R 语言赋能 BIOMOD2:解析物种分布模型
  • sim卡认识
  • 黑盒测试的判定表法(能对多条件依赖关系进行设计测试点)
  • 历年跨链合约恶意交易详解(一)——THORChain退款逻辑漏洞
  • 新手学做网站 pdf 网盘/自己建网站怎么推广
  • 需要企业网站建设/网上营销的平台有哪些
  • 重庆 手机网站制作/网络安全
  • 网站建设的代理/阿里指数查询手机版
  • 网站开发实习日记/百度问一问人工客服怎么联系
  • 权4网站怎么做/北京网站优化对策