• 您現在的位置是:首頁 >人工智能 > 2021-04-23 16:49:22 來源:

    模擬是智能機器人的關鍵

    導讀 我讀了Danny Vena 撰寫的題為 游戲掌握人工智能系統教學的關鍵的文章,其中作者指出,像Minecraft,Civilization和Grand Theft Auto這

    我讀了Danny Vena 撰寫的題為“ 游戲掌握人工智能系統教學的關鍵”的文章,其中作者指出,像Minecraft,Civilization和Grand Theft Auto這樣的計算機游戲已用于培訓智能系統,以便在視覺學習中表現更好,理解語言,與人類合作。作者得出結論,在不久的將來,游戲將成為人工智能領域的關鍵因素。他幾乎是對的。

    在我看來,這篇文章只是通過談論游戲來觸及人工智能的表面。游戲一直是產生優于人類的智能系統的良好起點,但是深入了解在人類環境中有用的機器人領域將需要比游戲更復雜的東西。而我在談論模擬。

    使用游戲來引導智能

    自人類智能誕生以來,人們在游戲中擊敗人類的想法一直存在。最初,研究人員在Tic Tac Toe和Chess創建了擊敗人類的程序(例如,IBM的 DeepBlue)。然而,這些游戲的智能是由人類頭腦從頭開始編程的。有人在編寫代碼,決定哪一步應該是下一步。然而,生成智能的手動方法達到了極限:智能非常復雜,我們意識到手動編寫模擬它的程序可能太困難了。

    然后,一個新的想法誕生了:如果我們創建一個自學的系統怎么辦?在這種情況下,工程師只需要對學習結構進行編程并設置適當的環境以允許智能自行引導。

    這個想法的結果是學習比世界上任何人都更好地玩游戲的程序,即使沒有人首先解釋程序如何玩。例如,Google的DeepMind公司創建的 AlphaGo Zero計劃 使用了這種方法。該計劃能夠擊敗世界上最優秀的Go球員。該公司使用相同的方法來創建學習玩Atari游戲的程序,從零知識開始。最近,OpenAI將這種方法用于他們的機器人程序,該程序擊敗了Dota 2游戲的專業玩家。順便說一句,如果你想重現Atari游戲的結果,OpenAI發布了OpenAI Gym,包含開始使用Atari游戲訓練系統的所有代碼,并將性能與其他人進行比較。

    我從這些結果中得出的結論是,制作智能系統本身產生智能的想法是一種很好的方法,用于教學的算法可以用來讓機器人了解他們的空間(我不是很樂觀的編碼知識和設置學習環境和階段的方法,但這是另一個討論)。

    從游戲到模擬

    OpenAI想要走得更遠。他們不是使用游戲來生成可以玩游戲的程序,而是應用相同的想法讓機器人做一些有用的事情:學會操縱手上的立方體。在這種情況下,他們使用機器人的模擬而不是使用游戲。模擬用于模擬機器人及其環境,就好像它是真實的一樣。然后,他們允許算法控制模擬機器人,并使機器人通過域隨機化了解要解決的任務。經過多次試驗,模擬機器人能夠以預期的方式操縱該塊。但那還不是全部!在文章的最后,作者成功地將模擬機器人的學習控制程序轉移到真實機器人,該機器人以類似于模擬機器人的方式執行。除了它是真實的。

    訓練機器人

    然而,在他們的實驗中,OpenAI的工程師發現機器人訓練比訓練游戲算法要復雜得多。同時,在游戲中,智能系統的動作和感知列表非常有限; 機器人在領域,行動和感知方面都面臨著巨大而持續的影響。我們可以說選項是無限的。

    選項數量的增加減少了用于RL的算法的有用性。通常,處理問題的方法是使用一些人工技巧,例如完全丟棄一些信息或人為地離散數據值,將選項減少到只有少數。

    OpenAI工程師發現,即使機器人接受過模擬訓練,他們的方法也無法擴展到更復雜的任務。

    大量數據與復雜學習算法

    正如Andrew Ng指出的那樣,正如OpenAI的工程師根據他的結果親自向我指示的那樣,使用簡單學習算法的大量數據勝過復雜的算法和少量數據。這意味著嘗試專注于獲得更復雜的學習算法并不是一個好主意。相反,達到智能機器人的最佳方法是使用經過大量數據訓練的簡單學習算法(如果我們觀察自己的大腦,這是有意義的:多年來訓練的大量神經網絡)。

    谷歌一直都知道這一點。因此,為了獲得大量數據來訓練他們的機器人,谷歌創造了一個真實的機器人系統,在一個大空間里整天訓練。即使這是一個聰明的想法,我們都可以看到,這對于任何類型的機器人和應用程序來說都是不切實際的(破壞機器人,僅限于實時執行,有限數量的機器人,有限的環境,等等…)。

    這導致我們再次采用相同的解決方案:使用模擬。通過使用模擬,我們可以在任何情況下放置任何機器人并在那里訓練它們。此外,我們幾乎可以無數次并行訓練,并在創紀錄的時間內生成大量數據。

    即使這種方法現在看起來非常清楚,但是在三年前我們創建了我們的公司 The Construct,圍繞云中的機器人模擬。我記得在2015年Innorobo展覽會上展出,經過所有其他參展商的廣泛采訪后發現,其中只有兩個人正在使用模擬工作。此外,機器人專家認為模擬是不惜一切代價可以避免的事情,因為沒有什么能比得上真正的機器人(請查看我當時寫的關于它的帖子)。

    值得慶幸的是,從那時起情況發生了變化。現在,使用模擬訓練真正的機器人開始成為一種方式。

    轉移到真正的機器人

    我們都知道,通過模擬獲得解決方案是一回事,而另一個解決方案是在真實機器人上工作。在模擬中由機器人完成某些事情并不意味著它將在真實機器人上以相同的方式工作。這是為什么?

    嗯,有一種叫做現實的差距。我們可以將現實差距定義為情境模擬與現實生活情況之間的差異。由于我們不可能完美地模擬某些東西,因此模擬與現實之間總會存在差異。如果差異足夠大,則可能發生在模擬器中獲得的結果完全不相關。也就是說,你有一個很大的現實差距,模擬中適用的東西并不適用于現實世界。

    現實差距的問題是用于丟棄機器人模擬器的主要論據之一。在我看來,要遵循的道路不是放棄模擬器并找到其他東西,而是尋找跨越現實差距的解決方案。至于解決方案,我相信我們有兩個選擇:

    1. 創建更準確的模擬器。那是在路上。我們可以看到這方面的努力。一些模擬器專注于更好的物理學(Mujoco); 其他人仔細看看現實(虛幻或基于Unity的模擬器,如Carla或AirSim)。我們可以預期,隨著計算機功率不斷增加,云系統變得更容易接近,模擬的準確性將在感官,物理和外觀方面不斷增加。

    2. 建立更好的方法來跨越現實差距。在最初的工作中,噪聲和現實差距,雅可比(確定現實差距問題的人)指出,首先解決方案之一是使模擬獨立于現實差距。他的想法是在那些與任務無關的變量中引入噪聲。該噪聲引入的現代版本是域隨機化的概念,如“ 從模擬向現實世界轉移深度神經網絡的域隨機化 ”一文中所述 。

    域隨機化基本上包括在模擬環境中執行機器人的訓練,其中不相關的任務特征隨機改變,如元素的顏色,光照條件,與其他元素的相對位置等。 。

    目標是使訓練的算法不受場景中那些不向手頭的任務提供信息的元素的影響,但可能使其混淆(因為算法不知道哪些部分是任務的相關部分)。我可以看到域隨機化是一種告訴算法在哪里集中注意力的方式,就其接收的大量數據流而言。

    結論

    讓所有這些深度神經網絡在訓練模擬中學習是可行的方法,正如我們將來可能看到的那樣,這只是冰山一角。我個人的觀點是,智能比現有的AI方法更能體現:沒有身體,你就無法擁有智慧。因此,我相信模擬實施例的使用將來會更高。走著瞧。

  • 成人app