0
本文作者: 叢末 | 2018-09-07 11:06 |
近年來人工智能技術(shù)突飛猛進(jìn),越來越多的機(jī)器人正在走進(jìn)我們的世界。與人類一樣,機(jī)器人在執(zhí)行日常任務(wù)時往往需要具備一定的空間物理推理能力。具備這種能力不僅使機(jī)器人可以完成指定任務(wù),更能讓他們避免在執(zhí)行任務(wù)時作出對人類有潛在危害的行為。
空間物理推理是重要且有趣的領(lǐng)域。近日,在雷鋒網(wǎng) AI 研習(xí)社公開課上,澳大利亞國立大學(xué)葛笑雨博士就帶領(lǐng)大家認(rèn)識定性物理推理并感受其中的樂趣。公開課回放視頻網(wǎng)址:http://www.mooc.ai/open/course/531
葛笑雨:Dorabot 算法團(tuán)隊負(fù)責(zé)人,澳大利亞國立大學(xué)博士,計算機(jī)科學(xué)系人工智能專業(yè),導(dǎo)師 是 Jochen Renz,主要研究方向為空間物理推理,研究成果在 IJCAI、AAAI、ECAI、KR 上發(fā)表過。
分享主題:應(yīng)用于智能體(Agent)的空間物理定性推理技術(shù)
分享提綱:
1. 空間物理推理為什么重要
2. 空間物理推理的背景與現(xiàn)狀
3. 定性空間物理推理的未來
4. AI Birds 人工智能比賽 (www.aibirds.org)
5. 在機(jī)器人領(lǐng)域的實踐 (Dorabot 相關(guān))
雷鋒網(wǎng) AI 研習(xí)社將其分享內(nèi)容整理如下:
我們本次的主題為:智能體(Agent)的空間物理推理。智能體,英文名是 Agent,它可以使用一些人工智能算法做一些事情,通過它自己的感知、規(guī)劃與環(huán)境進(jìn)行交互??臻g物理推理,指的則是通過我們觀測到的空間和物理信息推出一些有用的信息。
大家都知道,很多術(shù)語原生詞都為英文,由于時間緊迫以及為了保證講述的準(zhǔn)確性,因此后面都使用英文 PPT。
我們今天的話題聚焦于 Motivating。首先,探討一下為什么我們需要空間物理推理?
包括機(jī)器人等硬件形體的 AI Agent 正逐漸走入我們的生活,它以前一般都存在于軟件中,對現(xiàn)實造成的影響不大,但是進(jìn)入現(xiàn)實生活中會對我們的生活造成影響,一旦出現(xiàn)一些 bug 或者不能完整地理解它們所處的環(huán)境,就可能做出一些危害人類的行為。而我們現(xiàn)實世界到處充滿了空間與物理元素,我們平時做的一些例如搬東西、打包行李以及倒水倒酒等事情,都需要對空間與物理具備處理能力,而機(jī)器人一旦進(jìn)入現(xiàn)實世界,也需要具備這種空間物理處理能力。
問大家一個問題:在解決這些問題時,你們是怎么思考的呢?
有一種方法是在腦海里進(jìn)行仿真、推演、想象??从疫呥@張定滑輪的示意圖,當(dāng)我用手拉起這根線,大家就會想下面這個箱子會怎么動。這個時候我們就在進(jìn)行仿真,會想:當(dāng)我這根線拖動時,這個輪子就會上來,下面和最下面的輪子也都會上來,最后箱子也跟著上來了。
基于這種觀察,這就形成了一個理論:我們?nèi)四X中也許存在一種噪聲牛頓仿真器(Nosiy Newtonian Simulator)。每當(dāng)我們進(jìn)行推理的時候,我們就會使用它。
當(dāng)情況變得復(fù)雜時,我們會怎么做?大家可以看下 PPT 下方這個圖——齒輪,當(dāng)人去搖動前面的桿,右邊的齒輪會怎么轉(zhuǎn)動呢?順時針還是逆時針?遇到這個問題,我們就會進(jìn)行推理,拿出手、筆和腦子去推算齒輪會怎么動。Hegarty 就提出了一個理論讓這兩種方式完美融合在一起。
當(dāng)一個機(jī)器人來到這個世界,需要具備什么能力?
首先,它要理解世界的空間和物理性質(zhì),之后,才能理解空間上的變化,而這些變化,往往又是通過物理交互所產(chǎn)生的。最后,它需要知道動作執(zhí)行后的結(jié)果。
舉個例子,搭積木搭成了塔時,如果要在塔上放一個方塊,這個方塊對這個塔會有什么影響?我們必須先理解方塊和塔所組成的結(jié)構(gòu)的性質(zhì)以及放這個動作所能產(chǎn)生的空間上的變化,這樣我們才能預(yù)測到方塊放下去會對塔有什么影響。
在最近幾年,學(xué)術(shù)界一直在推動 Intelligent Physical Systems(在這里我們直接使用機(jī)器人一詞)。首先機(jī)器人必須是安全的,我們才允許它執(zhí)行動作,如果你站在它旁邊影響了它的執(zhí)行路徑,它就有可能把你傷到,那就要求它們必須知道它們的目標(biāo)造成的結(jié)果。再者,我們的世界是連續(xù)的,存在無限的動作,例如當(dāng)我們要讓機(jī)器人將水放到桌子上,我們就需要給它放置的坐標(biāo),而這個坐標(biāo)的可能性也是無限的。此外,機(jī)器人的感知是不完美的,因此機(jī)器人一旦發(fā)現(xiàn)做出的動作與預(yù)期的不一樣,它就需要調(diào)整它的世界觀。
定性物理在 AI 出現(xiàn)的時候就出現(xiàn)了。研究者用定性化的語言去描述各種物理、空間問題。到 90 年代末漸漸沉寂。
然而,現(xiàn)在學(xué)術(shù)界為什么又對這個感興趣?因為我們當(dāng)下這個時代,硬件和機(jī)器學(xué)習(xí)技術(shù)都在飛速發(fā)展,越來越多機(jī)器人被應(yīng)用于工業(yè)行業(yè),也有一部分進(jìn)入民用。商業(yè)化的推動和技術(shù)的發(fā)展,讓我們對定性物理這個非常難的領(lǐng)域又有了期待。
定性物理,就是用一種符號化的語言去表達(dá)物理系統(tǒng),從而我們就可以用一些算法和驗證方法去預(yù)測這個系統(tǒng)的行為。當(dāng)這種符號化語言完善后,我們就可以預(yù)測系統(tǒng)在未來任何一個時間發(fā)生的行為——預(yù)測這個系統(tǒng)一定不會做什么事情,它就不會做什么事情。
為什么物理推理是一個非常難的問題?
首先是它的計算復(fù)雜性非常高,舉幾個例子:
第一個跟蹤光線。在空間的某一點打出一束光,假設(shè)空間有鏡片、障礙物,光會發(fā)生折射與反射,當(dāng)我們想預(yù)測光在未來某一時間點的位置時,這個問題就是一個圖靈完全的問題,即我們現(xiàn)在可以通過讓光線來模擬圖靈機(jī)。
第二個桌球問題。這也是一個圖靈完全問題,用桌球來模擬圖靈機(jī)——曾被數(shù)學(xué)證明過,當(dāng)這個球打出,假設(shè)球之間發(fā)生的是無損失的碰撞,預(yù)測它將落到哪個位置。它有一個理論 Ergodic motion,只要給這個球無限的時間,當(dāng)這個球不停地動,軌跡會布滿這個臺球桌。力越大,走得越多,覆蓋范圍越大,球在這里是沒有體積的點。當(dāng)然,球的初始方向選擇不當(dāng)也會出現(xiàn)循環(huán)的軌跡。
第三個物理推理問題,比如我有一個學(xué)弟就曾證明出來 Angry Birds 是一個 NP-hard 問題。
在這三個問題中,我們做個預(yù)測都這么難,那么在無限多的動作里選擇一個動作做規(guī)劃和推理,就是一個更加難的問題了。
下圖中,左上圖是一個認(rèn)知科學(xué)的實驗,黑色邊界是一個打不透的墻,里面有一個小球往右下運動,會先到黑墻還是紅墻?我們都知道最終會到紅墻,但是如果用仿真的方法(預(yù)測),它們會持續(xù)隨機(jī)采樣,雖然大多數(shù)情況下結(jié)果都會是——紅墻,但是一旦我在墻上開一個小孔,隨機(jī)采樣就不一定成功。
右上圖是一位專家解決這個球在空間中運動的問題。給定軌跡后,球最終會是怎樣的軌跡和狀態(tài)?在定性物理中,我們會把空間離散化變成幾個區(qū)域(右下圖),小箭頭指球在這個區(qū)域可以前進(jìn)的方向,同時,我們也有自己的一套規(guī)則和求狀態(tài)的描述來知道系統(tǒng)去推理球的運動方向,在這里不展開,有興趣可以參考一下 1980 年 Forbus 的這篇文章。左下圖是在一個 3D 高爾夫球場,預(yù)測球的運動的問題,這是我最近比較關(guān)注的問題。
還有一個案例是,F(xiàn)orbus 曾經(jīng)用約束力學(xué)(Constrained Mechanics)去描述鐘表,用符號化的推理和表達(dá)模擬時鐘的走動。
他當(dāng)時使用非常古老的掃描儀將零件掃描(如中間圖所示),每個齒輪都有自己的 ID 和全描述(最右圖),可以通過描述去推理時鐘是怎么轉(zhuǎn)動的。在工業(yè)應(yīng)用中,定性物理推理往往被用來定性的分析一個復(fù)雜物理系統(tǒng)的性質(zhì)。其能快速得出初步的定性的結(jié)果。根據(jù)結(jié)果,再決定是否要進(jìn)一步進(jìn)行嚴(yán)密的仿真。
稍微講一下表達(dá)方法。
首先,方向可以離散化和符號化,提到方向關(guān)系問題,在左圖中會說 B 在 A 的 S6 方向,而右圖中會說 B 在 A 的右邊。同時,旋轉(zhuǎn)和運算都可以符號化,這樣就能在不能求到精確值的情況下,依舊能得到比較好用的解。此外,拓?fù)浣Y(jié)構(gòu)符號化后,可以描述兩個空間物體的相離、相交或者包含等拓?fù)潢P(guān)系。比如右圖描述 2D 空間,機(jī)器人想將易拉罐扔到垃圾桶,我們同樣采取了空間離散化來進(jìn)行表達(dá),另外,我們通過對這個場景進(jìn)行描述,能夠做模型追蹤,還能進(jìn)行形式化驗證機(jī)器人對所處的環(huán)境所造成的影響。
接下來講推理。
第一個就是字面的推理,指在有限、不精確的信息里面,我們還能找到一些比較有用的結(jié)果。
第二個是一致性,即探索空間中物體的關(guān)系是否真實,是否會有不正常的情況。左上圖的案例是最簡單的事件表達(dá)方法,before 指 事件 A 發(fā)生在事件 B 之前,meet 指 A、B 相鄰發(fā)生,依次類推。右下圖,說的就是從 A 和 B 的關(guān)系和 B 和 C 的關(guān)系中推出 A 和 C 的關(guān)系。
上面講的是定性物理,而對于物理推理,還有一個流派叫仿真推理(Simulation-based reasoning),它通過不停做仿真,用概率分布做采樣,得到可接受的解。比如問到下面這個塔會向左倒還是向右倒的問題,我們的腦子就會不停做仿真、預(yù)測,最后得到答案。不過,這個方法還是存在很多問題的,仿真很難做到盡善盡美,根基就不太穩(wěn)的話,仿真的結(jié)果就不能很精確。
之前講到很多圖靈完全問題,就是指你給它輸入,它會停機(jī),我們無法在有限的時間里確定答案。
而當(dāng)我們給這個問題設(shè)定一個時間限制的時候,圖靈完全問題就會變成半圖靈問題或者一個有效算法可以解決的問題。當(dāng)我們遇到一個計算很復(fù)雜的問題,可以找出一個可被利用的結(jié)構(gòu),通過多項式算法或者估算的方式去解決。
提一下我們這個領(lǐng)域一直在研究的三個問題:
動作預(yù)測問題:比如打高爾夫球——打出第一桿怎么去預(yù)測球去哪。
感知:大家要注意視覺是感知的一種,感知也可以感知物體的物理性質(zhì)。
規(guī)劃:前兩個問題解決后我們才能談規(guī)劃,需要對這個世界的感知、行為理解,最后需要一個算法從上面的行為中找解。
目前主流的物理推理包括以下四個:
第一個是仿真推理(Simulation-based reasoning)。在吳同學(xué) 2015 年的這篇論文中,探索用手推一下這個 Cube,物體會發(fā)生怎樣的運動的問題。實驗中,系統(tǒng)首先有一套深度學(xué)習(xí)去學(xué)習(xí)它的物理性質(zhì),再去(不停)做仿真,直到找到一個概率很高的結(jié)果做預(yù)測。最后通過真正去推這個 Cube 得到真實結(jié)果,去跟之前的預(yù)測做比較。
第二個是遷移學(xué)習(xí)(Transfer learning),即在仿真中進(jìn)行深度學(xué)習(xí),我對這個領(lǐng)域我不太了解就不多說,不過我建議有需要的同學(xué)使用 Mujoco 這個物理仿真器。
第三個是聯(lián)合任務(wù)規(guī)劃(Combined-task planning),它跟物理推理沒什么關(guān)系,但是跟機(jī)器人相關(guān)。它指在抽象層面用定性物理去找到定性的解,發(fā)現(xiàn)行為可執(zhí)行后,就會用數(shù)字模型計算數(shù)值的解。
第四個是定性物理推理(Qualitative physical reasoning),這也是我主要在研究的領(lǐng)域。領(lǐng)域背景在此不多做介紹,大家感興趣可以去看一下 Davis 的這篇《物理推理調(diào)查》(Physical reasoning survey)。而我之前做的研究主要是把物理推理用到感知、運動、穩(wěn)定性和解釋物理運動這些方面。比如下圖中我動了一下木塊,要找出到底動了哪一塊,就可以使用這個方法,推理出來所有有可能被動過的木塊。
研究過程中,我總結(jié)了一些方法論:
第一,給定一個問題,去設(shè)計一個好的定性表達(dá)方式,它需要要保證能涵蓋解,同時,該表達(dá)方式的解跟其他的有誤導(dǎo)的解應(yīng)該是可區(qū)別的。
第二,表達(dá)方式會形成一個約束網(wǎng)絡(luò),在這個網(wǎng)絡(luò)上進(jìn)行推理,就能拿到一套定性的解,但是解還是太模糊。
第三,在被縮減的解空間進(jìn)行數(shù)值計算,最終得到具體的解。
第四,得到解之后,還需要根據(jù)在現(xiàn)實環(huán)境中的反饋對模型進(jìn)行更改。
為了鼓勵世界范圍內(nèi)的研究者一起研究該領(lǐng)域,我們 2012 年開始舉辦 AI Birds 國際人工智能比賽。
我們會提前幾天去設(shè)置游戲關(guān)卡,關(guān)卡中就涉及到物理推理的因素。此外,我們還做了一套服務(wù)器,所有的 AI 都部署在獨立的筆記本上,AI 只能從服務(wù)器獲得游戲截圖。而游戲動作包括發(fā)射小鳥,以及點擊屏幕觸發(fā)小鳥的技能。
六年以來,共有三十幾個國家的四十幾個參賽隊伍參與比賽,其中表現(xiàn)最佳的幾個參賽隊伍使用的方法包括:
邏輯編程(Logic programming):用符號化的語言描述場景再進(jìn)行符號化的推理,找出獲勝策略。
調(diào)試法(Heuristics-based):其中一個韓國隊伍使用的調(diào)參方法,最后調(diào)的參數(shù)非常好,取得了不錯的成績。
仿真(Simulation):因為游戲的物理引擎是不被公布的,參賽隊伍是不知道參數(shù)的,因此有一些參賽隊伍自己用 Box2D 寫了一個類似的環(huán)境,通過自己的仿真去玩,但是 因為游戲中 Action 的可能性非常多,他們無法很有效的找到最佳 Action。
機(jī)器學(xué)習(xí)(Machine learning):2012/2013 年的時候深度學(xué)習(xí)還沒有起飛,大家普遍使用經(jīng)典機(jī)器學(xué)習(xí)方法。
至今所有的參賽選手的 AI 都是貪心的(greedy-based),意思是說他們在當(dāng)前時刻只做對當(dāng)前最有益的事情。例如,面對圖中的關(guān)卡,貪心的算法會采用獲得當(dāng)前最高得分的方法,即盡量多的破壞當(dāng)前障礙物。但是藍(lán)色的冰一旦被打掉,就會掉下來堵住路,使他們最終無法打到豬。而可取的方式是,他們可以放棄掉藍(lán)色的小鳥,用黃色的小鳥打掉木頭,再打掉豬。
我們這個比賽明年會在澳門舉行,歡迎大家參加。
在 ANU 的物理推理研究組,主要做三件事情:
感知:從多個視圖的照片中,找出真正的結(jié)構(gòu)。
知識表示和推理:例如我一個師弟 2018 年發(fā)表論文講怎么統(tǒng)一空間表達(dá)法;我近一年則關(guān)注在 3D 空間中做一些理論去描述空間物理運動。
物理、空間規(guī)劃:比如堆盤子的實驗。
重點說一下我目前所在公司 Dorabot 的研究和開發(fā)。我是算法研究負(fù)責(zé)人,下面為四個我認(rèn)為比較有意思的方向:
第一個方向,對機(jī)器人進(jìn)行形式化驗證。我們將一套空間表達(dá)方法邏輯化,對機(jī)器人進(jìn)行驗證,以保證機(jī)器人不會做出異常行為。
第二個方向,多機(jī)器人協(xié)作。比如,探索機(jī)器人怎么從類型不同傳感器的輸入找出它們所處世界的真實樣貌,實現(xiàn)機(jī)器人本地協(xié)作,以及在 2D 仿真都是元胞機(jī)(圖靈完全)的情況下,怎么解決 3D 環(huán)境中多機(jī)器人的仿真、規(guī)劃和協(xié)作等問題。
第三個方向,感知問題。包括從原始點云檢測空間實體,比如機(jī)器人洗盤子,看到廚房一堆碗,需要分清哪個是盤子,哪個是抹布,這就需要使用深度感知器去觀察點云;以及通過實質(zhì)性空間變化去跟蹤空間實體。
第四個方向,規(guī)劃。比如對將箱子裝入集裝箱、拖車或輪船等地方的動作進(jìn)行規(guī)劃,以及對靜態(tài)和動態(tài)穩(wěn)定性的考量。
上面四個方向都是我們公司在研發(fā)的問題,感興趣的同學(xué)可以加入我們這個算法團(tuán)隊。
你可以選擇我們公司的研究和開發(fā)方向之一,將其進(jìn)行形式化及建模,比如說將這些話題形式化成 SAT、優(yōu)化、搜索以及機(jī)器學(xué)習(xí)等問題,找到合理建模方式后,看看有什么建議的算法,來跟我進(jìn)行交流。你可以通過郵件 dream@dorabot.com 跟我聯(lián)系。
另外我們公司急需以下崗位,歡迎大家的加入。
以上就是本期嘉賓的全部分享內(nèi)容。更多公開課視頻請到雷鋒網(wǎng)(公眾號:雷鋒網(wǎng))(公眾號:雷鋒網(wǎng)) AI 研習(xí)社社區(qū)觀看。關(guān)注微信公眾號:AI 研習(xí)社(okweiwu),可獲取最新公開課直播時間預(yù)告。
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。