精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

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

穎脈Imgtec ? 2023-01-05 14:54 ? 次閱讀

來源:DeepHub IMBA

強化學習的基礎知識和概念簡介(無模型、在線學習、離線強化學習等)

機器學習(ML)分為三個分支:監督學習、無監督學習和強化學習。

  • 監督學習(SL)關注在給定標記訓練數據的情況下獲得正確的輸出
  • 無監督學習(UL):關注在沒有預先存在的標簽的情況下發現數據中的模式
  • 強化學習(RL)關注智能體在環境中如何采取行動以最大化累積獎勵

通俗地說,強化學習類似于嬰兒學習和發現世界,如果有獎勵(正強化),嬰兒可能會執行一個行動,如果有懲罰(負強化),嬰兒就不太可能執行這個行動。這也是來自監督學習和非監督學習的強化學習之間的主要區別,后者從靜態數據集學習,而前者從探索中學習。1d09d8ac-8c24-11ed-bcbd-dac502259ad0.png本文將涉及強化學習的術語和基本組成部分,以及不同類型的強化學習(無模型、基于模型、在線學習和離線學習)。本文最后用算法來說明不同類型的強化學習。

本文的公式基于Stuart J. Russell和Peter Norvig的教科書《Artificial Intelligence: A Modern Approach》(第四版),為了保持數學方程格式的一致性所以略有改動。


強化學習

在深入研究不同類型的強化學習和算法之前,我們應該熟悉強化學習的組成部分。

  • Agent:從環境中接收感知并執行操作的程序,被翻譯成為智能體,但是我個人感覺代理更加恰當,因為它就是作為我們人在強化學習環境下的操作者,所以稱為代理或者代理人更恰當
  • Environment:代理所在的真實或虛擬環境
  • State (S):代理當前在環境中所處的狀態
  • Action (A):代理在給定狀態下可以采取的動作
  • Reward (R):采取行動的獎勵(依賴于行動),處于狀態的獎勵(依賴于狀態),或在給定狀態下采取行動的獎勵(依賴于行動和狀態)

在一個嬰兒探索世界的例子中,嬰兒(代理)在現實世界(環境)中,能夠感到高興或饑餓(狀態)。因此,寶寶可以選擇哭泣,吃或睡(動作),如果寶寶餓的時候吃了東西(獎勵),寶寶就滿足了(正獎勵)。強化學習涉及探索,強化學習的輸出是一個最優策略。策略描述了在每個狀態下要采取的行動;類似于說明書。比如,政策可以是寶寶餓了就吃,否則,寶寶就該睡覺。這也與監督學習形成了對比,監督學習的輸出只是一個單一的決策或預測,比策略更簡單。

強化學習的目標是通過優化所采取的行動來最大化總累積獎勵。和嬰兒一樣,我們不都想從生活中獲得最大的累積利益嗎?


馬爾可夫決策過程(MDP)

由于強化學習涉及一系列最優行為,因此它被認為是一個連續的決策問題,可以使用馬爾可夫決策過程建模。1d2e4e76-8c24-11ed-bcbd-dac502259ad0.png這里的狀態(用S表示)被建模為圓圈,動作(用A表示)允許代理在狀態之間轉換。在上圖2中,還有一個轉換概率(用T表示),T(S11, A1, S12)是在狀態S11采取A1動作后轉換到狀態S12的概率。我們可以認為動作A1是向右的動作A2是向下的。為了簡單起見,我們假設轉移概率為1,這樣采取行動A1將確保向右移動,而采取行動A2將確保向下移動。參照圖2,設目標為從狀態S11開始,結束于狀態S23,黃色狀態為好(獎勵+1),紅色狀態為壞(獎勵-1),紫色為目標狀態(獎勵+100)。我們希望智能體了解到最佳的行動或路線是通過采取行動A2-A1-A1來走向下-右-右,并獲得+1+1+1+100的總獎勵。再進一步,利用金錢的時間價值,我們在獎勵上應用折扣因子gamma,因為現在的獎勵比以后的獎勵更好。綜上所述,從狀態S11開始執行動作A2-A1-A1,預期效用的數學公式如下:

1d496292-8c24-11ed-bcbd-dac502259ad0.png

上面的例子是一個簡單的例子,一般情況下都會有一些變化,比如,

  • 轉移概率不可能是1,因為需要在行動中考慮不確定性因素,例如采取某些行動可能并不總是保證成功地向右或向下移動。因此,我們需要在這個不確定性上取一個期望值
  • 最優動作可能還不知道,因此一般的表示方式是將動作表示為來自狀態的策略,用π(S)表示。
  • 獎勵可能不是基于黃色/紅色/紫色狀態,而是基于前一個狀態、行動和下一個狀態的組合,用R(S1, π(S1), S2)表示。
  • 問題可能不需要4步就能解決,它可能需要無限多的步驟才能達到目標狀態

考慮到這些變化,確定給定狀態下策略π的期望效用U(s)的更一般的方程是這樣的:

1d64c5dc-8c24-11ed-bcbd-dac502259ad0.png

用上圖4的話來說,狀態的預期效用是折現獎勵的預期總和。所以一個狀態的效用與其相鄰狀態的效用相關;假設選擇了最優行動,狀態的效用是轉移的預期獎勵加上下一個狀態的折扣效用。這就是遞歸。在數學上使用下面的方程表示

1d8cc6a4-8c24-11ed-bcbd-dac502259ad0.png

上圖5是著名的Bellman方程,它求解最大效用并推導出最優策略。最優策略是在考慮轉移概率的情況下,對所有可能的下一個狀態進行求和,使當前狀態的最大效用加上下一個狀態的折現效用?;氐組DP問題中,圖2的最優策略是,如果代理處于狀態S11, S12或S13,代理應該通過采取動作A2向下移動,如果代理處于狀態S21或S22,則代理應該通過采取動作A1向右移動。這里的最優策略是通過求解Bellman方程來執行獲得最大當前和折現未來獎勵的行動。

MDP一般用(S, A, T, R)表示,它們分別表示一組狀態,動作,轉移函數和獎勵函數。MDP假設環境是完全可觀察的,如果代理不知道它當前處于什么狀態,我們將使用部分可觀察的MDP (POMDP) 圖5中的Bellman方程,可以使用值迭代或策略迭代來求解最優策略,這是一種將效用值從未來狀態傳遞到當前狀態的迭代方法。

強化學習類似于求解MDP,但現在轉移概率和獎勵函數是未知的,代理必須在訓練期間執行動作來學習


無模型與基于模型的強化學習

上面提到的MDP示例是基于模型的強化學習。基于模型的強化學習具有轉移概率T(s1, a, s2)和獎勵函數R(s1, a, s2),它們是未知的,他們表示要解決的問題?;谀P偷姆椒▽?a target="_blank">仿真很有用。基于模型的強化學習的例子包括值迭代和策略迭代,因為它使用具有轉移概率和獎勵函數的MDP。無模型方法不需要知道或學習轉移概率來解決問題。我們的代理直接學習策略。

無模型方法對于解決現實問題很有用。無模型強化學習的例子包括Q-learning 和策略搜索,因為它直接學習策略。


離線學習vs.在線學習

離線學習和在線學習又稱為被動學習和主動學習。離線學習在離線(被動)學習中,通過學習效用函數來解決該問題。給定一個具有未知轉移和獎勵函數的固定策略,代理試圖通過使用該策略執行一系列試驗來學習效用函數。例如,在一輛自動駕駛汽車中,給定一張地圖和一個要遵循的大致方向(固定策略),但控制出錯(未知的轉移概率-向前移動可能導致汽車稍微左轉或右轉)和未知的行駛時間(獎勵函數未知-假設更快到達目的地會帶來更多獎勵),汽車可以重復運行以了解平均總行駛時間是多少(效用函數)。離線強化學習的例子包括值迭代和策略迭代,因為它使用使用效用函數的Bellman方程(圖5)。其他的一些例子包括直接效用估計、自適應動態規劃(Adaptive Dynamic Programming, ADP)和時間差分學習(Temporal-Difference Learning, TD),這些將在后面詳細闡述。在線學習在線(主動)學習中,通過學習規劃或決策來解決問題。對于基于模型的在線強化學習,有探索和使用的階段。在使用階段,代理的行為類似于離線學習,采用固定的策略并學習效用函數。在探索階段,代理執行值迭代或策略迭代以更新策略。如果使用值迭代更新策略,則使用最大化效用/值的一步前瞻提取最佳行動。如果使用策略迭代更新策略,則可獲得最優策略,并可按照建議執行操作。以自動駕駛汽車為例,在探索階段,汽車可能會了解到在高速公路上行駛所花費的總時間更快,并選擇向高速公路行駛,而不是簡單地沿著大方向行駛(策略迭代)。在使用階段,汽車按照更新的策略以更少的平均總時間(更高的效用)行駛。在線強化學習的例子包括Exploration、Q-Learning和SARSA,這些將在后面幾節中詳細闡述。當狀態和動作太多以至于轉換概率太多時,在線學習是首選。在線學習中探索和“邊學邊用”比在離線學習中一次學習所有內容更容易。但是由于探索中的試錯法,在線學習也可能很耗時。需要說明的是:在線學習和基于策略的學習(以及基于策略的離線學習)是有區別的,前者指的是學習(策略可以更改或固定),后者指的是策略(一系列試驗來自一個策略還是多個策略)。在本文的最后兩部分中,我們將使用算法來解釋策略啟動和策略關閉。

在理解了不同類型的強化學習之后,讓我們深入研究一下算法!


1、直接效用估計 Direct Utility Estimation

無模型的離線學習在直接效用估計中,代理使用固定策略執行一系列試驗,并且狀態的效用是從該狀態開始的預期總獎勵或預期獎勵。以一輛自動駕駛汽車為例,如果汽車在一次試驗中從網格 (1, 1) 開始時,未來的總獎勵為 +100。在同一次試驗中,汽車重新訪問該網格,從該點開始的未來總獎勵是+300。在另一項試驗中,汽車從該網格開始,未來的總獎勵為 +200。該網格的預期獎勵將是所有試驗和對該網格的所有訪問的平均獎勵,在本例中為 (100 + 300 + 200) / 3。優點:給定無限次試驗,獎勵的樣本平均值將收斂到真實的預期獎勵。

缺點:預期的獎勵在每次試驗結束時更新,這意味著代理在試驗結束前什么都沒有學到,導致直接效用估計收斂非常慢。


2、自適應動態規劃 (ADP)

基于模型的離線學習在自適應動態規劃 (ADP) 中,代理嘗試通過經驗學習轉換和獎勵函數。轉換函數是通過計算從當前狀態轉換到下一個狀態的次數來學習的,而獎勵函數是在進入該狀態時學習的。給定學習到的轉換和獎勵函數,我們可以解決MDP。以自動駕駛汽車為例,在給定狀態下嘗試向前移動 10 次,如果汽車最終向前移動 8 次并向左移動 2 次,我們了解到轉換概率為 T(當前狀態, 向前,前狀態)= 0.8 和 T(當前狀態,向前,左狀態)= 0.2。優點:由于環境是完全可觀察的,因此很容易通過簡單的計數來學習轉換模型。

缺點:性能受到代理學習轉換模型的能力的限制。這將導致這個問題對于大狀態空間來說是很麻煩的,因為學習轉換模型需要太多的試驗,并且在 MDP 中有太多的方程和未知數需要求解。


3、時間差分學習(TD Learning)

無模型的離線學習在時間差分學習中,代理學習效用函數并在每次轉換后以學習率更新該函數。1da39b4a-8c24-11ed-bcbd-dac502259ad0.png這里的時間差分(temporal difference)是指連續狀態之間的效用差異,并根據此誤差信號更新效用函數,由學習率縮放,如上圖6所示。學習率可以是一個固定的參數,也可以是對一個狀態訪問量增加的遞減函數,這有助于效用函數的收斂。與直接效用估計在每次嘗試后進行學習相比,TD學習在每次轉換后進行學習,具有更高的效率。與ADP相比,TD學習不需要學習轉換函數和獎勵函數,使其計算效率更高,但也需要更長的收斂時間。ADP和TD學習是離線強化學習算法,但在線強化學習算法中也存在主動ADP和主動TD學習!


4、Exploration

基于模型的在線學習,主動ADPExploration 算法是一種主動ADP算法。與被動ADP算法類似,代理試圖通過經驗學習轉換和獎勵函數,但主動ADP算法將學習所有動作的結果,而不僅僅是固定的策略。它還有一個額外的函數,確定代理在現有策略之外采取行動的“好奇程度”。這個函數隨著效用的增加而增加,隨著經驗的減少而減少。如果狀態具有高效用,則探索函數傾向于更頻繁地訪問該狀態。探索功能隨著效用的增加而增加。如果狀態之前沒有被訪問過或訪問過足夠多次,探索函數傾向于選擇現有策略之外的動作。如果多次訪問狀態,則探索函數就不那么“好奇”了。由于好奇程度的降低,探索功能隨著經驗的增加而降低。優點:探索策略會快速收斂到零策略損失(最優策略)。

缺點:效用估計的收斂速度不如策略估計的快,因為代理不會頻繁地出現低效用狀態,因此不知道這些狀態的確切效用。


5、Q-Learning

無模型的在線學習,主動TD學習Q-Learning 是一種主動的 TD 學習算法。圖 6 中的更新規則保持不變,但現在狀態的效用表示為使用 Q 函數的狀態-動作對的效用,因此得名 Q-Learning。被動 TD 學習與主動 TD 學習的更新規則差異如下圖 7 所示。

1db57b6c-8c24-11ed-bcbd-dac502259ad0.png

這種差異是由于被動RL都是用固定的策略,因此每個狀態只會執行固定的操作,效用僅取決于狀態。而在主動RL 中,策略會被更新并且效用現在取決于狀態-動作對,因為每個狀態可能會根據不同的策略執行不同的動作。Q-Learning 是 Off-Policy(無既定策略),這意味著目標或下一個狀態的效用是使Q函數最大化(而不是下一個狀態中可能的操作),我們就不需要下一個狀態下的實際動作。優點:可以應用于復雜領域,因為它是無模型的,代理不需要學習或應用轉換模型。

缺點:它不看到未來的情況,所以當獎勵稀少時可能會遇到困難。與 ADP 相比,它學習策略的速度較慢,因為本地更新不能確保 Q 值的一致性。


6、SARSA

無模型的在線學習,主動TD學習SARSA是一種主動TD學習算法。算法名稱SARSA源自算法的組件,即狀態S、動作A、獎勵R、(下一個)狀態S和(下一個)動作A。這意味著SARSA算法在更新Q函數之前,要等待下一個狀態下執行下一個動作。相比之下,Q-Learning是一種“SARS”算法,因為它不考慮下一個狀態的動作。SARSA 算法知道在下一個狀態下采取的動作,并且不需要在下一個狀態下的所有可能動作上最大化 Q 函數。Q-Learning與SARSA的更新規則差異顯示在下面的圖8中。1dc8e40e-8c24-11ed-bcbd-dac502259ad0.pngSARSA 以“策略”或者當前正在運行的策略的下一個狀態的效用的q函數為目標,這樣就能夠獲得下一個狀態下的實際動作。也就是說如果Q-Learning不探索其他操作并在下一個狀態下遵循當前策略,則它與SARSA相同。優點:如果整個策略由另一個代理或程序控制,則適合使用策略,這樣代理就不會脫離策略并嘗試其他操作。

缺點:SARSA不如Q-Learning靈活,因為它不會脫離策略來進行探索。與 ADP 相比,它學習策略的速度較慢,因為本地更新無法確保與 Q 值的一致性。


總結

在本文中我們介紹了強化學習的基本概念,并且討論了6種算法,并將其分為不同類型的強化學習。1ddb13c2-8c24-11ed-bcbd-dac502259ad0.png這6種算法是幫助形成對強化學習的基本理解的基本算法。還有更有效的強化學習算法,如深度Q網絡(Deep Q Network, DQN)、深度確定性策略梯度(Deep Deterministic Policy Gradient, DDPG)等算法,具有更實際的應用。

我一直覺得強化學習很有趣,因為它闡明了人類如何學習以及我們如何將這些知識傳授給機器人(當然也包括其他應用,如自動駕駛汽車、國際象棋和Alpha Go等)。希望本文能夠讓你對強化學習有了更多的了解,并且知道了強化學習的不同類型,以及說明每種類型的強化學習的算法。

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

    關注

    66

    文章

    8382

    瀏覽量

    132444
收藏 人收藏

    評論

    相關推薦

    螞蟻集團收購邊塞科技,吳翼出任強化學習實驗室首席科學家

    近日,專注于模型賽道的初創企業邊塞科技宣布被螞蟻集團收購。據悉,此次交易完成后,邊塞科技將保持獨立運營,而原投資人已全部退出。 與此同時,螞蟻集團近期宣布成立強化學習實驗室,旨在推動大模型強化學習
    的頭像 發表于 11-22 11:14 ?347次閱讀

    如何使用 PyTorch 進行強化學習

    強化學習(Reinforcement Learning, RL)是一機器學習方法,它通過與環境的交互來學習如何做出決策,以最大化累積獎勵。PyTorch 是一個流行的開源機器
    的頭像 發表于 11-05 17:34 ?231次閱讀

    品質管理基礎知識

    品質管理基礎知識
    的頭像 發表于 11-01 11:08 ?308次閱讀
    品質管理<b class='flag-5'>基礎知識</b>

    Verilog HDL的基礎知識

    本文繼續介紹Verilog HDL基礎知識,重點介紹賦值語句、阻塞與非阻塞、循環語句、同步與異步、函數與任務語法知識。
    的頭像 發表于 10-24 15:00 ?193次閱讀
    Verilog HDL的<b class='flag-5'>基礎知識</b>

    負載開關基礎知識

    電子發燒友網站提供《負載開關基礎知識.pdf》資料免費下載
    發表于 10-08 09:56 ?1次下載
    負載開關<b class='flag-5'>基礎知識</b>

    谷歌AlphaChip強化學習工具發布,聯發科天璣芯片率先采用

    近日,谷歌在芯片設計領域取得了重要突破,詳細介紹了其用于芯片設計布局的強化學習方法,并將該模型命名為“AlphaChip”。據悉,AlphaChip有望顯著加速芯片布局規劃的設計流程,并幫助芯片在性能、功耗和面積方面實現更優表現。
    的頭像 發表于 09-30 16:16 ?388次閱讀

    全新的半導體基礎知識

    )和HG結為重點,詳細敘述了作者經過數年潛心研究后提出的完全能夠解釋得通的且合理可信的全新半導體基礎知識,最后通過對常見半導體器件工作原理的解讀,證實全新半導體基礎知識的合理性和可信性。
    的頭像 發表于 09-20 11:30 ?1117次閱讀
    全新的半導體<b class='flag-5'>基礎知識</b>

    通過強化學習策略進行特征選擇

    更快更好地學習。我們的想法是找到最優數量的特征和最有意義的特征。在本文中,我們將介紹并實現一新的通過強化學習策略的特征選擇。我們先討論強化學習,尤其是馬爾可夫決策
    的頭像 發表于 06-05 08:27 ?326次閱讀
    通過<b class='flag-5'>強化學習</b>策略進行特征選擇

    哪有FPGA的verilog編程基礎知識?

    沒接觸過FPGA開發,那個verilog編程有什么入門基礎知識學習的?
    發表于 04-29 23:09

    FPGA基礎知識介紹

    電子發燒友網站提供《FPGA基礎知識介紹.pdf》資料免費下載
    發表于 02-23 09:45 ?29次下載

    鴻蒙開發【設備開發基礎知識

    鴻蒙開發基礎知識講解
    的頭像 發表于 01-29 18:44 ?961次閱讀
    鴻蒙開發【設備開發<b class='flag-5'>基礎知識</b>】

    射頻與微波基礎知識

    射頻與微波基礎知識
    的頭像 發表于 01-16 10:05 ?812次閱讀
    射頻與微波<b class='flag-5'>基礎知識</b>

    電氣技術基礎知識

    電氣技術基礎知識
    的頭像 發表于 12-14 09:11 ?1500次閱讀
    電氣技術<b class='flag-5'>基礎知識</b>

    拆解大語言模型RLHF中的PPO算法

    由于本文以大語言模型 RLHF 的 PPO 算法為主,所以希望你在閱讀前先弄明白大語言模型 RLHF 的前兩步,即 SFT Model 和 Reward Model 的訓練過程。另外因為本文不是純講強化學習的文章,所以我在敘述的時候不會假設你已經非常了解
    的頭像 發表于 12-11 18:30 ?2108次閱讀
    拆解大語言模型RLHF中的PPO<b class='flag-5'>算法</b>

    電子元器件的基礎知識

    電子元器件的基礎知識
    的頭像 發表于 12-04 10:42 ?4911次閱讀
    電子元器件的<b class='flag-5'>基礎知識</b>