【烽巢網6月1日消息】先提一個可能直擊靈魂的問題:
你家水池里的碗,放了幾天了?

顯然,你和TA都不想先去洗,那樣就是低了頭。
讓服務機器人出面化解這場僵持,可能還只是想想而已。
不過,訓練AI在虛擬世界里做家務,已經有人在做了。
他們還說,教AI做虛擬家務,是為了今后能讓機器人全權代理人類的家務工作。

女仆機器人嘿嘿嘿
以麻省理工 (MIT) 和多倫多大學的研究人員為主的一支AI團隊,建立起了名為VirturalHome的家庭環境模擬器,化為人形的智能體可以在里面學習大量的生活技能。
事無巨細模擬器
VirtualHome由三個部分組成。
一是家務知識庫,里面包含了人類在家庭生活里會經歷的各種活動。
教AI做事情不容易,比如讓它看電視,如果不告訴它坐到沙發上、拿起遙控器,它自己并不會去做這些準備動作。
所以,不論一項技能多么日常,都需要把它盡可能拆解成細小的步驟,比如走進廚房,拿起杯子之類。
于是,知識庫里的每一個任務,都要包含分解動作的文字描述,以及用來執行的腳本。

二是3D模擬器,里面有6個公寓,以及4個人物可以選擇。虛擬環境中,示例、語義標簽注解、深度、姿勢以及光流,應有盡有。
在這里面,角色可以執行程序給定的任務,可以生成各種家務活動的視頻。
三是腳本生成模型,根據自然語言描述或者視頻內容,生成相應任務的執行程序。
在模擬器并不十分廣闊的天地里,研究人員要訓練神經網絡的各項家務技能。

論文里說,這項研究的目標,就是讓AI在自然語言和視頻的指引之下,自己寫出程序來做好家務。
一步很難登天,那么,三步怎么樣?
1 數據怎么搞
要訓練出一只可靠的家務AI,首先就是搜集各種家務活動的數據,這要分為兩個部分——
第一部分,讓一群臨時工 (AMT worker) 來提供任務的口頭描述。每個人要想出一項日常家庭活動,給出高級名稱,比如“做咖啡”,然后描述它的分解步驟。

活動按起始場景分類,于是就有8種,客廳、廚房、餐廳、臥室、兒童房、浴室、玄關、書房。每個場景都包含了350個物體。
第二部分,臨時工們會用圖形編程語言,把這些描述翻譯成程序,當然也需要詳細的步驟 (每一步都是一個block) ,而且要比描述的還要全面——要讓 (目前還不存在的) 機器人能夠貫徹落實。
數據集就這樣建好了,里面充滿了大大小小的任務所對應的程序。
2 動畫化
把數據集里的程序變成動畫,首先要看房間里的哪個物體才是要操作的對象,同時生成合理的動作。這里,系統需要把一個任務的所有步驟都看過一遍,然后規劃一條合理的路徑。
比如,執行一項“打開電腦然后敲鍵盤”的任務,比較理想的流程是,開機之后就在離目標電腦最近的鍵盤上操作就可以了,不用再確定哪一個才是目標鍵盤。
原子動作動畫化
每個任務都是由大量原子動作(Atomic Actions) 組成的,把它們全部動畫化是個不小的工程。
這里用到了12種最常見的動作:走/跑、抓取、按鍵開/關、(物理) 打開/關閉、放置、望向、坐下/站起,以及觸摸。每種動作的執行方式不唯一,比如開冰箱和開抽屜,姿勢就不一樣了。
團隊用Unity引擎里的NavMesh來導航;用RootMotion FinalIK反向動力學包,把每個動作動畫化。
另外,跟人物發生交互的物體,也要發生相應的動作。
程序動畫化
要讓程序里的任務顯現成動畫,就要先在程序中的物體、和模擬器場景中的物體之間建立映射。
然后,是為程序里的每一步,計算人物和目標物體的相對位置,以及計算其他與動畫化相關的數字。
記錄動畫
模擬器的每個房間里,有6-9枚攝像頭,每個公寓平均下來26枚。
并非每時每刻,都需要所有攝像頭,系統根據人物所在的位置來決定啟用哪些攝像頭。
記錄下來的視頻,下一步可以喂給神經網絡,訓練它生成自己的程序。
3 用視頻和自然語言生成程序
給AI一段視頻,或者一段自然語言,讓它自動生成相應的家務執行程序,做一只有覺悟的AI。
△LSTM
團隊調整了seq2seq模型,來適應這個任務,然后用強化學習來訓練它。
這里的模型,是由兩只RNN組成的,一只給輸入序列編碼,另一只負責解碼。神經網絡每次可以生成一項家務中的一個步驟。
給文本編碼,用的是word2vec。
處理視頻的話,就把每條視頻拆成許多個2秒長的片段,然后用模型來預測中間幀的樣子。這里用到了DilatedNet,還用到了Temporal Relation Netork。
學習和推斷
這個過程分為兩步。
第一步,用交叉熵損失(Cross Entropy Loss) 對解碼器做預訓練。
第二步,強化學習登場,智能體要學習一下策略(Policy) ,用來生成程序里面的步驟。
模擬器里很幸福
數據集的質量如何?動畫化的效果怎樣?系統生成的程序又能不能指向希望的任務呢?
測試過程請見論文。不過在那之前,先看看這個人。

看電視的任務做得很流暢,他還會找個舒服的姿勢坐下來,很悠然。
團隊也覺得,從生成的視頻來看,各種任務的完成度還是不錯的。
下一步,就要給AI喂真實拍攝的視頻了,畢竟模擬器里發生的一切,和物理世界還是不一樣的。
是太幸福了吧?
畢竟,模擬器里的家庭環境一成不變,東西都擺在它該在的地方,也沒有小朋友跑來跑去。
在機器人接手任務之前,AI可能還需要在更加難以預測的模擬環境里,訓練很長時間。
另外,就算環境變化不是問題,真實的家務操作也并不像撿個裝備那么簡單,且容錯率非常低。

比如,端一杯咖啡不可以只有90%的準確度,95%也不太行。因為,百分之一的差錯,會造成百分之百的災難。
不過,作為一個日常手抖的操作渣,我端咖啡也沒那么安全,從某種程度上說,還是很有潛力成為機器人女仆的重度用戶。
【烽巢辣評】暢想一下機器人在人類日常生活中完全靈活運用,亂扔的臟襪子,一水池臟碗,狼藉不堪的衣柜等等,教機器人AI,讓他完全記錄人類的生活運動。盡管現在實現教機器人AI有許多復雜的困難,但小編仍抱有期待!
請登錄以參與評論
現在登錄