
本文約2200字,建議閱讀5分鐘
本文為你介紹強(qiáng)化學(xué)習(xí)和遺傳算法不同之處,適用于那些情況。
強(qiáng)化學(xué)習(xí)(Reinforcement Learning)和遺傳算法(Genetic Algorithm)都是受自然啟發(fā)的AI方法,它們有何不同?更重要的是,在哪些情況下,其中一種會(huì)比另一種更受青睞?”因此,今天我們將嘗試解釋這些原因。
他們是什么... ?
在我們開(kāi)始比較之前,讓我們更好地理解這些是什么……強(qiáng)化學(xué)習(xí)是訓(xùn)練機(jī)器學(xué)習(xí)模型以做出一系列決策。它被構(gòu)造為與環(huán)境交互的代理。
在強(qiáng)化學(xué)習(xí)中,人工智能 (AI) 面臨類似游戲的情況(即模擬)。人工智能通過(guò)反復(fù)試驗(yàn)來(lái)提出問(wèn)題的解決方案。智能體緩慢而穩(wěn)定地學(xué)習(xí)在不確定的、潛在復(fù)雜的環(huán)境中實(shí)現(xiàn)目標(biāo),但我們不能指望智能體盲目地偶然發(fā)現(xiàn)完美的解決方案。這是交互發(fā)揮作用的地方,為代理提供了環(huán)境狀態(tài),這成為代理采取行動(dòng)的輸入/基礎(chǔ)。一個(gè)動(dòng)作首先向代理提供獎(jiǎng)勵(lì)(注意,根據(jù)問(wèn)題的適應(yīng)度函數(shù),獎(jiǎng)勵(lì)可以是正的也可以是負(fù)的),基于此獎(jiǎng)勵(lì),代理內(nèi)部的策略(ML 模型)適應(yīng)/學(xué)習(xí)其次,它會(huì)影響環(huán)境并改變它的狀態(tài),這意味著下一個(gè)循環(huán)的輸入會(huì)發(fā)生變化。這個(gè)循環(huán)一直持續(xù)到創(chuàng)建一個(gè)最佳代理。這個(gè)循環(huán)試圖復(fù)制我們?cè)谧匀唤缰锌吹降纳矬w在其生命周期中的學(xué)習(xí)循環(huán)。在大多數(shù)情況下,環(huán)境會(huì)在一定數(shù)量的循環(huán)后或有條件地重置。注意,可以同時(shí)運(yùn)行多個(gè)代理以更快地獲得解決方案,但所有代理都是獨(dú)立運(yùn)行的。遺傳算法是一種搜索元啟發(fā)式算法,其靈感來(lái)自查爾斯達(dá)爾文的自然進(jìn)化理論。該算法反映了自然選擇的過(guò)程,即選擇最適合的個(gè)體進(jìn)行繁殖以產(chǎn)生下一代的后代。
生成初始種群:一組“個(gè)體”被稱為群體,其中每個(gè)個(gè)體的特征是一組以二進(jìn)制表示的基因(即 0 或 1)。由字符串/序列表示的一組基因稱為染色體。我們開(kāi)始的人口稱為初始人口。評(píng)估:適應(yīng)度函數(shù)是一個(gè)系統(tǒng),它確定一個(gè)人的健康程度(一個(gè)人與其他人競(jìng)爭(zhēng)的能力)。它為每個(gè)人提供了一個(gè)適應(yīng)度分?jǐn)?shù),這有助于量化表現(xiàn)。該函數(shù)在總體表現(xiàn)上執(zhí)行,以量化和比較個(gè)體的表現(xiàn)。選擇:挑選“最適合的”(基于評(píng)估階段生成的適應(yīng)度分?jǐn)?shù))個(gè)體以產(chǎn)生下一代(即下一個(gè)評(píng)估和繁殖周期的新種群)的過(guò)程。沒(méi)有基于適應(yīng)度分?jǐn)?shù)的嚴(yán)格截止,但選擇更多地基于概率(適應(yīng)度分?jǐn)?shù)越高,被選中的概率越高),并為下一階段選擇一對(duì)。交叉:混合選擇的一對(duì)個(gè)體的基因以產(chǎn)生一對(duì)新個(gè)體的過(guò)程稱為交叉或遺傳操作。這個(gè)過(guò)程繼續(xù)創(chuàng)造一個(gè)新的人口。交叉可以用不同的方法進(jìn)行,例如:?jiǎn)吸c(diǎn)交叉、兩點(diǎn)交叉、順序交叉、部分映射交叉 、循環(huán)交叉。突變:在某些新個(gè)體中,他們的一些基因可能會(huì)以低隨機(jī)概率發(fā)生突變。這意味著染色體(位序列)中的某些基因(位)可以改變(翻轉(zhuǎn))。突變有助于保持種群內(nèi)的多樣性并防止過(guò)早收斂。終止:當(dāng)種群收斂時(shí),算法終止。這里的收斂表示個(gè)體的遺傳結(jié)構(gòu)不再有顯著差異。終止也可能在一定數(shù)量的循環(huán)后發(fā)生,這通常會(huì)導(dǎo)致多個(gè)收斂點(diǎn)。如何進(jìn)行比較?
根據(jù)定義,遺傳算法是一種跨生命的算法,這意味著該方法需要個(gè)體“死亡”才能前進(jìn)。RL旨在成為一種生命內(nèi)學(xué)習(xí)算法,最近開(kāi)發(fā)的許多方法都針對(duì)持續(xù)學(xué)習(xí)和“安全RL”的問(wèn)題。從根本上講,這兩種方法的操作原則是不同的。RL使用馬爾可夫決策過(guò)程,而遺傳算法主要基于啟發(fā)式。RL中的值函數(shù)更新是基于梯度的更新,而GAs通常不使用這種梯度。RL是一種機(jī)器學(xué)習(xí),它關(guān)注的是一種特定類型的優(yōu)化問(wèn)題,即尋找最大化回報(bào)的策略(策略),代理以時(shí)間步驟與環(huán)境進(jìn)行交互。GAs是一種自學(xué)習(xí)算法,可以應(yīng)用于任何優(yōu)化問(wèn)題,其中你可以編碼解決方案,定義一個(gè)適應(yīng)度函數(shù)來(lái)比較解決方案,你可以隨機(jī)地改變這些解決方案。從本質(zhì)上講,GAs可以應(yīng)用于幾乎任何優(yōu)化問(wèn)題。原則上,您可以使用GAs來(lái)查找策略,只要您能夠?qū)⑺鼈兣c適應(yīng)度函數(shù)進(jìn)行比較。這并不意味著GA更好,這只是意味著如果沒(méi)有更好的解決方案,GA將是你的選擇。而RL對(duì)于需要在環(huán)境中進(jìn)行順序決策的問(wèn)題是一個(gè)強(qiáng)有力的方案。遺傳算法:需要較少的關(guān)于問(wèn)題的信息,但設(shè)計(jì)適應(yīng)度函數(shù)并獲得正確的表示和操作可能是非常復(fù)雜和困難的。它在計(jì)算上也很昂貴。強(qiáng)化學(xué)習(xí):過(guò)多的強(qiáng)化學(xué)習(xí)會(huì)導(dǎo)致?tīng)顟B(tài)過(guò)載,從而降低結(jié)果。這種算法不適用于簡(jiǎn)單問(wèn)題的求解。該算法需要大量的數(shù)據(jù)和大量的計(jì)算。維數(shù)的詛咒限制了對(duì)真實(shí)物理系統(tǒng)的強(qiáng)化學(xué)習(xí)。怎么使用
正如我們已經(jīng)討論過(guò)的,除了根本的區(qū)別之外,這兩種方法都有各自的用途和缺點(diǎn)。雖然GA的用途更廣泛,但是定義一個(gè)適合問(wèn)題的適應(yīng)度函數(shù)以及正確的表示和操作類型是非常困難的。而RL最適合解決需要連續(xù)決策的問(wèn)題,但需要更多的數(shù)據(jù),當(dāng)問(wèn)題的維度較高時(shí)就不是很好?;趯W(xué)習(xí)的早期階段,RL模型也傾向于變得狹隘。由于明顯的原因,當(dāng)沒(méi)有其他解決方案適合這種模式時(shí),GA是最受歡迎的;
對(duì)于更簡(jiǎn)單的問(wèn)題,大多數(shù)時(shí)候,RL是有效的,但通常比遺傳算法更耗時(shí),而且遺傳算法的適應(yīng)度函數(shù)和表示更容易編寫,所以RL或遺傳算法都可以根據(jù)問(wèn)題工作;
當(dāng)我們有中等程度的復(fù)雜性和高可用數(shù)據(jù)時(shí),RL是首選;
對(duì)于具有更高復(fù)雜性的問(wèn)題,GA和RL都需要花費(fèi)大量時(shí)間,需要復(fù)雜的表示,或者受到需要處理的維數(shù)的限制。
在這種情況下,兩者的結(jié)合比任何單獨(dú)的都更可取。
二者結(jié)合
是的,結(jié)合遺傳算法和強(qiáng)化學(xué)習(xí)是可能的,因?yàn)檫@兩種方法不是相互排斥的。就像它們?cè)从谧匀坏膬蓚€(gè)原則一樣,這些方法也可以共存。強(qiáng)化學(xué)習(xí)使代理能夠基于獎(jiǎng)勵(lì)功能做出決策。然而,在學(xué)習(xí)過(guò)程中,學(xué)習(xí)算法參數(shù)值的選擇會(huì)顯著影響整個(gè)學(xué)習(xí)過(guò)程。使用遺傳算法找到學(xué)習(xí)算法中使用的參數(shù)值,比如深度確定性策略梯度(Deep Deterministic Policy Gradient, DDPG)結(jié)合后見(jiàn)經(jīng)驗(yàn)回放(Hindsight Experience Replay, HER),以幫助加快學(xué)習(xí)代理。導(dǎo)致性能更好,比原來(lái)的算法更快。另一種方法是采用強(qiáng)化學(xué)習(xí)的部分,如Agent-Environment關(guān)系,并運(yùn)行多個(gè)可以交叉和變異的代理,類似于遺傳算法。