進化機器人
編輯進化機器人技術(ER)是一種使用進化計算為自主機器人開發控制器和/或硬件的方法。ER中的算法經常在候選控制器的總體上運行,這些控制器最初是從某種分布中選擇的。然后根據適應度函數對該種群進行反復修改。在遺傳算法(一種進化計算的常用方法)的情況下,候選控制器的數量會根據交叉,變異和其他GA反復增長然后根據適應度函數進行剔除。ER應用程序中使用的候選控制器可以從一組人工神經網絡中提取,盡管某些應用程序使用“ IF THEN ELSE”規則的集合作為單個控制器的組成部分。從理論上講,可以將控制律的任何符號表示集(在機器學習社區中有時稱為策略)用作可能的候選控制器的空間。人工神經網絡也可以用于機器人學習在進化機器人技術的背景之外。特別地,其他形式的強化學習可以用于學習機器人控制器。
發展型機器人技術與進化型機器人技術有關,但有所不同。ER使用隨著時間推移而發展的機器人群體,而DevRob則對單個機器人控制系統的組織如何隨著經驗的發展而產生興趣。
目標
編輯進化機器人技術往往同時具有許多不同的目標。其中包括為現實世界中的機器人任務創建有用的控制器,探索進化理論的復雜性,再現心理現象,并通過研究人工神經網絡來發現生物神經網絡。通過人工進化創建控制器需要對大量種群進行大量評估。這非常耗時,這是通常在軟件中完成控制器升級的原因之一。同樣,最初的隨機控制器可能表現出潛在的有害行為,例如反復撞入墻壁,這可能會損壞機器人。將仿真中演化的控制器轉移到物理機器人上非常困難,這是使用ER方法的主要挑戰。原因是進化可以自由地探索所有可能性以獲得高適應性,包括模擬的任何不準確性。大量評估的需求,需要快速而準確的計算機模擬,是ER方法的限制因素之一。
在極少數情況下,除控制器外,進化計算還可用于設計機器人的物理結構。最著名的例子之一是Karl Sims為Thinking Machines Corporation進行的演示。
動機
編輯許多常用的機器學習算法需要一組訓練示例,其中包括假設輸入和所需答案。在許多機器人學習應用程序中,所需的答案是機器人要采取的行動。通常不會事先明確地知道這些動作。相反,機器人最多只能接收一個值,該值指示給定動作的成功或失敗。進化算法是這類問題框架的自然解決方案,因為適應度函數只需要編碼給定控制器的成功或失敗,而不是控制器應該采取的精確動作。在機器人學習中使用進化計算的另一種方法是使用其他形式的強化學習,以學習任何特定動作的適應性,然后間接使用預測的適應性值來創建控制器。
內容由匿名用戶提供,本內容不代表www.gelinmeiz.com立場,內容投訴舉報請聯系www.gelinmeiz.com客服。如若轉載,請注明出處:http://www.gelinmeiz.com/111539/