強化學習(1)

在開始之前個人覺得有必要把概念給大家說清楚,用大寫字母表示一類事物的集合,用小寫字母表示一類事物的實例。

在強化學習中出現術語解釋

  • Agent: 是學習主體也就是機器或者說是智能體,agent 通過觀察環境(Environment),觀察到就是環境具體的 state ,也就是當前的環境一個快照。AlphaGo 就是 Agent
  • Environment: Agent 所處環境,Agent 是無法控制環境,也可以理解爲 Agent 的對手,Agent 不斷通過跟環境進行抗爭來進行學習從而戰勝環境,環境還會 Agent Reward 不能簡單理解 Environment 爲對抗
  • State 就是環境的一個快照,也就是 Agent 所觀察到的
  • Action 是 Agent 根據當前 state 爲了獲得更高 reward 採取行動
  • Reward 是在某個 state 給予 Agent 反饋,也就是獎罰

推薦 《Reinforcement Learning An Introduction》

在隨後強化學習分享中我們會介紹一下內容,其實無論在機器學習,我們需要學習如何通過抽象將實際問題轉化爲數學模型,然後我們在想用什麼方法來解決問題。其實這裏要說一件事,就是爲什麼老師喜歡在給出答案前,讓學生自己思考,然後嘗試給出答案,其實並不期望你個給出正確答案,其目標是在於讓你加深對答案印象,因爲當人發現實際期望(自己答案)差別很大時,印象會很深刻

強化學習

  • 微軟小 bing
  • AlphaGo
  • 自動學習

基於價值選行爲的算法

  • Q learning(基於表格)
  • Sarsa
  • Deep Q Network (基於神經網絡)

基於選行爲

Policy Gradients

經典條件反射

經典條件反射又稱巴甫洛夫條件反射,簡單就是一搖鈴就給 dog 食物,這樣當搖鈴即使沒有喂 dog 食物,狗也會流口水(這裏流口水錶示 dog 開心也就是得到 reward)。也就是通過 dog 通過反射方式在搖鈴和食物建立關係。

  • State 表示狀態,dog 和搖鈴就是一個狀態,需要花一些時間和精力來通過訓練。

  • Value 就是表示 us 和 cs 間關係的強弱,這個關係強弱是 dog 建立的,所以是主觀。

  • reward 表示 dog 對狀態反應,也就是 dog 在這種 state 下是否開心。

    state(s) value(v) reward(r)
    鈴,食物 饞: v(鈴) >0 好事
    拒絕給食物,電擊 恐懼: v(電擊) < 0 不好事
    CS US 期望 結果
  • CS(Conditioned stimuli state) 搖鈴 state 就是 dog 並不瞭解的,也就是不是天生會有好感的狀態。

  • US(Unconditioned stimuli State)食物就是 US 是 dog 天生就對其有好感的條件刺激,那麼對於 dog US 就是本身就具有 reward 效果

在這裏 state 和 reward 是客觀的條件,value 是主觀的,可以改變的,這裏鈴並沒有 Reward,因爲 dog 不會天生對搖鈴有任何感覺。需要定義 value 是通過學習可以改變 Value。我們不斷通過搖鈴給 dog 食物來更新 value 值。value 表示 US 和 CS 之前關係的強弱。value 是 dog 將食物和鈴建立關係,所以是主觀的東西。

RW(Rescorla-Wagner) Model

  • , 爲是或否,取值 1 和 0
  • A 爲學習速率,有關 A 爲學習速率,應該小於 1 大於 0

當 us 和 cs 值都爲 1 表示 us 和 cs 同時出現,在開始

爲 0 , 爲 1 那麼就等於 加上一個乘以一個係數,我們希望通過訓練,而且這是一個迭代過程,每一次都是上一次 進行增加的。

解釋一下這個公式吧,這裏

表示對於搖鈴的值,默認爲 0 因爲 dog 對搖鈴沒有什麼感覺,而 給事物的值卻是 1 表示 dog 喜歡事物,一看到食就會流口水。A 表示學習速率這裏取值應該爲 0 到 1 之間,也大說明 dog 學習越快,如果爲 1 表示 dog 聽見一次搖鈴給食物後就學會了搖鈴會給食物。這顯然不對的。這個公式並不難而且很好理解,簡單解釋一下,V(cs)默認爲 0 當搖鈴和給食物同時出現 1 * 學習率(例如 0.2) 就會更新 V(cs) 爲 0.2 下一次就會更新 0.36 。

操作性條件反射

在經典條件反射中 dog 並不需要做任何動作 Action 就可以得到獎勵,我們現在進一步思考一下,例如我們都看過馬戲團表演,給 dog 10 元 100 元,如果 dog 能夠根據主人或觀衆說出數字找到對的卡片便可以得到獎賞。這一次 dog 在給卡片的狀態下,做出選擇正確 action 會根據 action state 得到 reward。

state(s) action(a) reward(r)
10 元和 100 元 選擇 10 元 食物
10 元和 100 元 選擇 100 元 給不食物
CS US 期望 結果

這是 reward 是取決於 Action 這是我們如何來定義 value,

例如我們給 5 卡片希望 dog 對應位置支持 5 這是給出獎勵,追女朋友

  • state 她的心情
  • action 根據 state 採用不同 action
  • 根據 state 和 action 得到不同 reward

接下來我們嘗試將 Alpha Go

  • reward 是取得勝利
  • state 棋盤狀態
  • action
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章