第三部《強化學習》60/100 第六周小結與測驗:策略學習的力量 🔁 優雅又高效的決策者!

更新 發佈閱讀 15 分鐘

AI時代系列(3) 機器學習三部曲: 📘 第三部:《強化學習 —— AI 的決策與進化》

60/100 第六週:📌 策略梯度與 Actor-Critic 架構

60.小結與測驗:策略學習的力量 🔁 優雅又高效的決策者!

第六週的單元聚焦於「策略梯度與 Actor-Critic 架構」,帶領學習者從基礎到實務完整掌握強化學習的核心思路。從 策略梯度方法REINFORCE 的入門概念出發,了解其與 Q-Learning 的差異,再逐步引入 Actor-Critic 架構優勢函數Baseline 技術,用以提升學習效率與穩定性。進一步延伸至 A2C 方法熵正則化,展現如何在探索與收斂間取得平衡。最後透過 LunarLander 實作,將理論落地於經典環境,並在小結與測驗中統整整週的核心觀念,幫助學習者將抽象的數學公式轉化為實際的 AI 決策能力。

________________________________________

🧠 本章重點回顧

單元 核心概念

51. 策略梯度方法 → 直接對策略本身求梯度,而非值函數

52. REINFORCE 演算法 → 使用整集回報來更新策略,簡單但方差高

53. 與 Q-Learning 比較 → 策略方法對連續空間更友善,值方法適合離散問題

54. Actor-Critic 架構 → 演員(Actor)選動作,評論員(Critic)估值回饋

55. 優勢函數 → 測量某動作比預期好多少,提升策略學習效率

56. Baseline 技術 → 減少 REINFORCE 的高方差問題,提高穩定性

57. A2C 方法 → 同步 Actor & Critic 訓練的穩定策略梯度法

58. 熵正則化 → 鼓勵策略保持多樣性,避免過早收斂

59. LunarLander 實作 → 將理論應用於模擬太空火箭降落任務

60. 小結與測驗 → 整合策略學習的重要理念與應用場景

________________________________________

🧪 單選測驗

1️⃣ 以下何者是策略梯度方法的主要優點?

A. 必須離線訓練

B. 適合離散動作空間

✅ C. 可直接處理連續動作空間

D. 不需使用神經網路

📘 解析:策略梯度方法可直接學習連續策略,如角度、力道等。

________________________________________

2️⃣ REINFORCE 方法的最大缺點是什麼?

A. 無法使用策略梯度

✅ B. 方差太高

C. 無法處理連續動作

D. 需要模型轉移機率

📘 解析:REINFORCE 雖簡單,但只依賴整集回報,導致方差較大。

________________________________________

3️⃣ Actor-Critic 方法中,Critic 的功能是?

A. 選擇動作

✅ B. 評估行動價值

C. 儲存經驗回放

D. 增加探索機率

📘 解析:Critic 負責根據估計的價值函數提供 Actor 更新方向。

________________________________________

4️⃣ 優勢函數 A(s, a) 的意義是?

A. 回報減去學習率

B. 策略的機率差值

✅ C. 動作比平均值好多少

D. 狀態的期望回報

📘 解析:A(s, a) = Q(s, a) - V(s),用來衡量某動作比預期好多少。

_______________________________________

5️⃣ 熵正則化的主要目的為何?

A. 快速收斂策略

B. 增加學習率

✅ C. 鼓勵策略探索

D. 減少批次大小

📘 解析:增加策略的不確定性,避免陷入固定動作選擇。

________________________________________

✍️ 簡答題

1️⃣ 請簡述 Actor-Critic 架構中 Actor 與 Critic 的分工。

🔹 答:Actor 負責根據策略選擇動作,Critic 則負責評估該動作在該狀態下的價值,用來指導 Actor 更新策略。

________________________________________

2️⃣ 在策略學習中為何要加入 baseline?其數學與實務意義為何?

🔹 答:Baseline 是一個參考值(如 V(s)),用來減少梯度更新的方差,讓學習更穩定。數學上將回報 G 減去 baseline 後,仍保持無偏估計,卻降低波動。

________________________________________

3️⃣ A2C 相較於單一 Agent 的 Actor-Critic 有何優勢?

🔹 答:A2C 使用多個 worker 並行收集樣本,然後同步更新,有助於提升穩定性與收斂速度,並降低樣本間的相關性。

一個簡易實例:使用策略梯度(Policy Gradient)控制機器人跳躍穿越陷阱,以幫助你了解策略學習如何應用在離散選擇且不適合用 Q 表估計的環境。

________________________________________

🎯 實作案例:策略學習讓「跳跳機器人」跨越陷阱

🧾 環境設定(簡化版):

一條長度為 5 的道路,終點為第 4 格

有一個陷阱在第 2 格

可選行動:

o 0:往前走一格

o 1:跳過一格(可能越過陷阱)

起始在位置 0,目標是抵達第 4 格

若踩到陷阱 → reward = -10

若成功到達終點 → reward = +10

其他步驟 reward = -0.1

________________________________________

🧠 使用 Policy Gradient 訓練機器人

python

import numpy as np

import torch

import torch.nn as nn

import torch.optim as optim

# 簡化環境

class JumpEnv:

def __init__(self):

self.goal = 4

self.trap = 2

self.reset()

def reset(self):

self.pos = 0

return np.array([self.pos], dtype=np.float32)

def step(self, action):

if action == 0:

self.pos += 1

elif action == 1:

self.pos += 2

self.pos = min(self.pos, self.goal)

done = self.pos == self.goal or self.pos == self.trap

if self.pos == self.goal:

reward = 10

elif self.pos == self.trap:

reward = -10

else:

reward = -0.1

return np.array([self.pos], dtype=np.float32), reward, done, {}

# Policy Model

class PolicyNet(nn.Module):

def __init__(self):

super().__init__()

self.net = nn.Sequential(

nn.Linear(1, 16),

nn.ReLU(),

nn.Linear(16, 2),

nn.Softmax(dim=-1)

)

def forward(self, x):

return self.net(x)

env = JumpEnv()

policy = PolicyNet()

optimizer = optim.Adam(policy.parameters(), lr=0.01)

gamma = 0.99

total_rewards = []

for episode in range(300):

state = env.reset()

log_probs = []

rewards = []

done = False

total_reward = 0

while not done:

state_tensor = torch.FloatTensor(state).unsqueeze(0)

probs = policy(state_tensor)

dist = torch.distributions.Categorical(probs)

action = dist.sample()

log_prob = dist.log_prob(action)

next_state, reward, done, _ = env.step(action.item())

log_probs.append(log_prob)

rewards.append(reward)

state = next_state

total_reward += reward

# 計算折扣報酬

R = 0

returns = []

for r in reversed(rewards):

R = r + gamma * R

returns.insert(0, R)

returns = torch.tensor(returns)

loss = -torch.stack(log_probs) * returns

loss = loss.sum()

optimizer.zero_grad()

loss.backward()

optimizer.step()

total_rewards.append(total_reward)

# 畫出學習成效

import matplotlib.pyplot as plt

plt.plot(total_rewards)

plt.xlabel("Episode")

plt.ylabel("Total Reward")

plt.title("Policy Gradient on Jumping Robot Environment")

plt.show()

這段程式實作了一個簡化版的跳躍環境 JumpEnv,智能體在每回合中透過 PolicyNet 策略網路決定往前跳一步或跳兩步,目標是到達終點並避開陷阱。訓練使用基本的 REINFORCE 策略梯度演算法,在每回合結束後計算折扣回報,將回報乘上對應的 log 機率作為損失,透過反向傳播更新策略網路,逐步提升選擇高回報行為的機率。最後繪製每回合總報酬,觀察訓練成效隨集數穩定上升。

________________________________________

🔍 說明:

無法用 Q 表學習,因為每次跳(+2)和走(+1)的風險不易估計

策略學習直接訓練「選擇哪個動作」

隨訓練次數,模型會自動學會在陷阱前跳過

________________________________________

這個簡化例子非常適合說明「行為學習(Policy-based methods)在不連續場景的優勢」。

🚀 四、實作建議與延伸應用

這個「跳跳機器人」策略學習案例雖簡單,卻精準展現了策略梯度法在決策學習上的威力。相較於傳統 Q-learning 難以處理的跳步風險與動作選擇,本案例直接學習從當前狀態到動作的映射,讓機器人逐漸學會在陷阱前跳躍、在安全處前進。透過不斷訓練,策略會自我優化,達成從經驗中學到最佳決策。延伸應用上,不僅可透過引入熵正則化鼓勵探索、導入 Actor-Critic 架構降低方差,也可類比至無人機導航、自駕車避障、機器手臂控制等實際場景。這類策略學習方法是深入理解強化學習並邁向先進演算法(如 A2C、PPO)的重要起點。

________________________________________

✅ 五、小結與啟示:

• 策略梯度方法是解決連續動作與複雜策略問題的強大工具。

• Actor-Critic 結合了策略學習與值函數的優點,學習更高效穩定。

• 加入 Advantage、Baseline 與 Entropy 正則化能顯著提升表現。

• 本章奠定了進入進階演算法(如 PPO、DDPG)的基礎,也是實作 AI 控制系統的重要起點。



留言
avatar-img
留言分享你的想法!
avatar-img
Hansen W的沙龍
12會員
274內容數
AIHANS沙龍是一個結合AI技術實戰、產業策略與自我成長的知識平台,主題涵蓋機器學習、生成式AI、創業經驗、財務規劃及哲學思辨。這裡不只提供系統化學習資源與實作案例,更強調理性思維與行動力的結合。無論你是AI初學者、創業者,還是追求人生升維的行者,都能在這裡找到前進的方向與志同道合的夥伴。
Hansen W的沙龍的其他內容
2025/09/25
本單元以 Actor-Critic 演算法實作 LunarLander-v2,透過 Actor 輸出策略、Critic 評估狀態價值,利用 TD 誤差更新雙網路,逐步學會安全降落。並提供調參與探索建議,展現強化學習從互動中習得決策的核心精神。
2025/09/25
本單元以 Actor-Critic 演算法實作 LunarLander-v2,透過 Actor 輸出策略、Critic 評估狀態價值,利用 TD 誤差更新雙網路,逐步學會安全降落。並提供調參與探索建議,展現強化學習從互動中習得決策的核心精神。
2025/09/25
熵正則化在強化學習中透過增加策略的不確定性,避免模型過早收斂於單一路徑,促進探索並提升長期表現。調整 β 參數能平衡探索與收斂,應用於遊戲、自駕車、多目標學習等場景,提升穩定性與適應力。
2025/09/25
熵正則化在強化學習中透過增加策略的不確定性,避免模型過早收斂於單一路徑,促進探索並提升長期表現。調整 β 參數能平衡探索與收斂,應用於遊戲、自駕車、多目標學習等場景,提升穩定性與適應力。
2025/09/25
A2C 是 Actor-Critic 的強化版,透過 Advantage 函數減少方差,提升學習穩定性與效率。它結合 Actor 策略學習與 Critic 價值估計,適用於遊戲、自駕與對話系統,常優於 REINFORCE,能更精確聚焦「比預期更好」的行動。
2025/09/25
A2C 是 Actor-Critic 的強化版,透過 Advantage 函數減少方差,提升學習穩定性與效率。它結合 Actor 策略學習與 Critic 價值估計,適用於遊戲、自駕與對話系統,常優於 REINFORCE,能更精確聚焦「比預期更好」的行動。
看更多
你可能也想看
Thumbnail
本文介紹了人工智慧(AI)及機器學習(ML)的基本概念和關係,探討了數據在機器學習中的重要性,以及深度學習和生成式人工智慧的應用。
Thumbnail
本文介紹了人工智慧(AI)及機器學習(ML)的基本概念和關係,探討了數據在機器學習中的重要性,以及深度學習和生成式人工智慧的應用。
Thumbnail
本文要探討AI的任務與實戰場景。AI技術已深入生活各層面,從違約預測到都市交通管理。AI任務主要有三類:數值型資料處理、自然語言處理(NLP)和電腦影像辨識。時間序列資料和強化學習方法(如AlphaGo)也引起廣泛關注。AI演算法和方法因應不同學派和技術發展而多樣化,了解這些基礎有助選擇適合研究方向
Thumbnail
本文要探討AI的任務與實戰場景。AI技術已深入生活各層面,從違約預測到都市交通管理。AI任務主要有三類:數值型資料處理、自然語言處理(NLP)和電腦影像辨識。時間序列資料和強化學習方法(如AlphaGo)也引起廣泛關注。AI演算法和方法因應不同學派和技術發展而多樣化,了解這些基礎有助選擇適合研究方向
Thumbnail
「Embrace AI to unlock a new era of efficiency, unleashing creativity and marketing infinite potencial.」擁抱AI,開啟效率新時代,釋放創意與行銷無限潛力
Thumbnail
「Embrace AI to unlock a new era of efficiency, unleashing creativity and marketing infinite potencial.」擁抱AI,開啟效率新時代,釋放創意與行銷無限潛力
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 回顧 AI說書 - 從0開始 - 77 ,我們在給定句子 「 Transformers possess surprising emerging features 」的情
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 回顧 AI說書 - 從0開始 - 77 ,我們在給定句子 「 Transformers possess surprising emerging features 」的情
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 回顧 AI說書 - 從0開始 - 76 ,我們在給定句子 「 Transformers possess surprising emerging features 」的情
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 回顧 AI說書 - 從0開始 - 76 ,我們在給定句子 「 Transformers possess surprising emerging features 」的情
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 回顧 AI說書 - 從0開始 - 75 ,我們在給定句子 「 Transformers possess surprising emerging features 」的情
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 回顧 AI說書 - 從0開始 - 75 ,我們在給定句子 「 Transformers possess surprising emerging features 」的情
Thumbnail
最新的AI趨勢讓人眼花撩亂,不知要如何開始學習?本文介紹了作者對AI的使用和體驗,以及各類AI工具以及推薦的選擇。最後強調了AI是一個很好用的工具,可以幫助人們節省時間並提高效率。鼓勵人們保持好奇心,不停止學習,並提出了對健康生活和開心生活的祝福。
Thumbnail
最新的AI趨勢讓人眼花撩亂,不知要如何開始學習?本文介紹了作者對AI的使用和體驗,以及各類AI工具以及推薦的選擇。最後強調了AI是一個很好用的工具,可以幫助人們節省時間並提高效率。鼓勵人們保持好奇心,不停止學習,並提出了對健康生活和開心生活的祝福。
Thumbnail
如何運用A I這個工具,以人為本,不是讓AI主導你的人生。
Thumbnail
如何運用A I這個工具,以人為本,不是讓AI主導你的人生。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News