文章:Data-Efficient Hierarchical Reinforcement Learning

連結:Nachum, Ofir, et al。 “Data-Efficient Hierarchical Reinforcement Learning。” arXiv preprint arXiv:1805。08296 (2018)。

參考:

同學ppt(wang**)

1。 摘要

問題:(1)解決rl難以解決複雜任務的困難。 (2)當前的hrl需要詳細的任務制定和策略培訓,很難應用到實際場景中。

方案:本文的研究重點是將HRL擴充套件成更通用化的方法,研究用少量的樣本數量的互動,使演算法適合機器人控制等現實問題。

一般的,

一個框架,

where lower-level controllers are supervised with goals that are learned and proposed automatically by the higher-level controllers。

為了解決效率低的問題,提出了一種利用off-policy experience 來訓練高層和低層。但是,這帶來了相當大的挑戰,因為對低層行為的更改會改變高層策略的操作空間,我們引入了一個off-policy更正來解決這個挑戰。這使我們能夠利用最近無策略模型RL的進展,使用比on-policy演算法更少的環境互動來學習更高級別和更低級別的策略。

結果:我們的實驗表明HIRO可以用來學習模擬機器人高度複雜的行為,比如推動物體並利用它們到達目標位置

介紹

但是,其中許多分層強化學習方法缺乏通用性,需要一定程度的手工任務設計。而且經常需要昂貴的策略上的培訓,而這些培訓無法從無策略模型的非、off policy rl中獲益,而近年來,rl極大地降低了對樣本複雜性的要求。

不像fedual rl那樣,提出了一種將較低級別的策略與目標狀態相匹配的更高級別策略的思想。(高層次策略命令低層次策略完成哪項任務)。與以前的工作不同,以前的工作表示目標並在學習的嵌入空間中獎勵匹配的觀察,我們使用

原始形式的狀態觀察,

這極大地簡化了學習,在我們的實驗中,我們觀察到這種更簡單的方法有很大的好處。

綜上所述,我們介紹了一種訓練多級HRL代理的方法,該方法具有通用性強、資料效率高的特點,使HRL代理從以前的方法中脫穎而出。該方法透過訓練較低層次的策略來達到高層學習和指導的目標狀態,達到了通用性。

3。 General and efficient HRL

在這一部分,我們介紹分層策略的框架,HIRO:HIerarchical Reinforcement learning with Off-policy correction。

我們使用引數化的獎勵函式來指定一組潛在的無限低級別策略(?),每個策略都經過訓練以使其觀察到的狀態與期望的目標相匹配。高階策略在較長時間內選擇這些目標,並使用off-policy更正,使其能夠使用從低階策略的不同例項中收集的過去經驗。

3。1 hierarchy of two policies

將一個標準的強化學習擴充套件成兩層結構,一個低層策略

\mu^{lo}

和一個高層策略

\mu^{hi}

(見圖2)更高級別的策略在更粗的抽象層次上執行併為低級別設定goals,這與較低級別策略試圖達到的狀態直接對應。 在每一個time step

t

,環境提供一個觀察狀態

s_{t}

,高層的策略觀察狀態,要麼從它的策略

g_{t}\sim \mu^{hi}

中進行取樣當

t\equiv 0( mod :c )

,要麼用一個固定的子目標轉換函式

g_{t}=h(s_{t-1},g_{t-1},s_{t})

(在最簡單的情況下,哪個函式可以是傳遞函式,儘管我們將在特定的設計中考慮一個細微的變化) 產生一個high -level action(or goal)

g_{t}\in R^{d_{s}}

。這是提供了時間抽象,因為透過

\mu^{hi}

的高層決策僅在每c時間步被執行。低層的策略

\mu^{lo}

觀察狀態

s_{t}

和目標

g_{t}

併產生一個隨機的底層策略動作

a_{t}\sim \mu^{lo}(s_{t},g_{t})

與環境進行互動,然後環境從一個未知的獎勵函式中

R(s_{t},a_{t})

取樣併產生一個獎勵

R_{t}

,並且從未知的轉移函式

f(s_{t},a_{t})

轉換到新的狀態

s_{t+1}

高階控制器使用固定的引數化獎勵函式 r 為低階控制器提供一個內在的獎勵

r_{t}=r(s_{t},g_{t},a_{t},s_{t+1})

,低層的策略將會儲存這個經驗

(s_{t},g_{t},a_{t},r_{t},s_{t+1},h(s_{t},g_{t},s_{t+1}))

用來進行off-policy training。這個高層的策略收集環境獎勵

R_{t}

,並且每c個時間步,為了off-policy 訓練來儲存高層的轉移過程

Data-Efficient Hierarchical RL 筆記

Data-Efficient Hierarchical RL 筆記

圖2 :HIRO的設計和基本訓練。底層次的策略直接與環境進行互動,高層的策略透過高維的動作或者目標

g_{t}\in R^{d_{s}}

指導低層的策略。每c步它都會重新取樣。在中間steps,一個固定的目標轉換函式

h

決定下一步的目標,該目標只是指示低階策略到達特定的狀態,從而允許低階策略輕鬆地從以前的非策略經驗中學習。

實驗環境:

Data-Efficient Hierarchical RL 筆記

3。2 引數化的獎勵 Parameterized Rewards

我們higher-level policy產生子目標

g_{t}

,表明在狀態觀察中的相對變化。也就是說,在時刻t,高層策略產生策略子目標

g_{t}

,表示它希望低層代理採取行動,從而得到接近到

s_{t}+g_{t}

的觀察狀態st+c。

雖然有些狀態維度(如圖3中四足機器人的位置)作為目標子空間更自然,但我們選擇了這種更通用的目標表示形式,使其具有更廣泛的適用性,無需對目標空間、原語或可控維度進行任何手工設計。

無論狀態如何變化,都要保持目標goal的絕對位置不變。goal轉換模型

h

被定義為:

Data-Efficient Hierarchical RL 筆記

我們將內在獎勵定義為基於當前觀測與目標觀測距離的引數化獎勵函式:

Data-Efficient Hierarchical RL 筆記

這將獎勵較低級別的策略,因為它們所採取的行動產生的觀察結果接近所期望的值

s_{t}+g_{t}

,在對模擬螞蟻運動的評估中,使用所有的位置觀測作為

g_{t}

的表示,不區分(x, y, z)根位置或關節,使目標空間的選擇具有普遍性和廣泛的適用性。獎勵值r和轉換函式h只根據這些位置的變換進行計算。(見圖3 )。

較低級別的策略可以透過簡單地將gt作為附加輸入合併到價值和策略模型中,使用標準方法進行培訓。例如,在DDPG中,對於較低層次中的q值函式

Q_{\theta}^{to}

,方程1的等效目標是將誤差降到最小,對於所有的轉換

(s_{t},g_{t},s_{t+1},g_{t+1})

。策略

\mu_{\phi}^{lo}

將被訓練透過最大化Q值

Q_{\theta}^{lo}(s_{t},g_{t},\mu_{\phi}^{lo}(s_{t},g_{t}))

對於所有的樣本狀態-目標對(

(s_{t},g_{t})

Data-Efficient Hierarchical RL 筆記

(注意:

Data-Efficient Hierarchical RL 筆記

這是DDPG中的最小化公式)

引數化的獎勵函式並不是一個新的概念,我們的方法與這些之前的方法的一個顯著區別是,我們直接使用狀態觀察作為目標,而狀態觀察中的變化作為更高級別策略的操作空間,這與之前必須訓練目標表示的方法不同。這使得較低層次的策略能夠立即開始接收獎勵訊號,甚至在較低層次的策略已經知道如何達到目標,以及任務的外部獎勵提供任何有意義的監督之前。(在論文的實驗5中,體現了更好的效果)

3。3 Off-Policy Corrections for Higher-Level Training

在許多先前的工作中,已經提出了涉及某種目標設定的 兩級HRL架構,但是在以前的工作中,這樣的設計通常需要進行策略培訓。這是因為低層策略的行為變化為高層策略建立了一個非平穩的問題,舊的off 策略經驗可能在相同目標的條件下表現出不同的轉換。

但是,為了HRL演算法能夠應用到真實世界中,它們必須是樣本高效的並且是off policy的演算法,

想要使用更高級別的transition tuples

(s_{t:t+c-1},g_{t:t+c-1},a_{t:t+c-1},R_{t:t+c-1},s_{t+c})

,其中,

x_{t:t+c-1}

表示序列

x_{t},...,x_{t+c-1}

,它是被higher level policy收集的,並且對它們進行 state-action-reward 轉換

(s_{t},g_{t},\sum{R_{t:t+c-1},s_{t+c}})

,可以被放入off policy的訓練的經驗回放池中。但是,這轉換是來自過去低層控制器不能準確的反映動作(並且也不能準確反映結果狀態

s_{t+1:t+c}

)。如果當前較低級別控制器使用相同的目標,就會出現這種情況,我們必須引入一個修正correction,將舊的轉換轉換為與當前較低級別控制器一致的轉換。

我們的主要觀察是,the past higher level 轉換

(s_{t},g_{t},\sum{R_{t:t+c-1},s_{t+c}})

中的目標

g_{t}

可能被改變以使觀察到的真實的動作序列更有可能發生

\mu^{lo}

的當前例項化。在過去誘導低階行為

a_{t:t+c-1}\sim \mu^{lo}(s_{t:t+c-1},g_{t:t+c-1})

的高階操作

g_t{}

可能被重新標記到目標

\tilde{g}_{t}

,且很可能通過當前低階策略的例項化來誘導相同的低階行為。因此,我們建議透過選擇不同的高級別操作

\tilde{g}_{t}

重新標記高級別轉換

(s_{t},g_{t},\sum{R_{t:t+c-1},s_{t+c}})

來解決off policy問題,以最大程度地提高中間目標

\tilde{g}_{t+1:t+c-1}

使用固定目標過渡函式

h

計算的機率

\mu^{lo}(a_{t:t+c-1}|s_{t:t+c-1},\tilde{g}_{t:t+c-1})

。實際上,每次修改低級別政策

\mu^{lo}

時,我們都要回答以下問題:對於哪些目標,新的控制者會採取與舊控制者相同的行動?

大部分的強化學習演算法使用隨機的動作空間探索去選擇動作,這意味著行為策略是隨機的(例如 DDPG),那麼

log\mu^{lo}(a_{t:t+c-1}|s_{t:t+c-1},\tilde{g}_{t:t+c-1})

的log 機率將被計算:

Data-Efficient Hierarchical RL 筆記

為了在實際中使得這個量最大化,我們計算了一些目標

\tilde{g}_{t}

的對數機率,並選擇最大目標來重新標註經驗。在論文的實現中,我們計算了從以

s_{t+c}-s_{t}

為中心的高斯分佈中隨機抽取的八個候選目標的量。

4。 Related work

發現有意義和有效的策略層次結構是RL中一個長期存在的研究問題。典型地,HRL的工作集中於離散狀態域,其中狀態訪問和轉換統計可用於為低階策略構造啟發式子目標。。傳統的option框架依賴於先驗知識來設計option,而[2](option critic architecture 論文)最近提出了一種與高層策略聯合學習的參與者-批評者演算法。這種選擇批評體系結構是邁向端到端HRL的重要一步。然而,這樣的方法常常傾向於學習每一步都終止的子策略,或者學習貫穿整個事件的有效子策略。

為了保證學習有用的子策略,最近的工作研究了為低階策略提供輔助獎勵的方法。這些方法依賴於基於先前領域知識的手工獎勵。許多研究表明,對一組不同的任務進行訓練可以誘導語義上不同的行為,並建議對這些任務進行低層策略的預訓練,或在多工設定中對多級分層策略進行訓練。

與大多數HRL工作的另一個不同之處在於,我們使用off 策略學習,從而顯著提高了樣本效率。在端到端HRL中,off-policy RL為高階策略建立了一個非平穩問題,因為低階策略在不斷地變化。在我們的工作中,作者設計了一個層次結構,在這個結構中,一個較低級別的策略被訓練來達到由較高級別策略指導的觀察值。多層策略以離線的方式聯合訓練,而忽略了非平穩性問題,這是離線的一個關鍵問題

我們的工作與封建網路(FuN)[48]有關,最初靈感來自封建RL。Fun 利用子目標和引數化的低層獎勵值。

我們發現,與使用原始狀態的方法相比,這種技術的效能較差。我們發現這有很多好處。首先,較低級別的策略可以在較高級別的策略從任務獎勵中接收到有意義的監控訊號之前,立即開始獲得實現目標的內在獎勵