Recurrent Neutral Network(RNN)- 李宏毅part2

引言

 在part1中介绍了LSTM的结构,现在要研究网络如何训练,训练通常需要训练集sentence、标签label(reference vector)、损失函数定义loss
 Training:通过gradient descent调整weights,RNN需要改进成Backpropagation through time,BPTT,这里没有细讲。
 Training时loss波动大不稳定不收敛。
在这里插入图片描述
需要增加一个trick:Clipping, 给gradient设置一个threshold(阈值),使其不能大于某个值。作用是即使下一步的loss很大,网络不会调整太大。

RNN的loss不稳定原因

在这里插入图片描述
 RNN中,一个句子有多个词,每个词都按时间序列依次输入同一个网络,所以绿色的memory会多次乘上权值w。问题出现在w被反复使用。

LSTM解决gradient vanish

这里视频不具体,需参考博客点击

1、首先需要明确的是,RNN 中的梯度消失/梯度爆炸和普通的 MLP 或者深层 CNN 中梯度消失/梯度爆炸的含义不一样。MLP/CNN 中不同的层有不同的参数,各是各的梯度;而 RNN 中同样的权重在各个时间步共享,最终的梯度 g = 各个时间步的梯度 g_t 的和。
2、由 1 中所述的原因,RNN 中总的梯度是不会消失的。即便梯度越传越弱,那也只是远距离的梯度消失,由于近距离的梯度不会消失,所有梯度之和便不会消失。RNN 所谓梯度消失的真正含义是,梯度被近距离梯度主导,导致模型难以学到远距离的依赖关系。

近远距离是指不同的时间点
在这里插入图片描述
ResNet残差网络,正常的传递是x -> wx -> y= fn(wx) .残差就是x -> wx -> y = x + fn(wx) . 即保留了原来的输入。
在这里插入图片描述
我看到这还是似懂非懂,在看这篇解释

 李宏毅观点:simple RNN中的memory每个时间点都会被洗掉,影响就会消失。而LSTM中对memory的影响不会消失,除非forget gate关闭。WHAT the…不理解
什么是洗掉,两者操作不是一样的吗?

Gated Recurrent Unit(GRU)和 others

 input gate与forget gate结合一起,异或门的作用,一个关闭另一个则打开。
在这里插入图片描述

输入和输出

  • Many to one: Sentiment Analysis,如文本分类、关键词提取。因为输入是一个word sequence,所以需要RNN处理。
  • Many to Many(output is shorter):如语音识别。
  • Many to Many(No Limitation):英文翻译成中文
  • Beyond Sequence:Syntactic parsing 语法分析
涉及attention

在这里插入图片描述

涉及CTC

在这里插入图片描述

output作为输入得到第二个output没讲,增加一个标志词表示结束
16年 Alignments performed by the attention model : 将语音转英文再翻译成中文 变成 语音通过英文与中文的关系直接转成中文,过程不需要语音对应英文的样本

在这里插入图片描述

每一个类型都是一个大方向,所以这里只是介绍,等实战在研究吧

数据预处理

  • bag of word
     第一次接触在朴素贝叶斯分类垃圾邮件。统计所有单词到一个集合里面。集合没有体现word的order
    在这里插入图片描述

  • sequence to sequence auto-encoder
      cv中也有自编码,目的是提取图片特征,用较短的vetor表示图片主要信息,同时特征能够恢复为原图(近似,因为提取特征肯定会丢失信息)
      这里只是利用RNN,将句子按时间序列输入网络,最后一个时间点得到embeding vetor,而vetor能够通过decode恢复为原来句子。此时说明encode得到的vector代表了句子的信息,也包含了word的order。
      训练时不需要制作标签,因为output要近似input。
    在这里插入图片描述
    在这里插入图片描述

这里只是分级了,先把小短句encoder,在将小短句合成。
  • skip through
     auto-encoder是输入输出相同,用于分析语法;而skip through是预测下一个句子,用于提取语义。

待解决

 没学word2vec,所以下述无能为力,尽力解释。
 audio segments(word-level)–> Fixed-length vector。vector是通过auto-encoder得到的。
 方向:语音搜寻,不需语音辨识(翻译)
在这里插入图片描述

这不就是cv的以图搜图吗? off-line就是数据库,待匹配的语音;将on-line的特征(vector)与数据库中的特征比较相似度。

 方向:chat-bot,sequence to sequence learning,收集电影语句

 方向:Attention-based Model,问答系统,语义分析。attention:网络关注数据库的某一个句子

 方向:Conditional GAN,输入一句话,得到一张图

how encode to vector

  • step1 :acoustic feature具体不清楚怎么得到
    在这里插入图片描述
  • step2
    在这里插入图片描述

结束

 传统的机器学习HMM隐马尔可夫、CRF 条件随机场、SVM支持向量机,这3个比较重要,看完RNN要赶紧学一下。
 90分钟。。。这一章都是应用,我也不知道掌握啥了,了解到一些概念就行。
在这里插入图片描述
 structure learning,就是要求机器学习这个function给出的输出不是一个简单的标量或一个普通的矩阵,而是一个结构体(如sequence、graph structure、tree structure等),如目标检测给出的是一个bounding box的位置。

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页