版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第9章人類反饋強化學習本章主要內容:1.強化學習原理2.SARSA算法3.Q-Learning算法4.人類反饋強化學習模型與算法
9.1強化學習原理強化學習是智能體以試錯的方式進行學習,通過與環(huán)境交互獲得的獎賞來指導動作,其目標是使智能體獲得最大的獎賞。9.1.1智能體及其特性1.智能體 智能體(IntelligentAgent)是人工智能領域中的一個基本概念,它是指一個能夠自主感知其環(huán)境并采取行動以實現某種目標的系統(tǒng)。智能體可以是軟件程序,也可以是具有智能的物理設備。智能體能夠在沒有人類直接指導的情況下,通過傳感器感知環(huán)境信息,通過執(zhí)行器對環(huán)境進行操作,以完成特定的任務或目標。智能體的定義主要包含以下幾個關鍵要素:
·自主性:智能體能夠獨立運行,根據自身的感知和內部狀態(tài)來決定行動,而不是完全受外部控制。
·感知能力:智能體通過傳感器來獲取環(huán)境的信息,這些信息是智能體做出決策的基礎。
·推理與決策能力:智能體擁有一定的推理能力,能夠根據感知到的信息以及預設的目標,做出合理的決策。
·學習能力:高級的智能體還具備學習能力,能夠從經驗中學習,以改進其未來的行為。
·交流協作能力:智能體可能需要與其他智能體進行交流協作,以實現更復雜的目標。
·適應性:智能體應能夠適應環(huán)境的變化,調整自身行為以達到預定的目標。.基于不同的角度,提出了多種智能體的定義,常見的有以下幾種。 (1)FIPA(FoundationforIntelligentPhysical)是一個致力于智能體技術標準化的組織,它提出的智能體定義是:智能體是駐留于環(huán)境中的實體,它可以解釋從環(huán)境中獲得的反映環(huán)境中所發(fā)生事件的數據,并執(zhí)行對環(huán)境產生影響的行動。在這個定義中,將智能體定義為既可以是硬件(如機器人),也可以是軟件。 (2)Wooldridge等提出智能體弱定義和智能體強定義二種定義:弱定義智能體是指具有自主性、社會性、反應性和能動性等基本特性的智能體。強定義智能體是指不僅具有弱定義中的基本特性,而且具有移動性、通信能力、理性或其它特性的智能體。 (3)Franklin和Graesser將智能體描述為一個處于環(huán)境之中并且作為這個環(huán)境一部分的系統(tǒng),它隨時可以感測環(huán)境并且執(zhí)行相應的動作,逐漸建立自己的活動規(guī)劃以應付未來可能感測到的環(huán)境變化。 (4)Hayes-Roth認為智能體能夠持續(xù)執(zhí)行三項功能;感知環(huán)境中的動態(tài)條件;執(zhí)行動作影響環(huán)境條件;進行推理以解釋感知信息、求解問題、產生推斷和決定動作。2.智能體特性
(1)自治性:智能體能根據外界環(huán)境的變化,而自動地對自己的動作和狀態(tài)進行調整,而不是僅被動地接受外界的刺激,具有自我管理和自我調節(jié)的能力。
(2)反應性:能夠感知環(huán)境,并通過動作改變環(huán)境,具有對外界的刺激作出自反應的能力。
(3)主動性:對于外界環(huán)境的改變,智能體能主動采取活動的能力。
(4)社會性:智能體具有與其它智能體或人進行合作的能力,不同的智能體可根據各自的意圖與其它智能體進行交互,以達到解決問題的目的。交互需要信息交流,信息交流的方式是相互通信。 9.1.2RL模型與工作過程RL模型由智能體、狀態(tài)、動作、獎勵和策略等組成。RL與其他機器學習不同之處是沒有教師信號、也沒有標簽數據,只有獎罰信號;反饋有延時,但不是能立即返回;數據是序列數據,數據與數據之間相關,而不是獨立無關;智能體當前執(zhí)行的動作將影響后面的數據。RL解決的問題是針對一個具體問題得到一個最優(yōu)的策略,使得在該策略下獲得最大的長期回報。智能體與環(huán)境的交互主要包括動作、獎勵和狀態(tài)。
1.智能體與環(huán)境的交互過程 為簡單起見,可將智能體與環(huán)境的交互看作離散的時間序列.具體步驟如下: (1)智能體感知到的初始環(huán)境??0,做一個相應的動作??0, (2)環(huán)境相應地發(fā)生改變到新的狀態(tài)??1,并反饋給智能體一個即時獎罰??1, (3)然后智能體又根據狀態(tài)??1做一個動作??1,環(huán)境相應改變?yōu)??2,并反饋獎罰??2,…,這樣的交互可以一直進行下去:??0,??0,??1,??1,??1,……。其中是第??時刻的即時獎罰,與上一個狀態(tài)、上一個行為、當前狀態(tài)有關.圖9-2描述了智能體與環(huán)境的交互過程。.智能體與環(huán)境的交互過程可以看作一個馬爾可夫決策過程(MarkovDecisionProcess,MDP)。在強化學習中,有兩個進行交互的對象:智能體和環(huán)境。
·智能體:可以感知外界環(huán)境的狀態(tài)(State)和反饋的獎罰(Reward),并進行學習和決策。智能體的決策功能是指根據外界環(huán)境的狀態(tài)來做出不同的動作(Action),而學習功能是指根據外界環(huán)境的獎罰來調整策略。
·環(huán)境:是智能體外部的所有事物,并受智能體動作的影響而改變其狀態(tài),反饋給智能體相應的獎罰。環(huán)境將發(fā)生改變也就是狀態(tài)發(fā)生改變。
·獎罰:當狀態(tài)發(fā)生改變時,環(huán)境將給予一定的獎罰。 智能體通過不斷的嘗試發(fā)現環(huán)境的最大獎罰的動作。動作不僅影響瞬時獎罰,還將影響下一個狀態(tài),并由此影響后續(xù)的獎罰。
2.RL的的四元組 在交互中學習是RL的最大特點。智能體在與環(huán)境的交互中,根據獲得的獎罰,使之更加適應環(huán)境。RL的范式類似于人類學習知識的過程,也正為如此,RL被視為實現強人工智能的重要途徑。
<a,s,r,p>是RL中經典的四元組。a代表的是智能體的所有動作;s代表智能體所能感知的狀態(tài);r代表獎罰;p環(huán)境的狀態(tài)轉移概率。 (1)策略 策略是指智能體在狀態(tài)s時,所要做出動作的選擇,用π表示策略。策略可以視為在智能體感知到環(huán)境后,狀態(tài)s到動作a的一個映射。如果策略是隨機的,則根據每個動作概率選擇動作;如果策略是確定性的,策略則是直接根據狀態(tài)s選擇動作。
.(2)獎罰信號 獎罰信號定義了智能體的學習目標。智能體每次與環(huán)境交互,環(huán)境返回信息,告訴智能體動作是好的,還是不好的,可以理解為對智能體的獎罰,智能體與環(huán)境交互的序列流如圖9-3所示。需要注意的是獎罰不等于目標,智能體的目標并非當前獎罰最大值,而是平均累計回報的最大值。(3)值函數 獎罰信號是評判一次交互中的立即回報,而值函數是指長期得到的動作平均回報結果,即一個狀態(tài)s的值表示對其長期期望獎罰的高低。vπ(s)是策略π狀態(tài)s長期期望收益,Qπ(s,a)表示策略π在狀態(tài)s下,采取動作a的長期期望收益。 (4)狀態(tài)轉移概率 狀態(tài)轉移概率:p(st+1,rt+1∣st,at)
表示在t時刻,處于st的狀態(tài),選擇了at的動作的情況下,轉移到st+1狀態(tài),并且獲得rt+1獎罰的概率。
3.環(huán)境描述 在強化學習中,環(huán)境是指智能體進行學習和決策的場所或情境。環(huán)境通常由一系列狀態(tài)組成,每個狀態(tài)都可能對應著不同的獎勵和下一步可采取的動作。智能體通過與環(huán)境的互動來學習如何在不同狀態(tài)下選擇最優(yōu)的動作,以最大化累積獎勵。環(huán)境可以是各種各樣的,從簡單的棋盤游戲到復雜的機器人控制問題,甚至是模擬現實世界的計算機模型。在強化學習的框架中,環(huán)境通常被視為一個外部系統(tǒng),它根據智能體的動作做出反應,并給出獎勵信號,而智能體的目標是找到一個最優(yōu)策略來應對環(huán)境的變化。環(huán)境主要包括:
.(1)狀態(tài)空間:所有可能的狀態(tài)的集合。 (2)動作空間:對于每個狀態(tài),智能體可以采取的所有可能動作的集合。 (3)轉移概率:在當前狀態(tài)下采取某個動作后,轉移到下一個狀態(tài)的概率p(st+1,rt+1∣st,at),反映了一個環(huán)境的隨機性:在一個狀態(tài)下作出的決策可能有多種結果,不同結果存在不同的概率 (4)獎勵函數:根據智能體的動作和狀態(tài)的改變,環(huán)境給出即時獎勵r(st,at)。 智能體在與環(huán)境的互動中,通過試錯的方式學習,這個過程通常涉及以下幾個基本元素: (5)策略:智能體用于決策的規(guī)則,它定義了在給定狀態(tài)下應該采取的動作。(6)值函數:動作值函數q(st,at)評估的是在特定狀態(tài)st下采取特定動作at的價值。狀態(tài)值函數可以通過動作值函數來計算如下: 其中,π(a∣st)是在狀態(tài)st下采取動作a的策略概率,A是所有可能動作的集合。狀態(tài)值函數v(st)表示在時間步t處于狀態(tài)st時,從當前狀態(tài)開始,遵循某一策略π所能獲得的期望回報:v(st)=E[Gt∣St=st]其中,Gt是從時間步t開始的回報(即累積獎勵),E表示期望值。它可以幫助智能體評估不同狀態(tài)的價值,從而選擇能夠最大化長期獎勵的行動。動作值函數q(st,at)與狀態(tài)值函數類似,動作值函數評估的是在特定狀態(tài)st下采取特定動作at的價值。狀態(tài)值函數可以通過動作值函數來計算,公式如下:.其中,π(a∣st)是在狀態(tài)st下采取動作a的策略概率,A是所有可能動作的集合。v(st)表示在t時刻的狀態(tài)st,可以評估狀態(tài)或狀態(tài)-動作對的好壞。3.時間差分方法時間差分方法結合了動態(tài)規(guī)劃和蒙特卡洛方法的特點,可以用于有模型或無模型的環(huán)境。?Sarsa算法(On-PolicyTDControl):?在每個時間步t,觀察(st,at,rt+1,st+1,at+1)。?使用以下更新規(guī)則:Q(st,at)←Q(st,at)+α(rt+1+γQ(st+1,at+1)?Q(st,at))?狀態(tài)值函數v(s)可以通過v(s)=∑a∈Aπ(a∣s)Q(s,a)計算。其中,π(a∣st)是在狀態(tài)st下采取動作a的策略概率,A是所有可能動作的集合。??Q-Learning(Off-PolicyTDControl):?類似于Sarsa,但更新時不依賴于實際采取的動作,而是選擇最大化未來獎勵的動作:.
其中:?α是學習率。?rt是在時間步t收到的獎勵。?γ是折現因子。?maxaQ(st+1,a)是在下一個狀態(tài)st+1下,所有可能動作中的最大Q值。 (7)模型:環(huán)境的抽象表示,包括狀態(tài)轉移概率和獎勵函數。在模型未知的情況下,智能體需要通過探索來學習環(huán)境。 強化學習的目標是通過學習一個優(yōu)化的策略,使得智能體在與環(huán)境的互動中能夠獲得最大的累積獎勵。在基于模型情況下,p函數和r函數都為已知,可以根據現有條件作出最優(yōu)規(guī)劃。5.Q表
Q表表示狀態(tài)動作價值、是累積的經驗、也是獲得成功所需要的知識。 例9-1,在某一狀態(tài)s下,可以采取a和b兩個動作。 采取a動作以后,100%獲得10分;采取b動作以后,90%獲得5分、10%獲得15分,則:
Q(s,a)=100%x10=10 Q(s,b)=90%x5+10%x15=6
以上的例子中,之所以知道概率分布,是因為這個Q表是經過訓練的結果。
.(1)Q表中累積知識
Q表中存儲的是智能體學習到的知識積累,所以可以很自然地在s狀態(tài)下選擇a的動作,以獲得最大的回報。上面的例子僅是一次選擇。在實際中,將面對多次選擇,需要看的是完成了一系列選擇以后,環(huán)境給出的最大總回報才是最優(yōu)路徑。因為預估后續(xù)的所有收益及其對應概率,都累計到當前狀態(tài)下做計算,所以智能體在強化學習中,利用環(huán)境給的獎罰反饋非常重要。 (2)Q表的目標導向型 總收益(又稱為回報或累積獎勵)是指在某個狀態(tài)下采取一系列動作后,智能體預期可以獲得的獎勵總和。在強化學習中,目標就是最大化總收益。需要根據總收益,來更新Q表。每一步設定的Q(s,a)不是僅看當前這一步的收益,需要看未來總收益G:
G=r1+r2+r3+r4+…+rt
例9-2,快速到達目的地的懸崖問題。 在一張地圖上,要從起點S到達終點G,每走一步獎罰為-1(因為希望越快到達越好),掉下懸崖一次獎罰為-100(所以希望避免發(fā)生),并回到起點。到達終點G時,游戲結束。 設定獎罰的折扣因子γ; 當前時刻t,可獲得的收益預期總計:
Gt=rt+1+γrt+2+γ2rt+3+… γ是折現因子,其值介于0和1之間,用于平衡即時獎勵和未來獎勵的重要性。取0代表目光短淺,γ取1代表目光過于長遠。
9.1.3RL算法分類RL算法可以分為三大類:基于值、基于策略和基于值-策略復合算法,主要的RL算法如圖9-4所示。RL算法分類主要依據如下。
1.無模型和有模型2.策略與值3.回合更新和單步更新
4.在線控制與離線控制5.RL和逆向RL6..強化學習的要素
9.2SARSA算法9.2.1SARSA算法基本原理 時序差分方法直接從智能體與環(huán)境交互的經驗中學習,即可以邊交互邊學習。預測就是在給定強化學習的5個要素:狀態(tài)集s,動作集a,即時獎罰r,折扣因子γ,給定策略π下,求解最優(yōu)的動作價值函數值v(π)?;跁r序差分的SARSA算法:在每個時間步t,觀察(st,at,rt+1,st+1,at+1)。使用以下更新規(guī)則:Q(st,at)←Q(st,at)+α(rt+1+γQ(st+1,at+1)?Q(st,at))狀態(tài)值函數v(s)計算公式:
其中,π(a∣st)是在狀態(tài)st下采取動作a的策略概率,A是所有可能動作的集合。Q(st,at)為動作值函數。
SARSA的名稱來源于圖9-5所示的序列描述:給定一個狀態(tài)s,智能體通過動作策略產生一個動作a,即產生一個狀態(tài)動作對(s,a),環(huán)境收到智能體的動作后將返回即時獎罰r以及后續(xù)狀態(tài)s’;智能體在狀態(tài)s’時遵循當前的動作策略產生一個新動作a’,智能體此時并不執(zhí)行該動作,而是通過動作值函數得到后一個狀態(tài)動作對(s’,a’)的值,利用這個新的值和即時獎罰r來更新前一個狀態(tài)動作對(s,a)的值。SARSA算法在單個狀態(tài)序列內的每一個時間步,在狀態(tài)s下采取一個動作a到達新狀態(tài)s’所需要更新狀態(tài)動作對(s,a)的值Q(s,a),其中,值函數Q是一個表格。.SARSA算法采用的是時序差分單步更新的方式,每一步都更新Q表。Q表的更新是SARSA算法最核心的部分,它是將Q值不斷逼近目標值,這個目標值也就是總收益。 (1)問題求解是價值迭代
SARSA算法的問題求解不需要將環(huán)境的狀態(tài)轉化模型,也就是說,SARSA是無模型的RL算法。它的問題求解是值迭代,即通過值函數的更新來更新當前的策略,再通過新的策略來產生新的狀態(tài)和即時獎罰,進而再更新值函數,周而復始進行下去,直到值函數和策略都收斂為止。 (2)更新計算
SARSA算法目的是學習特定狀態(tài)下,特定動作的值Q,最終建立和優(yōu)化一個Q表,以狀態(tài)為行,動作為列,根據與環(huán)境交互得到的獎罰來更新Q表,更新采用了下式差分計算:
Q(s,a)=Q(s,a)+α[r+γQ(s’,a’)-Q(s,a)]
其中,γ是折扣因子。在訓練中為了更好的探索環(huán)境,采用ε-貪婪選擇概率來訓練,獲得輸出動作。 (3)??貪婪選擇 在智能體做決策時,??貪婪選擇是一種常用的選擇方式,以一個很小的正數?(<1)的概率隨機選擇未知的一個動作,剩下1??的概率從已有動作中選擇動作值最大的動作。假設當前智能體所處的狀態(tài)為st∈S,可以選擇的動作集合為At。智能體在執(zhí)行某一個動作之后,將達到下一個狀態(tài)st+1,此時也將得到對應的收益rt+1。.在決策過程中,有?概率選擇的動作,即每個動作被選擇的概率為?/|A|,其中|A|表示動作總數量;也就是說,每個動作都有同樣?/|A|概率隨機選擇,另外還有1??的概率選擇動作值最大的動作,如果兩種概率選中了同一動作,則被選擇的概率為1??+?/|A|兩項的和。在包含所有的動作的集合A中,在某一個時刻,總有一個動作是最優(yōu)動作,即a?=argmaxa(Q(a,s))。 用π(a|s)公式可以表示為:
?/m+1-?如果a*=argmaxa∈AQ(s,a) π(a|s)= ?/m 否則 在迭代時,首先使用?/|A|概率在當前狀態(tài)st選擇一個動作at,這樣系統(tǒng)將轉到一個新的狀態(tài)s′,同時給一個即時獎罰rt+1,在新的狀態(tài)s′,將基于1-?概率在狀態(tài)s′選擇一個最優(yōu)動作a′,但是這時并不執(zhí)行這個動作a′,只是用來更新值函數,值函數的更新計算如下:
Q(s,a)=Q(s,a)+α(r+γQ(s’,a’)-Q(S,a))其中,α是迭代步長,γ是折扣因子。9.2.2SARSA算法流程.SARSA算法流程如下。(1)初始化。對于所有狀態(tài)s和動作a,初始化Q(s,a)為任意值(通常是0)。 初始化狀態(tài)s。 選擇一個小的正數α作為學習率。 選擇一個介于0和1之間的ε作為探索率,用于ε-貪婪選擇策略。 選擇一個小于1的正數γ作為折扣因子。(2)對于每個回合(episode)。 初始化狀態(tài)s。 使用ε-貪婪選擇策略基于Q值選擇動作a。 初始化時間步長t為0。(3)對于每個時間步長t。.(3)對于每個時間步長t。?執(zhí)行動作a,觀察獎勵r和新狀態(tài)s'。?使用ε-貪婪選擇策略基于Q值從狀態(tài)s'中選擇新動作a'。?計算TD目標值。?如果s'是終止狀態(tài),則TD目標值為r。?否則,TD目標值為r+γQ(s',a')。?更新Q值:Q(s,a)←Q(s,a)+α(r+γQ(s',a')?Q(s,a))設置s←s'和a←a',并重復步驟(3),直到s是終止狀態(tài)為止。(4)當回合結束時,重復步驟(2),直到滿足停止條件為止(例如,達到預定的迭代次數或Q值收斂)。(5)當所有的回合都結束后,算法結束。此時,Q(s,a)提供了在給定策略下的狀態(tài)?動作值函數的估計,而優(yōu)策略可以通過選擇具有大Q值的動作來獲得。SARSA算法的特點是它在更新Q值時考慮了下一個狀態(tài)和下一個動作,因此它被認為是一種同策略(on-policy)算法,即用來學習策略和用來做出決策的策略是同一個。與SARSA算法相似的是Q學習算法,但Q學習是一種異策略(off-policy)算法,它在更新Q值時并不依賴實際執(zhí)行的動作,而是依賴在下一個狀態(tài)上能獲得大Q值的動作。SARSA算法在處理連續(xù)狀態(tài)空間或動作空間時可能需要結合函數近似技術,如神經網絡,這種方法被稱為深度SARSA算法。.SARSA算法解釋如下:①時序差分學習(TemporalDifference,TD)通過比較連續(xù)時間步的預測值來更新預測值。具體來說,TD目標是由即時獎勵和下一個時間步的預測值組成的,這個預測值通常會通過當前的狀態(tài)?動作值函數來估算。TD目標的公式通常表示為TD目標=r+γQ(s',a')式中,r是在狀態(tài)s下執(zhí)行動作a后得到的即時獎勵;γ是折扣因子,用于權衡即時獎勵和未來獎勵的重要性;Q(s',a')是在狀態(tài)s'執(zhí)行動作a'的預測值函數。②SARSA算法通過最小化預測值Q(s,a)和TD目標之間的差異來更新Q函數,這個過程通過比較連續(xù)時間步的預測值來更新狀態(tài)?動作值函數。在每個回合結束后進行策略評估和更新。具體來說,SARSA算法在每個時間步都會更新值函數,但通常關注一個完整的回合后來評估算法的性能。③在每個回合結束后,智能體可以使用整個回合中的所有經驗來評估和調整其策略。然后,智能體開始下一個回合,繼續(xù)學習和改進其策略。④保障收斂的措施。步長α一般需要隨著迭代的進行逐漸變小,這樣才能保證動作價值函數Q可以收斂。當Q收斂時,ε-貪婪選擇策略也就收斂了。ε探索率隨著迭代的進行逐漸減小。9.2.3SARSA(λ)算法1.SARSA(λ)算法基本原理SARSA(λ)算法是一種強化學習算法,它是SARSA算法的擴展,屬于TD方法的范疇。SARSA算法本身是用于求解優(yōu)策略的on-policyTD控制算法,而SARSA(λ)算法通過引入資格跡,以更加高效的方式來更新價值函數。SARSA算法都是在得到獎勵后只更新上一步狀態(tài)和動作對應的Q表,是單步更新算法。但是在得到當前獎勵值之前所走的每步(一個軌跡)都與終得到的獎勵值有關,所以不應該只更新上一步狀態(tài)對應的Q值,應該更新多步狀態(tài)對應的Q值。于是就有了多步更新算法——SARSA(n)。對于多步更新的SARSA算法用SARSA(λ)來表示,其中λ的取值范圍是[0,1],其本質是一個衰減值。資格跡就是指狀態(tài)、動作和獎勵的一個歷史序列。.2.SARSA(λ)算法流程SARSA(λ)算法比SARSA算法中多了一個資格跡矩陣E,它用來保存在路徑中所經歷的每一步,并且其值不斷地衰減。該矩陣的所有元素在每個回合的開始會初始化為0,如果狀態(tài)s和動作a對應的E(s,a)值被訪問過,則其值加1。并且矩陣E中所有元素的值在每步后都會進行衰減,這保證了距離獲得當前獎勵越近的步驟越重要,如果前期智能體在原地打轉時,經過多次衰減后其E值接近于0,對應的Q值幾乎沒有更新。值得注意的是,在更新Q(s,a)和E(s,a)時,是對全表進行更新,但是因為資格跡矩陣E的初始值是0,只有智能體走過的位置才有值,所以并不是真正的對全表更新,而是僅更新獲得獎勵值之前走過的所有步驟。那些沒有走過的步驟因為對應的E(s,a)值為0,所以Q(s,a)=Q(s,a)+α·δE(s,a),保持原值不變。.SARSA(λ)算法流程如下。(1) 初始化參數。對于所有的s∈S和a∈A(s),初始化Q(s,a),通??梢栽O為0;對于所有的s∈S,初始化E(s,a),也通常設為0。這里,Q(s,a)是狀態(tài)動作值函數,而E(s,a)是資格跡矩陣。(2) 對于每個回合(episode)執(zhí)行以下操作。① 選擇初始狀態(tài)s,并基于當前策略選擇動作a。② 重復以下步驟直到達到終止狀態(tài)為止。a. 根據當前策略,在狀態(tài)s下選擇動作a,觀察獎勵r和下一個狀態(tài)s′。b. 在狀態(tài)s′下根據當前策略選擇下一個動作a′。c. 更新資格跡:E(s,a)←E(s,a)+1。d. 計算TD誤差:δ←r+γQ(s′,a′)-Q(s,a)。e更新所有狀態(tài)動作對的值函數:對于所有的s,a,執(zhí)行Q(s,a)←Q(s,a)+αδE(s,a)。f. 更新所有狀態(tài)動作對的資格跡:對于所有的s,a,執(zhí)行E(s,a)←γλE(s,a)。g. s←s′和a←a′。③當回合結束時,重置資格跡:對于所有的s,a,執(zhí)行E(s,a)←0。.3.SARSA(λ)算法的解釋說明。①矩陣E的兩種更新方式。?累積跟蹤:每次走到當前狀態(tài),則將當前的矩陣E的元素值+1,即E(s,a)=E(s,a)+1?替換跟蹤:給矩陣E的元素值設置上限,使其所有值范圍為[0,1],所以每次更新時先將當前狀態(tài)所在的行清零,再將對應的E(s,a)置1。上述的第二種更新方式更好,更常用。②SARSA算法以單步更新動作準則來更新Q,每走一步都更新一次Q,可用SARSA(0)表示。因為走完一步直接更新,所以無間隙。SARSA(λ)是基于SARSA算法的一種提速算法。SARSA(λ)的λ可以理解為步衰減值(類似于之前提到的獎罰衰減值γ),其范圍是[0,1],它可以了解到距離獎罰越遠的步可能并不是快能拿到獎罰的步。從目標角度來看,離目標越近的步,看得越清楚,越遠的步越渺小,因此離獎罰越近的步越重要,越需要更新Q表。?λ=0,就是單步更新,為SARSA算法。?λ=1,就是回合更新。?0<λ<1,表示距離獎罰越近的步,動作準則更新力度越大。.③在RL中使用時序差分法求解多步時序差分TD(λ)的價值函數迭代方法,同樣地,SARSA(λ)算法是對應多步時序差分在線控制算法。在SARSA算法中,使用一個大表來存儲Q(s,a)的值,如果狀態(tài)和動作都達到百萬乃至千萬級,那么需要在內存里保存的這張大表超級大,甚至溢出,因此不適合解決規(guī)模很大的問題。當然,對于不是特別復雜的問題,使用SARSA算法還是一種好的選擇。SARSA(λ)算法在狀態(tài)每發(fā)生一次變化后都對整個狀態(tài)空間和動作空間的Q和E進行更新,而事實上在每個回合中,只有智能體經歷過的狀態(tài)動作對的E才可能不為0,對該回合涉及的狀態(tài)動作對進行更新的原因是,理論上是可以僅對回合中涉及的狀態(tài)動作對的E和Q進行更新,不過這要額外維護一個表,而往這個額外的表里添加新的狀態(tài)動作對的E和Q比更新總的狀態(tài)動作空間要麻煩。特別是在早期智能體沒有一個較好的策略的時候,需要花費很長的時間才能找到終點位置,這在一定程度上反而沒有更新狀態(tài)空間省時。不過隨著學習的深入,策略得到優(yōu)化,此表的規(guī)模將變小。9.3Q-Learning算法Q-Learning算法是一種基于值的無模型RL算法,且是異策略(off-policy)算法,它在更新Q值時使用的是優(yōu)策略,而不是當前策略。這表明Q-Learning算法在選擇動作時可能遵循一個策略,而在更新Q值時則考慮另一個策略。
9.3.1Q-Learning算法基本原理
1.行為準則與決策2.Q-Learning算法更新3.ε?貪婪選擇動作4.Q表結構5.更新公式6.更新Q表方法9.3.2Q-Learning算法流程SARSA算法中Q表的更新公式如下。Q(st,at)←Q(st,at)+α[rt+1+γ·Q(st+1,at+1)?Q(st,at)]式中,Q(st+1,at+1)是下一時刻的狀態(tài)和實際采取的行動對應的Q值。而在Q-Learning算法中是下一時刻的狀態(tài)對應的Q值的最大值,但是在實際中可能不采用該最大值對應的動作。SARSA算法和Q-Learning算法除了在Q-target上有所不同,其他的都一樣。SARSA算法是on-policy學習方法,因為它始終只有一個策略,使用ε-貪婪選擇策略選擇出Q(st,at)和Q(s′t+1,a′t+1)。而Q-Learning算法是off-policy學習方法,選擇Q(st,at)時使用ε貪婪選擇策略,而計算Q(s′,a′)時使用了最大值算法,學習和行動分別采用了兩套不同的策略。.Q-Learning算法,可以通過訓練得到一個盡量完美的Q表。Q-Learning算法流程描述如下。(1)初始化參數:對于所有的s∈S和a∈A(s),初始化Q值Q(s,a)為任意值(通常設為0)??梢赃x擇一個小的正數ε作為探索率,以及一個折扣因子γ(通常在0~1)。(2)對于每個回合執(zhí)行以下操作。①選擇初始狀態(tài)s。②重復以下步驟直到達到終止狀態(tài)為止。a.使用ε-貪婪選擇策略動作a:以概率1?ε選擇當前Q值大的動作,以概率ε隨機選擇一個動作,其中α是學習率。b.執(zhí)行動作a,觀察獎勵r和下一個狀態(tài)s′。c.更新Q值:Q(s,a)←Q(s,a)+α(r+γmaxa′Q(s′,a′)?Q(s,a))。d.s←s′。③當回合結束時,如果環(huán)境不是回合的,則可以選擇一個隨機的非終止狀態(tài)作為下一個回合的初始狀態(tài)。(3)重復步驟(2),直到Q值收斂到最優(yōu)為止。9.4人類反饋強化學習模型與算法RLHF模型是一種結合了人類反饋的強化學習模型。在強化學習中,智能體通過與環(huán)境的交互來學習如何執(zhí)行特定任務。然而,在某些情況下為智能體輸入清晰、可量化的獎勵信號是非常困難的工作。在基于人類反饋的強化學習中,人類的反饋可以作為一種獎勵信號,幫助智能體學習,RLHF算法人為可控如圖9-7所示。9.4.1基于人類反饋強化學習模型1.RLHF算法的基本思想在智能體與環(huán)境的交互過程中,交互的內容是離散時間序列,而進行交互的對象是智能體和環(huán)境。智能體通過不斷的嘗試發(fā)現環(huán)境的大獎罰的動作。動作不僅影響瞬時獎罰,還影響下一個狀態(tài),并由此影圖9-7RLHF算法人為可控 響后續(xù)的獎罰。如果希望模型不僅受訓練數據的影響,而且能夠人為可控,從而保證生成數據的有用性、真實性和無害性,就要使模型的輸出內容和人類喜好的輸出內容對齊,保證生成內容的流暢性和語法的正確性,以及生成內容的有用性、真實性和無害性。2.人類反饋強化學習模型的組成 (1)智能體 (2)環(huán)境 (3)獎勵模型 (4)人類評估者 其中人類評估者是提供反饋的人員,他們評估智能體的動作并給出獎勵。在NLP中,評估者可能需要閱讀生成的文本并判斷其質量、相關性或符合人類偏好的程度。9.4.2RLHF算法基于人類反饋的強化學(ReinforcementLearningfromHumanFeedback,RLHF)是一種結合了強化學習和人類反饋的機器學習算法。其基本過程可以分為如下幾個步驟:1.預訓練2.人類反饋收集3.獎勵模型訓練4.強化學習優(yōu)化5.迭代優(yōu)化上述過程可能需要多次迭代。隨著模型行為的改進,人類評估者可能會提供更精細的反饋,獎勵模型也會不斷更新。通過不斷的迭代,模型的行為會越來越接近人類的期望。 根據環(huán)境獎勵和人類反饋來調整智能體的行為策略。學習算法需要能夠處理不同類型的反饋,如正向反饋、負向反饋和不確定性反饋。RLHF算法的核心是利用人類的反饋來指導模型學習,這樣可以在沒有精確獎勵函數的情況下,使模型的行為更加符合人類的意圖和偏好。這種方法在自然語言處理、機器人控制等領域有廣泛的應用前景。9.4.3基于RLHF的LLM預訓練1.問題提出LLM使用簡單詞語預測損失(例如交叉熵)進行訓練,但設計一個損失函數來捕獲這些屬性很麻煩。為了彌補這個缺點,可以定義人類偏好的指標。例如雙語評估替補(BilingualEvaluationUnderstudy,BLEU),所替補是代替人進行翻譯結果的評估。由于人類反饋也是不可導,那么也可以將人工反饋作為強化學習的獎勵,基于這種思想,人類反饋的強化學習應運而生。2.基于人類反饋強化學習預訓練LLM組成(1)基礎語言模型:基座模型,讓模型能夠捕捉語言的統(tǒng)計特性和模式。(2)獎勵模型:一個較小的模型,用于預測人類偏好的輸出。(3)強化學習算法:強化學習算法使用偏好模型提供的獎勵信號來優(yōu)化基礎語言模型。(4)人類反饋:來自人類評估者的反饋,可以是成對的輸出比較,也可以是對單個輸出的評分或排名,這些反饋用于訓練偏好模型??傊?,基于人類反饋強化學習預訓練的語言模型是一個閉環(huán)系統(tǒng),其中基礎語言模型通過強化學習算法和人類反饋的不斷迭代來改進,最終生成更加符合人類期望的文本。.3.基于人類反饋強化學習預訓練語言模型訓練過程 首先預訓練基礎語言模型,然后訓練一個獎勵模型,最后再對預訓練語言模型語言模型進行基于人類反饋強化學習微調。步驟如下:(1)預訓練基礎語言模型(2)收集人類反饋(3)訓練獎勵模型(4)強化學習優(yōu)化·策略初始化:使用預訓練的基礎語言模型作為強化學習策略的初始狀態(tài)?!お剟钚盘枺菏褂锚剟钅P蜑閺娀瘜W習提供獎勵信號?!げ呗缘和ㄟ^強化學習算法(如PPO、TRPO等)迭代更新基礎語言模型的參數,以最大化獎勵模型給出的獎勵。4.產生獎勵數據的流程訓練獎勵模型需要一個三元組(輸入文本,輸出文本,獎勵)的數據集。收集數據的流程為:首先使用輸入文本數據(如果是產生數據,則效果更好),將其通過訓練好的語言模型生成相應的文本輸出。然后,讓人類專家對這個生成的輸出結果進行評分或給予獎勵信號。
9.4.4近端策略優(yōu)化算法離線的RLHF算法工作過程是,先使用語言模型生成一組文本輸出,然后使用獎勵模型評估這些輸出的質量,后使用RL算法根據獎勵信號微調語言模型。這樣就可以自動地對模型進行優(yōu)化和微調,以提高其生成的文本質量。同策略算法是指要更新的策略與環(huán)境交互產生數據的策略是同一個策略,異策略優(yōu)化算法是指要更新的策略與環(huán)境交互產生數據的策略是不同的策略。傳統(tǒng)的策略梯度算法為同策略算法,PPO算法屬于異策略優(yōu)化算法,PPO算法比傳統(tǒng)策略梯度優(yōu)化算法在訓練速度、訓練穩(wěn)定性和終結果等方面都有提升。同策略算法只在相同的環(huán)境下進行交互學習,異策略優(yōu)化算法可以學習自身環(huán)境下的經驗,也可以獲得其他環(huán)境下的經驗。1.近端策略優(yōu)化算法工作過程PPO算法工作過程如圖9-9所示。首先,創(chuàng)建一個復制的語言模型,并凍結(固定不變)其可訓練參數。復制語言模型的作用是防止可訓練的語言模型完全改變其權重并輸出無意義的文本,進而影響獎勵模型的訓練。這也是需要計算凍結和非凍結語言模型的文本輸出概率之間的KL損失的原因。這個KL損失將被加到由獎勵模型產生的獎勵之中。KL損失可以約束LM胡言亂語(亂碼)的輸出和愚蠢的獎勵模型。實際上,如果模型正在進行在線學習,則可以直接用人工鑒定的獎勵分數來替代獎勵模型。.可以看出,PPO算法對步長十分敏感,但是選擇合適的步長有些困難,在訓練過程中新舊策略的變化差異如果過大,則不利于學習。PPO算法提出了新的目標函數可以在多個訓練步驟實現小批量的更新,解決了策略梯度算法中步長難以確定的問題。獎勵損失不可導的原因是獎勵模型是根據文本生成的結果計算出來的。這個文本是通過對語言模型輸出的對數概率進行解碼得到的,這個解碼過程是不可導的。為了使損失可導,在語言模型上應用PPO算法可對計算的損失函數進行小的修改,應用PPO算法修改損失函數如圖9-10所示。.具體過程如下。(1)將初始概率設為新概率進行初始化。(2)計算新輸出文本概率與初始概率之間的比率。(3)根據公式Loss=?min(ratior,clip(ratio,0.8,1.2)r)計算損失,其中r是之前計算的獎勵與KL散度(或加權平均,如0.8reward+0.2KL),而clip(ratio,0.8,1.2)則是將比率ratio限制在[0.8,1.2]。其中,0.8/1.2是常用的超參數值在這里的簡化。為了大化獎勵,因此添加了負號“?”,使通過梯度下降來小化損失的負數。(4)通過反向傳播損失來更新語言模型的參數。(5)使用新的語言模型計算新概率(新的輸出文本概率)。(6)重復步驟2到N次(通常N=4)。在文本到文本的語言模型中使用RLHF算法,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年滑縣幼兒園教師招教考試備考題庫帶答案解析(奪冠)
- 2025年任縣幼兒園教師招教考試備考題庫含答案解析(必刷)
- 2024年青島農業(yè)大學馬克思主義基本原理概論期末考試題及答案解析(必刷)
- 2025年新豐縣招教考試備考題庫帶答案解析(必刷)
- 宜昌2025年湖北宜昌市點軍區(qū)事業(yè)單位專項招聘4人筆試歷年參考題庫附帶答案詳解
- 2025年江西工業(yè)貿易職業(yè)技術學院馬克思主義基本原理概論期末考試模擬題附答案解析
- 2025年建始縣幼兒園教師招教考試備考題庫含答案解析(奪冠)
- 2025年建昌縣幼兒園教師招教考試備考題庫附答案解析(奪冠)
- 2025年廣東培正學院馬克思主義基本原理概論期末考試模擬題帶答案解析(奪冠)
- 2025年淄博職業(yè)技術大學馬克思主義基本原理概論期末考試模擬題及答案解析(必刷)
- 危重癥??谱o理小組工作總結
- 百千萬工程行動方案(3篇)
- 山洪災害監(jiān)理工作報告
- 數字推理試題及答案下載
- 學校“第一議題”學習制度
- 運輸管理實務(第二版)李佑珍課件第6章 集裝箱多式聯運學習資料
- 水泵維修更換申請報告
- 機械設備運輸合同
- 《分布式光伏并網啟動方案》
- 酒店委托管理合同范本
- 5.第五章-透鏡曲率與厚度
評論
0/150
提交評論