回覆列表
  • 1 # 北航秦曾昌

    強化學習屬於機器學習一種,它的本質是解決連續決策的問題。其中包含四個部分,分別是代理人、環境狀態、動作、獎勵。因此,強化學習雖然有不同的演算法和應用,但是萬變不離其宗,都必須確定出來這個四個部分。

    最讓人熟知的莫過於下圍棋的AlphaGo了。那麼在這種場景中,代理人就是下圍棋的機器人,狀態是整個棋盤的棋子佈局,動作則是下棋的位置,獎勵為是否最終贏得了比賽。

    1)商品推薦系統和搜尋排序中的應用,

    其目的就要讓搜尋引擎能夠對不同特點的使用者作出針對性的排序,並以此帶動搜尋引導的成交提升,是一個極具挑戰性的問題。在這個設定中,可以把搜尋引擎看作代理人、把使用者看做環境,則商品的搜尋問題可以被視為典型的順序決策問題。而代理人每一次排序策略的選擇可以看成一次試錯,把使用者的反饋和點選成交等作為從環境獲得的獎賞。在這種反覆不斷地試錯過程中,代理人將逐步學習到最優的排序策略,最大化累計獎賞。

    2)機器人控制應用

    機器人控制同樣也是一個連續時間決策問題。需要在不同的時間節點,以及不同的狀態下做出相應的決策,即控制策略。現在已經將強化學習應用於用機械臂抓取特定物體。其中動作是具有多個自由度的機械臂運動方向和大小,狀態則是當前機械臂所處的位置,而獎勵則設定為成功抓取到指定的物體。

    3)自然語言處理和智慧對話方面的應用

    自然語言的對話由於其本身就附帶有時序資訊,因此可以利用強化學習來解決智慧問答場景中的同顧客交流為問題。目前越來越多地廠商推出了使用自然語言對話介面與計算機進行互動的剷平。比如亞馬遜的 Alexa、蘋果的 Siri、小米的小愛同學 和微軟的 Cortana(小娜)。這些產品已經在為數百萬使用者提供服務了。

  • 2 # AI中國

    如果你還沒有閱讀過強化學習的入門書籍,請檢視此處進行一下了解。

    (https://recast.ai/blog/the-future-with-reinforcement-learning-part-1/)

    這篇文章將為你提供有關強化學習的關鍵概念。然後,你將對不同型別的機器學習有一個比較全面的理解。

    強化學習與其他機器學習型別的比較

    機器學習三大類的高階細分

    你可能已經聽說過其他型別的機器學習,例如,監督學習、無監督學習等。瞭解強化學習(RL)與它們的不同之處是掌握機器學習環境的好方法。

    (1)監督學習

    最容易掌握的機器學習型別是監督學習。監督學習是採用標籤的學習。例如影象分類就是一種監督學習。採用一個基於標籤的影象演算法,系統可以將影象分類為貓或狗。該演算法透過觀察訓練集來學習,然後可以正確地推斷出未知影象的主題。

    監督學習問題的另一個例子就是迴歸問題。在迴歸問題中,你需要獲取一組引數,並根據這些引數估計實際的連續值。例如,你可以獲取有關房屋的資訊(房間數量、面積,窗戶數量等)並輸出價格。我們知道很多房子的價格,並且可以將這些標籤的例子提供給演算法。然後,當你向系統提供一個新房資訊時,它可以自行估算出價格。這些問題是易於監督的學習問題的框架。

    (2)無監督學習

    使用無監督學習,我們可以找到資料中的底層模式

    另一方面,我們還可以用無監督學習:沒有標籤的學習。一個很好的例子是客戶購買資料,並將客戶分組為具有類似購買模式的類別。你的演算法會進行分組,可以向特定類別的人推薦產品。我們不會告訴演算法標籤或類別名稱是什麼,我們只需提交資料,它就會根據資料中的模式建立組。無監督學習也廣泛用於大量複雜資料的視覺化。它使人們更容易看到一個影象中的所有資訊。

    強化學習

    強化學習經常被描述為介於監督學習和無監督學習之間的學習型別。具有時間延遲標籤,當它學習在環境中互動時,賦予演算法。其演算法基於如何表達學習問題來學習。這正是強化學習在實時決策、影片遊戲人工智慧、機器人導航和其他複雜任務等方面表現優異的原因。關鍵是讓系統能夠根據當前的環境狀態瞭解哪些決策是好的,哪些決定是壞的。

    應用這些概念

    在以前的文章中,我們介紹了強化學習的基本概念。以下以具體例項的形式對我們迄今為止所涵蓋的內容進行了一些總結:

    我們假設把一隻老鼠放在迷宮中,這隻老鼠將成為我們的代理。首先,我們將檢查這個代理需要的東西:

    •目標:老鼠的目標是最大限度地獲得乳酪的數量。

    •操作:老鼠可以在四個基本方向中隨意行動。

    •感官:老鼠可以觀察它所處的環境狀態(入口、沒有乳酪、小乳酪、兩個小乳酪、大乳酪和死亡)。對於這個簡單示例來說,只有對環境狀態進行一下簡單瞭解就足夠了。

    老鼠探索乳酪簡單示例

    此外,讓我們看一下問題的子元素,看看它們是如何衡量的:

    •策略:在任何給定的狀態下,老鼠採取哪四種行動?

    •獎勵訊號:正面(獲得乳酪,但乳酪有多大?),中立(沒有任何狀態),消極(死亡狀態,已經結束遊戲)。

    •價值函式:這是老鼠即時構建和維護的東西。它可以透過迭代過程或透過迷宮的許多執行進行調整。

    •模型:如果允許老鼠知道其環境的大小,它可以將其模型儲存在其記憶體中。我們可以將這個世界表示為2D網格(陣列),允許老鼠在給定網格方格中填寫是否存在正值、負值或無獎勵,並觀察實際環境。

    讓我們剖析代理可能採用的一個基本的貪婪政策:

    其中一項政策是Q表戰略。Q表代表"質量表"。它是一個行動和狀態表,以及與它們相關的獎勵。我們可以採用一種基本策略,即當遇到一個狀態時,選擇能給代理帶來最大回報的行動。當代理不知道什麼會給予最大回報時,可以隨機選擇一個行動。

    基本的Q表,其中行是潛在的狀態,列是代理可以採取的行動

    在開始時,Q表是空的。老鼠什麼都不知道,它將隨機選擇其策略,例如可以向右移動並找到少量的乳酪,這很好,它會收到獎勵訊號!Q表會相應更新,老鼠會繼續選擇行動,直到它耗盡所有可能性或已經死亡。

    老鼠得到一些乳酪

    更新Q表獲得收到的獎勵

    現在我們已經視覺化這些元件如何協同工作,讓我們深入瞭解希望解決的任何強化學習問題所需的一些事項。

    用任務表達強化學習

    檢視強化學習應用程式的主要元件之一是如何構建任務。這些通常分為兩類:情節性任務或連續任務。

    1.情節性任務

    情節性任務具有不同的開始和結束狀態。我們可以儲存這些"情節",並對它們進行"離線"訓練。一個很好的例子就是我們之前文章所闡述的馬里奧遊戲。

    2.連續任務

    連續任務沒有盡頭。這可能就像一個決策演算法,可以預測某人何時應該買入或賣出股票市場中的股票。這種情況總是在不斷變化,並伴隨著許多環境因素。沒有明確的開始和停止狀態,這將允許剪下情節以進行訓練,因為我們擔心演算法過於接近一小部分時間。股市總是在變化,將其剪下成情節就是忽略它演變的相關連續性。

    什麼時候學習

    時間對於代理如何在任務上執行至關重要。也許代理應該在遊戲的每一個框架中學習,或者代理可以在情節中學習。我們可以採用蒙特卡羅策略在整個學習過程中迴圈,然後在每次迭代時變得更好、更聰明。這些選項有不同的權衡,這取決於代理試圖完成的任務型別是可行或不可行(連續任務可能永遠不會使用蒙特卡羅策略,因為它需要迴圈透過情節進行訓練,而不是甚至存在於一個連續的任務)。

    探索與利用

    當代理探索環境時,很快就會遇到探索與利用權衡的關係。如果代理在早期發現,例如做了一些簡單的事情,將獲得少量的獎勵,它可能會繼續重複簡單的事情,並累積小額獎勵。如果它探索未知世界並試圖找到新情況,它可能會獲得更大的回報。

    從人類的角度來說,這就像去餐廳就餐的問題,你總是去熟悉的餐廳嗎?或者是否喜歡進入未知世界,並探索之前從未嘗試過的卻可能非常棒的地方?

    沒有去過的地方看起來很棒

    如何構建代理的策略將決定它將學習利用何種行為以及何時決定探索。早期探索可能會產生更高的長期回報,但是,過多地關注探索可能導致我們的熟知狀態採取次優行動。這導致獲得的獎勵比我們可能獲得的獎勵少。

    在我看來,探索與利用之間的權衡仍然是一個懸而未決的問題,也是一個特別有趣的研究領域。

    方法

    這為我們提供了一個強化學習應用的另一個重要因素。它是基於價值還是基於策略?

    (1)基於策略的方法

    我們之前已經提到過,代理的策略是如何根據當前的環境狀況決定採取什麼行動。具有基於策略的學習方法的強化學習代理將嘗試學習具有決策結構的複雜策略,該決策結構允許其在任何給定情況下嘗試採取最佳行動。

    (2)基於價值的方法

    另一方面,我們採用基於價值的強化學習應用。價值函式是我們的強化學習演算法將累積的長期獎勵的當前估計。如果我們有基於價值的代理,它將專注於基於該功能的最佳化。這包括專注於學習和更好的長期獎勵估計,以及採取貪婪行動,並在任何給定時間最大化這個函式。在很多方面,我們可以將此視為學習採取行動的隱含貪婪策略的代理。

    在決定強化學習演算法的外觀時,基於價值和基於策略的演算法之間的決策是一個重要的決策。結合這兩種思路的方面稱為行動者-評論家方法。它的特點是跟蹤估計的未來獎勵收入(我們的價值函式)以及學習新的、更復雜的策略,以便我們的代理在更長的時間範圍內獲得更大的獎勵。由於演算法現在可以同時最佳化兩個函式,因此它很快成為一個更難的問題。

    結論

    在以前兩篇文章中,我們介紹了基本術語以及圍繞強化學習問題的一些更復雜的概念。希望透過這篇文章,你可以很好地掌握強化學習的內容以及使用它編寫演算法時的一些注意事項。

    現在,你可能會對強化學習感到非常興奮,也可能想知道如何開始使用強化學習的系統。

  • 3 # 資源索引

    如果技術達到要求,強化學習的應用場景太多了。

    例項

    這幾年提到人工智慧不得不提的就是下圍棋的阿爾法狗和zero,還有波士頓動力狗,其實背後的技術都屬於強化學習。

    比較貼近現實場景

    強化學習主要圍繞著環境env、動作action、獎懲reward、策略policy、智慧體agent等方面進行研究,細想一下,其實現實中很多場景都可以抽象成這麼一個場景,比如工業製作、智慧交通,可以把控制中心視為一個智慧體,不斷實施不同的動作和策略,然後從現實環境中得到獎懲,然後做出相應的改變,此外,強化學習探討的是連續動作空間的技術,而計算機視覺這些技術還是在研究單一的狀態空間,所以在很多方面目前還只能作為一個定製化的輔助工具。

    應用場景

    我覺得涉及控制中樞的應該都可以抽象為強化學習模型,應用領域可以包括智慧交通、機場安檢、工業製作等等。

  • 中秋節和大豐收的關聯?
  • 被水浸泡的屍體的樣子?