人形機器人人工智慧 [S73182] AI for Humanoid Robots [S73182] GPU TAIWAN專屬的報名連結: https://www.nvidia.com/zh-tw/gtc/?ncid=ref-inpa-429799 Pieter Abbeel 加州大學柏克萊分校教授 人形機器人硬體正在快速進步。我們有理由期待三年內能夠出現具有商業可行性的人形硬體。問題是,我們要如何建構能夠讓這些機器人發揮作用的人工智慧?人形機器人具有高維度動作空間和高維度多模態觀察空間,對現有範式提出了挑戰。我們將更深入地探討這些挑戰,並強調一些有希望的前進道路。 主題:機器人技術 - 人形機器人 行業細分:所有行業 技術等級:技術 - 中級 目標受眾:研究:學術 3 月 20 日,星期四 凌晨 1:00 - 凌晨 1:40 中部標準時間 AI逐字稿 托馬斯·貝德·納什 (Thomas Bed Nash) 的開場致詞 大家今天過得怎麼樣?聽不到回應。很好,謝謝你們。歡迎來到 NVDRGTC。今天是我們的第一天。我叫托馬斯·貝德·納什 (Thomas Bed Nash),我在英偉達 (Nvidia) 的戰略研究與參與團隊 (Strategic Research and Engagement Team) 工作。今天我將擔任會議主席 (Session Chair)。在我們開始之前,我想先跟大家說幾件作為開場須知 (housekeeping) 的事情。 首先,我希望你們都已經安裝了手機應用程式 (Mobile APP)。我們會在上面更新最新的會議資訊 (sessions) 等等,所以請務必把它裝在手機上,隨手可查。另外,別忘了今天中午 12 點,二樓的展覽廳 (Exhibit Hall) 會開放,請務必去看看。還有,從下午 5 點到晚上 7 點,我們也會在展覽核心區 (Exhibit Core) 舉辦招待會 (receptions),千萬別錯過。 另外,請一定要去看看 GTC 公園 (GTC Park)。我們在 GTC 公園為你們準備了幾個藝術裝置 (art installations)、休息區 (lounge areas)、餐車 (food trucks),還有一些體育活動 (sports activities)。它也會在晚上 7 點到 9 點對市場開放。所以如果晚上沒什麼安排,請去那裡逛逛。 至於會議錄音 (session recordings),也許有些人想回顧一下。感謝你們來到這裡。這些錄音會在 48 小時內上線,你們可以在 Mind Portal 上看到相關視頻 (video)。非常感謝你們的參與。我很高興能介紹今天的講者——彼得·伊維爾 (Peter Evil)。彼得,請上台來,大家鼓掌歡迎。彼得是人工智能 (Artificial Intelligence) 領域最頂尖的研究者 (researchers)、教育家 (educators) 和企業家 (entrepreneurs) 之一。他在加州大學伯克利分校 (UC Berkeley) 擔任人工智能與機器人學 (Robotics) 的教授 (professor),同時也在亞馬遜 (Amazon) 擔任亞馬遜學者 (Amazon Scholar)。 彼得共同創立了兩家公司。一家是 Great Scope,這家公司利用人工智能 (AI) 幫助導師 (instructors) 處理作業 (homework) 和考試 (exams)。另一家是 Covariant,專注於倉庫 (warehouses) 和工廠 (factories) 自動化 (automation) 的機器人基礎模型 (robotics foundation models)。今天,他將與我們談論人形機器人 (humanoid robots) 的硬體 (hardware) 和軟體 (software)。我們似乎正在這個領域看到顯著的加速發展 (acceleration)。那麼,彼得,你怎麼看? 謝謝你們與我們同在。謝謝大家。 講者 2:彼得·伊維爾 (Peter Evil) 的演講 大家早上好。感謝你們今天來到這裡。我想跟大家聊聊人工智能 (Artificial Intelligence, AI) 的最新進展,特別是關於人形機器人 (humanoid robots)。我之所以想談這個話題,是因為我認為現在是人形機器人領域一個非常獨特的時刻。你們昨天應該聽了簡 (Jan) 的主題演講 (keynote),可能已經感受到那種氛圍。但如果單看過去幾年開發的硬體 (hardware),你會發現機器人 (robots) 的製造速度很快,整合程度越來越高,性能也越來越好,進步的速度非常快。這讓我們有機會使用幾年前甚至無法想像的硬體,開始做一些沒有這種新硬體就無法起步的事情。 機器人手 (robot hands) 的情況也是如此。那裡正在發生一場相似的革命 (revolution),硬體進展非常快。當然,隨著硬體的進步,缺少的部分是大腦 (brain),也就是人工智能 (AI),這才是它的核心力量 (power)。那麼,當我們思考人工智能時,它在哪些領域取得了最大的成功?我認為對大多數人來說,轉折點是 2022 年 11 月 ChatGPT 的出現。不久之後,各種實驗的頭條新聞 (headlines) 開始出現,比如「ChatGPT 通過 MBA 考試」、「ChatGPT 通過律師資格考試 (bar exam)」。那一刻讓大家覺得語言人工智能 (language AI) 似乎真的開始發揮作用了。 那麼,大型語言模型 (large language model) 成功的秘訣是什麼?它依賴於一個非常大的變壓器 (transformer)。輸入是一連串的單詞 (sequence of words),更專業一點說,是符號序列 (sequence of tokens)。模型要生成的輸出 (output) 是預測下一個單詞或符號 (next word or token)。這之所以有效,是因為你用互聯網 (Internet) 上大量的數據 (data) 訓練一個非常大的網絡 (network)。有些數據經過一點篩選 (curated),因為並非所有互聯網數據的品質都一樣。然後,再加上大量的計算能力 (compute) 來驅動這一切。這是一個行之有效的配方 (recipe)。 那麼,機器人呢?我們能用什麼數據 (data)?在語言中,一次生成一個單詞其實就是我們說話的方式,所以這與語言完美匹配。但在機器人技術 (robotics) 中,人形機器人數據 (humanoid robot data) 的來源就不那麼明確了。世界上沒有人形機器人 (humanoid),所以也沒有它們做事的数据。我們需要一個不同的數據源 (data source),這正是機器人領域的一大挑戰 (challenge) 和機遇 (opportunity),我們得搞清楚怎麼解決這個問題。 一個自然的數據來源可能是遠程操作 (teleoperation)。你可以說:「嘿,我要用這種方式遠程操作機器人,這樣我就能得到我想要的數據。我清楚知道機器人做了什麼,有攝影機 (cameras)、錄音 (recordings),知道關節角度 (joint angles)、力量 (forces) 等等。」這些數據在很多方面就像大型語言模型數據 (language model data) 的對應物,直接給你與你想做的事情匹配的數據。但這非常耗時 (time-consuming),成本也很高 (costly)。不像語言領域,人們已經在互聯網上寫了大量數據,這不是人們一直在做的事,但你可以開始專門為此努力。即使如此,與互聯網文本數據 (Internet text data) 相比,這裡的數據量還是很小。 所以你可能會說:「嘿,為什麼一定要錄製機器人?也許我們可以直接追踪人類的手部動作 (human hands) 和視頻 (videos)。真正重要的是手做了什麼,對世界產生了什麼影響。好用的計算機視覺 (computer vision) 可以追踪手部動作 (hand motions),我們就能得到幾乎是我們想要的數據,但不完全是我們想要的。」或者你可能會說:「嘿,在模擬 (simulation) 中,我們知道機器人的一切動作,可以設置大規模模擬 (large-scale simulation) 來獲取數據。」但模擬並不總是與現實 (reality) 完全吻合。怎麼把現實世界中有趣的東西 (real-world assets) 放進模擬器 (simulator) 呢?模擬器裡沒有的東西,機器人在模擬中就學不到。於是你可能會說:「嘿,為什麼不直接讓機器人在現實世界中學習呢?」 當然可以。原則上,你可以在現實世界中對機器人進行強化學習 (reinforcement learning) 和試錯學習 (trial-and-error learning),但怎麼安全地設置它們?你怎麼把所有東西帶到它們面前?所以,這裡又有其他的挑戰需要解決。 或者你可能會說:「嘿,我要用更像語言模型 (LOM) 的方式。我不在乎這些機器人數據,我要直接用互聯網視頻 (Internet videos),也許做下一幀預測 (next frame prediction) 或下一個符號預測 (next token prediction),通過這種方式了解世界。」但我還是無法知道具體的動作 (actions),所以無法真正學會機器人如何用手 (hands)、腿 (legs)、手臂 (arms) 等影響世界。從某種意義上說,這裡是一堆亂七八糟的東西,但從研究 (research) 的角度看,這超級令人興奮。我們怎麼把這些不同類型的數據 (data types) 結合起來,得到我們想要的結果——一個能與我們互動 (interact)、與世界上的物體 (objects) 互動並做有意義事情的機器人?這不是簡單地把文本 (text) 拿來做下一個符號預測的配方。 這裡有一種可能的組合方式。順便說一下,這都還是研究階段 (research)。目前還沒有證明這些一定能成功,這是人形機器人研究的階段。但這是一種嘗試。你可以說:「嘿,互聯網數據 (Internet data) 我有很多,幾乎是免費的,下載下來訓練就行了。這可能是我大部分數據的來源,用來建立背景知識 (background knowledge)——世界如何運作 (how the world works),人們如何交流世界 (how people communicate about the world)。」 但你可能會說:「我需要機器人,所以也許在模擬 (simulation) 和現實 (real world) 中,我會運行一些機器人的強化學習 (reinforcement learning),來理解它如何與東西互動 (interact with things)。」最後你可能會說:「我們不要讓人全程參與 (human in the loop)。也許用遠程操作 (teleoperation),也許像語言中的 RLHF (Reinforcement Learning from Human Feedback) 那樣,對機器人動作 (robot actions) 給予反饋 (feedback),說這個好 (good)、這個壞 (bad)、這個更好 (better)、這個更糟 (worse)。這樣機器人就能學會你喜歡什麼、不喜歡什麼。」但如果你看這個方案,這是一幅很複雜的畫面 (complicated picture)。它不像只是下載一些數據,跑一個訓練配方 (training recipe)。這是一個複雜的拼圖 (puzzle),有很多塊 (pieces),每一塊都有自己的挑戰 (challenges)。 我想在這裡給你們的感覺是,這些不同部分 (components) 正在取得巨大的進展 (progress)。即使今天它們還沒完全整合在一起,但進展的方式非常有趣。順便說一下,當你看這張圖時——這是我準備的幻燈片 (slide)——昨天我確認了一下,沒錯,英偉達 (Nvidia) 的 Project Growth 展示了一個差不多的畫面。當然方向不同,但你會看到一大堆網絡數據 (web data),這是金字塔的基礎 (foundation of the pyramid)。然後是一堆合成數據 (synthetic data),也就是模擬器數據 (simulator data),在我這邊是左邊。還有現實世界的數據 (real-world data),可能是有人參與收集的,在我這邊是右邊。這個願景 (vision) 很相似,細節有所不同。但這很可能就是我們未來會看到的粗略畫面 (rough picture),雖然每個部分要真正搞定還是很難。 所以,對機器人人工智能 (AI for robotics) 的關鍵觀察是,跟語言模型 (language models) 比起來,還沒有統一的解決方案 (convergence)。我們還沒有找到容易擴展的高信號數據 (high signal data),也沒有找到最佳的數據源組合方式 (best way to combine data sources)。你們有沒有問題? 這是個令人興奮的時刻去做研究 (research),把這一切搞清楚。整個領域有許多令人興奮的研究成果 (research results)。我晚點會講到這部分。你們都可以跳進這個領域 (field),甚至在家就能開始做事。這不需要 1000 萬美元的訓練預算 (training budget) 來訓練你的模型 (LOM)。你只需要一個 GPU (Graphics Processing Unit),就能在模擬 (simulation) 中做出驚艷的事情。如果你有更多資金,可以買個機器人 (robot),也能在現實世界中看到成果。 好,讓我們從這個令人興奮的研究時刻開始。我想讓你們明白,我要強調的是一些我認為非常有趣、非常有前景 (promising) 的想法。但目前還沒有一個完整的畫面 (full picture)。我要澄清,我不是給你們一個完整的藍圖,告訴你們這一切會怎麼發展。我展示的是一些非常有前景的東西,很可能是未來的一部分 (part of the future),但還沒完全整合成一個系統 (system)。 如果我們採用直接的遠程操作 (direct teleoperation),這是獲取與我們需求匹配的數據 (data) 的最直接方法——輸入是攝影機畫面 (camera feed) 和當前機器人關節角度 (robot joint angles),輸出是下一個機器人關節角度 (next robot joint angles)。如果你有遠程操作設置 (teleoperation setup),就可以長期收集這種數據。我和其他很多人曾認為,這在大規模上完全不可能做到。但斯坦福 (Stanford) 的切爾西·芬恩 (Chelsea Finn) 小組展示,只要設置得當,你就能非常快地收集數據。雖然還不是互聯網規模的數據 (Internet-scale data),但可以很快收集到相當多的數據 (good amount of data)。 單單這一點,就促成了第二版的移動 Aloha (Mobile Aloha)。在這裡,一個學生遠程操作機器人 (teleops the robot),這些數據被用來訓練一個神經網絡 (neural network),現在這個網絡能自主完成你在視頻中看到的任務。我認為這裡有兩件很有趣的事情值得注意。第一,你會在視頻中看到,它能處理相當廣泛的任務 (wide range of tasks)。我們可以用遠程操作教它做各種事情,神經網絡能學會控制機器人完成這些任務。第二,我想強調的是,雖然我個人相信最終目標是手 (hands) 而不是夾具 (grippers),但如果操作得當,夾具已經能在我們的世界中實現很多靈巧動作 (dexterity)。 現在,切爾西·芬恩 (Chelsea Finn)、塞爾吉奧·萊文 (Sergio Levin)、卡拉·豪斯曼 (Kara Haussmann) 等幾個人創辦了一家公司 PI,基於這項研究進一步發展。他們展示,一旦在資源更多的公司中擴大規模 (scale up),結果會比大學裡更好。這是人工智能領域的普遍趨勢 (common trend)——數據越多 (more data),結果越好。但這裡的數據收集 (data collection) 可不簡單。他們設法建立了一個相當大規模的數據收集系統 (large-scale data collection),教機器人整理衣物 (organize laundry)。當你看這個時,我想讓你們注意機器人的錯誤修正行為 (error-correcting behaviors)。這顯然不是一個按腳本走的洗衣折疊過程 (scripted laundry folding session)。這個神經網絡控制的機器人看過很多例子 (examples),有各種變化 (variations),它學會了如何泛化 (generalize)。當計劃稍有偏差 (deviations from the plan) 時,它知道如何修正 (correct) 並最終達到正確的結果 (right end state)。對我來說,這正是機器人智能 (intelligence of robotics) 的閃光點——當事情不是 100% 順利時,機器人知道如何恢復 (recover) 並實現目標 (achieve its goals)。 遠程操作 (teleoperation) 已經取得了很多進展,不只是在本地。Aloha 和 PI 的設置是很本地化的,但加州大學聖地牙哥分校 (UCSD) 的王曉龍 (Xiao Long Wang) 小組與麻省理工學院 (MIT) 的合作者展示,你可以用 Apple Vision Pro 從 MIT 遠程操作。這是技術的又一次融合 (convergence of technologies)。它追踪手部動作 (hand motions),MIT 的手部動作由 Apple Vision Pro 追踪,通過普通互聯網 (regular Internet) 傳輸——不是什麼專用的光纖 (dedicated fiber),只是普通的快速互聯網。這樣,操作員 (operator) 就能遠程控制機器人完成一些很有趣的任務。當然,遠程操作有點延遲 (lag),你得慢一點做事,因為動作太快很難與機器人同步 (in sync)。但以適中的速度 (modest pace),還是能完成很棒的事情。 在這個例子中,實際上是用了手 (hands)。另一個例子是把小耳塞 (earplugs) 放進盒子裡,這再次展示了當前機器人硬體 (robot hardware) 在正確控制下能達到的靈巧程度 (dexterity)。這裡是自主操作 (autonomous),從示範 (demonstrations) 中學習。你也可以示範全身動作 (full body motions)。我們完全可以追踪一個人的全身動作,然後讓機器人學會模仿 (imitate)。就像這裡展示的,一個完整的人形機器人 (full humanoid) 把兩個籃子 (baskets) 收拾好。 我對人形機器人很興奮,但我們也不該低估四足機器人 (quadrupeds) 的潛在普及性 (prevalence)。四足機器人更容易操作,不容易摔倒 (fall over),天生更穩定 (stable)。你可以給它們裝上手臂 (arm),不一定只用四條腿。這裡的例子,我相信是聖地牙哥 (San Diego) 的教授沙洛·溫 (Shallow Wines) 家裡,他的機器人清理了孩子们的遊戲室 (kids’ playroom)。這是很多父母都能感同身受的任務 (task),現在可以自主完成了。 我之前提到,也許我們不想凡事都用遠程操作來收集數據。這很繁瑣 (tedious)。是的,最近的進展讓它變得簡單多了,但還是比自己做事麻煩。我們每天做很多事——烹飪 (cooking)、打掃 (cleaning)、整理 (organizing)、建造東西 (building things),用手做各種各樣的事。為什麼不直接錄製人類用手做事的過程呢? 這是卡內基梅隆大學 (CMU) 的迪帕克·帕多克 (Deepak Paddock) 的研究。他們的核心想法是,如果你讓神經網絡 (neural network) 觀看人類做事 (humans doing things) 的視頻,也許應該通過訓練神經網絡權重 (weights) 時使用的損失函數 (loss function),來鼓勵它學習預測手 (hands) 會在哪裡與世界互動 (interact with the world)。當手在空中時,具體發生什麼可能不那麼重要,但當它們與世界接觸時,那些是網絡該關注的熱點 (hot spots of attention)。這樣,未來當機器人被要求完成任務 (task) 時,它不用從頭學起。它已經知道世界上有趣的東西是什麼——把手 (handle) 是該試試的東西,門 (door) 是該試試的東西,抽屜 (drawer) 也許是該打開的東西。這給了機器人很強的先驗知識 (strong priors)——什麼是世界上有趣的東西。 不知道你們有多少人從頭開始在機器人或模擬機器人 (simulated robot) 上跑過強化學習 (reinforcement learning)。如果你試過,你會發現機器人能做很多沒意思的事 (uninteresting things)。學習之所以花那麼久,是因為機器人忙著做無聊的事,分不清什麼是有趣的。這就像我們觀察彼此——你在幹什麼?另一個人在幹什麼?從中學習什麼是世界上有趣的東西。這是同樣的原則,但現在被應用到神經網絡的損失函數 (neural net loss functions) 中,讓它知道世界上哪些部分很有趣。 現在,轉到動作控制 (manipulation) 以外的話題,來說一些最近在運動 (locomotion) 方面的令人興奮的進展。這是伯克利 (Berkeley) 同事的研究。他們收集了一堆行走 (walking) 的數據集 (data sets)。有神經網絡控制的模擬機器人 (simulated robots) 行走,你可以在模擬中跑大規模強化學習 (large-scale reinforcement learning) 來獲取數據——所有機器人關節角度 (joint angles) 是什麼?施加到關節的指令 (commands) 是什麼? 質心 (center of mass) 是什麼?姿態 (pose) 是什麼?這是第一個數據集 (data set),一個完整的數據集,包括發送給機器人的動作 (actions)。但其他數據集在這篇論文中無法獲取動作。基於模型的控制器 (model-based controller) 是敏捷機器人 (agility robot) 自帶的控制器,但它用的動作空間 (action space) 跟這項研究不同。所以動作被忽略了。那個數據集只是機器人狀態 (states) 的序列。然後還有從人類錄製的數據,動作未知,只是一連串人體姿態 (human body poses) 被記錄到數據集中。還有互聯網視頻 (Internet videos),品質較低的動作捕捉數據 (motion capture data),記錄每個視頻中人的姿態 (pose of humans)。這也是一連串人的姿態。 我們現在得到的東西,看起來很像大型語言模型的訓練集 (training set)。都是序列 (sequences)——後三個是狀態序列 (sequence of states),第一個還穿插了動作 (actions)。我們在這整個數據集上用一個大型變壓器 (large-scale transformer),學習預測下一個符號 (next token),也就是純粹的下一個符號預測 (pure next token prediction)。這給出了一個很好的基線行走控制器 (baseline walking controller)。然後再跑一些額外的強化學習,實際上也是下一個符號預測,但這次是針對獎勵的優化 (optimization of a reward),而不是僅僅預測現有數據中的下一個符號。 我們在更粗糙的地形 (rougher terrains) 上做這個,然後在現實世界中測試 (tested in the real world)。這個系統 (system) 在現實中完成了超過 4 英里的徒步 (real hikes),就在伯克利後面的山上 (hills behind Berkeley)。這個機器人能可靠地在這些地形上行走。如果你好奇這個設置有多自主 (how autonomous),在這個特定設置中,機器人學會了走路,應對地形的不平坦 (unevenness in the terrain),但其實沒有攝影機畫面 (camera feed)。它只知道自己的身體姿態 (body pose),能感覺到腳下發生什麼 (what’s happening under its feet)。然後有一個人用操縱桿 (joystick) 控制方向,決定機器人往哪走。所以高層次的導航 (high-level navigation) 是人說「現在往這走」「現在往那走」,但低層次的控制 (low-level control) 是自主的。 我覺得很有趣的是,即使沒有眼睛 (eyes),這個機器人也能走過這些地形。在舊金山 (San Francisco) 也是如此,很陡的坡 (steep slopes),它都能上下坡處理得很好。另一個我們研究的例子,是我親自參與的——這些機器人能跑得快嗎? 百米賽跑 (hundred meters),最快的人大概 10 秒跑完,對吧?這個機器人用了 чуть超過 20 秒。這是用強化學習訓練的控制器 (reinforcement learning trained controller),目標是最大化速度 (maximize speed)。這個機器人沒有上半身 (upper body),是早期版本的 Digit,當時沒配上半身。但我們看到,它用很自然的運動方式 (natural locomotion),以機器人的標準來說,很快完成了這 100 米衝刺 (sprint)。同樣的強化學習技術還讓它學會了跳躍 (jump)。不跳其實更難,因為跳的時候你得落地 (land) 並穩住 (stick the landing)。這是個很明確的衡量標準,看動作協調得好不好。如果落地不協調,結尾就得有很多調整 (stuttering)。這裡我們看到它跳得很成功。 你可以用類似的技術訓練四足機器人 (four-legged robot) 當守門員 (goalie)。這裡的機器人有攝影機 (camera),不然它不知道球 (ball) 往哪去。它得快速反應,跳起來 (jump)、撲救 (dive),或者如果球踢到中間,就待在原地 (stay in place),確保球不進球門 (goal)。我之前說過,現在越來越多的機器人變得可用,所以我們能開始研究它們。當然,有些機器人很引人注目,比如特斯拉的 Optimus (Tesla Optimus),它的市場曝光 (marketing presence) 和頭條新聞最多。但市場上還有很多其他機器人,現在甚至可以在大學裡建造這些東西。這是在伯克利 (Berkeley) 以很低的預算 (low budget) 建造的,這個機器人能做很多動態的事情 (dynamic skills),而且建造成本相對低 (relatively low cost)。所以這些東西的價格會下降,很快硬體價格 (price of the hardware) 就不會是我們使用這些機器人的障礙了。 這裡還有一些伯克利人形機器人 (Berkeley humanoid) 的例子。這是在伯克利的 Causal Three Knots 實驗室 (lab)。另一個很受矚目的是 Unitree 的 G1 和 H1 機器人 (Unitree G1 H1 robots),這是他們最新的視頻。我們不清楚他們具體怎麼做到的。但很可能是通過動作捕捉 (motion capture, mo-cap) 記錄人類做同樣的動作 (same motions),然後把這些動作重新映射 (re-targeted) 到機器人能執行的動作上,考慮到機器人的運動學物理限制 (physical constraints)。接著在模擬中跑強化學習 (reinforcement learning in simulation),學會執行這些動作,再把訓練好的神經網絡控制器 (neural net controller) 轉移到現實世界的機器人上,實現這樣的真實執行 (real-world execution)。 我很好奇接下來會發生什麼。很多人形機器人的全身控制 (full body control) 工作依賴模擬 (simulation),因為那是我們能獲取大量數據 (lots of data) 的地方。而且模擬數據的效果很好。可能是因為有腿機器人 (legged robot) 與世界的接觸主要在腳 (feet),所以你只需要擔心那些接觸力 (contact forces),這些力比起動作控制 (manipulation) 來說更容易模擬得好。動作控制中可能有更多細節——東西會變形 (deform)、會壞掉 (break),很多事情可能發生,但在運動 (locomotion) 中你不用太擔心這些。所以模擬在這裡扮演了非常重要的角色 (big role)。但模擬只能反映你放進去的東西。 下一個大問題是,怎麼把更多的世界 (more of the world) 放進模擬器 (simulator)?我在伯克利的一個學生 Arthur Aussie 做了一個項目,研究能不能收集人類在現實世界做事 (humans doing things in the world) 的視頻,不只是動作捕捉 (mo-cap),還要捕捉周圍環境 (surroundings)。把這些放進模擬中,然後用強化學習 (reinforced learning) 學習重新映射的動作 (re-target motion),希望能轉移到現實中,這是我們的下一步。關鍵是,我們正在變得能很好地把重要東西放進模擬 (sim) 中。 如果你參加了這裡的其他會議,可能聽過像 NeRF (Neural Radiance Fields, 神经辐射场) 和高斯飛濺 (Gaussian Splattering) 這樣的技術,這些能讓我們在神經網絡中理解世界的三維結構 (3D of the world)。這裡也是類似的想法。你可以用這種方式把世界的三維結構放進模擬器,開始訓練更複雜的環境 (complex environments)。 我想簡單介紹一個我很興奮的具體工作,是我們最近做的——身體變壓器 (Body Transformer)。大家現在應該聽過「變壓器」(transformer) 這個詞很多次了。變壓器是當今每個大型語言模型 (large language model) 的核心,也是視覺 (vision)、語言 (language)、語音 (speech)、機器人技術 (robotics) 等領域最強模型的基礎。你可能會問:我們能不能把它稍微映射到機器人身體的結構 (structure of the robot body),而不是用一個通用的變壓器 (blanket transformer)? 看看人類和動物,它們有空間上的連繫 (spatial connectivity)。我們對事物的反應路徑,比如感覺到指尖被燙 (something burning on our fingertips),到做出反應,不一定非要經過大腦 (brain)。脊椎 (spine) 提供了更短的路徑,讓我們直接對那裡發生的事做出反應。你可能會說:「嘿,這也許只是進化上的巧合 (evolutionary quirk),可能沒什麼大不了。這種身體構造有長短路徑只是更容易建造而已。」但你也可以說:「也許這其實是個歸納偏置 (inductive bias)。也許這能讓我們學得更快,因為你優先學習短連接 (shorter connections),而長連接 (longer connections) 需要更多精力。」所以局部性 (locality) 可能讓我們學得更快。 這就是我們開始研究的方向,特別是用模組化架構 (modular architecture) 而不是單一的神經網絡 (monolithic neural network)。我們可以看機器人的骨架 (skeleton),把它作為歸納偏置 (inductive bias),讓計算更高效 (computationally more efficient)。這不是變壓器中所有的全連接 (all-to-all connectivity),而是局部連接 (local)。當我們應用注意力操作 (attention operations) 時,這支持多頻率推理 (multi-frequency reasoning)——局部連接很快,是高頻 (high frequency),遠處的連接則慢一些。 當你考慮強化學習 (reinforcement) 時,這給了你局部化的信用分配 (localized credit assignment)。強化學習的一個挑戰是,當好事發生時,你怎麼知道是什麼引起的?也許你成功煮了一頓飯,但不是因為你用腳做了什麼,而是因為你用手做了什麼。一個巨大的黑盒變壓器 (massive black box transformer) 不會告訴你是什麼原因,你得跑很多次才能分辨。但這裡,你從一開始就能看到結構 (structure)。 我們怎麼做到這一點?不是用一個全連接注意力 (all-to-all attention) 的大變壓器,而是基於機器人的局部性 (locality in the robot) 做一個稀疏注意力圖 (sparse attention map)。我們發現,用這種局部注意力 (masked attention) 而不是全注意力 (full attention),灰色曲線 (gray curve) 顯示每次迭代的時間 (time per iteration)。全注意力需要更多時間和計算成本 (computational cost),而局部注意力便宜得多。這種帶局部注意力的身體變壓器 (Body Transformer with masked attention) 提升了模仿學習 (imitation learning) 和可擴展性 (scalability)。它在低數據環境 (low data regime) 下效果很好,比如這裡只有三次示範 (three demonstrations) 就能學會做任務,因為它有很好的歸納偏置 (inductive bias)。而全連接變壓器 (fully connected transformer) 沒有這種偏置,無法學會開門任務 (door open task)。這也幫助了強化學習和現實世界的轉移 (transfer to the real world),我待會會多講一點。 在最後一部分,我想講到這個領域的參與方式。我說過,你可以跳進這個領域,甚至在家就能開始做事,只要你有一點計算資源 (compute),比如一個好的 GPU (Graphics Processing Unit)。我們一直在思考,就像人工智能的許多領域一樣,進展的關鍵是設定正確的目標 (right goals)。今天的系統還有哪些難解的挑戰 (challenges)? 然後讓大家去解決。誰取得了最大進展,他們的方法可能就更有前景 (more promising),值得進一步研究。我們在模擬中設置了一系列任務 (range of tasks),讓大家在家也能輕鬆參與,不需要自己的機器人。雖然問題有所調整,但包括了一堆運動任務 (locomotion tasks)、複雜地形任務 (complex terrain tasks),還有局部動作任務 (local manipulation tasks),比如開門 (open door)、在廚房做事 (do things in the kitchen)。我們能突破物理界限 (physical boundaries) 嗎?順便說一下,這是我很關心的一點。我個人覺得,當人形機器人在世界上做有意義的事時,它們經常會接近自己的物理極限 (physical boundaries)。 你可能會問:「為什麼不把規格設計得更高 (overspec),讓它們更強壯?」但它們越強壯,就越重 (heavier),保持安全 (keep them safe) 就越難。所以,如果你想讓它安全又輕量 (lightweight),結果就是你得在接近物理極限的情況下操作,這樣才能最大化它們的能力 (maximize their capabilities)。這些都被整合在 Humanoid Bench 裡。你可以谷歌一下,找到它,今天就可以開始用,跑你自己的算法 (algorithms),看看你能做到什麼,在這些問題上能取得多少進展 (progress)。 它不只有問題設置 (problem settings),還有觸覺感應 (tactile sensing)。我認為這將是很重要的部分。今天大多數真實機器人 (real robots) 還沒有我這裡展示的這麼多觸覺感應。但大多數人預計,未來幾年內,觸覺感應會成為實體機器人 (physical robots) 的一部分。還有其他機器人配置 (robot configurations) 可供使用,不只是我剛才展示的那些。我們也比較了一些其他任務。我們說:「嘿,這些任務是當前算法 (current algorithms) 能做好的,我們用這些被認為是最先進的算法跑在 Humanoid Bench 上,看看會怎樣。」結果表現得很差,這意味著這裡真的有研究進展的空間 (room for research progress)。現有方法在約 30 個任務中只解決了 3 個。 為什麼會這樣?有很多原因。現有算法在大動作空間 (large action spaces) 上很吃力。如果只控制身體 (body) 不控制手 (hands),只專注於伸手任務 (reaching task),進展會不錯,能轉移到現實中。但如果你跑得不夠快,模擬中的試驗次數 (trials in simulation) 不夠多,就沒法把學到的策略 (policy) 用到真實機器人上。這是可行的嗎? 如果我們能讓模擬盡可能快,同時做到這兩點,那麼在模擬中的進展很可能意味著現實世界的進展。這就是我說的,你可以在家開始做這個。只要在這個環境 (environment) 中工作,即使你沒有機器人,你在這裡的進展也代表真實的進展 (actual progress)。你不是在利用模擬器的怪癖 (quirks of the simulator),你是在人形機器人或其他機器人上取得真正的進展。 這裡的動機 (motivation) 是,現實世界訓練 (training in the real world) 成本高又不安全 (costly and unsafe)。我們大多在模擬中訓練。當然,很多人都看過的大成功案例是 Isaac Gym,這仍是領先的環境之一 (leading environments)。但現在,英偉達也在與 Google DeepMind 合作開發 Joker Playground。這是昨天 Jensen Wang 的主題演講提到的。我在昨天的會議後加了這張幻燈片,正好講我要談的內容。Joker Playground 在他們的開源批量 GPU 渲染中模擬各種任務 (variety of tasks),一行命令就能安裝 (installable in one line)。這很棒。通常安裝功能多的東西很複雜,但這裡只要一行就能裝好,甚至能在 Colab 筆記本 (Colab notebooks) 上跑,你可以免費使用,只要雲端的 GPU 不太忙,就能跑你的實驗。 它的樣子是這樣的,有各種機器人,包括人形 (humanoid)、四足 (four-legged)、傳統機械手 (traditional manipulator) 和手 (hands)。模擬如我說的,能省下廉價數據 (cheap data),模擬中訓練後部署到真實機器人上。這裡有個簡單的基準測試 (benchmark),包括 DeepMind Control Suite,一個長期用來測試很多算法的機器人控制環境 (robotic control test environment)。這意味著要定義獎勵 (rewards),通常是多個獎勵,告訴系統你想要什麼。在模擬中開始訓練,通常用 PPO (Proximal Policy Optimization),如果結果不如預期,就調整獎勵 (tune the rewards)。最後的學習課程 (learning curriculum),也許是為了逐步挑戰更難的任務,再加上領域隨機化 (domain randomization),在模擬中加點隨機性 (randomness),避免過度擬合 (overfit) 某個特定版本的模擬器,然後轉移到現實世界。 這裡有些學習曲線 (learning curves) 的例子,技能掌握得很好。如果你有更多 GPU,也有些限制。獎勵設計 (reward shaping) 仍然重要,編譯 (compilation) 有點慢,還有 JAX 的限制,但這些問題很快會解決。如果你想了解這個特定設置 (setup),明天有個專門的會議,由 Eric Fray 講解這個設置,去看看吧。 總結來說,目前還沒有一致的方案 (convergence) 告訴我們如何為人形機器人打造人工智能。有很多令人興奮的組件 (components) 取得了巨大進展——遠程操作 (teleoperation)、現實世界的強化學習 (real-world RL)、人類視頻 (videos of humans)、互聯網視頻和文本 (Internet video and text)。重要的是,你可以自己動手做。 最後,我想展示一個演示 (demo)。我說過我們能在模擬中訓練並轉移到真實機器人上。讓我們看看能不能把機器人請上台。這是模擬策略 (simulated policy)。這是真實的機器人策略 (actual robot policy)。你可以看到動作現在在機器人上運行。在這個例子中,操縱桿策略 (joystick policy) 能控制機器人的方向,讓它前進 (forwards)、後退 (backwards)、側走 (sideways)。這裡是 Kevin,他在完全控制機器人往哪走。還有一些錯誤恢復 (error recovery)。澄清一下,Kevin 剛才在拉機器人,展示即使有人拉著手柄干擾 (disturbed by somebody pulling the handle),機器人也能保持平衡 (balance itself)。謝謝大家。
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up