<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 智能計算 > 設計應用 > 人工智能之Q Learning算法

人工智能之Q Learning算法

作者: 時(shí)間:2018-06-19 來(lái)源:網(wǎng)絡(luò ) 收藏

  機器學(xué)習有關(guān)算法內容,請參見(jiàn)公眾號“科技優(yōu)化生活”之前相關(guān)文章。之機器學(xué)習主要有三大類(lèi):1)分類(lèi);2)回歸;3)聚類(lèi)。今天我們重點(diǎn)探討一下算法。 ^_^

本文引用地址:http://dyxdggzs.com/article/201806/381806.htm

  通過(guò)前一篇TD-Learning時(shí)序差分(請參見(jiàn)(48)算法介紹,我們知道,TD-Learning時(shí)序差分是結合了動(dòng)態(tài)規劃DP和蒙特卡洛MC(請參見(jiàn)人工智能(31))方法,并兼具兩種算法的優(yōu)點(diǎn),是強化學(xué)習的中心。


  TD-learning時(shí)序差分大概分了6類(lèi)。其中,策略行動(dòng)價(jià)值qπ的off-policy時(shí)序差分學(xué)習方法: Q-Learning(單步),Double Q-Learning(單步)。今天重點(diǎn)介紹Q-Learning算法。

  算法是由Watkins于1989年在其博士論文中提出,是強化學(xué)習發(fā)展的里程碑,也是目前應用最為廣泛的強化學(xué)習算法。

  算法概念:

  Q Learning算法是一種off-policy的強化學(xué)習算法,一種典型的與模型無(wú)關(guān)的算法,即其Q表的更新不同于選取動(dòng)作時(shí)所遵循的策略,換句化說(shuō),Q表在更新的時(shí)候計算了下一個(gè)狀態(tài)的最大價(jià)值,但是取那個(gè)最大值的時(shí)候所對應的行動(dòng)不依賴(lài)于當前策略。

  Q Learning始終是選擇最優(yōu)價(jià)值的行動(dòng),在實(shí)際項目中,Q Learning充滿(mǎn)了冒險性,傾向于大膽嘗試。



  Q Learning算法下,目標是達到目標狀態(tài)(Goal State)并獲取最高收益,一旦到達目標狀態(tài),最終收益保持不變。因此,目標狀態(tài)又稱(chēng)之為吸收態(tài)。

  Q Learning算法下的agent,不知道整體的環(huán)境,知道當前狀態(tài)下可以選擇哪些動(dòng)作。通常,需要構建一個(gè)即時(shí)獎勵矩陣R,用于表示從狀態(tài)s到下一個(gè)狀態(tài)s’的動(dòng)作獎勵值。由即時(shí)獎勵矩陣R計算得出指導agent行動(dòng)的Q矩陣。

  Q矩陣是agent的大腦。

  Q Learning算法本質(zhì):

  QLearning屬于TD-Learning時(shí)序差分學(xué)習。同樣,該算法結合了動(dòng)態(tài)規劃和蒙特卡羅MC算法,模擬(或者經(jīng)歷)一個(gè)情節,每行動(dòng)一步(或多步)后,根據新?tīng)顟B(tài)的價(jià)值,來(lái)估計執行前的狀態(tài)價(jià)值。



  下面提到的Q-Learning是單步更新算法。

  Q Learning算法描述:

  Q-learning是一個(gè)突破性的算法。

  利用下面公式進(jìn)行off-policy學(xué)習,即用公式來(lái)表示Q-Learning中Q表的更新:

  Q(St,At)←Q(St,At)+α[Rt+1+γmax Q(St+1,a)?Q(St,At)]

  其中:

  St: 當前狀態(tài)state

  At: 從當前狀態(tài)下,采取的行動(dòng)action

  St+1:本次行動(dòng)所產(chǎn)生的新一輪state

  At+1: 次回action

  Rt: 本次行動(dòng)的獎勵reward

  γ為折扣因子,0<= γ<1,γ=0表示立即回報,γ趨于1表示將來(lái)回報,γ決定時(shí)間的遠近對回報的影響程度,表示犧牲當前收益,換取長(cháng)遠收益的程度。將累計回報作為評價(jià)策略?xún)?yōu)劣的評估函數。當前的回報值以及以前的回報值都可以得到,但是后續狀態(tài)的回報很難得到,因此累計回報就難以計算。而Q-learning用Q函數來(lái)代替累計回報作為評估函數,正好解決這個(gè)問(wèn)題。

  α為控制收斂的學(xué)習率,0< α<1。通過(guò)不斷的嘗試搜索空間,Q值會(huì )逐步趨近最佳值Q*。

  1)Q-learning單步時(shí)序差分學(xué)習方法算法描述

  Initialize Q(s,a),?s∈S,a∈A(s) arbitrarily, and Q(terminal, ˙)=0

  Repeat (for each episode):

  ? Initialize S

  ? Choose A from S using policy derived from Q (e.g. ??greedy)

  ? Repeat (for each step of episode):

  ?? Take action A, observe R,S′

  ?? Q(S,A)←Q(S,A)+α[R+γmaxa Q(S‘,a)?Q(S,A)]

  ?? S←S′;

  ? Until S is terminal

  每個(gè)episode是一個(gè)training session,且每一輪訓練意義就是加強大腦,表現形式是agent的Q矩陣元素更新。當Q習得后,可以用Q矩陣來(lái)指引agent的行動(dòng)。

  Q-learning使用了max,會(huì )引起一個(gè)最大化偏差(Maximization Bias)問(wèn)題。

  可以使用Double Q-learning可以消除這個(gè)問(wèn)題。



  2)Double Q-learning單步時(shí)序差分學(xué)習方法算法描述

  Initialize Q1(s,a) and Q2(s,a),?s∈S,a∈A(s) arbitrarily

  Initialize Q1(terminal, ˙)=Q2(terminal, ˙)=0

  Repeat (for each episode):

  ? Initialize S

  ? Repeat (for each step of episode):

  ?? Choose A from S using policy derived from Q1 and Q2 (e.g. ??greedy)

  ?? Take action A, observe R,S′

  ?? With 0.5 probability:

  ??? Q1(S,A)←Q1(S,A)+α[R+γQ2(S′,argmax Q1(S′,a))?Q1(S,A)]

  ?? Else:

  ??? Q2(S,A)←Q2(S,A)+α[R+γQ1(S′,argmax Q2(S′,a))?Q2(S,A)]

  ?? S←S′;

  ? Until S is terminal



  Double Q Learning算法本質(zhì)上是將計算Q函數進(jìn)行延遲,并不是得到一條樣本就可以更新價(jià)值函數,而是一定的概率才可以更新。由原來(lái)的1條樣本做到影響決策變?yōu)槎鄺l(至少兩條)樣本影響決策。

  Q Learning理論基礎:

  QLearning理論基礎如下:

  1)蒙特卡羅方法

  2)動(dòng)態(tài)規劃

  3)信號系統

  4)隨機逼近

  5)優(yōu)化控制

  Q Learning算法優(yōu)點(diǎn):

  1)所需的參數少;

  2)不需要環(huán)境的模型;

  3)不局限于episode task;

  4)可以采用離線(xiàn)的實(shí)現方式;

  5)可以保證收斂到 qπ。

  Q Learning算法缺點(diǎn):

  1) Q-learning使用了max,會(huì )引起一個(gè)最大化偏差問(wèn)題;

  2) 可能會(huì )出現更新速度慢;

  3) 可能會(huì )出現預見(jiàn)能力不強。

  注:使用Double Q-learning可以消除問(wèn)題1);使用多步Q -learning可以消除問(wèn)題2)和3)。

  Q Learning算法應用:

  從應用角度看,Q Learning應用領(lǐng)域與應用前景都是非常廣闊的,目前主要應用于動(dòng)態(tài)系統、機器人控制、工廠(chǎng)中學(xué)習最優(yōu)操作工序以及學(xué)習棋類(lèi)對弈等領(lǐng)域。

  結語(yǔ):

  Q Learning是一種典型的與模型無(wú)關(guān)的算法,它是由Watkins于1989年在其博士論文中提出,是強化學(xué)習發(fā)展的里程碑,也是目前應用最為廣泛的強化學(xué)習算法。Q Learning始終是選擇最優(yōu)價(jià)值的行動(dòng),在實(shí)際項目中,Q Learning充滿(mǎn)了冒險性,傾向于大膽嘗試,屬于TD-Learning時(shí)序差分學(xué)習。Q Learning算法已經(jīng)被廣泛應用于動(dòng)態(tài)系統、機器人控制、工廠(chǎng)中學(xué)習最優(yōu)操作工序以及學(xué)習棋類(lèi)對弈等領(lǐng)域。



關(guān)鍵詞: 人工智能 Q Learning

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>