AI時代系列(3) 機器學習三部曲: 📘 第三部:《強化學習 —— AI 的決策與進化》
68/100 第七週:📌 高階強化學習演算法
68.強化學習的多任務擴展 🌍 學一種策略適用多個任務!
🌍 學一種策略,適用多個任務!
________________________________________
🎯 單元導讀:
在現實世界中,AI 往往不是只面對單一任務。例如:
• 🦿 機器人不只會走路,還要能搬物、開門、閃避障礙
• 🤖 聊天機器人不只會回答問題,還要能推薦商品、表達情緒
• 🚀 自駕車需面對不同天氣、交通燈號與道路情境
若每個任務都訓練一個獨立策略,不僅成本高,泛化能力也弱。
「多任務強化學習(Multi-Task Reinforcement Learning, MTRL)」 就是為了解決這種情境而生的!
________________________________________
🧠 一、什麼是多任務強化學習(MTRL)?
多任務強化學習的目標是:讓一個 agent 能同時或交替完成多個不同但相關的任務。
它不像傳統 RL 那樣針對單一環境,而是設計出:
• 一個通用策略(shared policy)
• 能處理多個目標或環境變異
________________________________________
📦 二、經典任務範例
任務集 描述
🐾 MuJoCo 多種機器人控制 Hopper, Walker, Ant 等不同步態
🎮 Atari 多種遊戲 Pong、Breakout、Space Invaders...
🏞 MetaWorld / MT10 同一機器手臂完成開瓶蓋、推物體等多任務
🧠 NLP 多輪對話任務 回答問題、推薦物品、情緒識別
________________________________________
🧪 三、實作方式(策略設計)
✅ 方法一:共享參數策略(Shared Policy)
• 同一組 Actor / Critic,輸入包含任務編碼(Task ID 或環境提示)
• 適合任務相似度高的場景
✅ 方法二:多頭網路(Multi-head Network)
• 共用特徵提取層(backbone),每個任務用獨立輸出層
• 適合任務差異稍大的情況
✅ 方法三:策略融合(Policy Distillation / Meta-RL)
• 多個策略融合成一個總策略
• 或訓練一個能快速適應任務的元策略(meta-policy)
________________________________________
🔁 四、訓練技巧與資料切換策略
技術 說明
Round-Robin 每輪訓練依序切換任務
Random Sampling 隨機選一任務訓練
Curriculum Learning 由簡入難逐步訓練,幫助策略收斂
Reward Normalization 不同任務的 reward 區間需標準化,避免策略偏向高分任務
________________________________________
📊 五、多任務學習的挑戰
挑戰 說明
任務干擾(Interference) 不同任務梯度互相矛盾,造成學習不穩定
過度專化(Overspecialization) 策略只對某些任務學得好,無法泛化
資料分布不均 部分任務樣本較少 → 策略學不到平衡表現
任務相關性低 無法共享知識,效果反而比單任務差
________________________________________
🎮 六、生活例子類比
AI 任務 類比場景
機器人一套策略完成開門與煮飯 像人類使用同一雙手處理不同任務
車輛辨識紅綠燈與路人 眼睛一樣,但可以辨識多種類型物體
一個助理同時學會寫信、講話、幫你排程 通用助理策略,比專才更有用
________________________________________
🧩 七、挑戰與反思任務
1️⃣ 你認為在訓練多任務策略時,哪些任務適合共用策略?哪些不適合?
👉 適合共用的任務:
• 任務目標相似(例如不同路線的自駕車導航)。
• 狀態空間與動作空間高度重疊。
• 獎勵機制具有一致性或相似結構。
👉 不適合共用的任務:
• 目標衝突(例如省油 vs 追求速度)。
• 狀態或動作空間差異過大(例如圖像分類 vs 機械手臂控制)。
• 獎勵方向或尺度完全不同。
________________________________________
2️⃣ 若一個任務的學習表現拖累了整體效果,你會如何處理?
👉 可能解法:
• 加權損失函數:調整不同任務的權重,減少表現差任務對整體影響。
• 分階段訓練:先讓基礎任務收斂後再加入複雜任務。
• 使用專屬子網路(Multi-head network):讓共享部分學習通用特徵,每個任務保有獨立輸出。
• 知識蒸餾 (Distillation):讓已收斂的單任務模型輔助多任務學習。
________________________________________
3️⃣ 試著用 PPO 訓練多個 CartPole-v1 環境,每個初始狀態略有不同,觀察收斂行為。
👉 觀察重點:
• 是否出現穩定收斂還是持續波動?
• 策略是否學到穩健對應不同初始狀態的方法?
• 隨機初始化是否提高了策略的泛化能力?
• 如果出現早期收斂但泛化差,可能需要增加探索或引入 Domain Randomization 技巧。
________________________________________
✅ 八、小結與啟示
• 多任務強化學習可以讓 AI 更通用、節省成本、提升泛化能力
• 策略共享是核心,但需搭配適當的設計方式與正規化技巧
• 成功關鍵在於:選對任務組合、控制干擾、平衡更新
• 是邁向通用人工智慧(AGI)與實務應用的重要一步!