RNN – LSTM-GRU

文章目录

前言

为什么引入RNN?

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

RNN

1.RNN网络结构

RNN - LSTM-GRU
RNN - LSTM-GRU

; 2.RNN的两个主要应用

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

RNN - LSTM-GRU

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

RNN - LSTM-GRU

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

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

4.针对Loss进行反向传播

RNN - LSTM-GRU
我们以这张图为例,只考虑 一个无偏差项的RNN,S0是固定值,没有激活函数。
前向传播:
RNN - LSTM-GRU
RNN - LSTM-GRU
RNN - LSTM-GRU
RNN - LSTM-GRU
而激活函数的图像是;
RNN - LSTM-GRU
可以看出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

Original: https://blog.csdn.net/qq_45204129/article/details/123686057
Author: 码码姑娘
Title: RNN – LSTM-GRU

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/530227/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球