深度學習是機器學習的一個分支,它設計大量的學習函數和概念模型。大多數機器學習須要大量的人工篩選的特徵做爲輸入,一般特徵篩選須要對數據的意義有深刻的瞭解。而且一個能很好的適用於一組數據的特徵可能並不使用於其餘數據集。深度學習算法在不一樣層次上對數據進行抽象,每個層都是根據上一個簡單的層抽象定義。這是爲何深度學習可以在複雜的任務熵表現出強大能力的緣由。html
在接下來的內容中,咱們將主要討論自動編碼器(AE)在NLP中的應用。自動編碼器是表示學習算法的一個很好的例子。它結合了編碼器功能和解碼器功能,以儘量重建輸入的方式進行訓練,同時隱藏層表示具備有用的屬性。算法
RAE是遞歸自動編碼器,假設咱們有一句話的分詞後的向量表示方式,但願從詞向量中推斷這個句子大機率。咱們先爲句子構建二叉樹結構。第一步,RAE重建兩個葉子節點,然後再每一個步驟中,重建一個葉子節點和上一個RAE中的隱藏節點,直到最後重建出整棵樹,RAE的構建方式能夠訓練任意的輸入。
網絡
咱們後面將介紹如何使用堆疊自動編碼器構建深度網絡。SAE是經過依次訓練單個自動編碼器,使用反向傳播進行微調,而後添加輸出層(例如用於分類問題的softmax層)來完成的。已經證實單獨訓練層的方法致使準確性的顯着提升。app
天然語言處理(NLP)是一個研究領域,它對涉及計算機理解人類語言的問題感興趣。NLP包含計算機科學中一些最古老,最困難的問題。近年來,深度學習使得一些看似棘手的問題取得了有但願的進展,以下所示。事實上,自動編碼器已被用於嘗試解決如下問題:機器學習
爲了讓計算機識別語言,咱們須要可以使用單詞,句子和段落並將它們映射到向量。咱們將單詞轉換爲向量的過程。有一下幾種方法,詞集模型、詞代模型、n-gram、TF-IDF、word2vec。這些是傳統的詞向量模型,由Lebret和Collobert在2015年提出的論文《「The Sum of Its Parts」:
Joint Learning of Word and Phrase Representations with Autoencoders》,它使用自動編碼器來共同窗習單詞和短語的表示。函數
機器翻譯是一個很是難的問題,它的目標是準確地將文本從一種語言翻譯成另外一種語言。
逐字翻譯的傳統方法會產生很是差的結果,部分緣由是大多數現代語言之間存在顯着的句法差別。解決方案是分析輸入語言中的語法,生成解析樹,而後執行轉換,生成一個新的解析樹,可用於生成輸出語言中的文本。
可是,因爲同音異義詞而致使錯誤:在不一樣的語境中,詞語可能會有很是不一樣的含義。解決方案是分析源語言中的語義,而後根據這個含義生成目標文本。這個含義能夠用單詞,句子和段落向量的形式編碼。
這些不一樣的方法由Vauquois金字塔顯示。一般,中間表示的深度越大,翻譯質量越高。正如Chandar和Lauly在2014年提出的論文《Bilingual Autoencoders with Global Descriptors
for Modeling Parallel Sentences》,討論如何使用自動編碼器來構建雙語單詞和短語表示,不過說到機器翻譯,不得不說的也是在2014年,由google提出的《Sequence to Sequence Learning
with Neural Networks》,其實AE和Seq2Seq有不少類似的地方。學習
文檔聚類是將文檔(例如網頁或新聞報道)聚合成不一樣類別的問題。咱們將主要討論無監督的文檔分類。這裏的挑戰是以什麼樣的方式表示文檔,使得它們能夠容易且準確地聚類。
2006年,Hinton使用自動編碼器把804414個向量下降爲2000個維度,每一個向量表明新聞專線故事中的特定單詞機率。從下面顯示的結果能夠看出,自動編碼器明顯優於基於PCA的語義分析的標準方法和Roweis在2000年提出的非線性降維算法。測試
咱們將研究情緒分析中最基本的任務:肯定陳述的情緒。換句話說,咱們想要判斷給定的文本是正面的,中性的仍是負面的。這種情緒分析在商業中具備重要的應用,例如股票預測以及產品研究和營銷。google
早期的方法只是尋找積極或消極的話語,並單獨預測這種情緒。例如,包含「好」一詞的評論多是積極的。這種方法能夠很是快速地實現,所以仍然有幾家公司使用這種方法實時對大量數據進行情緒分析。然而,這樣的策略多是不許確的(大多數研究發現這種方法對於大約60-80%的測試數據是準確)。
2011年,由R Socher、Andrew Y. Ng等人發表的論文《Semi-Supervised Recursive Autoencoders
for Predicting Sentiment Distributions》討論使用遞歸自動編碼器的方法實現情緒分析。
編碼
文本主要介紹了AE在NLP中能夠嘗試去解決的問題,其實AE能有這麼多用處,主要仍是得益於AE算法的強大的數據壓縮的功能,可以把不管什麼形式的數據壓縮到固定維度,供給進行下一步運算使用。