基本資訊
- 原文作者:Chris Olah
- 原文位址:Deep Learning, NLP, and Representations
- 閱讀時間:2018年04月21日
主要内容
- 《深度學習,自然語言處理和表征方法》
- keywords:neural networks, deep learning, representations, NLP, recursive neural networks
- 關鍵詞:神經網絡,深度學習,表征方法,自然語言處理,遞歸神經網絡
簡介
- 深度神經網絡在模式識别(pattern recognition),計算機視覺(computer vision),語音識别(voice recognition)任務上表現出色。
- 本文綜述深度神經網絡應用在NLP上的成果
單隐層神經網絡
- 單隐層神經網絡(One Hidden Layer Neural Networks)
- 單隐層神經網絡有一個普适性(universality):給予足夠的隐結點,它可以估算任何函數
- 本質上這個理論是正确的,因為隐層可以用來做查詢表(lookup table)
- 感覺器網絡(perceptron network)
- 一個感覺器是一個非常簡單的神經元:它在超過某個門檻值(threshold)時才會觸發
- 感覺器網絡的輸入和輸出都是二進制的(0和1)
- 注意:可能的輸入個數是有限的
- 對于每個可能的輸入,可以在隐層中建構一個僅對該特定輸入才能觸發的神經元
- 然後就可以利用該神經元和輸出神經元之間的連接配接來控制該輸入下的輸出結果
- 備注1:如果有n個輸入神經元,則為所有可能的輸入建構case需要2^n個隐層神經元。不過實際中情況通常不會那麼糟糕:You can have cases that encompass multiple inputs. And you can have overlapping cases that add together to achieve the right input on their intersection.
- 普适性意味着一個網絡能适應任何你給它的訓練資料,但這并不意味着它在插入新資料點時能表現得很理想。
- 是以普适性并不能解釋為什麼神經網絡如此有效。
- 備注2:不僅感覺器網絡有普适性,多層感覺器(sigmoid neurons)網絡(及其他激活函數)也具有普适性。
詞嵌入(Word Embeddings)
- 詞嵌入其實早在十多年前就由Bengio等人提出(2001,2003)
Bengio, Yoshua, et al. “A neural probabilistic language model.” Journal of machine learning research 3.Feb (2003): 1137-1155.
- distributed representations for symbols則更早 (Hinton 1986)
- 詞嵌入是一個參數化函數(paramaterized function):将詞語映射成向量
- 一般這個參數化函數就是一個查詢表(lookup table)
- 通過任務訓練學習得到參數W,例如預測句子中下一個詞,或是預測5-gram是否成立
- 可以用t-SNE來對詞嵌入空間可視化(t-SNE是一個高維資料可視化技術)
- 意義相似的詞擁有相似的向量
- 詞嵌入另一個屬性:單詞間的類比仿佛是被編碼在了單詞向量的差別中:
- 詞嵌入中的關系對:
- 神經網絡能自動學習更好的資料表征的方法
共同表征(Shared Representations)
- 利用任務A學習到的單詞特征表示應用到其他NLP任務中:
- 預訓練(pretraining)
- 遷移學習(transfer learning)
- 多任務學習(multi-task learning)
- 雙語單詞嵌入:把漢語和英語嵌入到同一個空間去
Zou, Will Y., et al. “Bilingual word embeddings for phrase-based machine translation.” Proceedings of the 2013 Conference on Empirical Methods in Natural Language Processing. 2013.
- 我們也可以學習把非常不同的幾種資料嵌入到同一個空間去
- 例如,把單詞和圖像嵌入到同一個表征下的模型
- 基本思路就是可以通過單詞嵌入輸出的向量來對圖像進行分類:
- 狗的圖像會被映射到“狗”的單詞向量附近
- 馬的圖像會被映射到“馬”的單詞向量附近
- 汽車的圖像會被映射到“汽車”的單詞向量附近
- 以此類推
遞歸神經網絡(沒有細看)
- 遞歸神經網絡(RNN)是兩種人工神經網絡的總稱
- 一種是時間遞歸神經網絡(recurrent neural network)
- 另一種是結構遞歸神經網絡(recursive neural network)
- 時間遞歸神經網絡的神經元間連接配接構成矩陣
- 結構遞歸神經網絡利用相似的神經網絡結構遞歸構造更為複雜的深度網絡
- RNN一般指代時間遞歸神經網絡
結論
- 在優化多層模型的過程中,更好的資料表征方法會自動浮現出來