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出现的意义

我们所熟悉的CNN,它的输出都是只考虑前一个输入的影响而不考虑其它时刻输入的影响(即只能单独去处理一个又一个的输入)

但是, 对于一些与时间先后有关的, 一序列的信息(即前后输入是有关系的),比如进行文档前后文内容的预测等等, 这时候CNN的效果就不太好了。

而我们人的认知是基于过往的经验和记忆的,以此观点和对上述CNN不足的弥补,设计了不仅考虑前一时刻的输入,还能记忆网络前面的内容的循环神经网络——RNN。


二、RNN原理

1、RNN模型结构和前向传播

RNN由输入层,隐藏层和输出层组成。

其中x,s,o都是向量,分别是输入层的值,隐藏层的值和输出层的值。

U是输入层到隐藏层的权重矩阵,V是隐藏层到输出层的权重矩阵,W是隐藏层上一次的值作为这一次的输入的权重矩阵。

公式如下:

\begin{array}{l} O_{t}=g\left(V \cdot S_{t}\right) \\ S_{t}=f\left(U \cdot X_{t}+W \cdot S_{t-1}\right) \end{array}

其中f和g是激活函数,f可以是tanh,relu,sigmoid等激活函数,而g通常是softmax。

在这里U,V,W是不变的(到反向传播再变,这里只为了强调变量是后面那3个),变的是Xt,St-1和St,这里的W*St-1就是上一时刻的值的影响(正所谓过去的记忆)加入。

具体来说如下图所示按时间来展开

?2、反向传播

?每一次的输出值Ot都会产生一个误差值Et

而损失函数既可以使用交叉熵损失函数也可以使用平方误差损失函数

首先让我们看一下公式:

🎈总的误差

E=\sum_{t} e_{t}

🎈参数梯度求法

\nabla U=\frac{\partial E}{\partial U}=\sum_{t} \frac{\partial e_{t}}{\partial U}

\nabla V=\frac{\partial E}{\partial V}=\sum_{t} \frac{\partial e_{t}}{\partial V}

\nabla W=\frac{\partial E}{\partial W}=\sum_{t} \frac{\partial e_{t}}{\partial W}

由上面的公式我们可以得出他的含义:每个时刻的偏差的偏导数之和(U,V,W都是这样)

我们就以W为参照:

🌳首先将公式用链式法则展开

\frac{\partial E_{t}}{\partial W}=\frac{\partial E_{t}}{\partial o_{t}} \frac{\partial o_{t}}{\partial s_{t}} \frac{\partial s_{t}}{\partial W}

🌳然后由刚刚的式子s_{t}=f\left(U x_{t}+W s_{t-1}\right)代入,并且发现st与前面的所有时刻的s都有直接或间接的关系,可以得到下面的公式:

\frac{\partial E_{t}}{\partial W}=\sum_{k=0}^{t} \frac{\partial E_{t}}{\partial o_{t}} \frac{\partial o_{t}}{\partial s_{t}} \frac{\partial s_{t}}{\partial s_{k}} \frac{\partial s_{k}^{+}}{\partial W}

V和U的公式如下

\frac{\partial E_{t}}{\partial V}=\frac{\partial E_{t}}{\partial O_{t}} * \frac{\partial O_{t}}{\partial V}

\frac{\partial E_{t}}{\partial U}=\sum_{k=0}^{t} \frac{\partial E_{t}}{\partial o_{t}} \frac{\partial o_{t}}{\partial s_{t}} \frac{\partial\left(W^{t-k} a_{k}\right)}{\partial U}


三、RNN的应用以及不足

1、RNN应用领域

🌳自然语言处理(NLP): 主要有视频处理, 文本生成, 语言模型, 图像处理

🌳机器翻译,文本相似度计算,图像描述生成

🌳语音识别

🌳推荐

2、不足

容易出现梯度消失或者梯度爆炸的问题。

原因:长时间依赖造成过拟合导致梯度爆炸以及时间过长而造成记忆值较小从而造成梯度消失。


欢迎大家在评论区批评指正,谢谢~

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-02-16 13:05:31  更:2022-02-16 13:05:41 
 
开发: 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 20:29:12-

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