IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 循环神经网络RNN -> 正文阅读

[人工智能]循环神经网络RNN

RNN

RNN的发展

在这里插入图片描述

RNN和Markov模型

共同点

描述数据时间上的依存关系

Markov模型的局限性

  • 仅对有限离散状态的描述
  • 仅描述当前时刻和前一时刻之间关系(无记忆性)
  • 隐藏层数的增加不会让模型状态值更复杂

一般结构

在这里插入图片描述
其中:

  • x t x_t xt?:t时刻输入
  • s t s_t st?:t时刻记忆(隐藏层)
  • o t o_t ot?:t时刻输出
  • U , W , V U,W,V U,W,V:连接权重
  • b b b:偏置
  • σ \sigma σ:激活函数,通常选tanh或sigmoid
  • ψ \psi ψ:通常选softmax

基础RNN

Jordan Network

在这里插入图片描述

Elman Network

在这里插入图片描述
在Jordan network基础上简化

  • 隐藏层之间传递
  • context unit无自循环

这个结构也是LSTM的基础结构

其他RNN结构

在这里插入图片描述

RNN训练方法——BPTT

BPTT(Error Back Propagation through Time)

  • 思路:定义损失函数 Loss 来表示输出值 y ^ \hat y y^?和真实标签 y y y的误差,通过链式法则自顶向下求得Loss对网络权重的偏导。沿梯度的反方向更新权重的值, 直到Loss收敛。
    在这里插入图片描述
    s t = t a n h ( U x t + W s t ? 1 ) s_t=tanh(Ux_t+Ws_{t?1}) st?=tanh(Uxt?+Wst?1?) y ^ t = s o f t m a x ( V s t ) \hat y_t=softmax(Vs_t) y^?t?=softmax(Vst?) L o s s = ∑ E t ( y t , y ^ t ) = ? ∑ y t l o g y ^ t Loss=\sum E_t(y_t,\hat y_t)=?\sum y_tlog\hat y_t Loss=Et?(yt?,y^?t?)=?yt?logy^?t?
  • 步骤
    • 计算损失函数
    • 计算损失函数对V的偏导 ? E ? V = ∑ t ? E t ? V = ∑ t ? E j ? y ^ j ? y ^ j ? s j ? s j ? V \frac{\partial E}{\partial V}=\sum_t\frac{\partial E_t}{\partial V}=\sum_t \frac{\partial E_j}{\partial \hat y_j}\frac{\partial \hat y_j}{\partial s_j}\frac{\partial s_j}{\partial V} ?V?E?=t??V?Et??=t??y^?j??Ej???sj??y^?j???V?sj??
    • 计算损失函数对W的偏导 ? E ? W = ∑ t ? E t ? W = ∑ t ∑ k = 0 j ? E j ? y ^ j ? y ^ j ? s j ( ∏ i = k + 1 j ? s i ? s i ? 1 ) ? s k ? W \frac{\partial E}{\partial W}=\sum_t\frac{\partial E_t}{\partial W}=\sum_t\sum_{k=0}^j \frac{\partial E_j}{\partial \hat y_j}\frac{\partial \hat y_j}{\partial s_j}(\prod_{i=k+1}^j\frac{\partial s_i}{\partial s_{i-1}})\frac{\partial s_k}{\partial W} ?W?E?=t??W?Et??=t?k=0j??y^?j??Ej???sj??y^?j??(i=k+1j??si?1??si??)?W?sk??
    • 计算损失函数对U的偏导 ? E ? U = ∑ t ? E t ? U = ∑ t ∑ k = 0 j ? E j ? y ^ j ? y ^ j ? s j ? s j ? s k ? s k ? U \frac{\partial E}{\partial U}=\sum_t\frac{\partial E_t}{\partial U}=\sum_t \sum_{k=0}^j \frac{\partial E_j}{\partial \hat y_j}\frac{\partial \hat y_j}{\partial s_j}\frac{\partial s_j}{\partial s_k}\frac{\partial s_k}{\partial U} ?U?E?=t??U?Et??=t?k=0j??y^?j??Ej???sj??y^?j???sk??sj???U?sk??
    • 反向更新权重

LSTM

梯度消失

  • 原因:
    • 反向传播算法采用梯度下降方法寻优
    • 采用tanh激活函数
  • 解决方法:
    • 采用ReLU激活函数
    • 引入“门”机制对细胞状态信息进行添加或删除(LSTM)

LSTM基本结构

在这里插入图片描述

一个LSTM单元由输入门、输出门和遗忘门组成,三个门控制信息进出单元。 “门”机制由一个Sigmoid激活函数层和一个向量点乘操作组成。

  • 遗忘门:控制遗忘程度 f t = σ ( W f ? [ h t ? 1 , x t ] + b f ) f_t=\sigma(W_f\cdot[h_{t?1},x_t]+b_f) ft?=σ(Wf??[ht?1?,xt?]+bf?)
  • 输入门:控制信息接收程度 i t = σ ( W i ? [ h t ? 1 , x t ] + b i ) i_t=\sigma(W_i\cdot[h_{t?1},x_t]+b_i) it?=σ(Wi??[ht?1?,xt?]+bi?) C ~ t = t a n h ( W C ? [ h t ? 1 , x t ] + b C ) \tilde C_t = tanh(W_C\cdot[h_{t?1},x_t]+b_C) C~t?=tanh(WC??[ht?1?,xt?]+bC?)
  • 输出门:控制输出认可程度 o t = σ ( W o ? [ h t ? 1 , x t ] + b o ) o_t=\sigma(W_o\cdot[h_{t?1},x_t]+b_o) ot?=σ(Wo??[ht?1?,xt?]+bo?)

状态更新 C t = f t ? C t ? 1 + i t ? C ~ t C_t=f_t?C_{t?1}+i_t? \tilde C_t Ct?=ft??Ct?1?+it??C~t? h t = o t ? t a n h ( C t ) h_t=o_t?tanh(C_t) ht?=ot??tanh(Ct?)

其他RNN

名称时间结构特点
Gated Recurrent Unit(GRU)2014$1600细胞结构本身和隐藏层重合;
仅有重置门和更新门
Peephole LSTM2014$1600门层受细胞状态C、隐层信息h、输入状态x三个参数影响
Bi-directional RNN(BRNN)1997$1600当前时间点受前后时间影响(上下文)

参考

  1. Datawhale水很深的深度学习
  2. A Critical Review of Recurrent Neural Networks for Sequence Learning
  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-12-02 16:45:14  更:2021-12-02 16:46:04 
 
开发: 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/27 2:36:52-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码