Lee-ML-notes-RNN_LSTM

RNN LSTM

李宏毅机器学习课件截图 简短的笔记

RNN

循环神经网络(Recurrent Neural Network,RNN)是一种用于处理序列数据的神经网络。相比一般的神经网络来说,他能够处理序列变化的数据。比如某个单词的意思会因为上文提到的内容不同而有不同的含义,RNN就能够很好地解决这类问题。

Lee-ML-notes-RNN_LSTM
Lee-ML-notes-RNN_LSTM
Lee-ML-notes-RNN_LSTM

RNN不一定传中间的,还可以将yty^t的权重传入到下一层

Lee-ML-notes-RNN_LSTM
此外还有双向的循环神经网络 Bidirectional RNN

Lee-ML-notes-RNN_LSTM

LSTM

长短期记忆(Long short-term memory, LSTM)是一种特殊的RNN,主要是为了解决长序列训练过程中的梯度消失和梯度爆炸问题。简单来说,就是相比普通的RNN,LSTM能够在更长的序列中有更好的表现。

有四个输入和一个输出

三个门gate,输入门(Input Gate), 遗忘门(Forget Gate), 输出门(Output Gate)

记忆单元(Memory Cell)

Lee-ML-notes-RNN_LSTM
Lee-ML-notes-RNN_LSTM
LSTM举例

这里x2=1时表示输入门允许输入的相加,

当x2=-1时,遗忘门进行清零,

当x3=1的时候,输出门输出。

Lee-ML-notes-RNN_LSTM
举例两个实际运算,每个门假设是固定的这四个权重,第一个输入门趋向为关闭,如果第二个输入值为正且>1/10,会选择允许进入,否则输入为0;第二个遗忘门趋向不遗忘…

Lee-ML-notes-RNN_LSTM
Lee-ML-notes-RNN_LSTM
Lee-ML-notes-RNN_LSTM
分别输入到四个输入出
Lee-ML-notes-RNN_LSTM
Lee-ML-notes-RNN_LSTM
Lee-ML-notes-RNN_LSTM
Lee-ML-notes-RNN_LSTM
RNN存在梯度消失梯度爆炸
Lee-ML-notes-RNN_LSTM
如果一个权重只比1多了一点点,累计下去会导致输出很大

如果一个权重只比1小了一点点,累计下去会导致输出为0
Lee-ML-notes-RNN_LSTM
但是LSTM可以通过门来解决梯度消失和梯度爆炸
Lee-ML-notes-RNN_LSTM

语音识别

如果对向量序列识别出多个好好好棒棒棒棒棒,然后进行重复字删除,那么会出现一个问题:如果识别“好棒棒”呢
Lee-ML-notes-RNN_LSTM
出现了CTC的方法,对有些取null,提取的时候删除null,可解决这个问题
Lee-ML-notes-RNN_LSTM

需要这样训练,全部的可能性?
Lee-ML-notes-RNN_LSTM
Lee-ML-notes-RNN_LSTM
Lee-ML-notes-RNN_LSTM
Lee-ML-notes-RNN_LSTM
Lee-ML-notes-RNN_LSTM

ATTENTION 注意力

Lee-ML-notes-RNN_LSTM
Lee-ML-notes-RNN_LSTM
Lee-ML-notes-RNN_LSTM
Lee-ML-notes-RNN_LSTM
Lee-ML-notes-RNN_LSTM
Lee-ML-notes-RNN_LSTM
可进行融合
Lee-ML-notes-RNN_LSTM
Lee-ML-notes-RNN_LSTM
Lee-ML-notes-RNN_LSTM