07.3 強化學習控制#
本章導讀#
MPC 還需要模型;強化學習(RL)連模型都不用—— 直接從試誤中學出控制策略。 2015 年 DQN、DDPG 興起,AlphaGo 展示決策控制的威力, 「無模型學習式控制」成為當代控制的新篇章。
淺顯說明#
學騎腳踏車:沒有人給你車的力學方程,你只是試、摔、調整、再試。 大腦默默在學一個「價值函數」——哪個動作在什麼情況下比較好。
強化學習就是把它變成演算法:
- 試:執行動作 \(a\) (控制量 \(u\) )。
- 得獎:環境給回饋 \(r\) (代價的負數)。
- 學:更新價值估計 \(V\) 或策略 \(\pi\) 。
與 Bellman 動態規劃(06.2)的唯一差別:**沒有模型 \(f\) **—— Bellman 方程中的 \(V(f(x, u))\) 無法直接算,只能「試了才知道」,用取樣估計。
正規理論#
馬可夫決策過程(MDP)#
- \(P\) :轉移機率(未知!)——這是與 MPC 的關鍵差別。
- 目標:找策略 \(\pi\) 最大化期望累積報酬 \(\mathbb{E}\left[\sum \gamma^k r_k\right]\) ( \(\gamma\) :折扣因子)。
Q 函數與 Bellman 方程#
定義動作價值函數:
最佳 Q 函數滿足 Bellman 最佳方程:
Q-learning(無模型)#
不知道 \(P\) ,用取樣更新(每次經驗 \((x, u, r, x')\) ):
- \(\alpha\) :學習率。目標項 \(r + \gamma\max Q(x')\) 是 Bellman 方程的取樣版。
DDPG:連續動作的深度學習#
工業控制是連續的(馬達電壓不是「按鈕」),Q-learning 只適合離散動作。 DDPG(Deep Deterministic Policy Gradient)用兩個神經網路:
- Critic \(Q_\theta(x, u)\) :逼近 Q 函數(學「多好」)。
- Actor \(\mu_\phi(x)\) :逼近策略(學「怎麼做」),輸出連續控制量。
以 Critic 的梯度訓練 Actor(策略梯度):
與經典控制的連結#
| 控制理論 | 強化學習 |
|---|---|
| 代價 \(J\) | 負報酬 \(-r\) |
| 價值函數 \(V\) (Bellman) | Q 函數 |
| LQR 的 \(u^* = -Kx\) | Actor \(\mu_\phi(x)\) (線性特例正是 LQR) |
| MPC 的線上最佳化 | 策略的學習(離線學好,線上查表) |
| 模型 \(f\) | 不需要(無模型) |
LQR 是深度強化學習的線性特例——當系統線性、代價二次、Q 用線性逼近時,DDPG 收斂到 LQR。
簡易範例:一維格子的 Q-learning#
格子世界:位置 \(x \in \{0, 1, 2\}\) ,目標 \(x = 2\) , 動作 \(u \in \{\text{左}, \text{右}\}\) ,右移成功機率 0.8(環境隨機,未知), 到目標得 \(r = 1\) , \(\gamma = 0.9\) 。
初始化 \(Q = 0\) ,學習率 \(\alpha = 0.5\) 。假設經驗序列:
- \((2, \text{右}, 1, 2)\) : \(Q(2,\text{右}) \leftarrow 0 + 0.5[1 + 0.9\max Q(2) - 0] = 0.5\) 。
- \((1, \text{右}, 0, 2)\) : \(Q(1,\text{右}) \leftarrow 0 + 0.5[0 + 0.9(0.5) - 0] = 0.225\) 。
- \((1, \text{右}, 0, 2)\) (再次): \(Q(1,\text{右}) \leftarrow 0.225 + 0.5[0.45 - 0.225] = 0.3375\) 。
\(Q\) 逐步收斂到期望值( \(Q(1,\text{右}) \approx 0.8 \times 0.9 \times 0.5 \times \frac{1}{1-0.9\cdots}\) 的極限)。 策略 \(\pi(x) = \arg\max_u Q(x, u)\) :在 \(x = 0, 1\) 選「右」——不用知道轉移機率,也能學出最佳策略。
歷史典故#
- 2015 年強化學習控制(DQN、DDPG)興起,見 2015-強化學習控制.md—— AlphaGo 同年擊敗歐洲冠軍,隔年擊敗李世石。
- 1957 年 Bellman 的動態規劃是 Q-learning 的理論祖先,見 1957-Bellman動態規劃.md。
- 1948 年 Wiener 的《控制論》早已預言「回饋學習」——機器與生物共用學習原理,見 1948-Wiener控制論.md。
習題#
- 上例繼續迭代:寫出 \(Q(1,\text{右})\) 的不動點方程並求極限值。 (提示:到目標後重置, \(Q(1,\text{右}) = 0.8 \times 0.9 \times (1 + \cdots)\) 的期望折扣和。)
- 說明為什麼「探索 vs 利用」(exploration vs exploitation)在控制中重要: 只利用(永遠走已知最好的路)會錯過什麼?