書名: 人工智能作者名: 王東 利節 許莎本章字數: 3358字更新時間: 2020-03-06 11:38:38
1.4 讓人驚訝的“學習”
2011年以來,以深度學習為代表的機器學習技術突飛猛進,發展速度超出了很多人的想象。下面來看幾個有趣的例子。
1.4.1 從猴子摘香蕉到星際大戰
人工智能的一個經典問題是:如圖1-7所示,在一個房間內有一只猴子、一個箱子和一束香蕉。香蕉掛在天花板下方,但猴子的高度不足以碰到它。那么這只猴子怎樣才能摘到香蕉呢?傳統符號方法會定義若干命題及推理規則,這些命題和規則代表猴子能進行的所有操作(如朝前后左右移動、搬動箱子、爬上箱子等),以及每個操作在特定狀態下產生的結果(如搬動箱子后可以爬上箱子)。通過啟發式搜索算法,如果可以找到一條從“猴子剛進屋”到“猴子吃到香蕉”的路徑,即可找到讓猴子吃到香蕉所需要的動作序列。

圖1-7 猴子摘香蕉:人工智能經典問題
上述符號方法的缺點很明顯:當場景稍微改變一些,原有系統就需要作非常復雜的重新設計。如香蕉晃動、多掛幾串、地板上有個坑、猴子左手使不上力、多了幾只猴子等,這些復雜性使得傳統符號方法很難實現。為此,研究者考慮利用現代機器學習方法來解決這一問題:不是試圖建立所有規則,而是讓猴子不斷嘗試各種方法去獲得香蕉,每向正確的方向前進一步都給猴子一定鼓勵,這樣猴子就可以擺脫人為規則的束縛,在嘗試中學會在各種場合下摘到香蕉的技能。
一個典型的例子是DeepMind基于深度神經網絡和強化學習教會機器打電子游戲(7)。這一任務和摘香蕉類似,游戲中每作出一個正確動作就給機器一定獎勵。經過大量嘗試以后,機器從對游戲一無所知成長為游戲高手,甚至超過了絕大多數人類玩家。圖1-8是機器人操作游戲桿玩外星入侵者游戲的視頻截圖。
1.4.2 集體學習的機器人
如果把摘香蕉的猴子看作機器人,處理摘香蕉這個任務的過程就是觀察—計劃—執行,這顯然和人類處理問題的方式有所不同。我們一般會在執行過程中依據當前的行為結果不斷進行重新規劃,直到任務完成。比如將猴子摘香蕉變成讓猴子穿針,針在風的吹動下不斷擺動,這個復雜的任務別說猴子,連人都無法在任務初期就形成一個完整的行動計劃。因此,我們首先會確定一個近期目標,如走近懸針的位置,再調整目標,將線接近針孔,最后將目標調整為將線送入針孔中。在這一過程中,所有近期目標的達成都會面臨很多的不確定性(如風把針吹走),當不確定事件發生時,我們會即時調整策略,確保最終目標能夠實現。

圖1-8 機器人操作游戲桿玩太空入侵者游戲
注:圖片來自DeepMind視頻。
近年來,研究者試圖讓機器具有類似的能力,并取得了突破性進展。首先,研究者發現利用復雜的神經網絡可以有效提取環境信息,包括視覺、聽覺、觸覺、紅外、超聲等(8)(9)(10);其次,利用強化學習方法(見第5章),機器可以在不斷嘗試中學會完成復雜任務的技巧,極大地提高了應對復雜場景的能力(11)(12)(13)(14);最后,群體學習方法使得多臺機器可以共享學習成果,一臺機器學會了,其他機器馬上得到同樣的知識(15)(16)。這些技術為人工智能領域帶來了深刻的變革。首先,復雜神經網絡相當于給機器裝上了靈敏的感覺器官,可從原始感知信號中抽取有價值的信息;第二,不必為機器設計復雜的推理系統,只需給它提供足夠的經驗數據,機器就可以自己學習如何完成任務的技能;第三,當機器可以群體學習的時候,學習速度將大幅提高,遠遠超過人類的進化速度。這意味著在不遠的將來,很多復雜的任務在機器面前可能變得不再困難。
圖1-9是谷歌公司發布的一個機器人群體學習系統,其中一群機器人正在努力學習從盤中抓取物體的本領。每個機器人的手臂類似一個鉗子,可以放下和收緊。這群機器人開始對如何完成抓取任務一無所知,有的只是一個攝像頭和抓住物體后的獎勵信號。谷歌的研究者們在兩個月的時間里用14臺機器收集了80萬次隨機抓舉嘗試,并用這些數據訓練深度神經網絡。經過訓練后,這些機器人學會了如何在盤子中找到物體并將它抓起來的技巧,而且一旦某一個機器人學會了一種抓取方法,它立即通過網絡通知其他機器人,使得學習速度成倍提高。
1.4.3 圖片和文字理解
機器學習另一個有趣的例子是如何理解一幅圖片的內容,并用自然語言描述出來。傳統圖像處理方法需要對圖片中的物體進行檢測和識別,提取出圖片中包含的主要對象。進而,考慮各個對象的屬性、不同對象之間的位置關系、對象組合之后形成的整體效果,通過一些確定好的模板即可生成對這些對象的描述。但是,圖片內容檢測和對象識別本身就是很困難的事,即便完成了這一檢測和識別,將這些對象所描述的事實用自然語言表達出來也是件非常困難的事。
2015年,科學家們提出了一種基于神經網絡的端對端學習方法(18)。這一方法的思路是以互聯網上大量帶標簽或評語的圖片為訓練數據,學習圖片和這些標簽、評語之間的對應關系。系統一開始對這些對應關系一無所知,但經過大量學習,機器即可找出圖片內容和單詞之間的內在聯系,并將這些單詞連貫成自然語句,表現出來的效果就如同“理解”了這幅圖片。圖1-10給出了兩個例子,其中,上面一幅圖被機器理解成“一個女人正在公園里扔飛盤”,下面一幅圖被機器理解成“一個小女孩抱著只泰迪熊坐在床上”。
1.4.4 Alpha Go
2016年人工智能界發生了一件令人矚目的大事:DeepMind的AlphaGo圍棋機器人戰勝了韓國棋手李世石九段。這距離它戰勝歐洲圍棋冠軍華裔法籍棋士樊麾二段僅過去半年時間。(20)
機器在人機對弈中戰勝人類已經不是新聞,最典型的莫過于IBM的深藍于1997年戰勝當時的世界國際象棋冠軍卡斯帕羅夫,成為首個在標準比賽時限內擊敗國際象棋世界冠軍的計算機系統。那次勝利被認為是人工智能領域的重要成就。依靠強大的計算能力和內存資源,深藍可以搜索估計12步之后的棋局,而一名人類象棋高手最多可估計約10步。深藍的基本算法是啟發式搜索。(21)
比起國際象棋,圍棋的搜索空間要大得多,啟發式搜索很難奏效,因此對圍棋的處理要復雜得多。對于人類棋手,人們往往將處理這種復雜性的能力歸結為一種靈性。圍棋經典著作《棋經十三篇》中稱之為“勢”。圍棋高手們往往把對“勢”的把握看作棋力的象征。通過“勢”與“利”的高超運用,頂尖高手們謀劃、布局、引誘、潛伏、外攻、內陷、假棄、長取,縱橫捭闔、經天緯地。正因為如此,圍棋經常被神秘化,與攻伐、理政、怡情、處世等高級智慧聯系起來。因此,在AlphaGo之前,很多圍棋界人士都斷言機器永遠不可能戰勝人類頂尖棋手。
然而事實卻有趣得多:當DeepMind的研究者利用神經網絡將棋局映射到一個連續的狀態空間后,他們發現在這個空間里判斷盤面的價值會非常容易。這一連續空間就如同人類棋手腦海里的感覺空間——看到一個盤面,在這個空間里自然形成了優劣強弱的判斷,只不過人類是通過長期訓練得到的一種直覺,而機器是純粹計算出來的。基于這一感覺空間,機器學會了人類的靈性,并借此擊敗了人類。在后續的改進版本AlphaGo-Zero中,機器甚至拋開了對人類的學習,僅通過自我對弈即學習到了強大的棋力。這說明機器不但可以學習人類的靈性,而且可以創造自己的靈性,從而擺脫人類固有經驗的束縛,實現獨立的機器智能。
1.4.5 機器智能會超過人類智能嗎
2016年以來,人工智能成為公眾關注的熱點,特別是AlphaGo以壓倒性優勢戰勝人類以后,很多人(包括一些業界領袖)都在思考一個問題:機器未來會超過人嗎?這是個見仁見智的問題。我們認為,機器學習技術雖然在近年取得了長足進步,但距離成熟還有相當長的路要走。另一方面,機器在眾多任務上一項一項超過人類并不奇怪,人類的歷史就是一部被機器超越的歷史,從汽車到飛機,從計算器到GPU。當前以機器學習為代表的人工智能技術飛速發展,人們用大量真實數據、更強大的計算資源去訓練更復雜的模型,完成以前無法想象的任務;人們研究遷移學習、協同學習和群體學習等各種知識繼承方法,讓機器具有類人的適應能力;人們甚至開始研究如何讓機器具有自主創造力、目標驅動力、情感和藝術(22)。如果考慮到快速增長的數據量、強大的分布式計算資源、開放的知識共享模式,可以預期機器將獲得越來越強大的能力。基于此,有理由相信未來總會有一天機器會在絕大多數任務上超過人類,至少是絕大部分人類。然而,像所有工具一樣,再強大的機器也是為人類服務的,只要保證機器的控制權握在理性人手中,并提前預知風險,機器就不會成為人類的敵人。