Deep Learning 101, Taiwan’s pioneering and highest deep learning meetup, launched on 2016/11/11 @ 83F, Taipei 101
AI是一條孤獨且充滿惶恐及未知的旅程,花俏絢麗的收費課程或活動絕非通往成功的捷徑。
衷心感謝當時來自不同單位的AI同好參與者實名分享的寶貴經驗;如欲移除資訊還請告知。
由 TonTon Huang Ph.D. 發起,及其當時任職公司(台灣雪豹科技)無償贊助場地及茶水點心。
YouTube | Facebook | 回 GitHub Pages | 網站 | Hugging Face Space
2019/10/04, Cecile Liu, High-Dimensional Continuous Control Using Generalized Advantage Estimation
High-Dimensional Continuous Control Using Generalized Advantage Estimation
2019/10/04 Cecile Liu
本次針對「台灣人工智慧社團」第 34 次聚會的相關資料進行匯整,旨在以研究人員的視角,梳理社群活動的現況與重點技術分享的內容,並適時加入對新手入門有益的關鍵概念解釋。
根據資料,社群的名稱已有所變更。雖然部分資料在提及時仍使用「台灣人工智慧社團」或簡稱「台灣人工智慧」,但根據測試問題與答案的明確指出,新的社群名稱為「台灣人工智慧實驗室」。社群成立至今已有三年,本次是第 34 次的聚會。
社群鼓勵成員積極分享技術與商業相關的內容,例如學術文章討論、比賽資訊、甚至是商業產品介紹。這樣的開放氛圍有助於促進交流與合作,也是新手快速了解產業動態與應用方向的好機會。然而,社群也明訂了規範,嚴禁針對個人的攻擊性發言,以及過度洗版式的商業宣傳,強調維護良好的交流環境至關重要。
過往的聚會影片多數可在 YouTube 上找到,部分早期影片則在 Facebook 上。整理後的完整清單可以在 101.tw 上找到。這為新手提供了豐富的學習資源,可以回顧過去的分享內容,快速補足背景知識。
社群設有五位負責人,其中一位被稱為「魔鬼」,有事可以找他。其他四位負責人的身份或稱謂在資料中未明確提及。
在本次聚會中,社群展示了一些具體的技術成果,這對於新手理解 AI 技術的實際應用非常有幫助:
此外,資料中也提及社群將在 11 月 8 日舉辦三週年慶祝活動。據說會有具備製作飲料功能的機器人提供服務。這是一個將技術與趣味結合的範例。
本次聚會的一大核心內容是針對一篇關於 Generalized Advantage Estimation (GAE) 的強化學習論文進行深入分享。分享者首先提到 GAE 在 RL 課程中通常是較後面的主題,暗示它建立在 RL 的基礎概念之上。對於新手來說,理解這些基礎概念是掌握 GAE 的前提。
RL 的目標是訓練一個 Agent 在環境中採取行動以最大化累積獎勵。根據 Agent 是否學習環境的模型,RL 可分為兩大類:
Policy Gradient 是一種常用的 Model-free RL 方法,它直接學習一個參數化的策略 $\pi(a|s; \theta)$,並通過計算策略參數 $\theta$ 的梯度來更新策略,使其能夠選擇更有可能獲得高獎勵的行動。其基本思想是通過增加高獎勵軌跡的機率,降低低獎勵軌跡的機率。
在 Policy Gradient 的推導中,為了便於計算梯度,常會將策略機率的連乘形式通過取 log 轉換為 log 機率的連加形式。這是一個數學上的技巧,將複雜的連乘變成更容易處理的連加。
另一個重要概念是 Discount Factor ($\gamma$,折扣因子)。在計算累積獎勵時,我們通常會對未來較遠時間點的獎勵給予較低的權重。這是因為當前行動對遙遠未來的影響較小,且有助於降低累積獎勵估計的方差。$\gamma$ 的值介於 0 到 1 之間,越接近 0 表示越只關注短期獎勵,越接近 1 表示越關注長期獎勵。
分享者指出,GAE 主要針對 Policy Gradient 中 Variance (方差) 過大的問題。方差過大會導致訓練過程不穩定,難以收斂。這種高方差可能源於獎勵延遲 (Reward Delay) 或稀疏獎勵 (Sparse Reward)。例如,在某些任務中,Agent 必須完成一系列動作後才能獲得獎勵 (獎勵延遲),或者在大部分時間都沒有獎勵,只有在達成特定目標時才有獎勵 (稀疏獎勵)。
Advantage Function (優勢函數) A(s, a) 是一個核心概念。它的定義是 Q(s, a) - V(s),其中 Q(s, a) 是在狀態 s 下採取行動 a 後所能獲得的累積期望獎勵 (包括當前步驟的獎勵),而 V(s) 則是在狀態 s 下遵循當前策略所能獲得的平均累積期望獎勵 (與具體行動無關,可以視為所有可能行動的 Q 值的期望)。優勢函數衡量了在狀態 s 下採取特定行動 a 比按平均策略行動能夠多獲得多少累積獎勵。在 Policy Gradient 中使用 Advantage Function 作為獎勵項,可以有效降低方差。
GAE (Generalized Advantage Estimation) 的目的正是為了更有效地 *估計* 這個 Advantage Function。GAE 的設計思想是結合了兩種 RL 中常用的價值估計方法:
GAE 通過引入一個參數 Lambda ($\lambda$) 來平衡單步 TD error 和蒙地卡羅估計 (可以視為多步 TD error 的加權和) 之間的權重。$\lambda$ 的值介於 0 到 1 之間。
通過調整 $\lambda$,GAE 可以在 Bias (偏差) 和 Variance (方差) 之間取得一個權衡 (Trade-off),目標是找到一個平衡點,使訓練過程更穩定且收斂更快。
一個有趣且在分享中被強調的點是 GAE 的數學形式與 Reward Shaping (獎勵塑形) 在概念上存在意外的相似性。Reward Shaping 是由著名學者吳恩達 (Andrew Ng) 提出的概念。它是一種解決稀疏獎勵問題的方法,通過人工設計額外的獎勵函數來引導 Agent 的學習過程,提供更密集、更有指導性的獎勵信號。例如,在自動駕駛中,除了最終到達目標的獎勵,可以給予「保持在車道內」、「安全轉彎」等中間獎勵。
分享者展示了 GAE 的數學推導結果,發現其形式與 Reward Shaping 在處理獎勵延遲問題上的方法驚人地相似。這暗示了 GAE 某種程度上可以視為 Reward Shaping 的一種形式或一種理論上的佐證。這個相似性被描述為「詭異」,顯示了在理論研究中發現不同方法之間的深層聯繫是令人興奮的。
儘管 GAE 提供了改進 Advantage Function 估計的方法,但在實際應用中仍然存在挑戰。其中最主要的困難點在於 Value Function 的估計 (Value Function Estimation)。準確估計從一個狀態開始到結束的所有未來累積獎勵通常是未知或難以直接計算的。這通常需要藉助其他的 RL 算法或技術,例如使用神經網絡 (Value Network) 來逼近價值函數。
分享者提到 TRPO (Trust Region Policy Optimization) 是一種常用的 Policy Gradient 算法,它常常與 GAE 結合使用。TRPO 的核心思想是在每次更新策略時,限制新舊策略之間的差異在一個「信任區域」內 (通過 KL 散度衡量),以確保訓練過程的穩定性,避免策略更新過大導致性能崩潰。這也是解決 Policy Gradient 不穩定性的一種重要方法。
論文中的實驗展示了 GAE 結合 TRPO 在複雜控制任務上的表現,例如機器人學習站立和行走 (包括兩隻腳和四隻腳的機器人)。實驗結果圖顯示,通過選擇合適的 $\lambda$ 值,可以實現較快的收斂速度。收斂速度快意味著 Agent 能更快學會執行任務。
然而,關於實驗的計算資源和訓練時間引發了一些討論。論文提到訓練一個複雜任務可能需要數天的計算時間 (例如,資料中提及 5.8 天來完成 1000 次迭代)。儘管使用了 GPU,但具體配置和計算量級的描述引發了聽眾的疑問,尤其是在考慮到論文發表年份時。有聽眾分享了他們在 NLP 任務中使用 CPU 和 GPU 的經驗,對比了計算效率。這段討論提醒我們,理論算法的有效性最終需要通過實際的計算實現和實驗來驗證,且計算資源是影響研究進展和應用落地的實際考量。
本次「台灣人工智慧實驗室」的聚會,不僅提供了社群近期發展和實際專案成果的概覽,更深入探討了強化學習領域中 GAE 這一重要的算法。透過分享者對基礎概念的梳理以及對 GAE 核心思想、數學推導、與相關技術 (如 Reward Shaping, TRPO) 的講解,參與者得以一窺 RL 研究前沿如何解決實際問題。
對於新手入門者而言,這次分享強調了幾個關鍵點:
社群持續舉辦技術分享活動,為台灣 AI 領域的研究人員和工程師提供了寶貴的交流平台。透過成員的貢獻與分享,不僅能促進個人成長,也能推動整個社群在 AI 技術領域的發展。社群鼓勵新成員的加入與參與,一同邁向 AI 領域的下一個里程碑。