1. 程式人生 > >強化學習導論(Reinforcement Learning:An Introduction)學習筆記(一)

強化學習導論(Reinforcement Learning:An Introduction)學習筆記(一)

Introduction

​ 我們在思考學習本質時首先想到的可能就是通過與我們的環境進行互動從而學習。當一個嬰兒玩耍時,揮動著他的手臂,雖然看起來,他沒有明確的老師,但他確實與他的環境有直接的感覺聯絡。並且這種聯絡可以產生大量關於因果,行為後果以及為了實現一個目標我們要做什麼等資訊。在我們的整個生活中,這種互動無疑是我們瞭解環境和自己的主要知識來源。無論我們是在學習駕駛汽車還是進行對話,我們都非常清楚我們的環境如何迴應我們的行為,並且我們試圖通過我們的行為影響接下來可能發生的事情。從互動中學習是幾乎所有學習和智慧的基礎。在本書中,我們探討了一種從互動中學習的計算方法。而不是直接理論化人或動物如何學習

,我們探索理想化的學習情境並評估各種學習方法的有效性。也就是說,我們採用人工智慧研究員或工程師的觀點。我們探索有效解決科學或經濟利益學習問題的機器設計,通過數學分析或計算實驗評估設計。我們探索的方法稱為強化學習,比其他機器學習方法更注重於互動式目標學習。

1.1 強化學習

​ 強化學習是學習怎麼做 — 如何將情境對映到行為 — 最大化數字獎勵訊號。 學習者是不會被告知要採取什麼行動的,而是必須通過嘗試從而發現哪些行為會產生最大的回報。 在大多數有趣和挑戰性的案例中,行動不僅可以影響直接獎勵,還可以影響下一個情況,並通過這些影響獲得所有後續獎勵。 這兩個特點 — 試錯法搜尋和延遲獎勵 — 而這兩個特點便是強化學習最重要的東西。

​ 強化學習與許多名稱以“ing”結尾的主題一樣,例如機器學習(machine learning)和登山(mountaineering,),同時是一個問題,一類解決問題的解決方法,以及研究這些問題及其解決方法的領域。 為所有三件事情使用單一名稱是方便的,但同時必須保持三者在概念上的分離。 特別是,問題和解決方法之間的區別在強化學習中非常重要;沒有做出這種區分是許多混亂的根源!

​ 我們用動態系統理論的思想來具體地研究強化學習問題,具體地說,是不完全已知的馬爾可夫決策過程的最大化方法(the optimal control of incompletely-known Markov decision processes)。而具體的細節必須等到第3章再詳細講解,但基本思想是找到智慧體在時間和環境互動作用下實現目標的實際問題的最重要的方面。智慧體( learning agent)必須能夠在一定程度上感知其環境的狀態,並且可以通過行動影響這些狀態。智慧體必須有與環境狀況有關的一個或多個目標。馬爾可夫的決策過程(Markov decision processes)傾向於只包括—感知、動作、目標

—這三個部分的最簡形式且不忽視任一方面。任何適合解決此類問題的方法,我們都認為是一種強化學習方法。

三者之間的關係

強化學習不同於有監督學習。有監督學習是目前機器學習領域中研究最多的一種學習方式,它從知識淵博的教練所提供的有標記的訓練集中學習。每一個例子都由一個情景和系統應採取的正確行動(標籤給出)組成,它通常能標識該情況所屬類別。這種學習的目的是讓系統推斷或概括它應有的反饋機制,使它可以對未知樣本作出正確迴應。這是一種重要的學習方式,但它還不足以從互動中學習。在互動問題中,找到期待的既正確又典型的例子通常都是不切實際的。在一個未知的領域,如果我們要使收益最大化,智慧體必須能夠從自己的經驗中學習。

強化學習也不同於機器學習者所說的無監督學習,無監督學習通常是尋找未標記資料集合中隱藏的結構。術語監督學習和無監督學習似乎可以囊括機器學習的全部模式(paradigms),但他們沒有。雖然有人可能會認為強化學習是一種無監督學習,因為它不依賴於帶標記樣本,強化學習正試圖最大化收益訊號,而不是試圖尋找隱藏的結構。一個代理的經驗中如果能具有被發現的結構(Uncovering structure)對強化學習肯定是有益的,但其本身並沒有解決強化學習要最大化收益訊號的問題。因此,我們認為強化學習是機器學習的第三種模式,除此之外還有監督學習和無監督學習,也許還有其他模式。

​ 在強化學習中出現了其他型別的學習中未出現的挑戰——如何權衡探索與開發之間的關係。為了獲得大量的收益,強化學習代理必須傾向於過去已經嘗試過並且能夠有效獲益的行動(a reinforcement learning agent must prefer actions that it has tried in the past and found to be effective in producing reward)。但是要發現這樣的行為,它必須嘗試它以前沒有選擇的行為。智慧體必須充分利用它既有經驗以獲得收益,但它也必須探索,以便在未來做出更好的行動選擇。進退兩難的是,無論是專一探索還是開發,都難以避免失敗。代理人必須嘗試各種各樣的行動,逐步地選擇那些看起來最好的行動。在一個隨機任務上,每一個動作必須經過多次嘗試才能得到可靠的預期收益。探索開發困境(exploration–exploitation dilemma)幾十年來一直受到數學家們的深入研究,但仍未解決。現在,我們只是注意到,在監督和無監督的學習中,至少在最純粹的形式中,完全平衡探索和開發的專案(issue)尚未出現。

​ 強化學習的另一個關鍵特徵是,它明確地考慮了目標導向代理與不確定的環境相互作用的整個問題。這與許多考慮子問題而沒有解決它們如何融入更大的圖景的方法相反。例如,我們已經提到過很多機器學習研究關注的是有監督學習而沒有明確說明這種能力最終如何有用。其他研究人員已經提出了具有一般性目標的理論,但沒有考慮在實時決策中規劃的作用,或規劃所需的預測模型來自何處的問題。儘管這些方法產生了許多有用的結果,但它們一個重要的限制在於過於關注孤立子問題。

​ 強化學習採取相反的策略,它具有一個完整的、互動式的、尋求目標的代理。所有強化學習代理都有明確的目標,能夠感知環境的各個方面,並可以選擇影響其環境的行為。此外,通常從一開始就假定代理必須得操作,儘管它面臨的環境有很大的不確定性。當強化學習涉及到規劃時,它必須解決計劃和實時行動選擇之間的相互作用,以及如何獲得環境模型和改進環境模型的問題。當強化學習涉及到有監督學習時,它要確定決定哪些能力是關鍵的,哪些是不重要的原因( it does so for specific reasons that determine which capabilities are critical and which are not)。為了使學習研究取得進展,必須對重要子問題進行隔離和研究,但它們應該是在完全、互動式、尋求目標的代理中有明確功能的子問題,即使不能體現所有完整的細節。

​ 一個完整的,互動式的,目標導向的代理,並不總是意味著像是一個完整的有機體或機器人。這裡有許多明顯的例子,但是一個完整的、互動式的、尋求目標的代理也可以是更大行為系統的一個組成部分。在這種情況下,代理直接與較大系統的其餘部分互動,並間接與較大的系統環境互動。一個簡單的例子是一個代理,監控機器人電池的充電水平,並將命令傳送到機器人的控制架構。這個代理的環境是機器人的其餘部分和機器人的環境。人們的眼光應超越代理及其環境最明顯的例子,才能理解強化學習框架的一般性。

​ 強化學習最令人興奮的方面之一是它與其他工程和科學學科的實質性和富有成效的互動。強化學習是人工智慧和機器學習幾十年來的一個趨勢,它與統計學、最優化和其他數學學科更緊密地結合在一起。例如,某些強化學習學習引數的能力解決了運籌學與控制論中經典的“維數災難(curse of dimensionality)”。更為明顯的是,強化學習也與心理學和神經科學有著緊密的聯絡,兩者都有巨大的益處。在機器學習的所有形式中,強化學習最接近於人類和其他動物所做的學習,而強化學習的許多核心演算法最初是由生物學習系統啟發的。強化學習也既通過動物學習的心理模型返回更符合經驗資料的結果,並且通過一個有影響力的大腦收益系統模型反饋。本書的正文延展了強化學習涉及工程學與人工智慧,和心理學與神經科學有關的概念,分別在第14章和第15章中總結。

​ 最後,強化學習也是人工智慧向更簡單的一般原則發展的一個大趨勢中的一部分。自從20世紀60年代後期以來,許多人工智慧研究人員推測沒有一般的原則需要發現,而智慧則是由於擁有大量特殊用途技巧,程式和啟發式技術。有人說,如果我們能夠在一臺機器上獲得足夠的相關事實,例如一百萬或十億,那麼它就會變得聰明起來。基於一般原理的方法,如搜尋或學習,被稱為“弱方法”,而基於特定知識的方法被稱為“強方法”。這種觀點在今天仍然很普遍,但並不佔優勢。從我們的觀點來看,這只是一個不成熟的過程:尋找一般原則的努力太少,以至於沒有結論。現代人工智慧現在包括許多研究,尋找學習,搜尋和決策的一般原則,並嘗試納入大量的領域知識。目前尚不清楚擺的擺動距離有多遠,但強化學習研究無疑是擺脫人工智慧更簡單,更少一般原則的一部分