| |
|
开发:
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是隐藏层上一次的值作为这一次的输入的权重矩阵。 公式如下: 其中f和g是激活函数,f可以是tanh,relu,sigmoid等激活函数,而g通常是softmax。 在这里U,V,W是不变的(到反向传播再变,这里只为了强调变量是后面那3个),变的是Xt,St-1和St,这里的W*St-1就是上一时刻的值的影响(正所谓过去的记忆)加入。 具体来说如下图所示按时间来展开 ?2、反向传播?每一次的输出值Ot都会产生一个误差值Et 而损失函数既可以使用交叉熵损失函数也可以使用平方误差损失函数 首先让我们看一下公式: 🎈总的误差 🎈参数梯度求法 由上面的公式我们可以得出他的含义:每个时刻的偏差的偏导数之和(U,V,W都是这样) 我们就以W为参照: 🌳首先将公式用链式法则展开 🌳然后由刚刚的式子代入,并且发现st与前面的所有时刻的s都有直接或间接的关系,可以得到下面的公式: V和U的公式如下 三、RNN的应用以及不足1、RNN应用领域🌳自然语言处理(NLP): 主要有视频处理, 文本生成, 语言模型, 图像处理 🌳机器翻译,文本相似度计算,图像描述生成 🌳语音识别 🌳推荐 2、不足容易出现梯度消失或者梯度爆炸的问题。 原因:长时间依赖造成过拟合导致梯度爆炸以及时间过长而造成记忆值较小从而造成梯度消失。 欢迎大家在评论区批评指正,谢谢~ |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |