【李宏毅机器学习】Recurrent Neural Network Part2 循环神经网络(p21) 学习笔记

李宏毅机器学习学习笔记汇总
课程链接


文章目录

  • Learning Target
  • Learning
  • Unfortunately
    • 基于RNN的的网络不总是容易去学习
    • The error surface is rough.
    • Why?为什么不好训练
  • Helpful Techniques
    • Long Short-term Memory(LSTM)
    • GRU简介
    • More Applications……
      • 输入和输出都是一个向量序列
      • 输入一个向量序列,输出是一个向量,多对一
      • 输入和输出都是向量序列,但是输出更短,多对多
        • CTC
        • CTC:Training
        • CTC:Example
      • 输入和输出都是向量序列,向量长度不同,多对多,sequence to sequence learning
      • Beyond Sequence
        • Syntactic parsing 句法分析
        • Sequence-to-sequence Auto-encoder-Text
        • Sequence-to-sequence Auto-encoder-Speech
      • Demo:Chat-bot
    • Attention-based Model
      • Attention-based Model的应用
        • 阅读理解
        • Visual Question Answer
        • Speech Question Answering
      • Mode Architecture
    • RNN vs Structured Learning
    • Integrated Together
    • Is structured learning practical?

Learning Target

【李宏毅机器学习】Recurrent Neural Network Part2 循环神经网络(p21) 学习笔记_第1张图片

Learning

RNN是也用梯度下降训练的,有一套新的算法,Backpropagation through time,在high sequence上做运算,所以BPTT要考虑时间的信息。
【李宏毅机器学习】Recurrent Neural Network Part2 循环神经网络(p21) 学习笔记_第2张图片

Unfortunately

基于RNN的的网络不总是容易去学习

【李宏毅机器学习】Recurrent Neural Network Part2 循环神经网络(p21) 学习笔记_第3张图片

The error surface is rough.

要不很扁平要不很陡峭
在悬崖上的gradient很大,但是之前的gradient很小learning rate很大,所以现在很大的gradient乘以很大的learning rate,导致参数update很大,起飞。
【李宏毅机器学习】Recurrent Neural Network Part2 循环神经网络(p21) 学习笔记_第4张图片
解决方法——clipping
设置一个阈值,高于这个阈值的值就都设置为这个阈值。
【李宏毅机器学习】Recurrent Neural Network Part2 循环神经网络(p21) 学习笔记_第5张图片

Why?为什么不好训练

举个例子
【李宏毅机器学习】Recurrent Neural Network Part2 循环神经网络(p21) 学习笔记_第6张图片

梯度爆炸,梯度消失

RNN的训练问题来自于,把同样的东西反复使用,w的改变可能会几乎没有影响(上图下面的情况),有影响的话就会是很严重的影响。(上图上面的情况)。

RNN不好训练的原因不在于激活函数,而是来自于他有high sequence,同样的weight在不同的时间点被反复地使用。

Helpful Techniques

Long Short-term Memory(LSTM)

LSTM可以让error surface不那么崎岖,可以把那些平坦的地方去除。

LSTM可以解决梯度消失的问题,但是不能解决梯度爆炸的问题。

在使用LSTM的时候,大部分地方都是变化很剧烈地,所以需要把learning rate设置的很小,进行训练。

【李宏毅机器学习】Recurrent Neural Network Part2 循环神经网络(p21) 学习笔记_第7张图片

关键点:用lstm overfitting严重,可以尝试改用GRU

GRU简介

GRU只有两个gate,需要参数量变少,所以在训练的时候比较鲁棒。 在用lstm overfitting严重,可以尝试改用GRU,GRU的精神是旧的不去新的不来,把input gate和forget gate联系起来,当input gate打开的时候,forge gate会关闭,洗掉内存中的值,只有把内存中的值清除掉,才能存入新的值。

【李宏毅机器学习】Recurrent Neural Network Part2 循环神经网络(p21) 学习笔记_第8张图片

当用一般RNN的网络时候,用单位矩阵初始化transition matrix weight转换矩阵的权重,再使用ReLU的激活函数的时候,可以得到很好的效果。

一般的训练方法,初始化weight是random的时候,ReLU与sigmoid相比,sigmoid的效果会更好,但是如果用单位矩阵初始化transition matrix weight转换矩阵的权重的情况下,使用ReLU效果更好。

当用了上述方法,使用普通RNN,他的performance就可以吊打原来的LSTM,玄学。。。

More Applications……

输入和输出都是一个向量序列

【李宏毅机器学习】Recurrent Neural Network Part2 循环神经网络(p21) 学习笔记_第9张图片

输入一个向量序列,输出是一个向量,多对一

情绪分析
【李宏毅机器学习】Recurrent Neural Network Part2 循环神经网络(p21) 学习笔记_第10张图片
【李宏毅机器学习】Recurrent Neural Network Part2 循环神经网络(p21) 学习笔记_第11张图片

输入和输出都是向量序列,但是输出更短,多对多

语音辨识
Trimming:把重复的东西删掉
【李宏毅机器学习】Recurrent Neural Network Part2 循环神经网络(p21) 学习笔记_第12张图片

CTC

【李宏毅机器学习】Recurrent Neural Network Part2 循环神经网络(p21) 学习笔记_第13张图片

CTC:Training

枚举,把所有可能的都假设做正确的。
【李宏毅机器学习】Recurrent Neural Network Part2 循环神经网络(p21) 学习笔记_第14张图片

CTC:Example

【李宏毅机器学习】Recurrent Neural Network Part2 循环神经网络(p21) 学习笔记_第15张图片

输入和输出都是向量序列,向量长度不同,多对多,sequence to sequence learning

【李宏毅机器学习】Recurrent Neural Network Part2 循环神经网络(p21) 学习笔记_第16张图片
【李宏毅机器学习】Recurrent Neural Network Part2 循环神经网络(p21) 学习笔记_第17张图片
【李宏毅机器学习】Recurrent Neural Network Part2 循环神经网络(p21) 学习笔记_第18张图片
推出一个断就停止
【李宏毅机器学习】Recurrent Neural Network Part2 循环神经网络(p21) 学习笔记_第19张图片
【李宏毅机器学习】Recurrent Neural Network Part2 循环神经网络(p21) 学习笔记_第20张图片

这样减少中间转换,会较少误差传播

Beyond Sequence

Syntactic parsing 句法分析

给machine一个句子,得到这个句子的文法树
【李宏毅机器学习】Recurrent Neural Network Part2 循环神经网络(p21) 学习笔记_第21张图片

Sequence-to-sequence Auto-encoder-Text

为了理解一个词项序列的含义,词的顺序很重要,而不可以简单使用bag of word
【李宏毅机器学习】Recurrent Neural Network Part2 循环神经网络(p21) 学习笔记_第22张图片

所以我们需要使用Sequence-to-sequence Auto-encoder的做法,来在考虑词项序列顺序的情况下,使一个document变成一个vector。

输入一个词项序列,通过一个RNN把他变成一个embedding的vector,再把这个embedding的vector作为decoder的输入,找回一个一模一样的句子。

如果RNN做到了这个事情,那么这个encoding的vector就代表了输入的词项序列的重要的信息。

【李宏毅机器学习】Recurrent Neural Network Part2 循环神经网络(p21) 学习笔记_第23张图片
在这里插入图片描述

Sequence-to-sequence Auto-encoder-Speech

把一段音频序列变成一个定长的向量。
【李宏毅机器学习】Recurrent Neural Network Part2 循环神经网络(p21) 学习笔记_第24张图片
【李宏毅机器学习】Recurrent Neural Network Part2 循环神经网络(p21) 学习笔记_第25张图片
具体用途
【李宏毅机器学习】Recurrent Neural Network Part2 循环神经网络(p21) 学习笔记_第26张图片
最后一个时间点存在内存里的值,代表了整个输入音频信号的信息。
【李宏毅机器学习】Recurrent Neural Network Part2 循环神经网络(p21) 学习笔记_第27张图片

只有一个RNN encoder没办法训练,我们还需要一个RNN decoder来把encoder存在内存中的值来当作输入,产生一个序列,希望y1和x1越接近越好,再依次产生y2,y3。。。

RNN的encoder和decoder是同时训练的。单独是无法训练的。
【李宏毅机器学习】Recurrent Neural Network Part2 循环神经网络(p21) 学习笔记_第28张图片
【李宏毅机器学习】Recurrent Neural Network Part2 循环神经网络(p21) 学习笔记_第29张图片

Demo:Chat-bot

【李宏毅机器学习】Recurrent Neural Network Part2 循环神经网络(p21) 学习笔记_第30张图片

Attention-based Model

根据一个问题,搜集组织记忆里的信息,得到一个回答
【李宏毅机器学习】Recurrent Neural Network Part2 循环神经网络(p21) 学习笔记_第31张图片
把输入传给一个中央处理器(DNN/RNN),中央处理器操控一个读控制头,读控制头来控制Reading Head的位置,读取内容,传给中央处理器,得到输出。
【李宏毅机器学习】Recurrent Neural Network Part2 循环神经网络(p21) 学习笔记_第32张图片
V2.0比前面的多一个Writing Head Controller,功能类似
【李宏毅机器学习】Recurrent Neural Network Part2 循环神经网络(p21) 学习笔记_第33张图片

Attention-based Model的应用

阅读理解

【李宏毅机器学习】Recurrent Neural Network Part2 循环神经网络(p21) 学习笔记_第34张图片
蓝色是reading head的位置,可以看到机器处理的思路过程
【李宏毅机器学习】Recurrent Neural Network Part2 循环神经网络(p21) 学习笔记_第35张图片

Visual Question Answer

【李宏毅机器学习】Recurrent Neural Network Part2 循环神经网络(p21) 学习笔记_第36张图片
【李宏毅机器学习】Recurrent Neural Network Part2 循环神经网络(p21) 学习笔记_第37张图片

Speech Question Answering

【李宏毅机器学习】Recurrent Neural Network Part2 循环神经网络(p21) 学习笔记_第38张图片

Mode Architecture

【李宏毅机器学习】Recurrent Neural Network Part2 循环神经网络(p21) 学习笔记_第39张图片

RNN vs Structured Learning

【李宏毅机器学习】Recurrent Neural Network Part2 循环神经网络(p21) 学习笔记_第40张图片

Integrated Together

输入先通过RNN,LSTM,输出再作为HMM,CRF的输入。。。
【李宏毅机器学习】Recurrent Neural Network Part2 循环神经网络(p21) 学习笔记_第41张图片
【李宏毅机器学习】Recurrent Neural Network Part2 循环神经网络(p21) 学习笔记_第42张图片
【李宏毅机器学习】Recurrent Neural Network Part2 循环神经网络(p21) 学习笔记_第43张图片
渐渐地听不懂了,,,

Is structured learning practical?

【李宏毅机器学习】Recurrent Neural Network Part2 循环神经网络(p21) 学习笔记_第44张图片
【李宏毅机器学习】Recurrent Neural Network Part2 循环神经网络(p21) 学习笔记_第45张图片
【李宏毅机器学习】Recurrent Neural Network Part2 循环神经网络(p21) 学习笔记_第46张图片
后面就没怎么听懂了QAQ

你可能感兴趣的:(Machine,Learning,机器学习,李宏毅,学习笔记)