JOVANA
Explore Library Glossary Getting Started Three Levels Fields How it works Mission
Join the mission
All guides

選項框架

把時序抽象化講精確。一個選項是有三個部件的閉迴路技能——它能在哪開始、如何行動、何時停止——而它會把你的 MDP 變成半馬可夫的。

從動作到選項

選項框架(options framework)是強化學習中時序抽象化的標準形式化框架,直接建構在一般的馬可夫決策過程(MDP)之上。一個「選項」是智能體可以像呼叫單一動作那樣去調用的、自成一體的技能——但跟原始動作不同,它能執行許多時間步,並會對沿途所見做出反應。關鍵在於:選項與原始動作可以並存——在同一個決策點,智能體既能選一個單步動作,也能選一個多步選項。

选项就直接构建在底层 MDP 的这个智能体–环境交互回路之上。

强化学习回路示意图:智能体执行动作,环境返回新的状态和奖励。

選項的三個部件

形式上,一個選項是個三元組。這三個部件合在一起,把一次性的巨集動作升級成由選項策略與終止(option policy and termination)條件描述的、靈活的閉迴路技能。

  1. 起始集合(initiation set)——這個選項「被允許開始」的狀態集合。「開門」只有在你靠近門時才說得通。
  2. 選項內策略(intra-option policy)——一個針對原始動作的閉迴路策略,負責「執行這項技能」,在選項生效期間逐步挑選動作。
  3. 終止條件(termination condition)——對每個狀態給出一個「現在就停止」的機率,讓選項把控制權交還給高層。正是這一點,讓選項能對世界做出反應,而不是盲目地一路跑到底。

選項把 MDP 變成半馬可夫

這裡有個微妙卻重要的後果。當高層選了一個選項,這個選項會執行「隨機數量的步數」才終止。所以在高層看來,狀態轉移不再依固定的時鐘發生——它們在不固定的時長後才發生。一個動作時長可變的決策過程,就是半馬可夫決策過程(semi-Markov decision process, SMDP),而這樣看待選項就得到半馬可夫選項(semi-Markov options)。

獎勵與折扣的數學調整得很乾淨。若一個選項執行了 k 步並沿途收集獎勵,高層的價值回傳會把下一個狀態以折扣因子(discount factor)的 k 次方來折扣——選項越長,折扣越重,正如一個非常延遲的單筆獎勵會被折扣的那樣。

Q(s,o) = \mathbb{E}\!\left[\, r_{t+1} + \gamma\, r_{t+2} + \cdots + \gamma^{k-1} r_{t+k} + \gamma^{k}\max_{o'} Q(s',o') \,\right]

高层(半马尔可夫)价值回溯:运行 k 步的选项把下一个选项价值按 γ 的 k 次方折扣。

在選項上規劃與學習

因為選項上的 SMDP 本身就是一個結構良好的決策過程,你已經會的每一樣工具都適用——只是改在選項層次。你可以對一組選項跑價值迭代、Q-learning 或策略梯度,做法跟對原始動作完全一樣;唯一的改變是:現在的「一步」就是「一次選項執行」。

# High-level control loop over a fixed set of options
state = env.reset()
while not done:
    option = high_level_policy(state)      # pick an extended skill
    while option.active(state):            # closed-loop execution
        action = option.policy(state)      # intra-option policy
        state, reward = env.step(action)
        accumulate(reward)                 # rewards collected during the option
        if option.terminates(state):       # termination condition
            break
    # SMDP backup happens here, discounting by gamma**duration
兩層迴圈:高層挑一個選項,該選項以閉迴路執行,直到它的終止條件觸發為止。

實例:四房間迷宮

教科書的示範是一個被切成四個房間、以門口相連的網格。為每個門口定義一個選項:它的起始集合是該房間、它的選項內策略走向那個門口、抵達時終止。如今高層智能體的工作變得很小——串接兩三個「走到門口」選項就能抵達任何目標——而不必學習一條穿越數十個原始格子的路徑。

网格世界上的交互式 Q-learning——与四房间迷宫相同的房间与门口布局,每个门口都成为一个选项。

交互式网格世界,Q-learning 智能体在格子中向目标导航。