| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> GRU & LSTM -> 正文阅读 |
|
[人工智能]GRU & LSTM |
GRU是RNN的一种结构,设计思路来源于LSTM,现在大都使用GRU来代替LSTM.因为效果差不多,但是计算更简单,LSTM计算稍微复杂了点.他们都是为了解决长期记忆和反向传播中的梯度等问题而提出来的. 1.介绍一些定义 GRU里面2个重要的门控,reset和update. h为隐藏层(hidden),t,t-1, ' 表示时间状态. x为输入,y为输出 为哈达码积,即对应元素相乘 为矩阵加法操作 2.介绍一些运算 通常,RNN的计算为上一次隐藏层()+输入()得到输出(),和下一个隐藏层 在GRU内部有重置门和更新门,重置向量和更新向量具体计算步骤如下 其中为激活函数,sigmoid,W为可学习的权重矩阵,r为重置门的权重向量,z为更新门的权重向量 2.1 进一步通过重置门得到 这里的主要是包含了当前输入的数据 2.2 再来计算更新门的数据,在这个阶段,我们同时进行了遗忘和记忆两个步骤 由2.1的计算得知z为更新门权重,z越大,记忆当前状态越多,遗忘t-1状态越多.门控信号越接近1,代表”记忆“下来的数据越多;而越接近0则代表”遗忘“的越多。 GRU计算性能的提升就在于此,使用一个门控就可以同时进行遗忘和记忆 结合上述,这一步的操作就是忘记传递下来的中的某些维度信息,并加入当前节点输入的某些维度信息。 2.3 最后计算输出 这时候反过来再看这张图就很容易理解GRU是怎么运行的了 3.作为对比,看下LSTM原理 LSTM有2个隐藏层,h和c 有3个门控,f=forget,i=infomation,o=output z这一层的计算都是类似的,,输入完全相同,i,f,o的权重w不同,z为对输入的变换 tanh将数据变换为-1到1,sigmoid将数据变换为0-1作为权重 ? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 17:22:09- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |