丁香五月天婷婷久久婷婷色综合91|国产传媒自偷自拍|久久影院亚洲精品|国产欧美VA天堂国产美女自慰视屏|免费黄色av网站|婷婷丁香五月激情四射|日韩AV一区二区中文字幕在线观看|亚洲欧美日本性爱|日日噜噜噜夜夜噜噜噜|中文Av日韩一区二区

您正在使用IE低版瀏覽器,為了您的雷峰網(wǎng)賬號(hào)安全和更好的產(chǎn)品體驗(yàn),強(qiáng)烈建議使用更快更安全的瀏覽器
此為臨時(shí)鏈接,僅用于文章預(yù)覽,將在時(shí)失效
人工智能開(kāi)發(fā)者 正文
發(fā)私信給AI研習(xí)社
發(fā)送

0

從概念到應(yīng)用,全面了解強(qiáng)化學(xué)習(xí)

本文作者: AI研習(xí)社 2017-07-21 15:48
導(dǎo)語(yǔ):強(qiáng)化學(xué)習(xí)可應(yīng)用范圍非常廣,值得了解。

雷鋒網(wǎng)按:本文原作者楊熹,本文原載于個(gè)人博客

雖然是周末,也保持充電,今天來(lái)看看強(qiáng)化學(xué)習(xí),不過(guò)不是要用它來(lái)玩游戲,而是覺(jué)得它在制造業(yè),庫(kù)存,電商,廣告,推薦,金融,醫(yī)療等與我們生活息息相關(guān)的領(lǐng)域也有很好的應(yīng)用,當(dāng)然要了解一下了。

本文結(jié)構(gòu):

  1. 定義

  2. 和監(jiān)督式學(xué)習(xí), 非監(jiān)督式學(xué)習(xí)的區(qū)別

  3. 主要算法和類別

  4. 應(yīng)用舉例

1. 定義

強(qiáng)化學(xué)習(xí)是機(jī)器學(xué)習(xí)的一個(gè)重要分支,是多學(xué)科多領(lǐng)域交叉的一個(gè)產(chǎn)物,它的本質(zhì)是解決 decision making 問(wèn)題,即自動(dòng)進(jìn)行決策,并且可以做連續(xù)決策。

它主要包含四個(gè)元素,agent,環(huán)境狀態(tài),行動(dòng),獎(jiǎng)勵(lì),強(qiáng)化學(xué)習(xí)的目標(biāo)就是獲得最多的累計(jì)獎(jiǎng)勵(lì)。

讓我們以小孩學(xué)習(xí)走路來(lái)做個(gè)形象的例子:

小孩想要走路,但在這之前,他需要先站起來(lái),站起來(lái)之后還要保持平衡,接下來(lái)還要先邁出一條腿,是左腿還是右腿,邁出一步后還要邁出下一步。

小孩就是 agent,他試圖通過(guò)采取行動(dòng)(即行走)來(lái)操縱環(huán)境(行走的表面),并且從一個(gè)狀態(tài)轉(zhuǎn)變到另一個(gè)狀態(tài)(即他走的每一步),當(dāng)他完成任務(wù)的子任務(wù)(即走了幾步)時(shí),孩子得到獎(jiǎng)勵(lì)(給巧克力吃),并且當(dāng)他不能走路時(shí),就不會(huì)給巧克力。

從概念到應(yīng)用,全面了解強(qiáng)化學(xué)習(xí)

2. 和監(jiān)督式學(xué)習(xí), 非監(jiān)督式學(xué)習(xí)的區(qū)別

在機(jī)器學(xué)習(xí)中,我們比較熟知的是監(jiān)督式學(xué)習(xí),非監(jiān)督學(xué)習(xí),此外還有一個(gè)大類就是強(qiáng)化學(xué)習(xí):

從概念到應(yīng)用,全面了解強(qiáng)化學(xué)習(xí)

強(qiáng)化學(xué)習(xí)和監(jiān)督式學(xué)習(xí)的區(qū)別:

監(jiān)督式學(xué)習(xí)就好比你在學(xué)習(xí)的時(shí)候,有一個(gè)導(dǎo)師在旁邊指點(diǎn),他知道怎么是對(duì)的怎么是錯(cuò)的,但在很多實(shí)際問(wèn)題中,例如 chess,Go,這種有成千上萬(wàn)種組合方式的情況,不可能有一個(gè)導(dǎo)師知道所有可能的結(jié)果。

而這時(shí),強(qiáng)化學(xué)習(xí)會(huì)在沒(méi)有任何標(biāo)簽的情況下,通過(guò)先嘗試做出一些行為得到一個(gè)結(jié)果,通過(guò)這個(gè)結(jié)果是對(duì)還是錯(cuò)的反饋,調(diào)整之前的行為,就這樣不斷的調(diào)整,算法能夠?qū)W習(xí)到在什么樣的情況下選擇什么樣的行為可以得到最好的結(jié)果。

就好比你有一只還沒(méi)有訓(xùn)練好的小狗,每當(dāng)它把屋子弄亂后,就減少美味食物的數(shù)量(懲罰),每次表現(xiàn)不錯(cuò)時(shí),就加倍美味食物的數(shù)量(獎(jiǎng)勵(lì)),那么小狗最終會(huì)學(xué)到一個(gè)知識(shí),就是把客廳弄亂是不好的行為。

兩種學(xué)習(xí)方式都會(huì)學(xué)習(xí)出輸入到輸出的一個(gè)映射,監(jiān)督式學(xué)習(xí)出的是之間的關(guān)系,可以告訴算法什么樣的輸入對(duì)應(yīng)著什么樣的輸出,強(qiáng)化學(xué)習(xí)出的是給機(jī)器的反饋 reward function,即用來(lái)判斷這個(gè)行為是好是壞。

另外強(qiáng)化學(xué)習(xí)的結(jié)果反饋有延時(shí),有時(shí)候可能需要走了很多步以后才知道以前的某一步的選擇是好還是壞,而監(jiān)督學(xué)習(xí)做了比較壞的選擇會(huì)立刻反饋給算法。

而且強(qiáng)化學(xué)習(xí)面對(duì)的輸入總是在變化,每當(dāng)算法做出一個(gè)行為,它影響下一次決策的輸入,而監(jiān)督學(xué)習(xí)的輸入是獨(dú)立同分布的。

通過(guò)強(qiáng)化學(xué)習(xí),一個(gè) agent 可以在探索和開(kāi)發(fā)(exploration and exploitation)之間做權(quán)衡,并且選擇一個(gè)最大的回報(bào)。
exploration 會(huì)嘗試很多不同的事情,看它們是否比以前嘗試過(guò)的更好。
exploitation 會(huì)嘗試過(guò)去經(jīng)驗(yàn)中最有效的行為。

一般的監(jiān)督學(xué)習(xí)算法不考慮這種平衡,就只是是 exploitative。

強(qiáng)化學(xué)習(xí)和非監(jiān)督式學(xué)習(xí)的區(qū)別:

非監(jiān)督式不是學(xué)習(xí)輸入到輸出的映射,而是模式。例如在向用戶推薦新聞文章的任務(wù)中,非監(jiān)督式會(huì)找到用戶先前已經(jīng)閱讀過(guò)類似的文章并向他們推薦其一,而強(qiáng)化學(xué)習(xí)將通過(guò)向用戶先推薦少量的新聞,并不斷獲得來(lái)自用戶的反饋,最后構(gòu)建用戶可能會(huì)喜歡的文章的 “知識(shí)圖”。

3. 主要算法和分類

從強(qiáng)化學(xué)習(xí)的幾個(gè)元素的角度劃分的話,方法主要有下面幾類:

  • Policy based, 關(guān)注點(diǎn)是找到最優(yōu)策略。

  • Value based, 關(guān)注點(diǎn)是找到最優(yōu)獎(jiǎng)勵(lì)總和。

  • Action based, 關(guān)注點(diǎn)是每一步的最優(yōu)行動(dòng)。

我們可以用一個(gè)最熟知的旅行商例子來(lái)看,

我們要從 A 走到 F,每?jī)牲c(diǎn)之間表示這條路的成本,我們要選擇路徑讓成本越低越好:

從概念到應(yīng)用,全面了解強(qiáng)化學(xué)習(xí)

那么幾大元素分別是:

  • states ,就是節(jié)點(diǎn) {A, B, C, D, E, F}

  • action ,就是從一點(diǎn)走到下一點(diǎn) {A -> B, C -> D, etc}

  • reward function ,就是邊上的 cost

  • policy,就是完成任務(wù)的整條路徑 {A -> C -> F}

有一種走法是這樣的,在 A 時(shí),可以選的 (B, C, D, E),發(fā)現(xiàn) D 最優(yōu),就走到 D,此時(shí),可以選的   (B, C, F),發(fā)現(xiàn) F 最優(yōu),就走到 F,此時(shí)完成任務(wù)。
這個(gè)算法就是強(qiáng)化學(xué)習(xí)的一種,叫做 epsilon greedy,是一種 Policy based 的方法,當(dāng)然了這個(gè)路徑并不是最優(yōu)的走法。

此外還可以從不同角度使分類更細(xì)一些:

如下圖所示的四種分類方式,分別對(duì)應(yīng)著相應(yīng)的主要算法:

從概念到應(yīng)用,全面了解強(qiáng)化學(xué)習(xí)

  • Model-free:不嘗試去理解環(huán)境, 環(huán)境給什么就是什么,一步一步等待真實(shí)世界的反饋, 再根據(jù)反饋采取下一步行動(dòng)。

  • Model-based:先理解真實(shí)世界是怎樣的, 并建立一個(gè)模型來(lái)模擬現(xiàn)實(shí)世界的反饋,通過(guò)想象來(lái)預(yù)判斷接下來(lái)將要發(fā)生的所有情況,然后選擇這些想象情況中最好的那種,并依據(jù)這種情況來(lái)采取下一步的策略。它比 Model-free 多出了一個(gè)虛擬環(huán)境,還有想象力。

  • Policy based:通過(guò)感官分析所處的環(huán)境, 直接輸出下一步要采取的各種動(dòng)作的概率, 然后根據(jù)概率采取行動(dòng)。

  • Value based:輸出的是所有動(dòng)作的價(jià)值, 根據(jù)最高價(jià)值來(lái)選動(dòng)作,這類方法不能選取連續(xù)的動(dòng)作。

  • Monte-carlo update:游戲開(kāi)始后, 要等待游戲結(jié)束, 然后再總結(jié)這一回合中的所有轉(zhuǎn)折點(diǎn), 再更新行為準(zhǔn)則。

  • Temporal-difference update:在游戲進(jìn)行中每一步都在更新, 不用等待游戲的結(jié)束, 這樣就能邊玩邊學(xué)習(xí)了。

  • On-policy:必須本人在場(chǎng), 并且一定是本人邊玩邊學(xué)習(xí)。

  • Off-policy:可以選擇自己玩, 也可以選擇看著別人玩, 通過(guò)看別人玩來(lái)學(xué)習(xí)別人的行為準(zhǔn)則。

主要算法有下面幾種,今天先只是簡(jiǎn)述:

1. Sarsa

從概念到應(yīng)用,全面了解強(qiáng)化學(xué)習(xí)

Q 為動(dòng)作效用函數(shù)(action-utility function),用于評(píng)價(jià)在特定狀態(tài)下采取某個(gè)動(dòng)作的優(yōu)劣,可以將之理解為智能體(Agent)的大腦。

SARSA 利用馬爾科夫性質(zhì),只利用了下一步信息, 讓系統(tǒng)按照策略指引進(jìn)行探索,在探索每一步都進(jìn)行狀態(tài)價(jià)值的更新,更新公式如下所示:

從概念到應(yīng)用,全面了解強(qiáng)化學(xué)習(xí)

s 為當(dāng)前狀態(tài),a 是當(dāng)前采取的動(dòng)作,s’ 為下一步狀態(tài),a’ 是下一個(gè)狀態(tài)采取的動(dòng)作,r 是系統(tǒng)獲得的獎(jiǎng)勵(lì), α 是學(xué)習(xí)率, γ 是衰減因子。

2. Q learning

從概念到應(yīng)用,全面了解強(qiáng)化學(xué)習(xí)

從概念到應(yīng)用,全面了解強(qiáng)化學(xué)習(xí)

Q Learning 的算法框架和 SARSA 類似, 也是讓系統(tǒng)按照策略指引進(jìn)行探索,在探索每一步都進(jìn)行狀態(tài)價(jià)值的更新。關(guān)鍵在于 Q Learning 和 SARSA 的更新公式不一樣,Q Learning 的更新公式如下:

從概念到應(yīng)用,全面了解強(qiáng)化學(xué)習(xí)

3. Policy Gradients

系統(tǒng)會(huì)從一個(gè)固定或者隨機(jī)起始狀態(tài)出發(fā),策略梯度讓系統(tǒng)探索環(huán)境,生成一個(gè)從起始狀態(tài)到終止?fàn)顟B(tài)的狀態(tài) - 動(dòng)作 - 獎(jiǎng)勵(lì)序列,s1,a1,r1,.....,sT,aT,rT,在第 t 時(shí)刻,我們讓 gt=rt+γrt+1+... 等于 q(st,a) ,從而求解策略梯度優(yōu)化問(wèn)題。

4. Actor-Critic

從概念到應(yīng)用,全面了解強(qiáng)化學(xué)習(xí)

算法分為兩個(gè)部分:Actor 和 Critic。Actor 更新策略, Critic 更新價(jià)值。Critic 就可以用之前介紹的 SARSA 或者 Q Learning 算法。

5. Monte-carlo learning

用當(dāng)前策略探索產(chǎn)生一個(gè)完整的狀態(tài) - 動(dòng)作 - 獎(jiǎng)勵(lì)序列:
s1,a1,r1,....,sk,ak,rk~π

在序列第一次碰到或者每次碰到一個(gè)狀態(tài) s 時(shí),計(jì)算其衰減獎(jiǎng)勵(lì):

從概念到應(yīng)用,全面了解強(qiáng)化學(xué)習(xí)

最后更新?tīng)顟B(tài)價(jià)值:

從概念到應(yīng)用,全面了解強(qiáng)化學(xué)習(xí)

6. Deep-Q-Network

DQN 算法的主要做法是 Experience Replay,將系統(tǒng)探索環(huán)境得到的數(shù)據(jù)儲(chǔ)存起來(lái),然后隨機(jī)采樣樣本更新深度神經(jīng)網(wǎng)絡(luò)的參數(shù)。它也是在每個(gè) action 和 environment state 下達(dá)到最大回報(bào),不同的是加了一些改進(jìn),加入了經(jīng)驗(yàn)回放和決斗網(wǎng)絡(luò)架構(gòu)。

從概念到應(yīng)用,全面了解強(qiáng)化學(xué)習(xí)

從概念到應(yīng)用,全面了解強(qiáng)化學(xué)習(xí)

4. 應(yīng)用舉例

強(qiáng)化學(xué)習(xí)有很多應(yīng)用,除了無(wú)人駕駛,AlphaGo,玩游戲之外,還有下面這些工程中實(shí)用的例子:

1. Manufacturing

例如一家日本公司 Fanuc,工廠機(jī)器人在拿起一個(gè)物體時(shí),會(huì)捕捉這個(gè)過(guò)程的視頻,記住它每次操作的行動(dòng),操作成功還是失敗了,積累經(jīng)驗(yàn),下一次可以更快更準(zhǔn)地采取行動(dòng)。

從概念到應(yīng)用,全面了解強(qiáng)化學(xué)習(xí)

2. Inventory Management

在庫(kù)存管理中,因?yàn)閹?kù)存量大,庫(kù)存需求波動(dòng)較大,庫(kù)存補(bǔ)貨速度緩慢等阻礙使得管理是個(gè)比較難的問(wèn)題,可以通過(guò)建立強(qiáng)化學(xué)習(xí)算法來(lái)減少庫(kù)存周轉(zhuǎn)時(shí)間,提高空間利用率。

3. Dynamic pricing

強(qiáng)化學(xué)習(xí)中的 Q-learning  可以用來(lái)處理動(dòng)態(tài)定價(jià)問(wèn)題。

4. Customer Delivery

制造商在向各個(gè)客戶運(yùn)輸時(shí),想要在滿足客戶的所有需求的同時(shí)降低車隊(duì)總成本。通過(guò) multi-agents 系統(tǒng)和 Q-learning,可以降低時(shí)間,減少車輛數(shù)量。

5. ECommerce Personalization

在電商中,也可以用強(qiáng)化學(xué)習(xí)算法來(lái)學(xué)習(xí)和分析顧客行為,定制產(chǎn)品和服務(wù)以滿足客戶的個(gè)性化需求。

6. Ad Serving

例如算法 LinUCB (屬于強(qiáng)化學(xué)習(xí)算法 bandit 的一種算法),會(huì)嘗試投放更廣范圍的廣告,盡管過(guò)去還沒(méi)有被瀏覽很多,能夠更好地估計(jì)真實(shí)的點(diǎn)擊率。

再如雙 11 推薦場(chǎng)景中,阿里巴巴使用了深度強(qiáng)化學(xué)習(xí)與自適應(yīng)在線學(xué)習(xí),通過(guò)持續(xù)機(jī)器學(xué)習(xí)和模型優(yōu)化建立決策引擎,對(duì)海量用戶行為以及百億級(jí)商品特征進(jìn)行實(shí)時(shí)分析,幫助每一個(gè)用戶迅速發(fā)現(xiàn)寶貝,提高人和商品的配對(duì)效率。還有,利用強(qiáng)化學(xué)習(xí)將手機(jī)用戶點(diǎn)擊率提升了 10-20%。

7. Financial Investment Decisions

例如這家公司 Pit.ai,應(yīng)用強(qiáng)化學(xué)習(xí)來(lái)評(píng)價(jià)交易策略,可以幫助用戶建立交易策略,并幫助他們實(shí)現(xiàn)其投資目標(biāo)。

8. Medical Industry

動(dòng)態(tài)治療方案(DTR)是醫(yī)學(xué)研究的一個(gè)主題,是為了給患者找到有效的治療方法。 例如癌癥這種需要長(zhǎng)期施藥的治療,強(qiáng)化學(xué)習(xí)算法可以將患者的各種臨床指標(biāo)作為輸入 來(lái)制定治療策略。

上面簡(jiǎn)單地介紹了強(qiáng)化學(xué)習(xí)的概念,區(qū)別,主要算法,下面是一些學(xué)習(xí)資源,供參考:

  1. Udacity 課程 1:Machine Learning: Reinforcement Learning,
    課程 2:Reinforcement Learning*

  2. 經(jīng)典教科書(shū):Sutton & Barto Textbook: Reinforcement Learning: An Introduction 被引用 2 萬(wàn)多次 http://people.inf.elte.hu/lorincz/Files/RL_2006/SuttonBook.pdf

  3. UC Berkeley 開(kāi)發(fā)的經(jīng)典的入門課程作業(yè)-編程玩 “吃豆人” 游戲:Berkeley Pac-Man Project (CS188 Intro to AI)

  4. Stanford 開(kāi)發(fā)的入門課程作業(yè)-簡(jiǎn)化版無(wú)人車駕駛:Car Tracking (CS221 AI: Principles and Techniques)
    5.CS 294: Deep Reinforcement Learning, Fall 2015 CS 294 Deep Reinforcement Learning, Fall 2015。

  5. David Silver 強(qiáng)化學(xué)習(xí):http://www0.cs.ucl.ac.uk/staff/d.silver/web/Teaching.html

參考文章:

TensorFlow-11 - 策略網(wǎng)絡(luò):用 Tensorflow 創(chuàng)建一個(gè)基于策略網(wǎng)絡(luò)的 Agent 來(lái)解決 CartPole 問(wèn)題。
http://www.jianshu.com/p/14625de78455

強(qiáng)化學(xué)習(xí)是什么:簡(jiǎn)單圖解了 DQN
http://www.jianshu.com/p/2100cc577a46

https://www.marutitech.com/businesses-reinforcement-learning/
https://www.analyticsvidhya.com/blog/2017/01/introduction-to-reinforcement-learning-implementation/
https://morvanzhou.github.io/tutorials/machine-learning/ML-intro/4-02-RL-methods/
https://www.zhihu.com/question/41775291
http://www.algorithmdog.com/reinforcement-learning-model-free-learning

雷峰網(wǎng)版權(quán)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見(jiàn)轉(zhuǎn)載須知。

從概念到應(yīng)用,全面了解強(qiáng)化學(xué)習(xí)

分享:
相關(guān)文章

編輯

聚焦數(shù)據(jù)科學(xué),連接 AI 開(kāi)發(fā)者。更多精彩內(nèi)容,請(qǐng)?jiān)L問(wèn):yanxishe.com
當(dāng)月熱門文章
最新文章
請(qǐng)?zhí)顚懮暾?qǐng)人資料
姓名
電話
郵箱
微信號(hào)
作品鏈接
個(gè)人簡(jiǎn)介
為了您的賬戶安全,請(qǐng)驗(yàn)證郵箱
您的郵箱還未驗(yàn)證,完成可獲20積分喲!
請(qǐng)驗(yàn)證您的郵箱
立即驗(yàn)證
完善賬號(hào)信息
您的賬號(hào)已經(jīng)綁定,現(xiàn)在您可以設(shè)置密碼以方便用郵箱登錄
立即設(shè)置 以后再說(shuō)