1. 程式人生 > >David Silver強化學習課程筆記(一)

David Silver強化學習課程筆記(一)

        大家好,我是微念。

        國慶這些天大致學習了一下David Silver的強化學習課程,感覺挺受用的,大家可以去百度雲盤(無字幕版本)下載視訊,或者去B站搜尋觀看(有字幕版本),課程課件下載地址為David Silver課程課件

        下面將我學習這門課程視訊的一些筆記記錄下來,便於以後檢視。

第一課:強化學習簡介

        1.強化學習的特徵

       強化學習與其它機器學習正規化有什麼不同呢?

       1)沒有監督,僅僅只有一個獎勵訊號,或者說,不直接判定某個狀態或動作的好壞,而是給出一個獎勵;

       2)沒有即時的反饋,或者說,反饋是有延遲的。比如圍棋,我們當前的落子並不會直接被賦予獎勵,而是整盤棋下完之後才有一個反饋(+1表示贏,-1表示輸);

       3)資料是序列化的,資料與資料之間是有關的,而不是i.i.d的;

       4)智慧體的行為將影響後續的資料,比如在圍棋中,我們當前的落子將會影響棋局的走向。

        2.獎勵

        關於獎勵的具體定義就不詳述了,不過需要注意獎勵(reward)和回報(return)是不一樣的,回報是累積獎勵。

        此外,課程中給出了獎勵假說(強化學習是建立在該假說上的):

        所有的目標都能夠被表述為期望累積獎勵的最大化。

        All goals can be described by the maximisation of expected cumulative reward.

        3.智慧體與環境

        課程中給出了智慧體與環境的互動示意圖:

       

        這裡值得注意的是,t是在env. step中進行增量操作的。比方說,我們的智慧體處在時間步t,此時執行了某個動作a,環境在受到該動作影響之後,產生獎勵r,因為獎勵的給出是需要時間的,因此該獎勵時間步為t+1。

        4.狀態

        history和state是不一樣的,所謂history,指的是由observations、actions、rewards所組成的序列,而state則是history的函式,具體如下:

        1)history:

       

        2)state:

        此外,視訊中還提到了三個狀態概念:environment state、agent state、information state(也叫作 Markov state)。其中environment state表示環境用於選擇下一個observation/reward的資料;agent state表示智慧體用於選擇下一個action的任何資訊;而information state則包含history中所有有用的資訊。

        下面以小鼠例子對agent state進行理解:

        上面有說到agent state表示智慧體用於選擇下一action的任何資訊,或者換句話說,它是RL演算法所使用的資訊。因此對於上面三個問題,答案分別是:1)電擊,2)乳酪,3)無法確定。

        5.RL智慧體的分類

        1)基於值函式(Value Based)-->不需要顯式的策略,只需要max(V);

        2)基於策略(Policy Based)-->直接由state得到動作;

        3)AC(Actor Critic)-->其中actor即policy,critic即value function。

        其中AC演算法我們可以從命名中看出其想法,也就是策略就好比一個演員,選擇某一個動作,而值函式則類似於一個評論家,對演員的各種動作進行評分。即值函式將引導策略朝著獎勵高的方向進行更新。

        6.學習與規劃

        學習(Learning)和規劃(Planning)是sequential decision making中的兩個基本問題,這兩個問題分別如下:

        1)Reinforcement Learning:

                a)智慧體本身並不知道環境的相關資訊;

                b)智慧體與環境進行互動,從而獲取環境的相關資訊,比如獎勵;

                c)智慧體通過所得到的資訊對策略進行改進。

        2)Planning:

                a)環境的模型M是知道的,模型包括transition和reward,transition是在某個狀態s下執行動作a,轉移到狀態s'的概率分佈,而reward是在某個狀態s下執行動作a所得到的獎勵,或者在某個狀態s下的獎勵;

                b)智慧體利用M進行計算,並不需要實質性地與環境互動,就好比自己在腦子裡想,我下一步走這裡,然後這樣走,之後我能得到多少獎勵;

                c)智慧體對策略進行改進。

        總的來說,learning就是在實踐中學習,而planning則是在model中模擬。

        7.預測與控制

        1)預測:給定某個策略,估計該策略將能得到多少獎勵;

        2)控制:找到一個最優的策略。

        下面舉個Gridworld的例子進行學習:

        1)預測:

        該例子中,我們使用的是一個均勻隨機策略,也即在某一個狀態s處,選擇向四個方向移動的概率均為0.25,然後我們對給出的兩個互動樣本(A-->A',B-->B')進行學習,利用迭代的方法求出了均勻隨機策略對應的狀態值函式表。

        2)控制:

        與預測的例子一樣,同樣的環境以及互動所得樣本,我們並不滿足於對一個均勻隨機策略進行估計,而是以某一個初始化策略作為初值(e.g.均勻隨機策略),迭代更新狀態值函式與策略,最終得到最優策略,這才是我們所謂的“控制”。

        不知道怎麼排版的,格式有點亂,請見諒......

        如有不當之處,請指正,謝謝。大笑

相關推薦

David Silver強化學習課程筆記

        大家好,我是微念。         國慶這些天大致學習了一下David Silver的強化學習課程,感覺挺受用的,大家可以去百度雲盤(無字幕版本)下載視訊,或者去B站搜尋觀看(有字幕版本),課程課件下載地址為David Silver課程課件。       

David Silver強化學習課程筆記

第五課:模型無關的控制         本文主要介紹模型無關的控制,包括同策略方法(On-Policy,也譯作“在策略”)和異策略(Off-Policy,也譯作“離策略”)方法,由於是模型無關,因此本文聊的是學習(learning),而不是規劃(planning)。   

David Silver強化學習課程筆記

第三課:動態規劃        課程標題本來是“Planning by Dynamic Programming”,應該翻譯為”利用動態規劃方法進行規劃“,但是感覺有點長,所以就使用”動態規劃“作為標題,大家理解就好......        先說下這節課講的主要內容,主要有:

David Silver強化學習課程筆記

第八課(下):基於Simulation的搜尋方法         在《第八課(上):學習與規劃的結合》中,我們講到了Model-Based RL方法,在該方法中,我們首先擬合得到一個模型,然後可以利用各種規劃方法進行規劃,或者,可以引申出Sample-Based Plann

David Silver強化學習公開課:馬爾科夫決策過程

在強化學習中,馬爾科夫決策過程(Markov decision process, MDP)是對完全可觀測的環境進行描述的,也就是說觀測到的狀態內容完整地決定了決策的需要的特徵。幾乎所有的強化學習問題都可以轉化為MDP。本講是理解強化學習問題的理論基礎。 馬爾科夫過程 M

Elam的吳恩達深度學習課程筆記

記憶力是真的差,看過的東西要是一直不用的話就會馬上忘記,於是乎有了寫部落格把學過的東西儲存下來,大概就是所謂的集鞏固,分享,後期查閱與一身的思想吧,下面開始正題 深度學習概論 什麼是神經網路 什麼是神經網路呢,我們就以房價預測為例子來描述一個最簡單的神經網路模型。   假設有6間

David Silver強化學習公開課:不基於模型的預測

簡介 Introduction 通過先前的講解,我們明白瞭如何從理論上解決一個已知的MDP:通過動態規劃來評估一個給定的策略,並且得到最優價值函式,根據最優價值函式來確定最優策略;也可以直接進行不基於任何策略的狀態價值迭代得到最優價值函式和最優策略。 從本講開始將花連續兩

斯坦福深度學習課程筆記

影象分類 ppt 1 資料驅動方法 人眼和計算機看到的圖片不同,計算機看到的圖片是由很多代表畫素點的數字表示的陣列,所以人眼和計算機的視覺識別存在著Semantic Gap(語義鴻溝)。 同時,讓計算機能夠有效地識別圖片中的物體之前,還存在很多挑戰:比如 一些

斯坦福CS224N_自然語言處理NLP深度學習DL課程筆記

Lecture 1: Introduction pdf 本節課是對自然語言處理的定義介紹和應用介紹,還順帶說了NLP的難點; 本節課使用深度學習作為NLP的主要處理工具。 傳統的機器學習技術,需要人為地去做特徵工程,將這些的特徵餵給機器學期演算法;然後機器學習演

Andrew Ng機器學習課程筆記之神經網絡

sca 優化 介紹 www 之間 output 現在 利用 href Andrew Ng機器學習課程筆記(四)之神經網絡 版權聲明:本文為博主原創文章,轉載請指明轉載地址 http://www.cnblogs.com/fydeblog/p/7365730.html 前言

《Python 機器學習筆記

環境 成功 設定 相關 reward 能力 學習 一定的 env 賦予計算機學習數據的能力涵蓋:1.機器學習的一般概念2.機器學習方法的三種類型和基本術語3.成功構建機器學習系統所需的模塊機器學習的三種不同方法1.監督學習2.無監督學習3.強化學習通過監督學習對未來事件進行

Shiro入門視頻課程——筆記

安全管理 count 退出 classpath 文件 技術分享 size 三種 tro 視頻課程鏈接:http://edu.51cto.com/course/14122.html Shiro權限框架,主講:湯小洋 一、Shiro簡介 1. 什麽是Shiro ? Apac

【2018版】Spring4.3入門視頻課程——筆記

周期 輔助 short 簡介 enc long utils pre float 視頻課程鏈接:http://edu.51cto.com/course/13056.html Spring,主講:湯小洋 一、Spring簡介 1. Spring是什麽? ? Spring是一

Hibernate框架技術視頻課程——筆記

course flush cte found cti 關閉session localhost trace follow 視頻課程鏈接:http://edu.51cto.com/course/10747.html Hibernate框架技術,主講:湯小洋 一、Hibernat

PHP、MySQL和JavaScript學習手冊筆記

本地 後端 驗證 css 考題 php 語言 html oot 第一章思考題1.創建一個完全動態網頁至少需要哪四大要素?服務器 動態語言php js 數據庫2.html代表超文本xxx3.因為sql分支用sql語言4.php用在服務器端 處理後端任務 js用在客戶端 本地驗

tensorflow課程筆記

  MOOC上的tensorflow課程筆記 import tensorflow as tf """ a = tf.constant([1.0,2.0]) #一行兩列的張量 b = tf.constant([3.0,4.0]) #一行兩列的張量 result = a + b

機器學習速成筆記: 主要術語

機器學習研究如何通過計算的方式,利用資料集來改善系統自身的效能。 而深度學習是屬於機器學習的一個子分支。 機器學習的通用的兩種型別: 無監督學習:事先並沒有任務訓練資料的樣本,需要直接對資料進行建模型。 監督學習:通過已經有的訓練樣本(即輸入資訊和對應的輸出)來訓練,得到一個

李航—統計學習方法筆記

什麼是獨立同分布? 百度: 在概率統計理論中,指隨機過程中,任何時刻的取值都為隨機變數,如果這些隨機變數服從同一分佈,並且互相獨立,那麼這些隨機變數是獨立同分布。如果隨機變數X1和X2獨立,是指X1的取值不影響X2的取值,X2的取值也不影響X1的取值且隨機變數X1和X2服從同一分佈,這意味著X1和X2具有

機器學習實戰筆記- 使用SciKit-Learn做回歸分析

err 皮爾遜 練習 using flow 相關 一個數 ocean 針對 一、簡介 這次學習的書籍主要是Hands-on Machine Learning with Scikit-Learn and TensorFlow(豆瓣:https://book.douban.co

學習Coq筆記:Windows下安裝Coq

正在學習形式語義這門課,需要使用到Coq作為輔助語言進行描述。因此,需要在熟悉Coq語言。然而,直接百度Coq會出現很多奇奇怪怪的結果(Google更準確,但是我在載入自定義庫遇到的問題沒有直接找到答案),因此特別在這裡做個筆記,以備後來查驗。 Coq的核心下載地址:h