AI現在還僅僅是“物理學出現之前的工程學”
科技評論網站日前發表文章,介紹了深度學習的發展趨勢及其局限。雖然深度學習已經是當前的一股熱潮,也取得了不少成果,但業界人士指出,目前的深度學習就像是物理學出現之前的工程學。以下為原文摘要:
人工智能(AI)領域的每一個進步,都有賴于30年前的一個突破。要保持AI進步的節奏,就需要突破這個領域的一些重大局限。
AI領域的愛因斯坦
矢量研究所(VectorInstitute)位于加拿大多倫多的市中心,將于今年秋天開業,它旨在成為全球AI中心舞臺。美國和加拿大公司(比如谷歌(微博)、Uber和Nvidia)將在這個研究所贊助商業化AI技術的努力。
資金的涌入比該中心的聯合創始人喬丹o雅各布斯(JordanJacobs)設想的更快。該中心另外兩位聯合創始人對多倫多地區的公司進行了調查,發現該地區對AI專家的需求,是加拿大每年培養的專家人數的10倍。全球正在興起一股深度學習的熱潮,而這個研究所希望站在這股潮流中心聚焦于這種技術,傳授它,改進它,并且應用它。數據中心正在建設中,初創公司紛至沓來,學生們正在入場。
而深度學習之父喬弗里o辛頓(GeoffreyHinton)也住在多倫多。雅各布斯說:再過30年,我們回頭來看,就會說辛頓是AI和深度學習領域的愛因斯坦。
辛頓的弟子們在蘋果、Facebook和OpenAI主管AI實驗室,辛頓自己是谷歌大腦(GoogleBrain)AI團隊的首席科學家。事實上,AI的最近十年來的幾乎每一個成就翻譯、語音識別、圖像識別和游戲玩法都和辛頓奠定的基礎分不開。
深入學習的主要理念其實在30年前就已經提出。辛頓與同事戴維o羅姆哈特(DavidRumelhart)、羅蘭德o威廉姆斯(RonaldWilliams)在1986年發表了一篇突破性的文章,詳細闡述了一種稱為反向傳播的技術。用普林斯頓大學的計算心理學家喬o科恩(JonCohen)的話來說,這種技術是所有深度學習的基礎。
這篇1980年代中期的文章介紹了如何訓練多層次神經網絡。它為近十年來AI領域的發展進步奠定了基礎。
深度學習就是反向傳播
如今從某種角度上說,AI就是深度學習,而深度學習就是反向傳播。你可能感到不可思議,一個技術怎么蟄伏了這么長時間,KUKA機器人示教器維修,然后突然出現了爆發式的崛起。一個觀點是:也許我們現在并不是處在一場革命的開始階段,而是在進入它的尾聲。
辛頓來自英國,曾在匹茲堡的卡內基梅隆大學工作,1980年代搬到了多倫多。他喜歡這座城市的氛圍。
辛頓說,他最近在一個項目上取得了重大突破,找到了一個非常好的初級工程師,跟我一起工作,這個女工程師名叫薩拉o薩福,是伊朗人,她在美國申請工作簽證被拒絕了。谷歌在多倫多的辦公室接受了她。
在1980年代,辛頓已經是神經網絡專家。神經網絡是一個大大簡化的大腦神經元和突觸網絡模型。雖然最早的神經網絡感知器(Perceptron)在1950年代就開始開發,也被譽為邁向人機智能的第一步,但是到了80年代,業界堅定地認為神經網絡是AI研究的死胡同。
1969年,麻省理工學院的MarvinMinsky和SeymourPapert在一本名為《感知器》的書中,用數學證明了這樣的網絡只能執行最基本的功能。這種網絡只有兩層神經元,一個輸入層和一個輸出層。如果一個網絡在輸入和輸出神經元之間有更多的層,那么它在理論上可以解決很多不同的問題,只是沒有人知道如何訓練它們,所以在實踐中,這些神經網絡是沒用的。除了辛頓等寥寥幾個人之外,《感知器》使得大多數人都完全放棄了神經網絡。
1986年,辛頓取得突破,顯示反向傳播可以訓練一個深層神經網絡(超過兩三層的神經網絡)。但是又花了26年時間,計算能力才發展到了可以好好利用這個突破的程度。辛頓和他的兩個學生的2012年發表論文,顯示反向傳播訓練的深層神經網絡在圖像識別中擊敗了最先進的系統。深度學習從此成為一股熱潮。在外界看來,AI似乎是在一夜之間蓬勃發展起來的。但對于辛頓來說,這卻是一個遲來的爆發。
神經網絡的原理
神經網絡通常被描述成一個多層三明治,層層疊疊。這些層里包含著人造神經元,指的是微小的計算單位,它可以受到激發(就像真正的神經元會被激發那樣),然后將興奮度傳遞給它所連接的其他神經元。神經元的興奮度由數字來代表,比如0.13或32.39。另外,在每兩個神經元之間的連接上,還有一個關鍵數字,決定了多少興奮度可以從一個神經元傳遞到另一個。這個數字是在模擬大腦神經元之間突觸的給力程度。當這個數字比較高時,就意味著兩個神經元之間的連接更強,可以把更多的興奮度傳遞給對方。
深層神經網絡最成功的應用之一就是在圖像識別中,該團隊開發了一個程序,可以判斷圖片中是否有熱狗。在十年前,這樣的程序是不可能實現的。開發這種程序的第一步是找到一張照片。為了簡單起見,你可以使用一張黑白圖像,100像素寬,100像素高。你把這張圖像輸入到神經網絡也就是給輸入層中每個模擬神經元設置興奮度,使之和每個像素的亮度吻合。這個多層三明治的底層就是10000個神經元(100x100),代表圖像中每個像素的亮度。
然后,你將這一層神經元連接到上面的另一層神經元層(有幾千個神經元),再繼續連一層神經元層(也有幾千個神經元),如此這般。最后,在這個三明治的最上層是輸出層,它只有兩個神經元,一個代表有熱狗,另一個代表沒有熱狗。其理念就是讓神經網絡學會只有當圖片里有熱狗的時候,才會激發有熱狗的神經元,只有在圖片里沒有熱狗的時候,才會激發沒有熱狗的神經元。反向傳播就是做到這一點的方法。
如何使用反向傳播技術
反向傳播本身非常簡單,盡管它在有大量數據可用的情況下效果最好。這就是為什么大數據在AI中如此重要的原因以及為什么Facebook和谷歌如此渴望數據的原因。
在訓練神經網絡的時候,你需要使用數以百萬計的圖片,一些有熱狗,一些沒有。而訣竅就是那些有熱狗的圖片被標記為有熱狗。在一個初始神經網絡中,神經元之間的連接權重(表示每個連接傳遞的興奮度的多少)可能是隨機數,就好像是大腦的突觸還沒有調整好。反向傳播的目標是改變這些權重,讓神經網絡可以獲得很好的效果:當你將熱狗的圖片輸入到最低層時,最頂層的有熱狗神經元最終會變得興奮起來。
假設你選取的第一幅訓練圖片里是一架鋼琴。你將這個100x100圖像中的像素強度轉換為10000個數字,正好分給網絡底層中的10000個神經元。然后興奮度根據相鄰神經元層之間的連接權重在這個網絡上過濾,到達最后一層判斷圖片中是否有熱狗的兩個神經元。由于圖片是鋼琴,在理想情況下,有熱狗神經元應該得出一個0,而沒有熱狗神經元應該得出很高的數字。但是我們假設這個神經網絡效果不好,對這張照片得出了錯誤結論。這時你就使用反向傳播技術,來重新調整網絡中每個連接的權重,以便修正錯誤。