1982年挪丢,美國加州理工學院物理學家John hopfield 發(fā)明了一種單層反饋神經(jīng)網(wǎng)絡 Hopfield network蹂风,用來解決組合優(yōu)化問題。這是最早的RNN的雛形乾蓬。86年惠啄,michael I. Jordan 定義了recurrent的概念,提出 Jordan network。1990年, 美國認知科學家Jeffrey L. Elman 對jordan network進行了簡化,并采用BP算法進行訓練礁阁,便有了如今最簡單的包含單個自連接節(jié)點的RNN 模型巧号。但此時RNN由于梯度消失(gradient vanishing)及梯度爆炸(gradient exploding)的問題,訓練非常困難姥闭,應用非常受限丹鸿。直到1997年,人工智能研究所的主任Jurgen Schmidhuber 提出長短期記憶(LSTM)棚品,LSTM使用門控單元及記憶機制大大緩解了早期RNN訓練的問題靠欢。同樣在1997年,Mike Schuster 提出雙向RNN模型(Bidirectional RNN)铜跑。這兩種模型大大改進了早期RNN結(jié)構(gòu)门怪,拓寬了RNN的應用范圍,為后續(xù)序列建模的發(fā)展奠定了基礎锅纺。此時RNN雖然在一些序列建模任務上取得了不錯的效果掷空,但由于計算資源消耗大,后續(xù)幾年一直沒有太大的進展囤锉。
2010年坦弟,Tomas Mikolov對bengio提出的feedforward Neural network language model (NNLM) 進行了改進,提出了基于RNN的語言模型(RNN LM)官地,并將其用在語音識別任務中酿傍,大幅提升了識別精度。再此基礎上Tomas Mikolov于2013年提出了大名鼎鼎的word2vec驱入,與NNLM及RNNLM不同赤炒,word2vec的目標不再專注于建模語言模型,而是如何利用語言模型學習每個單詞的語義化向量(distributed representation)亏较,其中distributed representation概念最早要來源于Hinton 1986年的工作莺褒。Word2vec引發(fā)了深度學習在自然語言處理領(lǐng)域的浪潮,除此之外還啟發(fā)了knowledge representation宴杀,network representation等新的領(lǐng)域癣朗。
另一方面,2014年旺罢,Bengio團隊與google幾乎同時提出了seq2seq架構(gòu),將RNN用于機器翻譯绢记。沒過多久扁达,Bengio團隊又提出attention機制,對seq2seq架構(gòu)進行改進蠢熄。自此機器翻譯全面進入到神經(jīng)機器翻譯(NMT)的時代跪解,NMT不僅過程簡單,而且效果要遠超統(tǒng)計機器翻譯的效果签孔。目前主流的機器翻譯系統(tǒng)幾乎都采用了神經(jīng)機器翻譯的技術(shù)叉讥。除此之外窘行,attention機制也被廣泛用于基于深度學習的各種任務中。
近兩年图仓,相關(guān)領(lǐng)域仍有一些突破性進展罐盔,2017年,facebook人工智能實驗室提出基于卷積神經(jīng)網(wǎng)絡的seq2seq架構(gòu)救崔,將rnn替換為帶有門控單元的cnn惶看,提升效果的同時大幅加快了模型訓練速度,此后不久六孵,google提出transformer架構(gòu)纬黎,使用self-attention代替原有的RNN及CNN,更進一步降低了模型復雜度劫窒。在詞表示學習方面本今,Allen人工智能研究所2018年提出上下文相關(guān)的表示學習方法ELMo,利用雙向LSTM語言模型對不同語境下的單詞學習不同的向量表示主巍,在6個nlp任務上取得了提升诈泼。OpenAI團隊在此基礎上提出預訓練模型GPT,把LSTM替換為transformer來訓練語言模型煤禽,在應用到具體任務時铐达,與之前學習詞向量當作特征的方式不同,GPT直接在預訓練得到的語言模型最后一層接上softmax作為任務輸出層檬果,然后再對模型進行微調(diào)瓮孙,在多項任務上GPT取得了更好的效果。不久之后选脊,Google提出BERT模型杭抠,將GPT中的單向語言模型拓展為雙向語言模型(Masked Language Model),并在預訓練中引入了sentence prediction任務恳啥。BERT模型在11個任務中取得了最好的效果偏灿,是深度學習在nlp領(lǐng)域又一個里程碑式的工作。