【AI世代編者按】有人最近在社交問答網站Quora上提出了這樣一個問題:深度學習可以促成哪些產品突破?谷歌大腦團隊工程師埃里克·蔣(Eric?Jang)專門撰文給出了詳細的回答。
以下為原文內容:
深度學習指的組成下列內容的一類機器學習技術:
——大神經網絡(擁有數百萬個自由參數)
——高性能計算(采用成千上萬個處理器并行計算)
——大數據(例如,數百萬的彩色圖片或象棋檔案)
深度學習技術目前已經在很多領域實現了最尖端的水平(視覺、音頻、機器人、自然語言處理……暫舉幾例)。深度學習最近的進步還融合了來自統計學習、強化學習和數值優化等領域的內容。
以下是當今的深度學習技術有可能促成的一些產品(順序不分先后):定制數據壓縮、壓縮傳感、數據驅動型傳感器校準、離線人工智能、人機互動、游戲、藝術助理、非結構化數據挖掘、語音合成。
定制數據壓縮
假設你在設計一款視頻會議應用,希望增加一套有損編碼方案,以便減少通過互聯網發送的數據包。你可以使用H.264等現成的編解碼器,但H.264并非最優方案,因為它是針對普通視頻設計的——從貓咪視頻到故事片,再到風光片。
如果能有一套針對FaceTime視頻設計的編解碼器就好了,這樣就能比一般算法節約更多數據,原因在于:多數時候,屏幕中央都有一張人臉。然而,設計這樣的編碼方案并非易事。如何確定人臉的位置?人臉上的眉毛有多寬?眼睛是什么顏色?下巴是什么形狀?如果頭發蓋住了一只眼睛怎么辦?如果圖像上沒有人臉或者有多個人臉怎么辦?
這個時候,深度學習便可發揮作用。自動編碼器是一種神經網絡,它輸出的數據只是輸入數據的副本。如果不是自動編碼器的隱藏層小于輸入層,學習這種“恒等映射”(identity?mapping)并沒有太大意義。這種“信息瓶頸”會迫使自動編碼器學習隱藏層里的數據的壓縮表現,然后再借助網絡中的剩余層解碼原始形態。
通過端對端訓練,自動編碼器和其他深度學習技術可以適應你的數據特性。與主成分分析不同,這些編碼和解碼步驟并不限于仿射(線性)變換。主成分分析學習的是
“編碼線性變換”,而自動編碼器學習的則是“編碼程序”。
這便大大加強了神經網絡的力量,甚至可以實現復雜且有針對性的壓縮:無論是在Facebook上存儲海量自拍,還是加快YouTube視頻流,抑或壓縮科學數據和降低個人iTunes曲庫占用的空間,都可以通過這種技術來實現。試想,你的iTunes曲庫可能會學習一個“鄉村音樂”自動編碼器,為的就是壓縮你的個人曲庫。
壓縮傳感
壓縮傳感與有損壓縮的解碼部分密切相關。很多有趣的信號都有自己獨特的結構——也就是說,信號的分布并非完全隨意的。這意味著我們不必為了獲得完美的信號重建而按照奈奎斯特極限進行取樣,只要我們的解碼算法能夠正確地利用底層結構即可。
深度學習可以適用于這種情況,因為我們可以利用神經網絡學習松散的結構,而不必借助手工特征工程的幫助。以下是一些產品應用方式:
——超分辨率算法(waifu2X),相當于《犯罪現場調查:邁阿密》里面的“加強”按鈕。
——使用Wi-Fi無線電波干涉實現穿墻透視(麻省理工學院的Wi-Vi)。
——借助不完整的圖像(例如2D圖像或局部閉塞)來解析一個物體的3D結構。
——更加精確地重建來自聲吶/激光雷達的數據。
數據驅動型傳感器校準
優秀的傳感器和測量裝置往往要依靠價格昂貴的高精度元件。
以數碼相機為例。數碼相機會假設玻璃鏡頭是某種“精密的”幾何圖形。拍攝照片時,機載處理器會解開穿過鏡頭的光遷移方程,然后計算出最終的圖像。
如果鏡頭被刮花,或者發生彎曲,甚至造型像兔子(而非圓盤),這些假設就會被打破,無法順利成像。
還有一個例子:磁共振和腦電圖目前的解碼模型假設顱骨是完美的球形,以此來控制數學運算。但借助這種方式計算腫瘤位置時,有的時候會出現幾毫米的偏差。更加精確的攝影和磁共振成像應該可以彌補幾何形狀上的偏差,無論這些偏差來自底層資源還是制造缺陷。
幸運的是,深度學習可以借助數據校準解碼算法。
不必借助一刀切的解碼模式(例如卡爾曼濾波器),而是可以針對每個病人或每臺測量裝置表達更加復雜的偏差。如果我們的相機鏡頭刮花了,便可訓練解碼軟件對變化后的幾何圖形進行補償。這意味著我們不必再生產和匹配超精準的傳感器,從而節省大量資金。
在某些情況下,甚至可以徹底拋棄硬件,讓解碼算法進行補償。哥倫比亞計算攝影實驗室就開發了一種沒有鏡頭的相機。這是一種由軟件定義的成像方式。
離線人工智能
能夠擺脫互聯網來運行人工智能算法對需要降低延遲的應用(例如自動駕駛汽車和機器人),以及沒有可靠上網連接的應用(智能手機上的旅行應用)都至關重要。
深度學習就很適合這種情況。訓練階段結束后,神經網絡可以迅速進步。另外,還可以直接將大型神經網絡分割成一個個小型神經網絡,直到足以在智能手機上運行為止(但要犧牲一定的精確度)。
谷歌翻譯的離線相機翻譯功能已經應用了這種技術。
此外還有其他一些可能的模式:
——智能助理(例如Siri)可以在離線時保留一些功能。
——野外生存應用可以告訴你某種植物是否有毒,或者某種蘑菇是否可以安全食用。
——配備TPU芯片的小型無人機可以避開簡單的障礙物。
人機互動
深度神經網絡是第一種能夠在可以接受的程度內看見和聽見人類世界的計算機算法。這便為人機互動開辟了很多可能。
攝像頭現在可以用來讀取標志牌上的內容,甚至可以為人們大聲讀書。事實上,深度神經網絡現在還可以用完整的句子向我們描述它所看到的內容。百度小明項目便可通過耳機里傳出的語音幫助視力損傷的人“看到”周圍的世界。
人機互動不僅限于視覺范疇。深度學習還可以幫助下身癱瘓的人校準腦電圖接口,從而加快與電腦的互動速度,或者為Soli等項目提供精確的解碼技術。
游戲
游戲之所以在計算性能上面臨挑戰,是因為需要同時運行物理模擬程序、人工智能邏輯、渲染和多人互動。很多組件的復雜度都極高,所以目前的算法已經達到摩爾定律的天花板。
深度學習可以通過幾種方式擴大游戲的極限。
顯然存在“游戲人工智能”這樣一個領域。在目前的視頻游戲中,非玩家角色(NPC)的人工智能邏輯只是一組if-then-else語句的堆砌,通過簡單的調整來模擬智能行為。這對于高級玩家而言顯然不夠,因此他們可以在單人模式中輕松通關。即便是在多人模式中,人類玩家往往也是整個游戲中最聰明的一員。
深度學習就可以改變這種現狀。谷歌DeepMind的AlphaGo已經向我們證明,深度神經網絡與政策梯度學習整合到一起,便足以在復雜的圍棋游戲中擊敗最強大的人類選手。AlphaGo使用的深度學習技術或許很快就能應用到NPC中,使之可以找到玩家的弱點,并提供更具互動性的游戲體驗。其他玩家的游戲數據也可以發送到云端,用于訓練人工智能,使之可以了解自己的錯誤。
深度學習在游戲中的另外一項應用是物理模擬。不必模擬流體或顆粒在牛頓第一定律下的狀態,而是可以將非線性動力學問題變成一個回歸問題。例如,如果我們訓練一個神經網絡學習流體力學的物理學原理,那就不必實時求解大規模的納維葉-斯托克斯方程,也可以在游戲過程中快速進行評估。
事實上,Ladicky和Jeong已經在2015年做過這種嘗試。
對于最小播放速率必須達到90幀/秒的虛擬現實應用來說,這是在目前的硬件局限下唯一可行的方法。
第三,深度產生式建模技術還可以用于創建無限而豐富的程序性內容——動物群、角色對話、動畫、音樂甚至游戲本身的描述。這一領域剛剛開始爆發,代表游戲是《無人深空》(No?Man’s Sky),這款游戲可以無止境地為玩家提供新穎內容。
深度神經網絡很適合同步進行小批量的評估,例如,可以在一張圖形卡上同時評估128個NPC人工智能邏輯和32個水流模擬。
藝術助理
考慮到神經網絡在感知圖片、音頻和文本方面的強大能力,使用這種技術來繪圖、作曲和寫小說也就不會令人感到意外了。
從多年前開始,人們就已經嘗試用電腦來作曲和繪畫,但深度學習卻是第一個能夠真正創作出“好作品”的電腦程序。App
Store里已經有幾款應用借助這種算法制作笑聲,但我們很快或許就會在專業內容制作軟件中看到類似的內容。
非結構化數據挖掘
深度學習從網頁中提取的信息量仍然無法與人類媲美,但深度神經網絡的視覺能力卻足以讓機器理解超文本之外的內容。
例如:
——通過掃描海報來解析事件。
——判斷eBay上的哪些產品是相同的。
——通過網絡攝像頭判斷消費者的情緒。
——不使用RSS,也可以直接從頁面上提取博客內容。
——整合照片信息,用于評估金融工具、保險政策和信用評分。
語音合成
產生式建模技術已經實現了充分的發展,目前的數據也已經非常充足,所以要不了多久應該就會有一款應用能夠用摩根·弗里曼(Morgan
Freeman)或斯嘉麗·約翰遜(Scarlet Johansen)的聲音為你大聲朗讀。我們甚至可以直接用聲音當密碼。
更多產品
——適應性操作系統/網絡堆棧排列——在操作系統中排列線程和進程是一個非常復雜的問題。我們目前沒有針對這一問題開發出令人滿意的解決方案。而現代化的操作系統、文件系統和TCP/IP的排列算法卻都非常簡單。如果能夠使用小型神經網絡來適應一個用戶的獨特排序狀態,或許就能降低操作系統產生的排列費用。這對數據中心或許有著重大意義,因為在那里,任何一點改進都可以節約巨額費用。
——顯微鏡檢查軟件的菌落計數和細胞追蹤功能。
——“用機器學習取代模擬”的戰略在藥物設計領域也很有用,可以在尋找有用或有毒化合物的過程大幅加快速度。