「深度学习」门控循环单元GRU

一、梯度消失问题

  • 梯度消失

    基础的 RNN 模型不善于处理长期依赖关系,有很多局部影响,很难调整自己前面的计算。y^{<i>} 仅仅受自己附近的值影响。

  • 解决方法:GRU 或 LSTM

  • 梯度爆炸

    反向传播时,随着层数增多,梯度不仅可能指数型下降,还有可能指数型上升 —— 会导致参数过大,网络崩溃

    解决方法:梯度修剪 —— 观察梯度向量,若大于某个阈值,则放缩梯度向量,保证其不会过大

二、GRU

目的:使隐藏层更好地捕捉深层连接,改善梯度消失的问题

1. RNN 单元

2. 简化版 GRU 单元

c = memory \space cell

c^{<t>} = a^{<t>}​​

  • c^{<t>} 的候选值:\widetilde{c}^{<t>} = tanh(w_{c}[c^{<t-1>},x^{<t>}]+b_{c})
  • 核心思想 "门" - 决定什么时候更新:\Gamma_{u} = \sigma(w_{u}[c^{<t-1>},x^{<t>}]+b_{u})

    u:“update”

    \Gamma_{u}​ 介于0到1之间,大多数情况下非常接近0或1

    sigmoid 激活函数:

  • 关键部分:c^{<t>} = \Gamma_{u}*\widetilde{c}^{<t>} + (1-\Gamma_{u})*\widetilde{c}^{<t-1>}​

    \Gamma_{u} = 1:将 c^{<t>}​​ 更新为候选值

    \Gamma_{u} = 0:保留原来的值

优点:若 \Gamma_{u} 接近0,c^{<t>}几乎等于c^{<t-1>},即使经过了很多层,c^{<t>}的值依然会被保留,故可以缓和梯度下降带来的问题。

c^{<t>} 可以是向量,用不同的bit去记忆不同的单词。

3. 完整版 GRU

\widetilde{c}^{<t>} = tanh(w_{c}[\Gamma_{r}*c^{<t-1>},x^{<t>}]+b_{c})

\Gamma_{u} = \sigma(w_{u}[c^{<t-1>},x^{<t>}]+b_{u})

  • \Gamma_{r} = \sigma(w_{r}[c^{},x^{}]+b_{u})

         r:"relevance"

         表示计算出的 \widetilde{c}^{<t>} 与 c^{<t-1>} 有多大的相关性

c^{<t>} = \Gamma_{u}*\widetilde{c}^{<t>} + (1-\Gamma_{u})*\widetilde{c}^{<t-1>}​

a^{<t>} = c^{<t>}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/455752.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

鸿蒙开发系列教程(十四)--组件导航:Tabs 导航

Tabs 导航 Tabs组件的页面组成包含两个部分&#xff0c;分别是TabContent和TabBar。TabContent是内容页&#xff0c;TabBar是导航页签栏 每一个TabContent对应的内容需要有一个页签&#xff0c;可以通过TabContent的tabBar属性进行配置 设置多个内容时&#xff0c;需在Tabs…

【力扣】无重复字符的最长子串,滑动窗口+哈希集合+优化

无重复字符的最长子串原题地址 方法一&#xff1a;滑动窗口 考虑用2个指针来维护子串&#xff0c;使得这条子串没有重复字符。 i和j表示下标&#xff0c;[i,j]表示子串&#xff0c;长度为j-i1。我们可以用i遍历字符串的所有字符&#xff0c;对于每一个i&#xff0c;都尽可能…

无人零售模式下,“IoT+鸿蒙”实现零代码搭建自动售货机监控大屏的可能性摸索

前言 新零售模式下&#xff0c;对loT的探索与应用还在继续。 而数字时代&#xff0c;数字化转型在零售行业中蔓延&#xff0c;而对于新的消费方式的探索&#xff0c;也在如火如荼的进行中。于是&#xff0c;一种新零售的形式——无人零售逐渐形成概念。 如果说&#xff0c;人…

【FPGA原型验证】FPGA 技术:芯片和工具-当今的 FPGA 器件技术

FPGA 技术&#xff1a;芯片和工具 本章的重点是基于FPGA的原型验证的现有技术&#xff0c;包括硬件和软件。它介绍了作为核心技术的 FPGA 的主要特点&#xff0c;以及与基于 FPGA 的原型开发相关的合成软件技术。以下各章将详细介绍如何使用这些技术。 首先&#xff0c;总体介绍…

部分意图分类【LLM+RAG】

在生成人工智能领域工作最有价值的事情之一就是发现新兴技术如何融入新的解决方案。 举个例子&#xff1a;在为北美顶级金融服务公司之一设计对话式人工智能助手时&#xff0c;WillowTree 的数据和人工智能研究团队 (DART) 发现&#xff0c;将意图分类与大型语言模型 (LLM) 结合…

071:vue中过滤器filters的使用方法(图文示例)

第071个 查看专栏目录: VUE ------ element UI 专栏目标 在vue和element UI联合技术栈的操控下&#xff0c;本专栏提供行之有效的源代码示例和信息点介绍&#xff0c;做到灵活运用。 提供vue2的一些基本操作&#xff1a;安装、引用&#xff0c;模板使用&#xff0c;computed&a…

linux centos 安装teleport

效果 安装 1.创建目录 mkdir -p /opt/teleport/data cd /opt/teleport/2.下载解压文件 wget https://tp4a.com/static/download/teleport-server-linux-x64-3.6.4-b3.tar.gz tar -xvf teleport-server-linux-x64-3.6.4-b3.tar.gz3.安装 cd /opt/teleport/teleport-server-l…

ShardingSphere 5.x 系列【7】元数据持久化

有道无术,术尚可求,有术无道,止于术。 本系列Spring Boot 版本 3.1.0 本系列ShardingSphere 版本 5.4.0 源码地址:https://gitee.com/pearl-organization/study-sharding-sphere-demo 文章目录 概述2. 单机模式2.1 H22.2 MySQL3. 集群模式3.1 ZooKeeper3.2 Nacos3.3 Cons…

Linux线程库封装

一 MyThread.hpp #pragma once #include<pthread.h> #include<iostream> #include<unistd.h> #include<string> #include<ctime>typedef void (*callback_t)(); static int num 1; //任务和线程绑定 class Thread {static void* Routine(void …

京东首页移动端-web实战

设置视口标签以及引入初始化样式 <link rel"stylesheet" href"./css/normalize.css"><link rel"stylesheet" href"./css/index.css"> body常用初始化样式 body {width: 100%;min-width: 320px;max-width: 640px;margin:…

leetcode1079:游戏玩法分析——求留存率

求留存率 题目描述题解 题目描述 表&#xff1a;Activity --------------------- | Column Name | Type | --------------------- | player_id | int | | device_id | int | | event_date | date | | games_played | int | --------------------- &#xff08;player_id&…

H2数据库

1.介绍 Java H2 是一个用 Java 编写的轻量级、开源的关系型数据库。它以其体积小、性能高、易于使用而闻名&#xff0c;常被用于开发和测试环境中&#xff0c;也适用于特定的生产环境。H2 数据库支持内存存储模式&#xff0c;这意味着数据可以直接存储在内存中&#xff0c;从而…