Lee-ML-notes-RNN_LSTM
RNN LSTM
李宏毅机器学习课件截图 简短的笔记
RNN
循环神经网络(Recurrent Neural Network,RNN)是一种用于处理序列数据的神经网络。相比一般的神经网络来说,他能够处理序列变化的数据。比如某个单词的意思会因为上文提到的内容不同而有不同的含义,RNN就能够很好地解决这类问题。
RNN不一定传中间的,还可以将的权重传入到下一层
此外还有双向的循环神经网络 Bidirectional RNN
LSTM
长短期记忆(Long short-term memory, LSTM)是一种特殊的RNN,主要是为了解决长序列训练过程中的梯度消失和梯度爆炸问题。简单来说,就是相比普通的RNN,LSTM能够在更长的序列中有更好的表现。
有四个输入和一个输出
三个门gate,输入门(Input Gate), 遗忘门(Forget Gate), 输出门(Output Gate)
记忆单元(Memory Cell)
LSTM举例
这里x2=1时表示输入门允许输入的相加,
当x2=-1时,遗忘门进行清零,
当x3=1的时候,输出门输出。
举例两个实际运算,每个门假设是固定的这四个权重,第一个输入门趋向为关闭,如果第二个输入值为正且>1/10,会选择允许进入,否则输入为0;第二个遗忘门趋向不遗忘…
分别输入到四个输入出
RNN存在梯度消失梯度爆炸
如果一个权重只比1多了一点点,累计下去会导致输出很大
如果一个权重只比1小了一点点,累计下去会导致输出为0
但是LSTM可以通过门来解决梯度消失和梯度爆炸
语音识别
如果对向量序列识别出多个好好好棒棒棒棒棒,然后进行重复字删除,那么会出现一个问题:如果识别“好棒棒”呢
出现了CTC的方法,对有些取null,提取的时候删除null,可解决这个问题
需要这样训练,全部的可能性?
ATTENTION 注意力
可进行融合