色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

強化學習——老虎機問題是表格型解決方案工具的一種

zhKF_jqr_AI ? 來源:未知 ? 作者:李倩 ? 2018-06-25 14:46 ? 次閱讀

無論有沒有去過賭場,相信大多數人都不會對老虎機感到陌生。作為賭場里最常見的娛樂設備,老虎機不僅在現實中廣受人們歡迎,它也頻繁出現在電視電影乃至動畫片中,連一些常見的APP里都有它的身影。

往機器里投入硬幣后,玩家需要拉下拉把轉動玻璃框中的圖案,如果三個圖案一致,玩家能獲得所有累積獎金;如果不一致,投入的硬幣就會被吞入累積獎金池。這個問題看似簡單,但很多人也許都忽視了,其實它和圍棋、游戲一樣,也是個強化學習問題。

首先,我們要明確一點——老虎機問題是表格型解決方案工具的一種。之所以這么說,是因為我們可以把所有可能的狀態放進一個表格中,然后讓表格告訴我們需要了解的問題狀態,繼而為解決問題找出切實的解決方案。

k-armed Bandit Problem

單臂老虎機:只有一根側面拉桿

假設我們有一臺K臂老虎機,每根拉桿都能提供固定的一定數額的金錢,一次只能拉下一根拉桿,但我們不知道它們的具體回報是多少。在這個情景中,k根拉桿可以被視為k種不同的動作(action),拉下拉桿的總次數T是我們的總timestep。整個任務的目標是實現收益的最大化。

設在第t次拉下拉桿時,我們采取的動作是At,當時獲得的回報是Rt。那么對于任意動作a,它的動作值(value)q?(a)是:

這個等式表示的是無論何時,如果我們選擇動作a,我們獲得的實際回報就應該等于動作a的預期回報。

把上面這個句子再讀三四遍,你覺得它行得通嗎?如果我們事先已經知道拉下這個拉桿的最大收益是多少,那出于貪婪的目的,我們肯定每次都會選最好的動作,然后使最終回報最大化。但在強化學習問題中,貪婪算法并不一定等同于最優策略,這一步的貪婪可能會對下一步產生負面影響。

雖然很困難,但我們真的很想實現q?(a),所以對于timestep t,設Qt(a)是q?(a)的近似值:

那么我們又該怎么獲得Qt(a)?

注:上文中的回報(reward)和動作值(value)不是同一個概念。回報指的是執行動作后的當場回報,動作值是一個長期的回報。如果你吸毒了,一小時內你很high,回報很高,但長期來看,你獲得的動作值就很可怕了。需要注意的是,因為賭博機只需要一個動作,所以這里的q?(a)不是未來回報之和,只是期望回報,它和其他地方的q?(a)也不一樣(雖然有濫用符號之嫌,但還是請多包涵啦)。

動作值方法

函數Qπ(x, a)表示從狀態x出發,執行動作a后再使用策略π帶來的累計獎賞,稱為“狀態-動作值函數”(state-action value function)。——周志華《機器學習

首先,我們需要估計動作值,再據此決定要采取的行動。

估算動作值

求解q?(a)近似值的一種簡單方法是使用樣本平均值:

上述等式看起來好像有什么說法,但它其實很簡單——選擇動作a時,我們獲得的平均回報是多少。這個均值可以被視為q?(a)的近似值,因為換幾個符號,我們就能發現這就是強大數定律(SLLN)的表達式。

換句話說,它意味著Qt(a)必須收斂于q?(a):

比起概率收斂,這種收斂更強大,但它其實也沒法保證Qt(a)一定能收斂。

動作選擇規則:貪婪

“貪婪者總是一貧如洗。”當面對巨大誘惑時,一些人會因為貪婪越過自己的底線,去吸毒,去犯罪,但他們在獲得短暫快感的同時也失去了更多東西。強化學習中同樣存在類似的問題,如果它是貪婪的,它會找出迄今為止最大的動作值:

并依據這個動作值去選擇每一步動作。這樣做的后果是智能體從頭到尾只會選擇同一套動作,而從不去嘗試其他動作,在很多情況下,這樣的策略并不是最優策略。

動作選擇規則:?-Greedy

那么我們該怎么糾正它的貪婪?之前我們在《強化學習——蒙特卡洛方法介紹》一文中已經介紹過ε-greedy:對于任何時刻t的執行“探索”小概率ε<1,我們會有ε的概率會進行exploration,有1-ε的概率會進行exploitation。這可以簡單理解成拋硬幣,除了正面和反面,它還有一個極小的立起來的概率。

雖然當智能體“頭腦發熱”時,它還是會義無反顧地貪婪,但相比貪婪策略,?-Greedy隨機選擇策略(不貪婪)的概率是ε/|A(s)|。

癥結:非平穩的動作值

導致這種現象的主要原因是動作值會隨時間推移發生變化,即之前我們研究的時靜態地拉桿,而不是隨機的、動態的拉桿。以動作值為例,比起我們之前假設的q?(a),它更應該被表示成q?(a, t)。

依據之前的動作值估計,我們有:

它也可以被寫成:

看起來SGD可以在這里發揮一些作用。如果它是平穩的,那q?(a)收斂的概率就是100%;如果它不平穩,我們一般不會希望Rn=Rn-1,因為當前回報會影響當前的動作值。

這里我們把權重1/n替換成α(α∈(0,1]):

這是一個指數平均值,它在幾何上衰減之前回報的權重。設函數αn(a)是第n個timestep,也就是第n次拉下拉桿時某個特定獎勵的權重。因為老虎機問題只需考慮動作a,所以這個函數也可以簡化成α(a)。

為了保證上式能收斂,我們還需要一些其他條件。

條件一

上式表示對于任何初始值Q1∈?,它都滿足q?(a)∈?。這個條件要求保證timestep足夠大,以最終克服任何初始條件或隨機波動

條件二

這個式子表示這些timestep將“足夠小以確保能收斂到一個小值”。簡而言之,第二個條件保證最終timestep會變小,以保證收斂。

既然如此,我們之前為什么要設αn(a)=α∈(0,1]呢?它不是一個常數嗎?這樣的閾值會不會影響收斂?

這些猜想都是正確的,但(0,1]這個閾值也有它存在的價值。我們在之前的Qn+1=Qn+αn(Rn+Qn)上繼續計算,最后可以獲得一項α(1-α)n-iRi,因為α小于1,所以給予R的權重隨著介入獎勵次數的增加而減少。

因為最佳動作值時非平穩的,所以我們不想收斂到一個特定的價值。

動作選擇規則:樂觀的初始值

到目前為止,我們必須非常隨意地設定Q1(a)的初始值,它本質上是一組用于初始化的超參數。這里有個小訣竅,我們可以設初始值Q1(a)=C?a,其中C>q?(a)?a。

這樣之后,因為Qn(a)比估計值偏高,這時智能體會積極探索其他動作,當它越來越接近q?(a)時,智能體就開始貪婪了。換句話說,假設我們設當前拉桿的樂觀回報是3,但智能體嘗試一次后,發現回報只有1,低于預期值,于是它會把其他拉桿全部嘗試一遍。雖然前期效率很低,但到后期,智能體已經掌握哪些拉桿會產生高值,效果就接近“貪婪”了。

這種方法時可行的,在某種程度上,如果時間充裕,這個過程也可以被看作是模擬退火。但從整體來看,樂觀初始值前期的大量“exploration”是不必要的,它對于非平穩問題來說不是最好的答案。

動作選擇規則:置信上限選擇

在機器學習系統中,Bias與Variance往往不可兼得:如果要降低模型的Bias,就一定程度上會提高模型的Variance;如果要降低Variance,Bias就會不可避免地提高。針對兩者間的trade-off,下面的式子是一個很好的總結:

其中,

R(f)是假設f的(理論上)的風險;

R(f< *)是在假設集H中,假設f的最小風險;

M是假設集|H|的大小;

N是其中的樣本數;

δ是一個常數(如果非要知道這個常數是什么,只能說它是我們選擇一個差的假設的概率)。

這里有兩個重點:

樣本數量非常少,我們的邊界非常松散。我們不知道目前的假設是否是最好的假設。

我們的假設越大,PAC(近似正確)學習的約束就越松散。

置信上限(UCB)是一個非常強大的算法,它可以用類似Bias-Variance權衡的方法來解決不同的問題。在老虎機問題中,我們可以把timestep t當成假設集大小M,因為隨著t逐漸增加,an也會逐漸增加,相應的At就很難選擇。

每選一次a,不確定項就會減少,分母Nt(a)增加;另一方面,每一次選擇了a以外的行為,t會增加但Nt(a)不會改變,不確定評估值會增加。

梯度老虎機算法

截至目前,我們一直在努力估計q?(a),但如果說這個問題還有除了行動值以外的解決方法呢?比如我們該如何學習一個動作的偏好?

設動作偏好為Ht(a),它和回報無關,只是一個動作相對于另一個動作的重要性。那么At應該符合gibbs分布(也就是機器學習的softmax分布):

對于這個式子,我們該怎么基于梯度計算最大似然估計?首先,我們對Ht(a)做梯度上升,因為它是我們的變量。我們想最大化E(Rt):

Ht(a)的更新規則如下所示:

gibbs分布分解:

這只是整個梯度的一個偏導數。那么b≠a的動作呢?下面是省略計算過程的結果:

由此可得:

因為:

相應的,這個等式也是成立的:

由上述等式可得:

因為q?(a,t)被包含在動作a的預期值內,它也可以被寫成Rt。那等式里的Xt是什么?坦率地說,你想它是什么它就是什么,嚴謹起見,我們可以設Xt是Rt的平均值。

計算梯度后獲得新的更新規則:

其中a是t時采取的動作。由于找到a的期望值很困難,我們可以用隨機值來更新:

選擇動作的簡單方法是計算argmaxaπt(a),問題就解決了。

備注

下面是上述算法的一個比較圖:

盡管簡單的方法表現不太好,但對很多強化學習問題來說,它們也稱得上是最先進的算法了。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 算法
    +關注

    關注

    23

    文章

    4629

    瀏覽量

    93188
  • 強化學習
    +關注

    關注

    4

    文章

    268

    瀏覽量

    11281

原文標題:強化學習——多臂老虎機問題

文章出處:【微信號:jqr_AI,微信公眾號:論智】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    Facebook推出ReAgent AI強化學習工具

    Facebook近日推出ReAgent強化學習(reinforcement learning)工具包,首次通過收集離線反饋(offline feedback)來實現策略評估(policy evaluation)。
    發表于 10-19 09:38 ?1598次閱讀

    模擬老虎機程序分享

    自己做了個模擬老虎機,還有很多不足,請各位高手點評
    發表于 01-13 22:29

    反向強化學習的思路

    強化學習的另一種策略(二)
    發表于 04-03 12:10

    深度強化學習實戰

    :深度學習DeepLearning實戰時間地點:1 月 15日— 1 月18 日二:深度強化學習核心技術實戰時間地點: 1 月 27 日— 1 月30 日(第天報到 授課三天;提前
    發表于 01-10 13:42

    將深度學習強化學習相結合的深度強化學習DRL

    深度強化學習DRL自提出以來, 已在理論和應用方面均取得了顯著的成果。尤其是谷歌DeepMind團隊基于深度強化學習DRL研發的AlphaGo,將深度強化學習DRL成推上新的熱點和高度,成為人工智能歷史上
    發表于 06-29 18:36 ?2.8w次閱讀

    人工智能機器學習強化學習

    強化學習是智能系統從環境到行為映射的學習,以使獎勵信號(強化信號)函數值最大,強化學習不同于連接主義學習中的監督
    發表于 05-30 06:53 ?1429次閱讀

    統計假設測試、多臂老虎機方法,揭示了多臂老虎機在實踐中的優勢

    在A/B測試的語境下,每臺老虎機代表試驗中的個實驗組,每次拉動搖桿代表個實驗組的次曝光,累計回報代表累計轉化。多臂老虎機問題有很多不同
    的頭像 發表于 08-17 09:14 ?7618次閱讀

    深度強化學習到底是什么?它的工作原理是怎么樣的

    深度學習DL是機器學習一種基于對數據進行表征學習的方法。深度學習DL有監督和非監督之分,都已經得到廣泛的研究和應用。
    的頭像 發表于 06-13 11:39 ?6115次閱讀

    強化學習在智能對話上的應用介紹

    本文主要介紹深度強化學習在任務對話上的應用,兩者的結合點主要是將深度強化學習應用于任務對話的策略學習上來源:騰訊技術工程微信號
    的頭像 發表于 12-10 19:02 ?1070次閱讀

    一種新型的多智能體深度強化學習算法

    一種新型的多智能體深度強化學習算法
    發表于 06-23 10:42 ?36次下載

    MindSpore 首發:隱私保護的 Bandit 算法,實現電影推薦

    老虎機(Bandit)問題是強化學習類重要的問題,由于它定義簡潔且有大量的理論分析,因此被廣泛應用于新聞推薦,醫學試驗等實際場景...
    發表于 01-25 18:07 ?0次下載
    MindSpore 首發:隱私保護的 Bandit 算法,實現電影推薦

    強化學習的基礎知識和6基本算法解釋

    定標記訓練數據的情況下獲得正確的輸出 無監督學習(UL):關注在沒有預先存在的標簽的情況下發現數據中的模式 強化學習(RL) : 關注智能體在環境中如何采取行動以最大化累積獎勵 通俗地說,強化學習類似于嬰兒
    的頭像 發表于 12-20 14:00 ?1136次閱讀

    強化學習與智能駕駛決策規劃

    套泛化能力強的決策規劃機制是智能駕駛目前面臨的難點之強化學習一種從經驗中總結的學習方式,并從長遠的角度出發,尋找解決問題的最優
    的頭像 發表于 02-08 14:05 ?1914次閱讀

    使用Arduino實現老虎機自動化

    電子發燒友網站提供《使用Arduino實現老虎機自動化.zip》資料免費下載
    發表于 07-06 11:47 ?0次下載
    使用Arduino實現<b class='flag-5'>老虎機</b>自動化

    如何使用 PyTorch 進行強化學習

    強化學習(Reinforcement Learning, RL)是一種機器學習方法,它通過與環境的交互來學習如何做出決策,以最大化累積獎勵。PyTorch 是
    的頭像 發表于 11-05 17:34 ?357次閱讀
    主站蜘蛛池模板: chinesevideos原创麻豆 | 久久无码人妻中文国产 | 久久伊人天堂视频网 | 熟妇无码乱子成人精品 | 在线免费观看国产精品 | 四房播播开心色播 | 国产午夜福利片 | 国产精品99久久久精品无码 | 91精品国产色综合久久 | 与邻居换娶妻子2在线观看 瑜伽牲交AV | 网友自拍区视频精品 | 在线 亚洲 日韩 欧洲视频 | 6080伦理久久亚洲精品 | 美女网站免费久久久久久久 | 国产乱妇乱子在线播视频播放网站 | 早乙女由依在线观看 | 亚洲国产中文字幕新在线 | 麻豆国产人妻欲求不满 | 91麻豆精品国产一级 | 最近高清中文字幕无吗免费看 | 快播官方网站 | 日日噜噜噜夜夜爽爽狠狠 | 成人网18免费韩国 | 午夜福利院电影 | 在线 日韩 欧美 国产 社区 | 久在线观看福利视频 | 秋霞影院福利电影 | 男女无遮挡吃奶gift动态图 | 秋霞电影院兔费理论84MB | a亚洲在线观看不卡高清 | 扒开女人下面使劲桶动态图 | 蜜桃人妻无码AV天堂三区 | 相声flash | caoporen超碰在线视频 | 国产色婷亚洲99精品AV在线 | yw193.c国产在线观看 | 四虎永久在线精品免费A | 国产色精品久久人妻99蜜桃麻豆 | 综合精品欧美日韩国产在线 | 久久久久久久久久毛片精品美女 | 亚洲午夜无码久久久久蜜臀av |