天天看點

深度|為什麼 Deep Learning 最先在語音識别和圖像處理領域取得突破?

deep learning實際上同時推動了很多領域的發展。一個我所知道的例子是自然語言處理nlp中詞向量(word embedding)方法對傳統語言模型的提升[1];而且我相信,deep learning還會進一步推動更多ai領域的發展。

當然,深度學習deeplearning最為人所關注也表現最明顯的,就是使語音、圖像識别獲得了長足的進步。其實有的同學已經回答得很漂亮了,隻是我忍不住再談談自己的了解,抛磚引玉,大家共同讨論。

本着讀書人簡單問題複雜化……啊不,是論證完整化的标準,我覺得可以從以下三點遞進地解決題主的疑問:

1.  為什麼深度學習突然間火起來了?

2.  為什麼深度學習會應用到語音識别和圖像識别中?

3.  為什麼深度學習能成功地應用到語音、圖像識别中,取得突破?

為了讓更多對深度學習感興趣的朋友看懂,下面我盡可能地用簡單的語言來闡述下我的看法(叙述中假設你已經大緻知道什麼是深度學習和神經網絡,了解神經網絡的基本原理,順便認為你已經浏覽了其他答案)。

為什麼深度學習突然間火起來了?

談到這個問題,如果在五六年之前,很多人肯定會說是因為hinton在science上的那篇論文“reducing the dimensionality ofdata with neural networks”。

雖然神經網絡“号稱”自己可以拟合任何函數,并且可以模拟人腦的運作形式,但是這一切都是建立在神經網絡足夠深足夠大的基礎上。沒有了規模,淺層的神經網絡啥都達不到。而人們發現,優化多層神經網絡是一個高度非凸的問題,當網絡層數太多了之後,訓練就難以收斂,或者隻能收斂到一個次優的局部最優解,性能反而還不如一兩層的淺模型。這個嚴重的問題直接導緻了神經網絡方法的上一次衰敗。

在2006年hinton的那篇文章中,他提出了利用rbm預訓練的方法,即用特定結構将網絡先初始化到一個差不多“好”的程度,再回到傳統的訓練方法(反向傳播bp)。這樣得到的深度網絡似乎就能達到一個不錯的結果,從一定程度上解決了之前網絡“深不了”的問題。在這個架構下,深度學習重新得到了人們重視,一批新方法被發明出來(denoise autoencoder,dropout,relu……),都讓神經網絡有了前所未有的“更深”的可能。

但是我們現在再回過頭來看這個問題,我們應該加入兩個甚至更加關鍵的元素:大資料和高性能計算。

在如今的網際網路時代,近十年來資料量的積累是爆炸式的。幾年後人們發現,隻要有足夠多的資料,即便不做預訓練,也能使深層網絡得到非常好的結果。而針對卷積神經網絡cnn或者lstm來說,預訓練本身也不像全連接配接那麼好做了。一個技術不能很大地提升性能,還需要researcher辛辛苦苦想算法,需要程式員辛辛苦苦寫代碼,你說誰幹呢……現在的語音識别或圖像識别系統,如果擁有大量的訓練樣本,基本都是沒有預訓練步驟的。

而高性能計算是與大資料相輔相成的,想象你有好多好多資料(百萬幅圖檔,上萬小時語音),但是計算速度跟不上,訓練一個網絡需要好幾年(做機器學習的人應該知道這個完全沒有誇張吧),那這個研究也完全不必要做了吧?這也是為什麼有人認為神經網絡火起來完全是因為gpu使得計算方法更快更好了。從這個意義上,gpu并行計算的發展确實極大推動了深度學習的普及。

有大資料和高性能計算打下最堅實的基礎,人的聰明才智是無窮無盡的。那些笃信深度學習的學者們使用了各種各樣的算法激發深度學習的潛能,比如微軟的殘差學習[2]。否則,再多的資料也不能把傳統的神經網絡訓練到152層啊。

總得來說,大資料的快速積累、大規模并行計算的快速發展、新算法的不斷出現共同促使了神經網絡技術改頭換面,重出江湖。

為什麼人們會想到将深度學習應用到語音識别和圖像識别中?

衆所周知,深度學習的目标是模仿人類神經網絡感覺外部世界的方法。那麼很自然地,如果把人想象成計算機,那麼語音和圖像就是最主要的input形式(當然了,什麼氣味之類的,就屬于化學或者實體領域了……)。既然人能夠很好地識别圖像和語音,那麼自然地,我們也會希望這個試圖模仿人類大腦的深度學習算法也能像我們一樣聽清語音、看清圖檔。目前在許多重要的模式識别問題中,機器都遠遠沒有人表現得好。而如果這個方法能夠像人腦一樣工作,那它理應在這兩個領域得到接近或者乃至達到人的水準。這是非常讓人興奮,讓人覺得promising的。

(同理,文字也是重要的輸入,是以也有許多工作試圖在nlp領域應用深度學習算法。)

深度學習熱潮率先在這兩個領域刮起,當然還有一個不可忽視的因素。一個機器是否具有智能,最最基礎的就是看它能否接收到外界的視訊音頻信号。如果有算法号稱自己能夠做這件事,并且貌似靠譜的話,那麼研究機器學習的人當然是要一起從這上面下手了。你說,拉funding的人聽到你說你的機器能聽懂人說話,他能不感興趣麼!當全世界的科學家都意識到語音、圖像識别中的深度學習是個坑之後,大家必須争先往裡跳啊。

為什麼深度學習能成功地應用到語音、圖像識别中,取得突破?

當然,深度學習不是神,并不是無所不能。從上面的分析我們知道,是深度學習看起來無比光明的前景讓大家把它應用到語音、圖像領域。而它之是以能在語音和圖像領域獲得成功,又回過頭促進深度學習發展,背後必然是有一定的道理的。

第一個非常重要的原因就是問題1中提到的——大量資料(硬體裝備各個領域都一樣,就不考慮了)。為什麼這麼說?比如語音識别中用到的深度學習技術,除去最新的端到端技術,大部分都是在上世紀就已經有了的,但是到2012年,li deng和hinton等人才寫出了語音識别中劃時代的文章“deep neural networks for acoustic modeling in speech recognition”,中間差的是什麼,一個關鍵就是大量的資料。

舉個例子,一個語音識别系統,當訓練資料達到3000小時時能有較好的效果。3000小時什麼概念?可以想象一下自己聽一段演講,然後把它逐字逐句敲下來,這才多少小時?而谷歌、微軟他們的訓練資料則更是海量的幾萬個小時。同樣,在圖像識别領域,imagenet則有百萬張圖檔,這麼多的資料讓當年六萬張手寫數字的mnist情何以堪。正是這些大量的資料,使得深度學習應用到這兩個領域成為可能。

這裡可能有稍微了解語音識别的同學要提出疑問:“有很多研究機關現在研究小資料量下的深度學習,不是說必須要資料量大才管用麼?”注意,這裡所謂的小資料隻是某一類别的資料少,而全體“可用”資料仍然很多。比如在語音識别中,我可以說訓練粵語的資料量很少,但是我可以通過已有的大量國語資料,還幫助我提高識别粵語的性能。是以,最終還是需要資料作為支撐。

第二個非常非常重要的原因是——特征原始性的保留。在模式識别領域,一句重要的話是:“features matter”。如何最大限度保留原始資訊地表示輸入的特征,對于識别是一個重要的問題。神經網絡一個特點是它能夠作為特征抽取器。什麼意思呢?比如在圖像識别中,人們發現神經網絡每層的權重實際上學習到了圖像的某些“成分”;而且越高層,成分越具體。在第一層可能是一些“點”、“邊”、“拐角”等;再往上可能就是“眼角”、“嘴唇”;到最後一層可能就是臉的不同部分了。說明網絡和人腦一樣,将原始信号經過逐層的處理,最終從部分到整體抽象為我們感覺的物體。

是以這個特征抽取器對輸入有一個不小的要求:應該足夠原始并包含目标任務的資訊。顯然,假設你已經把一幅圖檔根據你的了解變成了有多少張人臉,有多少朵花,有多少棵樹統計出來的向量的話,你還怎麼指望深度學習能給你學出來什麼嘴巴鼻子眼睛,來進行人臉識别呢。

我們發現,對于語音和圖像來說,這個要求實際上是相對容易滿足的,每一幅圖像、每一段語音幀,都屬于自然界的原始信号,并且能夠清晰地反映我們要識别的人臉或者音素,我們通過盡量簡單的預處理就能将其送入神經網絡。把最主要的識别工作交給深度學習來完成。

反之,對于nlp問題來說,我們拿到的一段段文本,實際上都是由人腦處理過的,我們用什麼樣的特征來刻畫它才足夠原始呢?再比如語音信号處理的另一個任務——說話人識别,應用深度學習也是有一定困難的,一段語音中有什麼特征能夠反映一個說話人的身份,又沒有經過過多的人為處理呢?從這個角度看,這些領域深度學習的應用都沒有語音識别、圖像識别那麼簡單、自然,也沒有那麼成功。

就我感覺而言,如果你的任務能拿到原始的有效特征,資料量足夠巨大,任務本身和感覺相關(人也能完成相似的工作),那麼深度學習就極有可能帶你飛一會。隻是圖像和語音是人們最感興趣的,人們花了大量努力讓它飛起來而已(那麼多大牛在努力填坑呢)。

如此看來,深度學習在語音、圖像識别中獲得成功,也是很自然的事情了。

最後補充幾句

深度學習之是以能夠如此廣泛的成功,現在已經絕不僅僅是簡單替換原先系統中的某些部件那麼簡單,端到端的熱潮正在到來,神經網絡似乎準備接管系統的所有組成部分。

相信現在還有很多人和幾年前的我一樣,覺得深度學習隻是神經網絡方法打出的一個大噱頭,不過是用了幾十年的東西舊瓶裝新酒罷了。但是,作為一個研究語音識别的研究所學生,看到停滞了十年的識别率被深度學習再次(而且是一再)地提升後,你不得不承認它是如此的牛逼。

另一個讓我再次對深度學習肅然起敬的事情,就是alphago對人類的勝利。看到3:0時我的想法并不是很多人的:“哇塞,機器赢了,機器人是不是馬上就要統治世界了?alphago會不會通過網絡流動了每一台的電腦裡,控制我們?betacat是不是要寫好了?”

而是:“哇,深度學習居然能将圍棋模型訓練到這種程度,真的能達到人的水準!以後牛逼吹起來更有逼格了”曾經讓我覺得缺少傳統機器學習那種數學美的方法,确确實實(至少在性能上)達到了一個新的高度,真的是非常了不起。

conversational speech近十年的停滞不前和2011年的那個五角星,那是深度學習帶來的大進步

圖檔來源:http://recognize-speech.com/acoustic-model/knn/benchmarks-comparison-of-different-architectures

我想,像hilton這種見證了神經網絡三十年來的風風雨雨、潮起潮落的學者,看到神經網絡如今每一次豐碑式的成功,在心裡是會激動得老淚縱橫呢,還是早已笑看風卷雲舒。

上面所說的都是我自己個人的認識,從學術上說有的地方可能不是非常準确,而且限于篇幅讨論得也不是那麼全面,歡迎大家批評指正。

參考文獻:

[1] collobert r,weston j, bottou l. natural language processing (almost) from scratch[j].journal of machine learning research, 2011.

[2] he k, zhang x, ren s.deep residual learning for image recognition[j]. clinical orthopaedics andrelated research, 2015.

-end-

本文來源于"中國人工智能學會",原文發表時間" 2016-08-04"

繼續閱讀