百事設計出品
掃描關注網站建設微信公眾賬號

掃一掃微信二維碼

【科普系列十五】深度學習有多深? 自然語言的

百事網絡2016-05-17行業動態

 (1)

循環神經網絡, 在文字處理上的表現, 隻是小荷才露尖尖角.

自然語言處理, 英文是 Natural Language Processing (NLP).其基本定義為: 把一段文字, 轉化成一個數據結構, 力求清晰無誤地表達文字的意義.

自然語言處理包括對自然語言的理解和生成, 典型應用如機器翻譯, 文字分類, 聊天機器人等等. 通過語言溝通, 是智人和其它動物的最重要區別, 這是人工智能技術的重要基石.

衡量 NLP 表現的一個重要變量是所謂語言模型 (Language Model, 簡稱 LM) 的perplexity (困惑度). 困惑度,是一個用概率計算的基準, 借用瞭信息論創始人, 著名科學傢香農的信息熵的概念.

通俗地說, 用語言模型來評估一段測試語句的概率時, 困惑度和概率成反比, 概率越高, 困惑度越低, 語言模型越好.

打個比方, 如果有這樣一段話:
        "今天我吃瞭西紅柿炒__ "

對一個好的語言模型, 這句話後面出現的詞是"雞蛋"的概率可能是 30%, "土豆"的概率是 5%, "豆腐"的概率是 5%, 但"石頭"的概率則應當幾乎為零.

如果神經網絡的計算模型, 輸出一些胡言亂語 (語法,邏輯和語意上的各種錯誤),那麼這往往意味著這個模型,對一些不恰當的詞語,給予瞭過高的幾率, 它的困惑度, 還不夠優化.

換言之, 聊天機器人使用的語言模型, 如果困惑度足夠低,那麼它就能夠寫出流利通順和邏輯清晰的語句.

借用韓愈老師在<師說>裡的話:“機器非生而知之者,孰能無惑?". 語言模型裡進一步解惑的工具,則來自更多的數據和更精巧的算法.

    (2)

深度學習之前,傳統的基於統計算法的語言模型,在測試時困惑度大多都在 80以上 (人工語言處理的困惑度的理論最低點大約在 10-20 之間).一方面是算法的局限,另一方面是來自培訓語句數量規模的限制.

2013年,以 Ciprian Chelba 為首的來自谷歌的團隊推出瞭一個叫做"十億單詞基準"(One Billion Word Benchmark) 的語料庫.這個語料庫包含瞭接近十億個英文單詞組成的不同語句, 用來培訓和測試不同的算法模型. 這個數據規模, 是先前流行的所謂 "Penn Treebank" 的包含四百五十萬英文單詞的語料庫的大約兩百倍.

Chelba 的團隊, 使用一個包含二百億個自由參數的循環神經網絡的模型, 模型的訓練消耗瞭十天的時間, 把困惑度下降到瞭 51 左右. (同期使用傳統的統計算法, 最佳結果是 67)

2016年二月, 以 Rafal Jozefowicz 為第一作者的谷歌大腦的團隊, 發表論文, "探索語言模型的極限" (Exploring the limits of language modeling). 該團隊, 使用瞭 RNN/ LSTM 和所謂 "字母層面的卷積神經網絡" (Character-Level Convolutional Neural Network) 的技術結合的模型, 在"十億單詞基準"的測試上把困惑度降低到瞭 30. 而相應的模型自由參數的數目降到瞭隻有十億 (相當於 Chelba 團隊的模型的百分之五), 計算量大大降低.

更有意思的是,當把十個經過微調的不同參數的LSTM模型綜合起來,取其均值, 對測試數據驗證時, 其困惑度最低達 23.7.

機器越來越懂人話, 越來越會說人話瞭.

(未完待續)

【科普系列十四】循環神經網絡和言情小說

【本文作者王川,投資人,中科大少年班校友,現居加州矽谷,個人微信號9935070,微博 @ 矽谷王川,微信公眾號investguru,DevStore授權轉載。】

文章关键词
人工智能
深度學習
自然語言處理