喜歡可以訂閱專欄喲
第一章 強化學習基礎與核心概念
1.1 強化學習的定義與特點
強化學習(Reinforcement Learning, RL)是機器學習三大范式之一(監督學習、無監督學習、強化學習),其核心思想是通過智能體(Agent)與環境(Environment)的持續交互來學習最優策略。與監督學習需要帶標簽的訓練數據不同,強化學習通過試錯機制(Trial-and-Error)和獎勵信號(Reward Signal)來指導學習過程。
關鍵特征包括:
- 延遲獎勵:智能體的動作可能在未來多個時間步后才獲得反饋
- 序列決策:決策之間存在時間相關性,當前動作影響后續狀態
- 探索與利用平衡:在嘗試新動作(探索)與執行已知最優動作(利用)間保持平衡
- 在線學習:通過與環境的實時交互進行學習
1.2 強化學習基本框架
強化學習系統由以下核心要素構成:
- 智能體(Agent):學習主體,負責做出決策
- 環境(Environment):智能體交互的對象,提供狀態和獎勵
- 狀態(State):對環境的完整描述,記為 s ∈ S s \in \mathcal{S} s∈S
- 動作(Action):智能體可執行的操作,記為 a ∈ A a \in \mathcal{A} a∈A
- 策略(Policy):行為函數 π ( a ∣ s ) \pi(a|s) π(a∣s),定義在給定狀態下選擇動作的概率分布
- 獎勵(Reward):環境反饋的即時信號 r = R ( s , a , s ′ ) r = R(s,a,s') r=R(s,a,s′)
- 價值函數(Value Function):長期回報的預測 V π ( s ) V^\pi(s) Vπ(s)或 Q π ( s , a ) Q^\pi(s,a) Qπ(s,a)
- 環境模型(Model):可選組件,用于預測狀態轉移和獎勵
數學表示為馬爾可夫決策過程(Markov Decision Process, MDP)五元組:
? S , A , P , R , γ ? \langle \mathcal{S}, \mathcal{A}, \mathcal{P}, \mathcal{R}, \gamma \rangle ?S,A,P,R,γ?
其中:
- P \mathcal{P} P為狀態轉移概率 P ( s ′ ∣ s , a ) P(s'|s,a) P(s′∣s,a)
- R \mathcal{R} R為獎勵函數 R ( s , a , s ′ ) R(s,a,s') R(s,a,s′)
- γ ∈ [ 0 , 1 ] \gamma \in [0,1] γ∈[0,1]為折扣因子
1.3 強化學習主要算法分類
根據不同的學習策略,強化學習算法可分為:
類別 | 特點 | 代表算法 |
---|---|---|
基于價值(Value-Based) | 學習價值函數,通過價值選擇動作 | Q-Learning, SARSA |
基于策略(Policy-Based) | 直接優化策略函數 | REINFORCE, PPO |
Actor-Critic | 結合價值函數和策略函數 | A3C, SAC |
模型基礎(Model-Based) | 建立環境模型進行規劃 | Dyna-Q, MCTS |
1.4 時序差分學習(Temporal Difference)
SARSA屬于時序差分學習算法,結合了蒙特卡洛方法和動態規劃的優點:
- 蒙特卡洛特性:從實際經驗中學習,不需要環境模型
- 動態規劃特性:基于現有估計進行增量更新(自舉法)
TD學習更新公式:
V ( s t ) ← V ( s t ) + α [ r t + 1 + γ V ( s t + 1 ) ? V ( s t ) ] V(s_t) \leftarrow V(s_t) + \alpha [r_{t+1} + \gamma V(s_{t+1}) - V(s_t)] V(st?)←V(st?)+α[rt+1?+γV(st+1?)?V(st?)]
其中 α \alpha α為學習率, γ \gamma γ為折扣因子
1.5 SARSA算法定位
SARSA(State-Action-Reward-State-Action)是一種on-policy的TD控制算法:
- On-policy:使用當前策略生成樣本并更新同一策略
- TD控制:通過TD誤差更新動作價值函數 Q ( s , a ) Q(s,a) Q(s,a)
- 五元組更新:需要 ( s t , a t , r t + 1 , s t + 1 , a t + 1 ) (s_t, a_t, r_{t+1}, s_{t+1}, a_{t+1}) (st?,at?,rt+1?,st+1?,at+1?)進行更新
與Q-Learning的關鍵區別:
SARSA: Q ( s , a ) ← Q ( s , a ) + α [ r + γ Q ( s ′ , a ′ ) ? Q ( s , a ) ] \text{SARSA: } Q(s,a) \leftarrow Q(s,a) + \alpha [r + \gamma Q(s',a') - Q(s,a)] SARSA: Q(s,a)←Q(s,a)+α[r+γQ(s′,a′)?Q(s,a)]
Q-Learning: Q ( s , a ) ← Q ( s , a ) + α [ r + γ max ? a ′ Q ( s ′ , a ′ ) ? Q ( s , a ) ] \text{Q-Learning: } Q(s,a) \leftarrow Q(s,a) + \alpha [r + \gamma \max_{a'} Q(s',a') - Q(s,a)] Q-Learning: Q(s,a)←Q(s,a)+α[r+γa′max?Q(s′,a′)?Q(s,a)]
第二章 SARSA算法的數學原理與推導
2.1 馬爾可夫決策過程(MDP)回顧
SARSA算法的理論基礎建立在馬爾可夫決策過程之上。MDP的核心性質是馬爾可夫性:
P ( s t + 1 ∣ s t , a t ) = P ( s t + 1 ∣ s t , a t , s t ? 1 , a t ? 1 , . . . ) P(s_{t+1}|s_t,a_t) = P(s_{t+1}|s_t,a_t,s_{t-1},a_{t-1},...) P(st+1?∣st?,at?)=