热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

RNNLSTM-GRU

文章目录前言为什么引入RNN?RNN1.RNN网络结构2.RNN的两个主要应用3.RNN的两个主


文章目录

  • 前言
  • 为什么引入RNN?
  • RNN
    • 1.RNN网络结构
    • 2.RNN的两个主要应用
    • 3.RNN的两个主要应用对应的不同的Loss
    • 4.针对Loss进行反向传播
  • LSTM
  • 总结




前言


为什么引入RNN?

对于传统的神经网络来说,一般输入是不带有时间序列的,比如说输入 学生身体的各个指标进行预测是否是是具有生长缓慢或者是快速的问题,这样的输入一般是固定的序列,并且之间是没有相互影响的。然而对于具有时间先后顺序的这些问题,比如说语音识别,生成语句等问题,这样的传统的神经网络并不能很好训练。


RNN


1.RNN网络结构

在这里插入图片描述
在这里插入图片描述


2.RNN的两个主要应用

一、用于建模表示句子
将句子通过RNN,在最后一个RNN隐藏层得到该句子的表示,其实就是类似于平常的得到一个特征向量。这里就是得到这个句子的表示的特征向量。
用途:得到一个句子的表示,我们可以后续使用判别器进行判别等。
在这里插入图片描述

二、用于表示句子的上下文
这个不同于上面的,这里是表示的句子的额外信息,得到句子的上下文信息。
用途:RNN表示句子的上下文信息,接下来可根据上下文使用语言模型预测下一个单词等。
在这里插入图片描述


3.RNN的两个主要应用对应的不同的Loss

对于这两种不同的应用,一个是在最后的RNN的隐藏层得到句子的表示,就是句子的特征向量。这个loss只用考虑最后的预测结果和真实的label之间的差距即可。
另一个是得到句子的上下文语义,在每一个RNN的隐藏层都是有输出的,这里的输出的loss都是要计算的,所以total loss是所有的loss加在一起。


4.针对Loss进行反向传播

在这里插入图片描述
我们以这张图为例,只考虑 一个无偏差项的RNN,S0是固定值,没有激活函数。
前向传播:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
而激活函数的图像是;
在这里插入图片描述
可以看出tanh'x都是小于等于1的,则如果说:
w取值0-1之间,t很大的话,tanh‘都小于等于1,则连乘多个tanh’ * W就会越来越小,在越靠近输入层的权重就会几乎为0,也急速hi几乎不更新,这就是梯度消失。
w取值很大,连乘多个tanh’ * W就会趋向于无穷大,梯度过大没导致更新幅度过大,可能会溢出,无法收敛,这就是梯度爆炸。


LSTM


总结

提示:这里对文章进行总结:

例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

**注释:**这里的笔记是参考大神,大神讲解的十分透彻,自己学习了就想总总结自己以后经常来看,所以本文章不做任何的是商业用途,两个大神原文:
https://zhuanlan.zhihu.com/p/31781223

https://zhuanlan.zhihu.com/p/28687529


推荐阅读
author-avatar
QueenieYam任嘉明
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有