0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

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

電子工程師 ? 來源:未知 ? 作者:李倩 ? 2018-08-21 09:18 ? 次閱讀

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

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

定義

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

主要算法和類別

應(yīng)用舉例

▌1. 定義

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

▌3. 主要算法和分類

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

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

Value based, 關(guān)注點是找到最優(yōu)獎勵總和。

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

我們可以用一個最熟知的旅行商例子來看,

我們要從 A 走到 F,每兩點之間表示這條路的成本,我們要選擇路徑讓成本越低越好:

那么幾大元素分別是:

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

action ,就是從一點走到下一點 {A -> B, C -> D, etc}

reward function ,就是邊上的 cost

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

有一種走法是這樣的,在 A 時,可以選的 (B, C, D, E),發(fā)現(xiàn) D 最優(yōu),就走到 D,此時,可以選的 (B, C, F),發(fā)現(xiàn) F 最優(yōu),就走到 F,此時完成任務(wù)。

這個算法就是強化學(xué)習(xí)的一種,叫做epsilon greedy,是一種Policy based的方法,當(dāng)然了這個路徑并不是最優(yōu)的走法。

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

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

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

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

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

Value based:輸出的是所有動作的價值, 根據(jù)最高價值來選動作,這類方法不能選取連續(xù)的動作。

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

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

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

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

主要算法有下面幾種,這里先只是簡述:

(1). Sarsa

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

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

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

(2). Q learning

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

(3). Policy Gradients

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

(4). Actor-Critic

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

(5). Monte-carlo learning

用當(dāng)前策略探索產(chǎn)生一個完整的狀態(tài)-動作-獎勵序列:

s1,a1,r1,....,sk,ak,rk~π

在序列第一次碰到或者每次碰到一個狀態(tài) s 時,計算其衰減獎勵:

最后更新狀態(tài)價值:

(6). Deep-Q-Network

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

▌4. 應(yīng)用舉例

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

(1). Manufacturing

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

(2). Inventory Management

在庫存管理中,因為庫存量大,庫存需求波動較大,庫存補貨速度緩慢等阻礙使得管理是個比較難的問題,可以通過建立強化學(xué)習(xí)算法來減少庫存周轉(zhuǎn)時間,提高空間利用率。

(3). Dynamic pricing

強化學(xué)習(xí)中的 Q-learning 可以用來處理動態(tài)定價問題。

(4). Customer Delivery

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

(5). ECommerce Personalization

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

(6). Ad Serving

例如算法 LinUCB (屬于強化學(xué)習(xí)算法 bandit 的一種算法),會嘗試投放更廣范圍的廣告,盡管過去還沒有被瀏覽很多,能夠更好地估計真實的點擊

率。

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

(7). Financial Investment Decisions

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

(8). Medical Industry

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

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴

原文標(biāo)題:一文了解強化學(xué)習(xí)

文章出處:【微信號:rgznai100,微信公眾號:rgznai100】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    深度強化學(xué)習(xí)實戰(zhàn)

    一:深度學(xué)習(xí)DeepLearning實戰(zhàn)時間地點:1 月 15日— 1 月18 日二:深度強化學(xué)習(xí)核心技術(shù)實戰(zhàn)時間地點: 1 月 27 日— 1 月30 日(第一天報到 授課三天;提前環(huán)境部署 電腦
    發(fā)表于 01-10 13:42

    深度強化學(xué)習(xí)分析研究

    請訂閱2016年《程序員》 盡管監(jiān)督監(jiān)督學(xué)習(xí)的深度模型已經(jīng)廣泛被技術(shù)社區(qū)所采用,深度
    發(fā)表于 10-09 18:28 ?0次下載
    深度<b class='flag-5'>強化學(xué)習(xí)</b>分析研究

    人工智能機器學(xué)習(xí)強化學(xué)習(xí)

    強化學(xué)習(xí)是智能系統(tǒng)從環(huán)境到行為映射的學(xué)習(xí),以使獎勵信號(強化信號)函數(shù)值最大,強化學(xué)習(xí)不同于連接主義學(xué)習(xí)中的
    發(fā)表于 05-30 06:53 ?1380次閱讀

    關(guān)于深度強化學(xué)習(xí)的概念以及它的工作原理

    深度學(xué)習(xí)DL是機器學(xué)習(xí)中一種基于對數(shù)據(jù)進(jìn)行表征學(xué)習(xí)的方法。深度學(xué)習(xí)DL有監(jiān)督
    發(fā)表于 01-30 09:53 ?5761次閱讀
    關(guān)于深度<b class='flag-5'>強化學(xué)習(xí)</b>的概念以及它的工作原理

    深度強化學(xué)習(xí)你知道是什么嗎

    強化學(xué)習(xí)非常適合實現(xiàn)自主決策,相比之下監(jiān)督學(xué)習(xí)與無監(jiān)督學(xué)習(xí)技術(shù)則無法獨立完成此項工作。
    發(fā)表于 12-10 14:34 ?1229次閱讀

    人工智能之深度強化學(xué)習(xí)DRL的解析

    深度學(xué)習(xí)DL是機器學(xué)習(xí)中一種基于對數(shù)據(jù)進(jìn)行表征學(xué)習(xí)的方法。深度學(xué)習(xí)DL有監(jiān)督
    發(fā)表于 01-24 10:46 ?4994次閱讀

    深度強化學(xué)習(xí)的概念和工作原理的詳細(xì)資料說明

    深度學(xué)習(xí)DL是機器學(xué)習(xí)中一種基于對數(shù)據(jù)進(jìn)行表征學(xué)習(xí)的方法。深度學(xué)習(xí)DL有監(jiān)督
    的頭像 發(fā)表于 05-16 09:20 ?3406次閱讀

    深度強化學(xué)習(xí)到底是什么?它的工作原理是怎么樣的

    深度學(xué)習(xí)DL是機器學(xué)習(xí)中一種基于對數(shù)據(jù)進(jìn)行表征學(xué)習(xí)的方法。深度學(xué)習(xí)DL有監(jiān)督
    的頭像 發(fā)表于 06-13 11:39 ?5941次閱讀

    機器學(xué)習(xí)算法中有監(jiān)督和無監(jiān)督學(xué)習(xí)區(qū)別

    監(jiān)督學(xué)習(xí)的好處之一是,它不需要監(jiān)督學(xué)習(xí)必須經(jīng)歷的費力的數(shù)據(jù)標(biāo)記過程。但是,要權(quán)衡的是,評估其性能的有效性也非常困難。相反,通過將監(jiān)督學(xué)習(xí)算法的輸出與測試數(shù)據(jù)的實際標(biāo)簽進(jìn)行比較,可以很容易地衡量
    的頭像 發(fā)表于 07-07 10:18 ?5649次閱讀

    最基礎(chǔ)的半監(jiān)督學(xué)習(xí)

    導(dǎo)讀 最基礎(chǔ)的半監(jiān)督學(xué)習(xí)的概念,給大家一個感性的認(rèn)識。 半監(jiān)督學(xué)習(xí)(SSL)是一種機器學(xué)習(xí)技術(shù),其中任務(wù)是從一個小的帶標(biāo)簽的數(shù)據(jù)集和相對較大的未帶標(biāo)簽的數(shù)據(jù)中學(xué)習(xí)得到的。SSL的目標(biāo)是
    的頭像 發(fā)表于 11-02 16:08 ?2574次閱讀

    機器學(xué)習(xí)中的無模型強化學(xué)習(xí)算法及研究綜述

    強化學(xué)習(xí)( Reinforcement learning,RL)作為機器學(xué)習(xí)領(lǐng)域中與監(jiān)督學(xué)習(xí)、無監(jiān)督學(xué)習(xí)并列的第三種學(xué)習(xí)范式,通過與環(huán)境進(jìn)行
    發(fā)表于 04-08 11:41 ?11次下載
    機器<b class='flag-5'>學(xué)習(xí)</b>中的無模型<b class='flag-5'>強化學(xué)習(xí)</b>算法及研究綜述

    機器學(xué)習(xí)中的無監(jiān)督學(xué)習(xí)應(yīng)用在哪些領(lǐng)域

    監(jiān)督學(xué)習(xí)|機器學(xué)習(xí)| 集成學(xué)習(xí)|進(jìn)化計算| 監(jiān)督學(xué)習(xí)| 半監(jiān)督學(xué)習(xí)| 自
    發(fā)表于 01-20 10:52 ?4862次閱讀
    機器<b class='flag-5'>學(xué)習(xí)</b>中的無<b class='flag-5'>監(jiān)督學(xué)習(xí)</b>應(yīng)用在哪些領(lǐng)域

    強化學(xué)習(xí)的基礎(chǔ)知識和6種基本算法解釋

    來源:DeepHub IMBA 強化學(xué)習(xí)的基礎(chǔ)知識和概念簡介(無模型、在線學(xué)習(xí)、離線強化學(xué)習(xí)等) 機器學(xué)習(xí)(ML)分為三個分支:監(jiān)督學(xué)習(xí)、無
    的頭像 發(fā)表于 12-20 14:00 ?1062次閱讀

    強化學(xué)習(xí)的基礎(chǔ)知識和6種基本算法解釋

    來源:DeepHubIMBA強化學(xué)習(xí)的基礎(chǔ)知識和概念簡介(無模型、在線學(xué)習(xí)、離線強化學(xué)習(xí)等)機器學(xué)習(xí)(ML)分為三個分支:監(jiān)督學(xué)習(xí)、無
    的頭像 發(fā)表于 01-05 14:54 ?852次閱讀
    <b class='flag-5'>強化學(xué)習(xí)</b>的基礎(chǔ)知識和6種基本算法解釋

    什么是強化學(xué)習(xí)

    強化學(xué)習(xí)是機器學(xué)習(xí)的方式之一,它與監(jiān)督學(xué)習(xí)、無監(jiān)督學(xué)習(xí)并列,是三種機器學(xué)習(xí)訓(xùn)練方法之一。 在圍棋上擊敗世界第一李世石的 AlphaGo、在《
    的頭像 發(fā)表于 10-30 11:36 ?3729次閱讀
    什么是<b class='flag-5'>強化學(xué)習(xí)</b>