威尔士柯基犬,计算机视觉,以及深度学习的力量
| 微軟亞洲研究院 2014年7月18日 | ? |
編者按:在上一篇博文中,我們介紹了Adam項目的效果及未來應用:用計算機視覺智能地識別物體?,F在讓我們走近這項技術,看大規模分布式系統如何有效地訓練巨型深度神經網絡(DNN),讓這一切成為可能。
文章譯自:On Welsh Corgis, Computer Vision, and the Power of Deep Learning?(有刪減)
你能說出兩種威爾士柯基犬之間的區別嗎?倘若作為愛狗之人,你大概能夠回答上來這個問題。但對于大多數人而言,這就有點困難了。因為他們可能根本不知道世界上有這么一種狗,更別提知道世界上有兩種——也只有兩種——威爾士柯基犬了。其實,這兩種狗都是以威爾士的郡名命名的——一種叫彭布羅克(Pembroke)威爾士柯基犬,一種叫卡迪根(Cardigan)威爾士柯基犬。能區分這兩種狗的人可以說是寥寥無幾。
但微軟的Adam卻能做到這一點。Adam是微軟研究員和工程師發起的一個項目,旨在證明大規模商用分布式系統能有效訓練巨型深層神經網絡(DNN)。為實現這一目標,微軟的研究員們打造了全球最先進的照片分類系統,使用了來自ImageNet圖片數據庫的1,400萬幅圖片,該數據庫將收錄的圖片劃分為22,000個類別,這些分屬眾多類別的圖片中有一些與犬類相關。
Adam認識狗這種動物,能從圖片中識別出狗。它能認出不同類型的狗,甚至能辨別具體的品種,比如分辨出一只柯基犬是彭布羅克犬還是卡迪根犬。
以上說的這些聽起來好像似曾相識。幾年前,美國《紐約時報》曾報道谷歌讓一個由16,000臺計算機組成的網絡系統學會了辨認貓的圖片。這對計算機來說是個艱難的任務,谷歌取得了一項了不起的成就。
目前關于Adam項目的論文正在進行學術審查,論文指出Adam的速度是上述谷歌網絡系統的50倍,準確性則是其兩倍以上。此外,?Adam也極為高效,所用機器的數量僅為谷歌網絡系統的三十分之一,兼具可擴展性,這些都是歌系統的短板。
帶頭發起Adam項目的微軟研究員Trishul Chilimbi說道:“我們最初的想法是利用商用PC構建一個極為高效且高度可擴展的分布式系統,它的訓練速度、可擴展性以及任務準確性要達到世界一流水平,以便完成重要的大規任務。聚焦于視覺技術是因為我們在這方面擁有規模最大的公用數據集。”
?“而后考慮到如果我們建成了一個真正具有可擴展性的系統,那就不妨證明一下它的可用性。挑戰在于我們能否利用這套大規模的系統有效訓練大規模的模型,使之掌握龐大的數據集。最后這一切都得到了解決。我們的系統是一種通用系統,能支持各類DNN架構的訓練。它也能用來訓練大型DNN完成語音識別和文本處理之類的任務。”
Chilimbi表示:“我們以前訓練的機器學習模型都非常非常小,尤其是跟人腦的神經元連接數量相比。谷歌的項目已經表明,如果訓練一個更大的模型、讓它掌握更多的數據,就能更好地完成諸如圖片分類的高難度人工智能(AI)任務。”
“在Adam項目上,我們試圖構建出一個可擴展性和效率都遠遠高于以往的系統,用它來訓練更大的模型,使之掌握更多的數據,同時讓任務準確性也得到提升。這項研究的總體目標,就是構筑一個可擴展的訓練系統來證明,讓系統通過訓練掌握大量數據是一條前景廣闊的道路,你不必成為機器學習專家也能十分準確地完成此類任務。利用強大的計算、模型規模和數據規模的系統驅動式方法確實是可行之道。”
很多人都說這是一項不可能完成的任務,因此這一結果令微軟更感欣喜。?
“最初邀請機器學習專家利用分布式系統進行機器學習時,我們遭到了諸多質疑。”Chilimbi說道。“基本的機器學習訓練算法是同步式的。它們通常都是始終在同一臺機器上運行。當時有人質疑分布式的可行性,認為同步成本會使這個過程進展緩慢,它永遠都不可能實現很高的性能或可擴展性。”
致力于實現DNN異步算法的團隊成員(從左至右):Karthik Kalyanaraman, Trishul Chilimbi, Johnson Apacible, Yutaka Suzue?
“我們希望的是不僅構建出異步算法,而且還要把這項工作進行到底。最后,我們找到了一個讓異步算法不僅能學習、而且還能學得更好的辦法來幫助提升穩健性。學習的關鍵并不在于訓練數據集,而是在于能有效地歸納看不見的數據。”
異步技術還帶來了另外一項優勢。“異步算法還幫助我們走出了無法有效改善任務準確性的停滯期,”Chilimbi說道,“這很像人類學習完成一項新任務時遇到的情形——在經歷了快速進步期之后,人們往往會發現自己陷入了停滯。”
微軟研究院特別項目的工程經理Johnson Apacible詳細闡述了Adam采取的方法。他解釋道:“用圖片讓小孩子識別汽車時,圖片上必須是一輛完整的汽車。而如果是成年人,即使是只瞥見一輛車的某一部分,也能認出那是一輛車。因為你經過了訓練。當汽車高速行駛時,圖像會有點模糊,但你仍然知道那是輛汽車。”?
“我們的系統就是要做到這一點。這能讓系統針對不同類型的數據、不同類型的情況進行訓練,并讓模型變得更加魯棒。”
項目于18個月前啟動,希望實現打造全功能系統的愿景。這個系統將包含端到端場景,并能夠成功實現跨越數天的持續運行。另外,這個項目還要在模型數量、訓練速度以及ImageNet海量數據的分類準確性上創造新的世界紀錄。
不僅如此,Adam項目也證明了深度學習——這種先前已經在語音領域證實了自身效用的學習機制,也同樣適用于視覺領域。此外,研究人員也對DNN的實際運行機制有了更加深入的了解。
Chilimbi說:“我們發現,隨著DNN層數的增加,準確性會得到提升,但到了一定層數后,準確性就不再提高。從兩個卷積層增加到三個卷積層,再增加到五或六個卷積層,效果似乎最好。而有趣的是,科學家研究了人類視覺皮層,他們發現,人類視覺皮層位于大腦內部約六層神經元的深度。”
“之所以說有趣,是因為這個神經網絡的每一層都會在上一層的基礎上自動學習更高層次的功能。最上面的一層學習植物、書面文字或閃光物體等高層次的概念。似乎到了再深入下去反而會進入功能遞減的階段。從生物學角度來看,這似乎也是合情合理的。“?
再回到Adam識別柯基犬的能力上,不同層次的工作原理如下:第一層學習狗的外形輪廓。第二層可能學習紋理和皮毛,第三層可能學習身體部位——耳朵和眼睛的形狀。第四層會學習更為復雜的身體部位,第五層則用于學習狗的面孔之類的高等級可識別概念。信息逐級向上傳遞,最終到達最上層,在這個過程中逐漸形成越來越復雜的視覺理解。
當被問及DNN會在多大程度上顛覆當今的計算環境時,Chilimbi又一次提到了他所說的兩個計算時代,速度越來越快的計算機和摩爾定律推動了第一個計算時代的發展,而第二個計算時代的主宰者則是互聯網、通信和連接。
他表示:“這兩個時代都帶來了深刻的變革,在這兩個時代涌現出了許多發明。如今,我們正處在真正的人工智能時代的起始階段,人工智將帶來與上述兩個時代類似的變革。當然,這些都離不開此前革命的基礎。它需要強大計算能力提供支撐,也需要數據的連通性和可用性來支持計算機學習各種有趣的東西。”
“迄今為止,計算機一直表現出極佳的數據處理能力。現在,我們開始訓練計算機識別圖案,將這兩者相結合將開啟一個嶄新的應用世界。試想一下,如果盲人用手機指向某個場景,手機就能描述出這個場景,幫助盲人觀察周圍的世界。如果我們拍下正要吃的食物,手機就能了解食物的營養信息,幫助我們做出更明智的選擇。”
關于深度學習帶來的變革,Apacible認為其關鍵就在于規模。
“計算機問世時,人們利用電子管進行編程,接下來出現了匯編語言,這給編程人員帶來了一定的幫助。隨后出現的C語言極大促進了代碼的編寫。如今,我們來到了數據時代,我們所能獲得的數據越來越多。研發像必應這樣的產品就需要數百次機器學習的經歷,才能得出具有良好相關性的模型。”
“如果涉及到數以百萬計規模的圖片,光是開發一個模型可能就需要成百上千的機器學習專家。Adam系統的實現向我們證明了DNN可以掌控如此大的規模。我們不需要機器學習專家來找出是什么使這張圖看起來像一只狗。系統會自動學習這一點。這就是規模大的優勢。“?
我們可以為系統提供圖像、語音和文本等多種形式的海量數據,利用這種規模來訓練系統,使之能夠表現、理解并幫助我們闡釋周圍的世界。
如今一談到DNN,總是會提到深度學習的神奇背后隱藏著怎樣的奧秘。
Chilimbi說道:“我們尚未了解清楚的是,當我們僅提供給DNN一張圖片并告訴它‘這是一只彭布羅克威爾士柯基犬’時,它是如何將這張圖片分解為不同的特征層的?”
“我們沒有提供任何這方面的指示。我們僅僅只是訓練了算法,并指明‘這是圖像,這是標簽’。它就能自動識別出這些層級特征。這仍然是個謎題,我們對這個過程知之甚少。但是,大自然花了數百萬年的時間才奇跡般地塑造出了大腦,所以要揭開這個奧秘自然也需要費些時間。“
但是,DNN并不是絕無僅有的個例。?
Chilimbi說:“這就像20世紀初的量子物理學,實驗主義者和實踐工作者走在了理論家的前面,他們無法解釋實驗結果。”
“DNN似乎正處于類似的階段。我們正在實現DNN的強大能力和功能,但我們仍然不理解DNN的基本工作原理。我們往往會高估顛覆性技術的短期影響,卻低估其長期影響,互聯網就是這方面的一個有力例證。關于深度學習,我們仍然有很多理論工作要做。”
總結
以上是生活随笔為你收集整理的威尔士柯基犬,计算机视觉,以及深度学习的力量的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机视觉:让冰冷的机器看懂这个多彩的世
- 下一篇: 从CVPR 2014看计算机视觉领域的最