關於機器學習的前塵往事

做者:祕塔科技CEO 閔可銳web

多年之後,面對深度學習,小明同窗回想起父親帶他第一次見識感知機(Perceptron)的那個遙遠的下午.凸函數曲線飽滿豐盈,線性分類器的切分平面潔白光滑,正負樣例一字排開.世界新生伊始,許多算法尚未名字,提到的時候尚需用手指指點點.

-《祕塔往事》算法

機器學習領域的老年人應該還記得, 2002年Michael Collins憑藉Discriminative Training Methods for Hidden Markov Models: Theory and Experiments with Perceptron Algorithms得到了該屆EMNLP會議的最佳論文.這篇論文裏Collins對可謂"史上最簡單"的機器學習算法感知機進行了擴展.感知機算法在1957年被髮明,幾乎是與"人工智能"這個詞語的提出同歲,源遠流長.Collins將其適用範圍從原來簡單的二分類,擴展到告終構化預測領域,後人稱該算法爲Structured Perceptron.這個算法能夠用兩行歸納,簡潔優美:對於訓練樣本$(x, y)$,$F(x, y)\in \mathbb R^n$爲其對應生成的特徵函數數據庫

$$ \begin{aligned} z = \arg \max_{z\in y (x)} F(x, z) \cdot w, \\ w = w + F(x, y) - F(x, z). \end{aligned} $$網絡

即,經過比較當前參數$w$與理想狀況下解碼的特徵函數差別,對參數行迭代修正. 框架

上述問題的和像上面這樣經過人工構建特徵函數$F(\cdot)$的方法,幾乎貫穿了以後10年的機器學習研究.你們致力於尋找更好的特徵構造,基於最大化Margin的權重求解(Structured SVM)等方法來推動各種預測任務的準確率.算法能夠共享,而人工特徵,則是各家公司的不宣之祕.像2010年Yahoo舉辦的Learning to Rank比賽就是一例,排序學習算法歡迎你們討論與發表,但所公佈數據具體涉及的特徵則是不能說的祕密機器學習

Feature engineering is a critical component of any learning to rank system. For this reason, search engine companies rarely disclose the features they use. Releasing the queries and urls would lead to a risk of reverse engineering of our features.

Yahoo! Learning to Rank Challenge Overview函數

這樣的人工特徵方法有幾個特色:工具

  1. $w\in \mathbb R^n$通常維度很高,由於須要構造足夠複雜的特徵使得問題線性可分
  2. 特徵$F(x, y)$每每很是稀疏,即對於一個特定的樣例$(x, y)$,只有少許的特徵非零;
  3. 雖然理論上$F(x,y)$能夠定義任意複雜的特徵,但因爲咱們但願可以高效求解$\arg \max_z F(\cdot)$,每每對所構造的特徵提出更多的獨立性假設(如Markov假設).

從2011年深度學習陸續在語音識別、圖像識別領域取得顯著提高以來,深度學習在天然語言領域的突破就被寄予厚望,但願儘量下降甚至規避掉對手工構造特徵的使用,其中的表明做如Collobert等人的Natural Language Processing (Almost) from Scratch. 經過這個階段的研究,你們的確發現,經過Embedding加上端到端訓練的方式,可以在不少問題上減小手工特徵的構造,達到與傳統方法接近或至關的準確率.另外一方面,傳統諸如POS Tagging、NER、文本分類等任務上,這樣的模型並未如你們期待的通常,在準確率上產生突破性進展,反而有以下的一些弊端:學習

  1. 速度:傳統Structured Perceptron類型的方法,其解碼(推理)的計算消耗每每在$10^5$級別,而採用DNN的模型解碼計算消耗在$10^8$級別,即使考慮到DNN的基礎矩陣乘法等運算能夠採用成熟數值計算庫來減小常數,實際解碼的速度每每也會慢上幾十倍.
  2. 特徵構造:天然語言處理中的很多問題,比起計算視覺的問題,其手動構造特徵的方法更有跡可尋,譬如對詞語進行詞幹提取(Stemming)大機率在分類任務上適用,有其內在邏輯:單詞的精細時態每每不改變其分類,而進行詞幹提取後能夠有效緩解特徵的稀疏性,從而提高泛化能力.對於深度學習,偏偏因爲咱們過於依賴其自身進行特徵發現,一些傳統上方便構造的特徵反而不容易添加進網絡.在不深刻分析任務的狀況下,咱們實際上是將本來的手工構造特徵的構造變成了調整網絡結構上的試錯,很難說後者變得更高明.
  3. 肯定性偏好:對於傳統基於線性規劃、凸優化爲基礎的模型,底層數學工具給了咱們不少諸如收斂性、惟一性等良好肯定性的結論.而當咱們選擇DNN的模型後,這些良好的數學特性被放棄掉,傳統的VC維等對問題的複雜性刻畫也退化成trivial的形式.隨之而來的初始化敏感等問題,形成很多DNN模型很難被其餘研究者復現.Google也調不出來參數怎麼辦?出一大筆錢把會調參數的團隊買下來.
  4. 真的很深嗎:和圖像上動輒7層到上百層的深度不一樣的是,你們廣泛發如今天然語言的不少問題中,2層或3層的網絡每每已經能獲得不錯的效果,繼續增長層數反而對效果有所損害.譬如Mikolov經典的Embedding計算論文Efficient Estimation of Word Representations in Vector Space就僅包含了1層隱藏層.相似的,文本分類上,在由Yoon Kim在論文 Convolutional Neural Networks for Sentence Classification 中提出較經典的結構,也僅僅包含一個卷積和池化層.

雖然道路比較曲折,在廣大研究人員的努力之下,咱們看到,一些較有突破性進展的成果也逐步浮出水面:優化

  • 神經翻譯模型:從2014年C位出道以來,因爲整個框架的簡潔性,不少研究者在此基礎上進行快速迭代改進,讓翻譯的準確率取得了實質性的突破.2018年微軟團隊發表的Achieving Human Parity on Automatic Chinese to English News Translation,基於此類框架,經過良好的工程和算法技巧,證實了神經翻譯模型在特定領域能夠達到與人類至關的翻譯水平.雖然該文章發表後激起了不少翻譯界人士的爭議和吐槽,但不能否認,機器翻譯正在逐步滲透進傳統人工翻譯領域,自底向上,將來已來.
  • 情感分析:傳統情感分析方法每每採用構造手工特徵,從最簡單的BOW到複雜的句法特徵,其中MSRA的研究A Statistical Parsing Framework for Sentiment Classification就是一篇比較深刻利用句法幫助情感分析的研究.而2017年OpenAI的Learning to Generate Reviews and Discovering Sentiment 一改以往進行愈發複雜的特徵構造的方法,採用在大規模評論數據中進行字符級語言模型訓練,發現語言模型狀態中的某維度與所要生成的句子的情感高度相關,研究將之稱爲Sentiment Neuron,是用來斷定文章情感的很是可靠的特徵.經過這樣的方法,在語言模型的狀態上進行線性分類器擬合,只須要不多量的標註數據,就可超過以前在更大標註數據上的最好結果.
  • WaveNet語音合成:比起信息檢索、圖像識別等領域,TTS語音合成領域的發展相對比較緩慢,譬如相關的採用拼接方法進行語音合成的技術已經提出了20多年時間,基本框架仍未改變.長久以來,你們對語音合成的預期也主要停留在可以聽得清,而傳統拼接方法對於音質的進一步提高所須要的指數級數據庫的增長也讓你們以爲性價比並不過高.
    深度學習良好的"曲線擬合"能力給你們留下了深入的印象,而語音合成問題,偏偏能夠建模爲基於自迴歸的曲線擬合.但一個音質基本達標的音頻數據每秒的採樣率至少是16k(16000個樣本點),頗有挑戰:
  • 計算量:和通常如NER等問題整個句子總共進行幾十次的預測不一樣的是,若是對每一個採樣點建模預測,意味着每秒鐘須要進行一萬甚至幾萬次的預測,計算量巨大.
  • 長距建模能力:採用標準的如LSTM等序列建模預測模型,通常研究者們驗證其對長距的建模能力大約爲200到2000個時間單位,因此若是按每秒16000採樣點來算,模型連0.2秒的記憶都不足,比順行性遺忘症患者還可怕.

雖然採樣點級的建模對計算資源消耗巨大,但膽大包天的DeepMind的研究員們還真把這個事情給幹成了,固然也要得益於其富二代身份,不然估計連電費都交不起.研究發表於2016年的 WaveNet: A Generative Model for Raw Audio,咱們曾經嘗試過簡單實現這個版本的模型,因爲自迴歸模型並不適合並行,即使是在Titan GPU上,合成5秒的語音大約也須要花費半小時的時間!切莫嫌久,正好能夠泡一杯花茶,安安靜靜坐下來讀一讀木心的《從前慢》.

Google與DeepMind在隨後兩年同時在模型端與硬件端進行改進,目前已經能讓該算法在TPU的加持下達到20倍實時率,順利在生產環境如Google Home產品進行大規模部署使用.

WaveNet

  • 生成式摘要:傳統上,摘要模型爲了保證所生成的文章具備流暢的可讀性,每每要麼採用抽取式--將原文中的部分句子選出拼接成一篇更短的文章,或者是模板式--將原文中的一些關鍵信息(如數字、比分等)抽取出來,填入一個預設好的模板上.雖然保證了(至少句子級)可讀性,但所產生的文章實在是了無新意.
    而Seq2seq模型在神經機器翻譯上的重大成功,讓你們考慮嘗試將摘要模型也建模爲一個相似的序列到序列預測,最初見諸Abstractive Text Summarization using Sequence-to-sequence RNNs and Beyond. 去年咱們與臺灣清華大學孫民教授組合做的A Unified Model for Extractive and Abstractive Summarization using Inconsistency Loss)將抽取式與生成式的摘要方法進行告終合,取得了很好的效果,被收錄於今年的ACL會議.
「What I cannot create, I do not understand.」

- Richard Feynman

總結來看,在通過了最初了一些迂迴嘗試以後,研究者們逐步發現,生成式模型無監督學習遷移學習相互結合的技術逐步成爲在不少問題上取得突破的關鍵.

觀察與預測

  • 硬件紅利仍將持續,五年千倍
    這個觀察主要基於三點:
  • 投入:業內多家技術公司的AI芯片的浪潮正在如火如荼的進行投入,也吸引了大量吃瓜羣衆的眼球和資本的真金白銀._後__摩爾定律_時代,經過擴展多核與專用集成電路的方式讓硬件算力仍在進行指數提高.
  • 需求:從深度學習開始發力以來,咱們對於算力的需求也是指數級增加,從AlexNet到AlphaGo Zero,短短5年時間,算力的使用增加了30萬倍!包括前文提到的WaveNet模型所須要的計算資源,在之前幾乎是不可想象的.
    在至少在將來的五年裏,咱們認爲芯片在算力上還能有千倍的增加.同時,咱們彷佛也總有方法將其用到極限,如Neural Architecture Search這類方法,對算力的需求誠如韓信點兵,多多益善.
  • 正反饋系統:咱們看到,業內的部分巨頭一方面有很強的算法設計與工程落地能力,一方面也在緊鑼密鼓的招募硬件團隊打造下一代芯片.他們既懂需求,又可以燒足夠的錢去落地硬件,而硬件的落地帶來的比較性優點可以被轉化爲產品上的優化體驗,而產品的優化體驗帶來了更高的用戶價值和收入,從而這樣的收入能夠支撐他們進行更好的人才招募與進一步的研發投入.
    如Google著名的Tensor Processing Unit (TPU),從2016年首次亮相以來,短短的2年時間,已經迭代到第三版.據傳說一個機櫃(TPU Pod)可以提供的算力已達到100P的級別.若是屬實,其理論算力幾乎和造價18億人民幣的中國超算榜第一的神威·太湖之光至關!

TPU
TPU

Pod
Pod

  • *理論有待進一步的突破*
    百度的研究人員在2017年的Deep Learning Scaling is Predictable, Empirically 研究中,經過對一系列的模型實驗(包括翻譯,語言模型,語音識別和圖像識別),發現隨着訓練數據量的變化,其錯誤率降低符合如下經驗公式:

$$ E(m) \sim \alpha m^{\beta}. $$

換句話說,在Log-log域的圖上看,隨着訓練數據的增長,錯誤率的降低近似爲一條直線.

樂觀來看,該研究發現:不斷增長數據能夠持續性給模型帶來提高,而且提高幅度具備較高的預測性;可是,研究者同時發現,前人處心積慮設計的不一樣模型(如基於Deep Speech 2與基於Attention的語音識別),雖然看上去模型結構迥異,但最終表現出來的直線斜率是幾乎一致的,即收斂速度幾乎相同,變化的只是直線的截距(intercept).這彷佛意味着:

  • 猜測A:不一樣的模型的表達能力與數據擬合能力等價,差異只在於某些結構更容易優化(採用SGD等梯度方法)找到較優解.
  • 猜測B:不一樣的模型結構和參數初始化方法潛在引入了某些先驗信息,而這些先驗信息"剛好"能過擬合某些數據集.但這些先驗並不足以影響模型收斂的速度.

不論上述哪一個猜測成立,都意味着咱們以前在模型上作的不少探索還並無觸及到問題的本質,主要是在緩解(alleviate)問題而非解決(solve)問題.咱們目前在不少網絡結構的努力,能夠類比在矩陣乘法運算中,拼命經過循環順序和換層等機制來下降$O(n^3)$算法的常數,而不是經過羣論等數學工具推導出$O(n^{2.376})$的算法.譬如,對於計算視覺中處理的大量圖片都是3維世界的2維投影,除了採用卷積暴力堆疊處理2維圖片,是否是可以利用Lie代數等結構極大減少參數空間?

過去10年機器學習領域的發展很精彩,一些相對成熟的技術也正加速在各個行業落地開花.學術方面呢,親愛的年輕人,不少修修補補的研究工做都被大家的前輩作的差很少咯,畢竟他們也有發論文畢業迎娶白富美的壓力.不要怪本身生不逢時,留給大家的,將是可讓大家名垂青史的硬骨頭.

諸君,要努力啊!

相關文章
相關標籤/搜索