本發(fā)明涉及隨機多路選擇學(xué)習(xí)優(yōu)化領(lǐng)域,特別是涉及一種自適應(yīng)的隨機多臂決策問題計算方法及其裝置。
背景技術(shù):
多臂決策問題是強化學(xué)習(xí)中研究探索與利用平衡的經(jīng)典問題。最早應(yīng)用于診治試驗,近年來,關(guān)于多臂決策的應(yīng)用越來越廣泛,可應(yīng)用于推薦系統(tǒng),眾包和智能電網(wǎng)等領(lǐng)域。
隨機多臂決策問題是一種經(jīng)典的多臂決策問題,是眾多新型多臂決策問題的基礎(chǔ)。一個隨機多臂決策問題中包括K個臂,一個臂對應(yīng)一個動作,每個時間步選擇一個動作,每選擇一個動作之后,會獲得一個隨機獎賞,隨機多臂決策問題的目標(biāo)是在最大時間步內(nèi)獲得的累積獎賞越高越好。各個動作的獎賞相互獨立并且服從均值為μ=[μ1,...,μK]的某種分布。μi為動作i的真實值,一個動作的真實值是選擇該動作后期望得到的平均獎賞。
由于隨機多臂決策問題中,動作的真實值是未知的,故通常將一個動作在此刻之前的全部時間步中實際獲得的平均獎賞作為該動作的估計值,然后根據(jù)估計值做出動作選擇。每個時間步具體選擇哪個動作一般有兩種方式:(1)利用,選擇目前為止已知估計值最高的動作;(2)探索,嘗試其它未來獎賞可能更高的動作;而每個時間步進行利用還是探索,則需要考慮兩者之間的平衡問題。
現(xiàn)有的隨機多臂決策問題中,ε貪心、軟最大化和置信上界動作選擇是三類經(jīng)典的方法。ε貪心是在所有動作中均等探索,沒有利用選擇動作后獲得的反饋信息。軟最大化僅基于當(dāng)前已知動作的估計值對各動作的選擇概率進行分級,若某個動作在初期隨機得到一個很低的獎賞,則該動作的選擇概率就會很低,這樣會導(dǎo)致該動作在之后很可能不會被選擇,但該動作可能在后期的獎賞會很高,因此導(dǎo)致最后得到的累積獎賞并不是最好的??梢?,ε貪心和軟最大化的決策效果不夠理想。
而置信上界動作選擇方法充分利用了動作的估計值和被選擇的次數(shù),每次都根據(jù)已有信息直接計算出要選擇的動作,其計算負(fù)擔(dān)相對較大。但是,置信上界動作選擇方法必須在實驗初期輪流選擇所有動作各一次,因此當(dāng)實驗次數(shù)小于等于動作的數(shù)量時,置信上界動作選擇方法將不適用。
因此,如何提供一種決策效果好且適用范圍廣的自適應(yīng)的隨機多臂決策問題計算方法及其裝置是本領(lǐng)域技術(shù)人員目前需要解決的問題。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的是提供一種自適應(yīng)的隨機多臂決策問題計算方法及其裝置,能夠均衡探索和利用的選擇,并保證最終的決策效果,且適用范圍廣泛。
為解決上述技術(shù)問題,本發(fā)明提供了一種自適應(yīng)的隨機多臂決策問題計算方法,包括:
步驟s101:初始化每個動作的估計值和選擇次數(shù);
步驟s102:依據(jù)當(dāng)前各個所述動作的估計值和選擇次數(shù),確定估計值最小的動作的選擇次數(shù)m,得出當(dāng)前時間步的探索概率w/(w+m2);
步驟s103:按照w/(w+m2)的概率進行探索操作,1-w/(w+m2)的概率進行利用操作;其中,w為預(yù)設(shè)算法參數(shù),所述探索操作為從當(dāng)前選擇次數(shù)最少的若干個動作中隨機選取一個動作作為下一時間步的動作,所述利用操作為選擇當(dāng)前估計值最大的動作作為下一時間步的動作;
步驟s104:下一時間步的動作選擇完成后,生成隨機獎賞;
步驟s105:依據(jù)所述隨機獎賞以及所選擇的動作更新各個所述動作的估計值以及選擇次數(shù),返回步驟s102,直至完成預(yù)設(shè)最大時間步的動作后,進入步驟s106;
步驟s106:統(tǒng)計所述預(yù)設(shè)最大時間步內(nèi)得到的隨機獎賞之和,得到累積獎賞。
優(yōu)選地,初始化后的估計值和選擇次數(shù)均為0。
優(yōu)選地,w∈[0.1,1]。
為解決上述技術(shù)問題,本發(fā)明還提供了一種自適應(yīng)的隨機多臂決策問題計算裝置,包括:
初始化模塊,用于初始化每個動作的估計值和選擇次數(shù);
探索概率模塊,用于依據(jù)當(dāng)前各個所述動作的估計值和選擇次數(shù),確定估計值最小的動作的選擇次數(shù)m,得出當(dāng)前時間步的探索概率w/(w+m2);觸發(fā)操作選擇模塊;
所述操作選擇模塊,用于按照w/(w+m2)的概率進行探索操作,1-w/(w+m2)的概率進行利用操作;其中,w為預(yù)設(shè)算法參數(shù),所述探索操作為從當(dāng)前選擇次數(shù)最少的若干個動作中隨機選取一個動作作為下一時間步的動作,所述利用操作為選擇當(dāng)前估計值最大的動作作為下一時間步的動作;下一時間步的動作選擇完成后,觸發(fā)獎賞生成模塊;
所述獎賞生成模塊,用于生成隨機獎賞;
更新模塊,用于依據(jù)所述隨機獎賞以及所選擇的動作更新各個所述動作的估計值以及選擇次數(shù),并觸發(fā)所述次數(shù)選擇模塊,直至完成預(yù)設(shè)最大時間步的動作后,觸發(fā)統(tǒng)計模塊;
所述統(tǒng)計模塊,用于統(tǒng)計所述預(yù)設(shè)最大時間步內(nèi)得到的隨機獎賞之和,得到累積獎賞。
優(yōu)選地,所述初始化模塊具體用于令每個所述動作的估計值和選擇次數(shù)均為0。
本發(fā)明提供了一種自適應(yīng)的隨機多臂決策問題計算方法及其裝置,確定當(dāng)前各個動作中估計值最小的動作的選擇次數(shù)m,然后按照w/(w+m2)的概率進行探索操作,1-w/(w+m2)的概率進行利用操作,選擇動作后,得到隨機獎賞,并據(jù)此更新各個動作的估計值和選擇次數(shù),重復(fù)操作,直至得到最后的累積獎賞。由于在初始時,許多動作未被選擇到,因此不了解這些動作對最后累積獎賞的貢獻有多大,故此時應(yīng)主要進行探索操作,采用探索操作的概率較高;之后隨著選擇的進行,大部分動作或全部動作已經(jīng)被選擇過了,此時各個動作的估計值也都知道了,故此時應(yīng)將選擇的動作收斂至估計值最大的動作上,即動作的選擇操作收斂至利用操作,故進行探索操作的概率應(yīng)逐漸減少。本發(fā)明中w/(w+m2)為當(dāng)前估計值最小的動作的選擇次數(shù),由于估計值最小的動作對累積獎賞的貢獻最少,故應(yīng)盡量避免對其進行選擇,故應(yīng)該增加利用操作的概率,依據(jù)隨機統(tǒng)計規(guī)律可知,在進行大量次數(shù)的選擇后,m的數(shù)值會逐漸增大,選擇概率會逐漸收斂至利用操作上,從而提高最終獲得的累積獎賞,決策效果好,且本發(fā)明不需要在實驗初期輪流選擇所有動作各一次,相比現(xiàn)有的方式,適用范圍更加廣泛。
附圖說明
為了更清楚地說明本發(fā)明實施例中的技術(shù)方案,下面將對現(xiàn)有技術(shù)和實施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明提供的一種自適應(yīng)的隨機多臂決策問題計算方法的過程的流程圖;
圖2為本發(fā)明提供的一種自適應(yīng)的隨機多臂決策問題計算裝置的結(jié)構(gòu)示意圖。
具體實施方式
本發(fā)明的核心是提供一種自適應(yīng)的隨機多臂決策問題計算方法及其裝置,能夠均衡探索和利用的選擇,并保證最終的決策效果,且適用范圍廣泛。
為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
本發(fā)明提供了一種自適應(yīng)的隨機多臂決策問題計算方法,參見圖1所示,圖1為本發(fā)明提供的一種自適應(yīng)的隨機多臂決策問題計算方法的過程的流程圖;該方法包括:
步驟s101:初始化每個動作的估計值和選擇次數(shù);
步驟s102:依據(jù)當(dāng)前各個動作的估計值和選擇次數(shù),確定估計值最小的動作的選擇次數(shù)m,得出當(dāng)前時間步的探索概率w/(w+m2);
步驟s103:按照w/(w+m2)的概率進行探索操作,1-w/(w+m2)的概率進行利用操作;其中,w為預(yù)設(shè)算法參數(shù),探索操作為從當(dāng)前選擇次數(shù)最少的若干個動作中隨機選取一個動作作為下一時間步的動作,利用操作為選擇當(dāng)前估計值最大的動作作為下一時間步的動作;
步驟s104:下一時間步的動作選擇完成后,生成隨機獎賞;
步驟s105:依據(jù)隨機獎賞以及所選擇的動作更新各個動作的估計值以及選擇次數(shù),返回步驟s102,直至完成預(yù)設(shè)最大時間步的動作后,進入步驟s106;
步驟s106:統(tǒng)計預(yù)設(shè)最大時間步內(nèi)得到的隨機獎賞之和,得到累積獎賞。
作為優(yōu)選地,初始化后的估計值和選擇次數(shù)均為0。
可以理解的是,本發(fā)明依據(jù)當(dāng)前估計值最小的動作被選擇的次數(shù)(the Chosen Number of Arm with Minimal Value,CNAMV)來調(diào)整探索和利用的程度,記為CNAMV算法,首先設(shè)置CNAMV算法的關(guān)鍵參數(shù)w,參數(shù)w影響著探索概率衰減的速率。
當(dāng)預(yù)設(shè)算法參數(shù)w的取值較大時,m對探索概率的影響較小;當(dāng)參數(shù)w的取值較小時,m對探索概率的影響則較大。因此,預(yù)設(shè)算法參數(shù)w有減退或者增強m對探索概率影響的作用。不同的環(huán)境中m的實際影響也不同,所以預(yù)設(shè)算法參數(shù)w的取值應(yīng)根據(jù)實際環(huán)境而定。作為優(yōu)選地,w∈[0.1,1]。
每當(dāng)m增加一次,說明估計值最小的動作又被選擇了一次,估計值最小的動作是對整個累積獎賞貢獻最少的動作,應(yīng)該盡量減少該動作被選擇的次數(shù)。在預(yù)設(shè)最大時間步非常大的情況下,依據(jù)隨機選擇的規(guī)律,隨著時間的推移,m會逐漸增加,探索概率降低,當(dāng)前估計值最大的動作的選擇概率增加,從而提高了實際獲得的累積獎賞。
為方便理解,以下為上述步驟的一種具體實現(xiàn)方式:
輸入預(yù)設(shè)的預(yù)設(shè)算法參數(shù)w、動作數(shù)量(即為隨機多臂決策臂的數(shù)量)K、預(yù)設(shè)最大時間步n;
初始化每個動作的估計值和選擇次數(shù),令:
第i個動作的初始估計值:Q0(i)=0
第i個動作的初始選擇次數(shù):N0(i)=0;i∈[1,...,K];
在時間步t內(nèi),估計值最小的動作的選擇次數(shù)mt為:
mt=Nt(argminiQt(i));t≤n
其中,Qt(i)為第i個動作的在時間步t內(nèi)的估計值。
得到t時間步時的探索概率為:
在開區(qū)間(0,1)上產(chǎn)生一個隨機數(shù)x,依據(jù)隨機數(shù)與w/(w+mt2)概率的比較結(jié)果,選擇動作at,關(guān)系式如下:
動作選擇后,獲得隨機獎賞Xat,t;
依據(jù)下列關(guān)系式更新各個動作的估計值以及選擇次數(shù);
Nt(at)=Nt-1(at)+1
其中,預(yù)設(shè)最大時間步即為實驗重復(fù)的次數(shù),重復(fù)一定的實驗次數(shù)是為了有效避免隨機性對實驗結(jié)果的影響。仿真實驗中,可通過重復(fù)1000次實驗來克服任務(wù)和環(huán)境本身的隨機性。當(dāng)然,這里的預(yù)設(shè)最大時間步的設(shè)置本發(fā)明不作具體限定。
本發(fā)明提供了一種自適應(yīng)的隨機多臂決策問題計算方法,確定當(dāng)前各個動作中估計值最小的動作的選擇次數(shù)m,然后按照w/(w+m2)的概率進行探索操作,1-w/(w+m2)的概率進行利用操作,選擇動作后,得到隨機獎賞,并據(jù)此更新各個動作的估計值和選擇次數(shù),重復(fù)操作,直至得到最后的累積獎賞。由于在初始時,許多動作未被選擇到,因此不了解這些動作對最后累積獎賞的貢獻有多大,故此時應(yīng)主要進行探索操作,采用探索操作的概率較高;之后隨著選擇的進行,大部分動作或全部動作已經(jīng)被選擇過了,此時各個動作的估計值也都知道了,故此時應(yīng)將選擇的動作收斂至估計值最大的動作上,即動作的選擇操作收斂至利用操作,故進行探索操作的概率應(yīng)逐漸減少。本發(fā)明中w/(w+m2)為當(dāng)前估計值最小的動作的選擇次數(shù),由于估計值最小的動作對累積獎賞的貢獻最少,故應(yīng)盡量避免對其進行選擇,故應(yīng)該增加利用操作的概率,依據(jù)隨機統(tǒng)計規(guī)律可知,在進行大量次數(shù)的選擇后,m的數(shù)值會逐漸增大,選擇概率會逐漸收斂至利用操作上,從而提高最終獲得的累積獎賞,決策效果好,且本發(fā)明不需要在實驗初期輪流選擇所有動作各一次,相比現(xiàn)有的方式,適用范圍更加廣泛。
本發(fā)明還提供了一種自適應(yīng)的隨機多臂決策問題計算裝置,參見圖2所示,圖2為本發(fā)明提供的一種自適應(yīng)的隨機多臂決策問題計算裝置的結(jié)構(gòu)示意圖。該方法包括:
初始化模塊1,用于初始化每個動作的估計值和選擇次數(shù);
探索概率模塊2,用于依據(jù)當(dāng)前各個動作的估計值和選擇次數(shù),確定估計值最小的動作的選擇次數(shù)m,得出當(dāng)前時間步的探索概率w/(w+m2);觸發(fā)操作選擇模塊3;
操作選擇模塊3,用于按照w/(w+m2)的概率進行探索操作,1-w/(w+m2)的概率進行利用操作;其中,w為預(yù)設(shè)算法參數(shù),探索操作為從當(dāng)前選擇次數(shù)最少的若干個動作中隨機選取一個動作作為下一時間步的動作,利用操作為選擇當(dāng)前估計值最大的動作作為下一時間步的動作;下一時間步的動作選擇完成后,觸發(fā)獎賞生成模塊4;
獎賞生成模塊4,用于生成隨機獎賞;
更新模塊5,用于依據(jù)隨機獎賞以及所選擇的動作更新各個動作的估計值以及選擇次數(shù),并觸發(fā)探索概率模塊2,直至完成預(yù)設(shè)最大時間步的動作后,觸發(fā)統(tǒng)計模塊6;
統(tǒng)計模塊6,用于統(tǒng)計預(yù)設(shè)最大時間步內(nèi)得到的隨機獎賞之和,得到累積獎賞。
作為優(yōu)選地,初始化模塊1具體用于令每個動作的估計值和選擇次數(shù)均為0。
本發(fā)明提供了一種自適應(yīng)的隨機多臂決策問題計算裝置,確定當(dāng)前各個動作中估計值最小的動作的選擇次數(shù)m,然后按照w/(w+m2)的概率進行探索操作,1-w/(w+m2)的概率進行利用操作,選擇動作后,得到隨機獎賞,并據(jù)此更新各個動作的估計值和選擇次數(shù),重復(fù)操作,直至得到最后的累積獎賞。由于在初始時,許多動作未被選擇到,因此不了解這些動作對最后累積獎賞的貢獻有多大,故此時應(yīng)主要進行探索操作,采用探索操作的概率較高;之后隨著選擇的進行,大部分動作或全部動作已經(jīng)被選擇過了,此時各個動作的估計值也都知道了,故此時應(yīng)將選擇的動作收斂至估計值最大的動作上,即動作的選擇操作收斂至利用操作,故進行探索操作的概率應(yīng)逐漸減少。本發(fā)明中w/(w+m2)為當(dāng)前估計值最小的動作的選擇次數(shù),由于估計值最小的動作對累積獎賞的貢獻最少,故應(yīng)盡量避免對其進行選擇,故應(yīng)該增加利用操作的概率,依據(jù)隨機統(tǒng)計規(guī)律可知,在進行大量次數(shù)的選擇后,m的數(shù)值會逐漸增大,選擇概率會逐漸收斂至利用操作上,從而提高最終獲得的累積獎賞,決策效果好,且本發(fā)明不需要在實驗初期輪流選擇所有動作各一次,相比現(xiàn)有的方式,適用范圍更加廣泛。
本說明書中各個實施例采用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似部分互相參見即可。對于實施例公開的裝置而言,由于其與實施例公開的方法相對應(yīng),所以描述的比較簡單,相關(guān)之處參見方法部分說明即可。
還需要說明的是,在本說明書中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。
對所公開的實施例的上述說明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。對這些實施例的多種修改對本領(lǐng)域的專業(yè)技術(shù)人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其他實施例中實現(xiàn)。因此,本發(fā)明將不會被限制于本文所示的這些實施例,而是要符合與本文所公開的原理和新穎特點相一致的最寬的范圍。