【QA】什麼是強化學習 (Reinforcement Learning)? - Cupoy

強化學習是有別於監督學習與非監督學習的一種機器學習方法。讓計算機從什麼都不懂的情況下,自己學習、找到...

【QA】什麼是強化學習 (Reinforcement Learning)?

2021/09/08 下午 04:03
機器學習共學討論版
Chili
觀看數:182
回答數:1
收藏數:0

強化學習是有別於監督學習與非監督學習的一種機器學習方法。讓計算機從什麼都不懂的情況下,自己學習、找到一個解決辦法,這就是強化學習的過程。而強化學習在現實上實現的例子也很多,最有名的就是打敗圍棋高手的AlphaGo,下面我想跟大家簡單討論一下這個主題。

回答列表

  • 2021/09/08 下午 04:07
    Chili
    贊同數:0
    不贊同數:0
    留言數:0

    # 何為強化學習 強化學習是指電腦透過和一個動態環境不斷互動,來學習正確執行的方法。其中包括以下幾個部分: * Agent : 代表機器人的腦袋 * Action:機器人採取的行為 * Environment:設定一環境 * Reward:行為在環境互動中帶來的獎勵 * Observation:環境中某一個時間點 * State:環境中每一個時間點的Observation集合 * Policy:在Agent 中,依據環境的State跟Reward中再去選一個最好的Action ![image](http://kwassistfile.cupoy.com/0000017BC46F87BA000000226375706F795F72656C65617365414E53/1630891912425/large) [圖片來源](https://medium.com/雞雞與兔兔的工程世界/機器學習-ml-note-reinforcement-learning-強化學習-dqn-實作atari-game-7f9185f833b0) 首先,我們可以將agent 看作圖中機器人的腦袋,而Agent會先做一個動作(action)到環境中,而環境會為這個動作打分數,回傳一個獎勵(Reward)到大腦,並且回傳當下的observation給大腦,大腦Agent 在依據這個回傳的observation 做出接下來一系列的Action,並得到另一個Reward 與Observation,達到一個循環,直至達到我們設定的目標為止。 --- 舉小恐龍跑步為例子,當一開始小恐龍還沒碰到障礙物時,會回傳一個observation給Agnet 做反應,並得到Reward 1,當小恐龍開始遇到障礙物時,Agent 會根據Observation s2 做一個反應Action---跳,這時,因為成功避開障礙,使得整個流程可以繼續,也會繼續累積Reward,直到最後,小恐龍Agent 沒有做出正確反應Action時,遊戲就會結束,我們稱為一個episode,最後我們計算整個過程所得到的Total Reward,並依據此結果訓練模型,盡量使得模型的Total Reward可以最大化。 ![image](http://kwassistfile.cupoy.com/0000017BC46F87BA000000226375706F795F72656C65617365414E53/1630891912426/large) --- * 其他強化學習參考來源: 李宏毅 https://www.youtube.com/watch?v=US8DFaAZcp4&list=RDLVXWukX-ayIrs&index=2 https://datawhalechina.github.io/leeml-notes/#/chapter39/chapter39 莫凡 https://www.youtube.com/watch?v=NVWBs7b3oGk&list=RDLVXWukX-ayIrs&index=4