李宏毅《机器学习》第36-37讲 循环神经网络

循环神经网络RNN

RNN有记忆,即使input一样,输出值也会因store内容不一样而不一样,store每次循环的时候都会叠加以前的hidden layer的output


rnn输出值因store不一样
RNN存储机制

RNN分为Elman和Jordan这两种,其中Elman存储hidden layer的output,后者存储单次网络整个的output。


Elman和Jordan

Bidirectional RNN
正向逆向都train,把正向和逆向的hidden layer的output都丢给yt


双向RNN

LSTM

给memory cell设置input gate和output gate去把控memory cell的输入和输出(个人理解相当于多了2个把门的保安)。还有一个forget gate,来决定什么时候把存在memory里的值忘记,这些都是model自己学的。


LSTM memory cell
Multiply
LSTM Example
LSTM计算

LSTM机制

Ct-1是一个vector,xt是它在时间t的input,xt乘以一个transform以后得到z,z的每一个维度代表一个memory cell的input。xt再乘以另一个transform得到zi,zi操控每一个memory cell的input gate,再乘一个transform,得到zf操控forget gate,再一个zo操控output gate。


LSTM机制1

Input到每一个cell的值是每个vector z的一个dimension,运算的时候4个z multiply。


LSTM机制2

接入下一次运算的时候还会把hidden layer的output一起传过去。


LSTM机制3

还不止,还会加peephole,就是存在memory里的值也拉过来。


LSTM机制4

LSTM训练

也是梯度下降,算法叫BPTT


BPTT

RNN训练曲线比较震荡


RNN训练曲线

为什么?RNNError surface比较陡峭


RNN Error Surface

RNN创始人的解决办法是设置clipping,就是gradient小于等于15。

RNN为什么难训练?

因为它有time sequence,同样的信息在不同的时间点被反复使用。

LSTM可以让Error surface不那么崎岖,因为它会帮助handle 梯度消失gradient vanish的问题,可以避免让gradient特别小。所以训练LSTM可以把learning rate调小一点。

为什么?


Why
  • Memory and input are added.
  • The influence never disappears unless forget gate is closed. —> No Gradient vanishing (If forget gate is opened.)


    LSTM handle gradient vanish

    所以有一个理论是LSTM的forget gate不要给它太大的bias,可以确保forget gate在大多数情况不是关闭状态(就是不forget)。
    GRU比LSTM少一个gate,它把input gate和forget gate联动,所以可以少一些参数,如果overfit可以试一下GRU。

还有一些其他防抖技术


其他防抖技术

有个神奇的paper讲RNN用identity matrix+ReLU的激活表现会比一般LSTM(用sigmoid激活)的效果好。

更多应用

Many to one

Sentiment analysis


Sentiment analysis

Key term extraction


Key term extraction

Many to Many (Output is shorter)

Speech recognition
传统RNN只能输出好棒,不能输出好棒棒


Speech recognition

怎么办?要用一招叫CTC。


CTC

CTC怎么做training?
穷举一切可能。


CTC traning

CTC例子


CTC example

Sequence to Sequence

RNN做翻译,会不知道怎么停止。


No limitation

怎么停下来?可以多加一个symbol让它断


Add a symbol

英文的声音讯号可不可以直接出来中文翻译的文字?


Machine Translation

Beyond Sequence


Syntactic parsing

Sequence-to-sequence

Auto-encoder - Text


文义辨识

input一个word sequence,通过一个recurrent network把它变成一个embadding的vector。再把这个vector当初encode的输入,再让这个decoder返回一个一摸一样的句子。就是说不需要label标注。
这个结构甚至可以hierarchical的。就是多个句子组成一个encoder。


文义辨识hierarchical

也可以用在语音上。

Sequence-to-sequence

Auto-encoder - Speech


语义辨识

还可以做语音搜索
先把语音切成一段一段,再用audio segment to vector的技术变成一个一个vector,再把提问变成一个vector,再去做比对。


语音搜索

怎么把audio segment 变成vector?
做法是先把audio segment抽成ascoustic features,然后丢到RNN Encoder里面去,最后一个时间点的值就代表了整个input的声音讯号,就是我们想要的vector。


Segment to vector

还需要train一个decoder,就是把Encoder存在memory里的值作为自己的input,当成ascoustic features,训练的target就是decoder的输出y1-y4跟x1-x4越接近越好。
RNN Encoder和Decoder是一起train的。


Auto-encoder
可视化embadding

Chat-bot

搜集对话data然后让LSTM auto-encoder去学。


聊天机器人

Attention-based Model 进阶版

Attention-based Model

Input先传进一个DNN/RNN的处理器里,这个处理器会操控一个读写头,就是Reading Head Controller,这个controller会去决定reading head放在database的位置。处理器再去Reading head里去读取information出来,再输出至output。


Reading Head Controller

这个model还有一个v2版本,就是增加一个writing head controller,处理器通过这个controller把information写进database里。这个就是大名鼎鼎的Neural Turing Machine。


Writing Head Controller

Attention-based Model应用——Reading Comprehension

就是把一堆document通过semantic analysis变成一堆vector,然后输入一个query给处理器,处理器控制Reading Head Controller,去决定现在databse里哪些句子跟现在的query相关。会从不止一个地方提取信息,最终输出成一个答案。


Reading Comprehension

一个Q&A test


Q&A test

Visual Question Answering

Visual Question Answering

怎么做呢?
输入一张图,经CNN处理,图上每一小块变成一个vector,然后输入一个query给中央处理器,处理器控制Reading Head Controller,去决定在图片上信息读取的位置。


A vector for each region

Speech Question Answering

Speech Question Answering

先让machine读一下question,把它做语义分析,再读取语音做语义分析,然后再做一个attention去决定在这段语音里哪些是跟回答问题有关。再输出答案,再在选项里选相似度最高的。


Model Architecture

一个实验


Proposed Approach

一些ref


To learn More

RNN v.s. Structured Learning

RNN和Structured Learning都可以做sequence的学习,那哪个更强?


RNN v.s. Structured Learning

整体说来RNN更强。两者也能结合起来。

RNN + Structured Learning

RNN+Structured

Speech Recognition

Semantic Tagging

Is structured learning practical?
这一段没看懂,因为还没有看结构化学习的部分


Considering GAN
Conditional GAN

未来研究方向是Deep+Structured

未来方向

总结:RNN有记忆,即使input一样,输出值也会因memory cell内容不一样而不一样,memory cell每次循环的时候都会叠加以前的hidden layer的output。LSTM可以让Error surface不那么崎岖,避免gradient过小,LSTM给memory cell设置input gate和output gate去把控memory cell的输入和输出,还有一个forget gate来决定什么时候忘记。RNN有很多应用,比如多对1(Sentiment analysis)或是多对多(Seq to Seq),Auto-encoder可以帮助LSTM做文义辨识或者语义辨识,高阶版本是attention-based,就是有一个DNN/RNN的中央处理器去控制reading甚至是writing head(划重点),这种attention-based可以解决Q&A或者阅读理解这一类复杂问题,RNN比结构化学习强,因为可以做deep,未来方向是Deep+Structured。

b站学习链接:https://www.bilibili.com/video/BV1Ht411g7Ef?p=36

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,504评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,434评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,089评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,378评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,472评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,506评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,519评论 3 413
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,292评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,738评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,022评论 2 329
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,194评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,873评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,536评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,162评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,413评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,075评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,080评论 2 352

推荐阅读更多精彩内容