當前位置:成語大全網 - 書法字典 - RNN的研發過程

RNN的研發過程

1982年,美國加州理工學院物理學家約翰·霍普菲爾德發明了壹種單層反饋神經網絡hopfield網絡來解決組合優化問題。這是最早的RNN的原型。1986年,邁克爾·喬丹定義了遞歸的概念並提出了喬丹網絡。在1990中,美國認知科學家Jeffrey L. Elman對jordan網絡進行了簡化,並用BP算法對其進行了訓練,得到了具有單個自連接節點的最簡單的RNN模型。然而,由於梯度消失和梯度爆炸問題,RNN很難訓練,其應用非常有限。直到1997,人工智能研究所所長Jurgen Schmidhuber提出了長期和短期記憶(LSTM),通過使用門控單元和記憶機制,大大緩解了早期RNN訓練的問題。也是在1997中,邁克·舒斯特提出了雙向RNN模型。這兩個模型極大地改進了早期RNN結構,拓寬了RNN的應用範圍,並為後續層序建模的發展奠定了基礎。此時,盡管RNN在壹些序列建模任務中取得了良好的結果,但由於計算資源的高消耗,它在隨後的幾年中沒有取得太大進展。

在2010中,托馬斯·米科洛夫改進了本吉奧的前饋神經網絡語言模型(NNLM),並提出了壹種基於RNN(RNN·LM)的語言模型,將其用於語音識別任務,大大提高了識別精度。在此基礎上,托馬斯·米科洛夫在2013中提出了著名的word2vec。與NNLM和RNNLM不同,word2vec的目標不再是關註語言模型的建模,而是通過使用語言模型來學習每個單詞的分布式表示。分布式表示的概念源於Hinton 1986。Word2vec引發了自然語言處理領域的深度學習浪潮,此外,它還啟發了知識表示和網絡表示等新領域。

另壹方面,在2014年,本吉奧團隊和谷歌幾乎同時提出了seq2seq架構,使用RNN進行機器翻譯。不久後,Bengio團隊提出了改進seq2seq架構的註意力機制。從那時起,機器翻譯進入了神經機器翻譯(NMT)時代,它不僅過程簡單,而且遠比統計機器翻譯有效。目前,幾乎所有主流的機器翻譯系統都采用了神經機器翻譯技術。此外,註意力機制也廣泛應用於基於深度學習的各種任務中。

近兩年來,相關領域仍有壹些突破。2017 Facebook人工智能實驗室提出了基於卷積神經網絡的seq2seq架構,用帶門控單元的cnn代替rnn,在提高效果的同時大大加快了模型訓練速度。此後不久,谷歌提出了transformer架構,用自我關註取代了原來的RNN和CNN,進壹步降低了模型的復雜性。在單詞表示學習方面,艾倫人工智能研究所在2018中提出了壹種上下文敏感的表示學習方法ELMo,該方法使用雙向LSTM語言模型來學習不同上下文中單詞的不同向量表示,並在六個nlp任務中取得了改進。在此基礎上,OpenAI團隊提出了預訓練模型GPT,並用transformer代替LSTM來訓練語言模型。當應用於具體任務時,GPT直接將預訓練語言模型的最後壹層與softmax相連作為任務輸出層,然後對模型進行微調,在許多任務中取得了較好的效果。不久後,谷歌提出了BERT模型,將GPT的單向語言模型擴展為掩蔽語言模型,並將句子預測任務引入預訓練。BERT模型在11個任務中取得了最好的成績,是深度學習在nlp領域的又壹裏程碑。