計算機視覺現已走進了我們的日常生活。Facebook可以識別你上傳到的照片中的人臉。Google Photos應用可以識別狗、生日派對、墓地等多種事物和場景,這種能力能幫你檢索相冊中的照片。Twitter則可以在沒有人類監管者的情況下識別鑒定色情圖片。
以上的「視覺」能力都源于人工智能一個高效率的被稱為「深度學習」的分支。盡管這項技術在近幾年得到了人們的大肆吹捧,但微軟研究院的一項新實驗卻顯示這一切才剛剛開始;深度學習可以走得「更深」。
計算機視覺的革命已經進行了相當長的時間。2012年時我們終于迎來了一個關鍵轉折點,來自多倫多大學的人工智能研究者贏得了一個名為ImageNet的比賽。ImageNet是一個機器圖像識別比賽——看誰的技術能更好更準確地識別貓、汽車或云朵。2012年,多倫多大學的團隊(包含研究者Alex Krizhevsky和Geoff Hinton教授)憑借深度神經網絡登頂大賽冠軍。這項技術可以通過檢查大量圖片的內容而學習識別圖像,而不再像之前那樣通過人類費力地手工編碼來實現。
多倫多大學的勝利昭示了深度學習的未來。自那時起,互聯網巨頭(包括Facebook、谷歌、Twitter和微軟)都開始使用類似的技術打造能與人類匹敵甚至超越人類的計算機視覺系統。微軟研究部門負責人Peter Lee說:「我們不能說我們的系統能像人類一樣『看見』東西,但我們可以說在非常具體、范圍窄的任務中,我們可以通過學習做到和人類一樣好。」
粗略地說,神經網絡使用硬件和軟件搭建出了類似于人類的神經元網絡。這個想法可以追溯到上世紀80年代,但直到2012年,Krizhevsky和Hinton才開始發明在圖形處理器(GPU)上運行神經網絡的技術。GPU原本是為游戲和其它高性能圖像軟件設計的專用處理芯片,但事實證明,它們也非常適合驅動神經網絡的那些數學。谷歌、Facebook、Twitter、微軟和其它許多公司現在都使用GPU驅動的人工智能來處理圖像識別等多種任務,包括互聯網搜索和安全應用等。Krizhevsky和Hinton加入了谷歌。
現在,ImageNet最新贏家又指出了計算機視覺發展的下一步可能——更大范圍的人工智能。上個月,來自微軟的一個研究團隊使用一種被稱為「深度殘留網絡」(deep residual network)的新技術奪得了ImageNet的桂冠。從這項技術的名稱中我們看不出什么;據他們描述,他們設計了一個遠比典型設計復雜的神經網絡——這個網絡能夠進行多達152層的復雜數學運算,而典型設計一般只有六七層。這預示著未來幾年,微軟這樣的公司將能使用GPU和其它專用芯片的龐大集群來極大提升包括圖像識別在內的各種各樣的人工智能服務,包括識別語音甚至理解人類自然表達的口語。
換句話說,深度學習目前還遠沒有達到實力的極限。Lee說:「我們才剛剛在這個巨大的設計空間中起步,以找出下一步的方向。」
神經元層
深度神經網絡是按層排布的,每一層都運行著不同的數學運算(即:算法)。一層的輸出又會成為下一層的輸入。舉例說,如果一個神經網絡是專為圖像識別設計的,那么其有一層是用于搜索圖像中的一組特定的特征(如:圖片的邊緣、角度、形狀、紋理等),后面的運算層則用于搜索其它特征。這些層是神經網絡「深度」的關鍵。「一般而言,如果你讓這些網絡更深,那么它們的學習能力也就越強。」北卡羅來納大學研究者Alex Berg說,他幫助監督了ImageNet的比賽。
目前典型的神經網絡設計一般包含六七層,部分可以達到20到30層,但由Jian Sun領導的微軟團隊則實現了152層!本質上這個神經網絡在圖像識別上能表現得更好,因為它能夠監測識別更多的特征。Lee說:「還有非常多的微妙的特征可以學習。」
據Lee和一些非微軟的研究者介紹,過去這種非常深的神經網絡是不可能實現的。部分原因是當數學信號從一層傳輸到另一層時,信號會被稀釋并逐漸消失。Lee解釋說,微軟建造的神經網絡可以在不需要某些層時跳過它們,信號只傳遞給有需要的層,從而解決了這一問題。Lee說:「當進行這樣的跳過時,我們可以更進一步地保證信號的強度。事實證明這種方法給計算精度帶來了很大的有益影響。」
Berg說和之前的系統相比,這一方法有顯著的差異,而他相信其它公司和研究者也會進行跟進。
深度的困難
另一個問題是建造這樣的大型神經網絡是極其困難的。為了確定每一層的工作模式以及與其它層的通信方式,需要將不同的特定算法部署到每一層上,但這卻是一個極其艱難的任務。但微軟在這里也有技巧。他們設計了一個能夠幫助他們建造這些網絡的計算系統。
Jian Sun解釋說,研究人員可以識別一些可能有用的大型神經網絡部署方式,然后該計算系統可以在一系列的可能性上對此進行循環計算,直到確定出最佳選擇。「大部分情況下,經過一些嘗試后,研究人員會學到一些東西,然后反思,又開始為下一次嘗試做新的決定。你可以將其看作是『人工輔助搜索』。」
據深度學習創業公司Skymind的首席研究專家Adam Gibson介紹,類似的做法現在越來越普遍。這被稱為「超參數優化」(hyper parameter optimization)。他說:「人們可以讓一群機器跑起來,一次運行10個模型,然后找出最好的那個使用就行了。他們可以輸入一些基本參數——基于直覺確定——然后機器在此基礎上確定什么才是最好的解決方案。」Gibson指出,去年Twitter收購的一家公司Whetlab就提供了類似的「優化」神經網絡的方法。
「硬件問題」
正如Peter Lee和Jian Sun所說的那樣,這樣的方法并不完全是「暴力破解」的問題。「如果有非常非常多的計算資源,人們可以想象制造一個巨大的『自然選擇』配置,其中的進化力量可以通過一個巨大的可能性空間幫助引導暴力破解搜索,」Lee說,「但目前世界上還沒有這樣的可用計算資源……目前而言,我們還仍然只能依賴那些非常聰明的研究者,比如Jian。」
但Lee同時也說,多虧了新技術和充滿GPU的計算機數據中心,深度學習獲得了巨大的可能應用領域。這家公司的任務中很大一部分都只是獲取用來探索這些可能性的時間和計算資源。「這項工作極大地擴張了設計空間。就科學研究而言,覆蓋的領域已經在指數式擴張了。」Lee說,而這也已經突破了圖像識別的范疇,進入到了語音識別、自然語言理解等其它任務中。
Lee解釋說,也正因為覆蓋的領域越來越多,微軟在提高其GPU集群的運算能力的同時也在探索使用其它的專用處理器,其中包括FPGA——一種能針對特定任務(如深度學習)編程的芯片。「另外我們的研究者還在探索實驗一些更具實驗性的硬件平臺,」他說。而且這項工作已經在全世界的技術和人工智能領域掀起了波瀾。去年夏天,英特爾完成了其歷史上最大的并購案,收購了專注FPGA的Altera。
Gibson說,事實上深度學習或多或少已經變成了一個「硬件問題」。是的,我們仍然需要頂級研究者來引導神經網絡的創造;但漸漸地,對新方法的尋找變成了在更強大的硬件組合上尋找暴力破解算法的問題。Gibson指出,盡管這些深度神經網絡工作效果非常好,但我們并不清楚它們為什么能工作;其中訣竅只在于找到能得到最佳結果的復雜算法組合。而更多更好的硬件可以縮短這條路徑。
最終,有能力建立最強大的硬件網絡的公司將順理成章地領先。現在也只有谷歌、Facebook和微軟了。那些擅長利用深度學習的公司只會越過越好。