日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

强化学习入门总结

發(fā)布時(shí)間:2023/12/20 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 强化学习入门总结 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

目錄

一、強(qiáng)化學(xué)習(xí)概述

1.強(qiáng)化學(xué)習(xí)簡(jiǎn)介

2.發(fā)展歷程:

3.MDP(馬兒可夫決策過(guò)程)

4.why RL?

5.總結(jié):

二、強(qiáng)化學(xué)習(xí)求解方法

1.動(dòng)態(tài)規(guī)劃方法

2.蒙特卡洛方法

3.時(shí)間差分方法

三、強(qiáng)化學(xué)習(xí)算法分類

1.分類一:

2.分類二:

3.分類三:

4.分類四:

四、代表性算法

1.Q-learning

2.Sarsa:

3.大名鼎鼎的DQN

4.Policy Gradients算法

5.Actor-critic

五、強(qiáng)化學(xué)習(xí)應(yīng)用:

(1)各領(lǐng)域應(yīng)用:

(2)對(duì)話

(3)淘寶電商搜索:

(4)FlappyBird:

(5)組合優(yōu)化問(wèn)題(TSP):

六、總結(jié):

1.如何設(shè)計(jì)算法:


一、強(qiáng)化學(xué)習(xí)概述

1.強(qiáng)化學(xué)習(xí)簡(jiǎn)介

(1)強(qiáng)化學(xué)習(xí)是機(jī)器學(xué)習(xí)中的一個(gè)領(lǐng)域,強(qiáng)調(diào)如何基于環(huán)境而行動(dòng),以取得最大化的預(yù)期利益。其靈感來(lái)源于心理學(xué)中的行為主義理論,即有機(jī)體如何在環(huán)境給予的獎(jiǎng)勵(lì)或懲罰的刺激下,逐步形成對(duì)刺激的預(yù)期,產(chǎn)生能獲得最大利益的習(xí)慣性行為。

(2)強(qiáng)化學(xué)習(xí)最早可以追溯到巴甫洛夫的條件反射實(shí)驗(yàn),它從動(dòng)物行為研究和優(yōu)化控制兩個(gè)領(lǐng)域獨(dú)立發(fā)展,最終經(jīng)Bellman之手將其抽象為馬爾可夫決策過(guò)程 (Markov Decision ProcessMDP)

2.發(fā)展歷程:

1956Bellman提出了動(dòng)態(tài)規(guī)劃方法。

1977Werbos提出只適應(yīng)動(dòng)態(tài)規(guī)劃算法。

1988sutton提出時(shí)間差分算法。

1992Watkins 提出Q-learning 算法。

1994rummery 提出Saras算法。

1996Bersekas提出解決隨機(jī)過(guò)程中優(yōu)化控制的神經(jīng)動(dòng)態(tài)規(guī)劃方法。

2006Kocsis提出了置信上限樹(shù)算法。

2009kewis提出反饋控制只適應(yīng)動(dòng)態(tài)規(guī)劃算法。

2014silver提出確定性策略梯度(Policy Gradients)算法。

2015Google-deepmind 提出Deep-Q-Network算法。

可見(jiàn),強(qiáng)化學(xué)習(xí)已經(jīng)發(fā)展了幾十年,并不是一門(mén)新的技術(shù)。在2016年,AlphaGo擊敗李世石之后,融合了深度學(xué)習(xí)的強(qiáng)化學(xué)習(xí)技術(shù)大放異彩,成為這兩年最火的技術(shù)之一??偨Y(jié)來(lái)說(shuō),強(qiáng)化學(xué)習(xí)就是一個(gè)古老而又時(shí)尚的技術(shù)。

3.MDP(馬兒可夫決策過(guò)程)

S: 表示狀態(tài)集(states),有s∈Ssi表示第i步的狀態(tài)。

A:表示一組動(dòng)作(actions),有a∈Aai表示第i步的動(dòng)作。

?sa: 表示狀態(tài)轉(zhuǎn)移概率。?s? 表示的是在當(dāng)前s ∈ S狀態(tài)下,經(jīng)過(guò)a ∈ A作用后,會(huì)轉(zhuǎn)移到的其他狀態(tài)的概率分布情況。比如,在狀態(tài)s下執(zhí)行動(dòng)作a,轉(zhuǎn)移到s'的概率可以表示為p(s'|s,a)。

R: S×A?? R是回報(bào)函數(shù)(reward function)。有些回報(bào)函數(shù)狀態(tài)S的函數(shù),可以簡(jiǎn)化為R: S??。如果一組(s,a)轉(zhuǎn)移到了下個(gè)狀態(tài)s',那么回報(bào)函數(shù)可記為r(s'|s, a)。如果(s,a)對(duì)應(yīng)的下個(gè)狀態(tài)s'是唯一的,那么回報(bào)函數(shù)也可以記為r(s,a)。

γ:折現(xiàn)因子

4.why RL?

強(qiáng)化學(xué)習(xí)所解決的問(wèn)題的特點(diǎn):

  • 智能體和環(huán)境之間不斷進(jìn)行交互
  • 搜索和試錯(cuò)
  • 延遲獎(jiǎng)勵(lì)(當(dāng)前所做的動(dòng)作可能很多步之后才會(huì)產(chǎn)生相應(yīng)的結(jié)果)

目標(biāo):

  • 獲取更多的累積獎(jiǎng)勵(lì)
  • 獲得更可靠的估計(jì)

強(qiáng)化學(xué)習(xí) (Reinforcement Learning) 是一個(gè)機(jī)器學(xué)習(xí)大家族中的分支, 由于近些年來(lái)的技術(shù)突破, 和深度學(xué)習(xí) (Deep Learning) 的整合, 使得強(qiáng)化學(xué)習(xí)有了進(jìn)一步的運(yùn)用比如讓計(jì)算機(jī)學(xué)著玩游戲, AlphaGo 挑戰(zhàn)世界圍棋高手, 都是強(qiáng)化學(xué)習(xí)在行的事。強(qiáng)化學(xué)習(xí)也是讓你的程序從對(duì)當(dāng)前環(huán)境完全陌生, 成長(zhǎng)為一個(gè)在環(huán)境中游刃有余的高手。

5.總結(jié):

深度強(qiáng)化學(xué)習(xí)全稱是 Deep Reinforcement LearningDRL),其所帶來(lái)的推理能力 是智能的一個(gè)關(guān)鍵特征衡量,真正的讓機(jī)器有了自我學(xué)習(xí)、自我思考的能力。

深度強(qiáng)化學(xué)習(xí)(Deep Reinforcement LearningDRL)本質(zhì)上屬于采用神經(jīng)網(wǎng)絡(luò)作為值函數(shù)估計(jì)器的一類方法,其主要優(yōu)勢(shì)在于它能夠利用深度神經(jīng)網(wǎng)絡(luò)對(duì)狀態(tài)特征進(jìn)行自動(dòng)抽取,避免了人工 定義狀態(tài)特征帶來(lái)的不準(zhǔn)確性,使得Agent能夠在更原始的狀態(tài)上進(jìn)行學(xué)習(xí)。

二、強(qiáng)化學(xué)習(xí)求解方法

1.動(dòng)態(tài)規(guī)劃方法

基石:貝爾曼方程

(1)貝爾曼方程:

貝爾曼最優(yōu)方程:

如何求解貝爾曼方程呢?

本質(zhì)上就是個(gè)線性規(guī)劃問(wèn)題,多個(gè)方程,多個(gè)未知數(shù),進(jìn)行求解,如下,假設(shè)每一步的即使獎(jiǎng)勵(lì)是-0.2,有三個(gè)未知狀態(tài)V(0,1),V(1,1),V(1,0),損失因子是1,則在如下的策略下,得到的貝爾曼方程如下:

但是當(dāng)未知變量不斷增大,線性規(guī)劃則很難求解,這時(shí)需要使用動(dòng)態(tài)規(guī)劃進(jìn)行不斷迭代,讓其狀態(tài)值收斂。

(2)值迭代

In Value Iteration, you start with a randon value function and then find a new (improved) value function in a iterative process, until reaching the optimal value function. Notice that you can derive easily the optimal policy from the optimal value function. This process is based on the Optimality Bellman operator.?

(3)策略迭代

In Policy Iteration algorithms, you start with a random policy, then find the value function of that policy (policy evaluation step), then find an new (improved) policy based on the previous value function, and so on. In this process, each policy is guaranteed to be a strict improvement over the previous one (unless it is already optimal). Given a policy, its value function can be obtained using the Bellman operator.

(4)算法詳細(xì)對(duì)比:

?

  • 根據(jù)策略迭代算法,每一次迭代都要進(jìn)行策略評(píng)估和策略提升,直到二者都收斂。可我們的目標(biāo)是選出最優(yōu)的策略,那么有沒(méi)有可能在策略評(píng)估值沒(méi)有收斂的情況下,最優(yōu)策略已經(jīng)收斂了呢?答案是有這個(gè)可能
  • 策略迭代的收斂速度更快一些,在狀態(tài)空間較小時(shí),最好選用策略迭代方法。當(dāng)狀態(tài)空間較大時(shí),值迭代的計(jì)算量更小一些

(5)GridWorld舉例(分別用策略迭代和值迭代進(jìn)行求解)

策略迭代過(guò)程:

值迭代過(guò)程:

2.蒙特卡洛方法

上面的動(dòng)態(tài)規(guī)劃方法,是一種較為理想的狀態(tài),即所有的參數(shù)都提前知道,比如狀態(tài)轉(zhuǎn)移概率,及獎(jiǎng)勵(lì)等等。然而顯示情況是未知的,這時(shí)候有一種手段是采用蒙特卡洛采樣,基于大數(shù)定律,基于統(tǒng)計(jì)計(jì)算出轉(zhuǎn)移概率值;比如當(dāng)你拋硬幣的次數(shù)足夠多,那么正面和反面的概率將會(huì)越來(lái)越接近真實(shí)情況。

3.時(shí)間差分方法

基于動(dòng)態(tài)規(guī)劃和蒙特卡洛

三、強(qiáng)化學(xué)習(xí)算法分類

1.分類一:

基于理不理解所處環(huán)境來(lái)進(jìn)行分類:

Model-free:環(huán)境給了我們什么就是什么. 我們就把這種方法叫做 model-free, 這里的 model 就是用模型來(lái)表示環(huán)境

Model-based:那理解了環(huán)境也就是學(xué)會(huì)了用一個(gè)模型來(lái)代表環(huán)境, 所以這種就是 model-based 方法

2.分類二:

一類是直接輸出各個(gè)動(dòng)作概率,另一個(gè)是輸出每個(gè)動(dòng)作的價(jià)值;前者適用于連續(xù)動(dòng)作情況,后者無(wú)法表示連續(xù)動(dòng)作的價(jià)值。

3.分類三:

4.分類四:

判斷on-policyoff-policy關(guān)鍵在于,你所估計(jì)的policy或者value-function和你生成樣本時(shí)所采用的policy是不是一樣。如果一樣,那就是on-policy的,否則是off-policy的。

總結(jié)各常用算法的分類:

四、代表性算法

1.Q-learning

(1)四個(gè)基本組成成分:

  • Q表:Q(s,a),狀態(tài)s下執(zhí)行動(dòng)作a的累積價(jià)值
  • 定義動(dòng)作:選擇動(dòng)作
  • 環(huán)境反饋:做出行為后,環(huán)境的反饋
  • 環(huán)境更新

(2)算法公式:

(3)算法決策:

(4)算法更新:

(5)代碼實(shí)現(xiàn)框架:

2.Sarsa:

Q-learning基本類似,唯一的區(qū)別是更新方式不一樣

(1)算法公式:

(2)與Q-learning的區(qū)別:Sarsa是on-policy的,Q-learning是off-policy的

(3)更新過(guò)程:

前者是Sarsa,后者是Q-learning

(4)代碼中展現(xiàn)不同:

Sarsa:

Q-learning:

(5)代碼實(shí)現(xiàn)框架:

3.大名鼎鼎的DQN

Deepmind就是因?yàn)镈QN這篇論文,被谷歌收購(gòu)

(1)由來(lái):

  • DQNDeep Q Network)是一種融合了神經(jīng)網(wǎng)絡(luò)和Q learning的方法.

  • 有些問(wèn)題太復(fù)雜,Q表無(wú)法存儲(chǔ),即使可以存儲(chǔ),搜索也很麻煩。故而,將Q表用神經(jīng)網(wǎng)絡(luò)進(jìn)行替代。

(2)增加了兩個(gè)新特性:

Experience replay:每次DQN更新的時(shí)候,隨機(jī)抽取一些之前的經(jīng)歷進(jìn)行學(xué)習(xí)。隨機(jī)抽取這種打亂了經(jīng)歷之間的相關(guān)性,使得神經(jīng)網(wǎng)絡(luò)更新更有效率。

Fixed Q-targets:使用兩個(gè)結(jié)構(gòu)相同但參數(shù)不同的神經(jīng)網(wǎng)絡(luò),預(yù)測(cè)Q估計(jì)的神經(jīng)網(wǎng)絡(luò)具備最新的參數(shù),而預(yù)測(cè)Q現(xiàn)實(shí)的神經(jīng)網(wǎng)絡(luò)使用的參數(shù)則是很久以前的。

(3)算法公式:

paper地址:Playing Atari with Deep Reinforcement Learning

(4)DQN代碼實(shí)現(xiàn)框架:

可以看到基本上Q-learning一模一樣,只是有一處不一樣,就是多了存儲(chǔ)記憶,并且批量進(jìn)行學(xué)習(xí)。

4.Policy Gradients算法

(1)由來(lái):

強(qiáng)化學(xué)習(xí)是一個(gè)通過(guò)獎(jiǎng)懲來(lái)學(xué)習(xí)正確行為的機(jī)制. 家族中有很多種不一樣的成員,有學(xué)習(xí)獎(jiǎng)懲值, 根據(jù)自己認(rèn)為的高價(jià)值選行為, 比如 Q learning, Deep Q Network, 也有不通過(guò)分析獎(jiǎng)勵(lì)值, 直接輸出行為的方法, 這就是今天要說(shuō)的 Policy Gradients . 甚至我們可以為 Policy Gradients 加上一個(gè)神經(jīng)網(wǎng)絡(luò)來(lái)輸出預(yù)測(cè)的動(dòng)作. 對(duì)比起以值為基礎(chǔ)的方法, Policy Gradients 直接輸出動(dòng)作的最大好處就是, 它能在一個(gè)連續(xù)區(qū)間內(nèi)挑選動(dòng)作, 而基于值的, 比如 Q-learning, 它如果在無(wú)窮多的動(dòng)作中計(jì)算價(jià)值, 從而選擇行為, , 它可吃不消.

(2)區(qū)別:

Q-learning、DQN:學(xué)習(xí)獎(jiǎng)懲值, 根據(jù)自己認(rèn)為的高價(jià)值選行為。

Policy Gradients:不通過(guò)分析獎(jiǎng)勵(lì)值, 直接輸出行為的方法。

Policy Gradients 直接輸出動(dòng)作的最大好處就是, 它能在一個(gè)連續(xù)區(qū)間內(nèi)挑選動(dòng)作, 而基于值的, 比如 Q-learning, 它如果在無(wú)窮多的動(dòng)作中計(jì)算價(jià)值, 從而選擇行為, , 它可吃不消.

(3)更新:

(4)REINFORCE算法公式:

推到步驟的博客:https://blog.csdn.net/sysstc/article/details/77189703

5.Actor-critic

(1)由來(lái):

結(jié)合了 Policy Gradient (Actor) Function Approximation (Critic) 的方法. Actor 基于概率選行為, Critic 基于 Actor 的行為評(píng)判行為的得分, Actor 根據(jù) Critic 的評(píng)分修改選行為的概率.

(2)特點(diǎn):

Policy Gradients + Q-learning:既可以在連續(xù)動(dòng)作中取合適的動(dòng)作,又可以進(jìn)行單步更新。

(3)與Policy Gradients的區(qū)別:

Policy gradient是回合后進(jìn)行獎(jiǎng)懲計(jì)算,前期沒(méi)有值函數(shù),需要后向推算;

Actor-critic多了一個(gè)critic方法,可以用來(lái)每一步進(jìn)行一個(gè)好壞判斷;

(4)更新

Actor Critic 方法的劣勢(shì): 取決于Critic的價(jià)值判斷, 但是 Critic 難收斂, 再加上Actor 的更新, 就更難收斂. 為了解決收斂問(wèn)題, Google Deepmind 提出Actor Critic 升級(jí)版 Deep Deterministic Policy Gradient. 后者融合了 DQN 的優(yōu)勢(shì), 解決了收斂難的問(wèn)題.

(5)代碼實(shí)現(xiàn)框架:

五、強(qiáng)化學(xué)習(xí)應(yīng)用:

(1)各領(lǐng)域應(yīng)用:

(2)對(duì)話

TaskBot-阿里小蜜的任務(wù)型問(wèn)答技術(shù):

?

State. 我們主要考慮了 intent network 出來(lái)的 user question embeddings,當(dāng)前抽 取的 slot 狀態(tài),和歷史的 slot 信息,之后接入一個(gè)全連接的神經(jīng)網(wǎng)絡(luò),最后連softmax 到各個(gè) actions

Action. 在訂機(jī)票場(chǎng)景,action 空間是離散的,主要包括對(duì)各個(gè) slot 的反問(wèn)和 Order(下單): 反問(wèn)時(shí)間,反問(wèn)出發(fā)地,反問(wèn)目的地,和 Order。這里的 action 空間可以擴(kuò)展,加入一些新的信息比方詢問(wèn)說(shuō)多少個(gè)人同行,用戶偏好等。

對(duì)比了不同的 DRL 配置下的效果。在測(cè)試的時(shí)候發(fā)現(xiàn),如果用戶退出會(huì)話 (Quit) 給一個(gè)比較大的懲罰-1,模型很難學(xué)好。這個(gè)主要原因 是,用戶退出的原因比較多樣化,有些不是因?yàn)橄到y(tǒng)回復(fù)的不好而退出的,如 果這個(gè)時(shí)候給比較大的懲罰,會(huì)對(duì)正確的 actions 有影響。

(3)淘寶電商搜索:

用戶搜索商品是一個(gè)連續(xù)的過(guò)程。這一連續(xù)過(guò)程的不同階段之間不是孤立的,而是有著緊密的聯(lián)系。換句話說(shuō),用戶最終選擇購(gòu)買 或不夠買商品,不是由某一次排序所決定,而是一連串搜索排序的結(jié)果。

搜索引擎(智能體)、用戶(環(huán)境)、用戶行為(reward

當(dāng)狀態(tài)空間S和動(dòng)作空間A確定好之后(動(dòng)作空間即Agent能夠選擇排序策略的 空間),狀態(tài)轉(zhuǎn)移函數(shù)T 也隨即確定;

另一個(gè)重要的步驟是把我們 要達(dá)到的目標(biāo)(:提高點(diǎn)擊率、提高GMV)轉(zhuǎn)化為具體的獎(jiǎng)賞函數(shù)R

(4)FlappyBird:

(5)組合優(yōu)化問(wèn)題(TSP):

六、總結(jié):

1.如何設(shè)計(jì)算法:

Step 1:將實(shí)際問(wèn)題建模成馬爾可夫決策過(guò)程,抽象出五元組,? 其中reward與實(shí)際目標(biāo)相關(guān)聯(lián)

Step 2:根據(jù)動(dòng)作是否連續(xù)選擇對(duì)應(yīng)的算法

? 動(dòng)作離散:DQN

? 動(dòng)作連續(xù):Policy GradientsActor-CriticDDPG

Step 3:根據(jù)算法寫(xiě)代碼

?

參考資料:

1、莫煩強(qiáng)化學(xué)習(xí)系列教程

https://morvanzhou.github.io/tutorials/machine-learning/reinforcement-learning/

2、DQN系列教程

https://www.zhihu.com/collection/124320144

3Policy gradients推導(dǎo):http://karpathy.github.io/2016/05/31/rl/

4、2017ICLR論文:

NEURAL COMBINATORIAL OPTIMIZATION WITH REINFORCEMENT LEARNING

5suttonReinforcement Learning:An Introduction

https://zhuanlan.zhihu.com/p/35182998

6、Exercises and Solutions to accompany Sutton‘s Book and David Silver’s course

https://github.com/dennybritz/reinforcement-learning

7、Andrew Ng 機(jī)器學(xué)習(xí)視頻16-20

8David Silver視頻

9、Reinforcement Learning Beyond Games:To Make a Difference in Alibaba

總結(jié)

以上是生活随笔為你收集整理的强化学习入门总结的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。