近年來,人工智慧(AI)領域有許多讓人興奮的新研究。AlphaGo擊敗了圍棋界最頂尖的職業選手。不久之後,其衍生演算法AlphaGo Zero在沒有人類知識監督學習的情況下以100-0的比分擊敗了AlphaGo。在DOTA2的1v1比賽中,頂級職業玩家輸給了OpenAI開發的機器人。了解這些後,很難不對這些演算法背後的原理感到好奇—強化學習(Reinforcement Learning, RL)。
接下來這篇文章會簡要地概述強化學習這個領域。首先會介紹幾個基本概念,然後深入探討解決RL問題的經典方法。希望這篇文章能成為新手的良好起點,為未來的研究奠定基石。
代理人(Agent):代理人是解決問題的電腦程式或機器人等。例如,可以想像成在遊戲中控制玩家角色的角色。
環境(Environment):代理人活動的場所或世界。例如,遊戲的關卡或機器人活動的房間等,代理人能夠影響的對象。狀態(State):表示環境當前狀況的資訊。例如,西洋棋的棋盤狀態,或在自動駕駛汽車中,目前車輛的位置和速度等都屬於狀態。
行動(Action):代理人可以做出的選擇或動作。例如,向右移動、跳躍、移動西洋棋的棋子等,在環境中可以選擇的動作。
獎勵(Reward):代理人根據行動結果獲得的「獎勵」或「懲罰」。例如,在遊戲中得分增加是獎勵,錯誤行動導致遊戲結束則是懲罰。強化學習的目標
代理人學習「在哪種狀態下採取什麼行動可以獲得最多獎勵」。也就是說,強化學習的目標是讓代理人通過反覆試驗來找到最佳的行動模式。例如,考慮一個掃地機器人。一開始可能會隨機移動,但隨著時間推移,它會找到一條能夠避開家具並高效清潔的路線。機器人學習哪個方向前進可以清理更多垃圾,並逐漸變得更加熟練。
具體例子: 聖誕老人的送禮策略
想像聖誕老人是一個強化學習的代理人,他的目標是在聖誕夜盡可能多地送出禮物。
初始階段:
聖誕老人一開始可能會隨機選擇路線和停靠點。他可能會在某些地方停留太久,或是錯過一些房子。
學習過程:
隨著每年的經驗累積,聖誕老人會逐漸學習:
哪些路線可以更快地到達目的地
如何有效地安排停靠順序
在每個家庭停留的最佳時間
獎勵機制:
成功送出禮物:正面獎勵
錯過房子或遲到:負面獎勵
最佳策略:
經過多年的學習,聖誕老人最終會找到一個最佳的送禮策略,能夠在有限的時間內送出最多的禮物。
Reference