深度学习:第四章:循环神经网络RNN和LSTM

深度学习:第一章:机器学习基础-CSDN博客

深度学习:第二章 人工神经网络-CSDN博客

深度学习:第三章:卷积神经网络-CSDN博客

深度学习:第四章:循环神经网络RNN和LSTM-CSDN博客

深度学习:第五章 目标检测-CSDN博客

深度学习:第六章:生成对抗网络GAN-CSDN博客


类属关系:

RNN主要作用:语音识别,文本生成等

为什么要有RNN?  传统神经网络如CNN,BP每次的输入和输出相互独立

进行两次猫狗识别,第一次的结果不会影响第二次。但很多任务后续的输出与之前的内容是相关的。如“我是中国人,我的母语是____”

RNN引入了“记忆”的概念,

循环:时间递归,______*****

输出依赖于输入和记忆

整个RNN结构共享一组(U,W,b)(往后看就知道是啥了)

RNN的提出主要是为了处理序列数据。序列数据:前面的输入和后面的输出是有关联的。如“中国人,母语是中文”

循环神经网络的结构

 

Xt是时间t处的输入

St是时间t处的“记忆”,St=f(UXt+WSt− 1),f可以是tanh等

ot是时间t出的输出

双向RNN:有些情况下,当前的输出不只依赖于之前的序列元素,还可能依赖之后的序列元素

循环神经网络结构:

one-to-n:输入不是序列而输出为序列的情况

如图像生成文字

n-to-n:最经典结构,但因为此结构要求xy等长,因此适用范围小

如视频逐帧分类;输入为字符,输出为下一个字符的概率

n-to-one:输入是一个序列,输出是一个单独的值

常处理分类问题,如:输入句子,判断感情倾向

n-to-m:编码解码结构

如机器翻译,语音识别

EOS:标记符号,表示编码阶段输入已结束

所谓编码,就是将输入序列转化成一个固定长度的向量;解码,就是将之前生成的固定向量再转化成输出序列

缺点:编码和解码之间的唯一联系是固定长度的语义向量c;编码要把整个序列的信息压缩进c;c无法完全表达整个序列的信息;先输入的内容携带的信息,会被后输入的信息稀释/覆盖掉,输入序列越长,这样的现象越严重,解码效果会大打折扣。

于是引入注意力机制:表示接下来输出的时候要重点关注输入序列中的哪些部分

 不再将整个输入序列编码为固定长度的中间向量,而是编码成一个【向量序列】。这样,在产生每一个输出的时候,都能够做到充分利用输入序列携带的信息

RNN模型在梯度下降过程中更倾向于向序列结尾处的权值的正确方向进行更新,也就是说,越远的序列输入的对权值的正确变化所能起到的“影响”越小,所以训练的结果就是往往出现偏向于新的信息,即不太能有较长的记忆功能。

长期依赖:一个输出可能需要较长一段时间之前的输入信息,RNN无法解决此问题

LSTM:有长期记忆功能

LSTM与RNN的整体结构一致,只是内部结构变了

“LSTM比RNN多了一个细胞状态,就是最上面一条线(也就是c),像一个传送带,信息可以不加改变的流动。即Ct-2可能和Ct+1存储的信息可能非常相似,所以LSTM可以解决长期依赖

h1是上一时刻的输入

决定从“细胞状态”中丢弃什么信息

黄色的那个是sigmoid函数

LSTM中所有遗忘门共享WUb

决定放什么新信息到“细胞状态”中

所有输入门共享WUb

更新“细胞状态”

基于“细胞状态”得到输出

Sigmoid函数(输出为0~1)作为激励函数,影响某个参数在输出中的影响占比

Tanh函数作为生成候选记忆C的选项

自然语言处理NLP

 

缺陷:首先,它是一个词袋模型,不考虑词与词之间的顺序。其次,它假设词与词相互独立(在大多数情况下,词与词是相互影响的)。最后,它得到的特征是离散稀疏的。

TF-IDF:词频:  N: 文档总数,   nt : 含有词t的文档数

Binary weighting:短文本相似性:

Bi-gram(2-gram)和N-gram

  优点:考虑了词的顺序

缺点:词表的膨胀

语言模型:

一句话 (词组合) 出现的概率

离散表示的问题:

无法衡量词向量之间的关系:各种度量(与或非、距离) 都不合适

词表维度随着语料库增长膨胀,n-gram词序列随语料库膨胀更快

数据稀疏,很难捕捉文本的含义

分布式表示

One hot:

分布式:

共现矩阵:将共现矩阵行(列)作为词向量

window length设为1。也就是说记录与某单词距离为1的单词频率(一般设为 5~10)

使用对称的窗函数(左右window length都为1)

单词与本身是0

存在的问题

向量维数随着词典大小线性增长,空间消耗大,稀疏性,模型欠稳定

  • 14
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值