強化學習(二):Policy Gradient理解
上一章已經介紹了基於值函式方法的簡單的DQN的理解,而在深度強化學習領域另一種基於端到端思路的策略梯度(Policy Gradient)演算法相較而言可能取得更好的結果,也更加方便理解。於是,本章我們就從有監督學習和強化學習的區別開始講起,探討策略梯度思想指導下的強化學習理念的簡單理解。
在之前的章節:強化學習(一):簡單的DQN理解中,我們已經瞭解到使用值函式的方法進行強化學習的本質是需要通過獎勵的反饋來訓練模型。其中,模型的輸入為當前的狀態,模型的輸出則為長期的反饋,而我們實際上是根據反饋值的大小來進行動作的選擇。那麼根據這個思想,自然而然的我們就會產生一個疑問:我們為什麼要通過先使用深度網路求取反饋再根據反饋來選擇動作,而不是直接使用深度網路來直接的選擇動作?
如果要實現從當前狀態到應當採取的動作的預測,那麼我們就需要知道在這個過程中目標函式是什麼,我們採取什麼樣的方式來尋找這個策略。此時,我們不免想到與此有著一定相似度的監督學習,下面我們就來對比一下監督學習和強化學習在處理這個問題上的異同。
1.監督學習&強化學習的梯度策略
上一章已經說明:同每一個數據都有明確標籤的有監督學習相比,強化學習針對擁有稀疏標籤的資料,根據少量的動作對錯評價也可以學習到正確的行為。那麼這種方式的學習本質上是怎樣產生的呢?下面就用兩個圖來分別表示在有監督學習和強化中是如何通過梯度來修改引數權重的(見圖一、圖二)。
圖一 有監督學習梯度修改策略圖
圖二 強化學習中梯度修改策略圖
其中,我們對“前提”進行一些解釋:在該種前提下,如果我們通過進行1000局的遊戲來訓練我們的強化學習模型,假設我們總共贏來100局輸了900局,那麼我們將對於贏的100局認為在這些局中對於每一個當前遊戲狀態所採取的動作都是好的,讓這所有的動作對我們的決策網路進行正向的更新。而我們對於輸掉的900局則認為在這些局中每一個當前遊戲狀態所採取的動作都是不好的,讓這所有的動作對我們的網路進行負向的更新(見圖三)
圖三 網路正\負向更新示意圖
在瞭解了基於策略梯度的強化學習基本概念知識之後,我們來以Monte-Carlo Policy Gradient演算法作為例子,詳細的闡述一下基於策略梯度的強化學習模型的訓練過程。
2.Monte-Carlo Policy Gradient
下面給出簡單的Monte-Carlo Policy Gradient方法的訓練流程圖,大家可以與之前簡單的DQN演算法的流程圖做個對比,就能清晰的瞭解到上述所講的內容在構建Policy Gradient演算法時具體是如何實現的,這樣的實現模式與基於值函式的方法又有什麼樣本質的區別。(見圖四)
圖四 Monte-Carlo Policy Gradient演算法訓練流程圖
相關推薦
強化學習(二):Policy Gradient理解
上一章已經介紹了基於值函式方法的簡單的DQN的理解,而在深度強化學習領域另一種基於端到端思路的策略梯度(Policy Gradient)演算法相較而言可能取得更好的結果,也更加方便理解。於是,本章我們就從有監督學習和強化學習的區別開始講起,探討策略梯度思想指導下的強化學習理念
強化學習(二):馬爾可夫決策過程
最優 最大值 公式 des 版本 ams 強化學習 有獎 RoCE Finite Markov Decision Process 馬爾可夫決策過程(MDP)是對連續決策進行建模,當前的動作不僅對當前產生影響,而且還會對將來的的情況產生影響,如果從獎勵的角度,即MDP不僅影響
Unity3D學習(二):使用JSON進行對象數據的存儲讀取
進行 存儲路徑 新的 del jpg cati spa 全局變量 .net 前言 前段時間完成了自己的小遊戲Konster的制作,今天重新又看了下代碼。原先對關卡解鎖數據的存儲時用了Unity自帶的PlayerPref(字典式存儲數據)。 讀取關卡數據的代碼: voi
Android NDK學習(二):編譯腳本語法Android.mk和Application.mk
GC make files 文件的 包括 一次 opengl aries 基本語法 一、Android.mk Android.mk分為一下幾部分: LOCAL_PATH:= $(call my-dir), 返回當前文件在系統中的路徑,Android.mk文件開始時必須定義
linux入門學習(二):linux圖形化界面與命令行界面之間的切換,以及一些系統命令
之間 linu 鏡像 pan ctr 安裝 linux -- linux鏡像 一、linux圖形化界面與命令行界面之間的切換 註意:前提是你安裝的 linux鏡像ios 必須具備圖形化功能。 1) 圖形化界面--->命令行界面: ctrl + alt +
PE檔案格式學習(二):總體結構
1.概述 PE檔案分為幾個部分,分別是: DOS頭 DOS Stub NT頭(PE頭) 檔案頭 可選頭 區段頭(一個數組,每個元素都是一個結構體,稱之為IMAGE_SECTION_HEADER) .text .rdata .data .rs
深度強化學習(一): Deep Q Network(DQN)
原文:https://blog.csdn.net/LagrangeSK/article/details/80321265 一、背景 DeepMind2013年的論文《Playing Atari with Deep Reinforcement Learning》指
TensorFlow學習(二):tf.random_normal() 和 tf.random_unform()
1. tf.random_normal() #正態分佈 tf.random_normal( shape, mean=0.0, stddev=1.0, dtype=tf.float32, seed=None, name=None ) Args:
網頁開發學習(二):表格
一、表格 表格所涉及的標籤有“表格標籤”,“行標籤”和“單元格標籤”。 < table >…< /table >:表格標籤,表示一個表格的開始和結束。 < tr >…< /tr >:行標籤,成對出現,包含在表格標籤之間,有
Scrapy學習(二):Xpath使用與並行化操作
一、xpath介紹 XPath 是一門在 XML 文件中查詢資訊的語言。XPath 用於在 XML 文件中通過元素和屬性進行導航。 XPath 使用路徑表示式在 XML 文件中進行導航 XPath 包含一個標準函式庫 XPath 是 XSLT 中的主要元素 XPat
JAVA學習(二):第二章 基本程式設計
第二章 基本程式設計 (1)變數:變數儘量選擇有描述性的名字; (2)實數用浮點型數表示; (3)加號(+)的意義:加法與字串的連線; (4)從控制檯讀取輸入: import Java.util.*; public class&
MFC學習(二):訊息對映
1. 訊息對映表的組成 巨集DECLARE_MESSAGE_MAP,用在類的宣告中,用來宣告訊息對映表。 巨集BEGIN_MESSAGE_MAP,在使用類宣告外,用來定義連結節點和填寫連結串列節點中的資料,其格式為BEGIN_MESSAGE_MAP(類名稱, 基類名稱)。 巨集ON_XXXX,
rabbitmq學習(二):rabbitmq(消息隊列)的作用以及rabbitmq之直連交換機
tde pub 假設 代碼 持久化 tor 安裝 live 服務 前言 上篇介紹了AMQP的基本概念,組成及其與rabbitmq的關系。了解了這些東西後,下面我們開始學習rabbitmq(消息隊列)的作用以及用java代碼和rabbitmq通訊進行消息發布和接收。因為消
webpack學習(二):配置載入css, 圖片, 字型, 資料(JSON, XML, CSV)等資原始檔
demo地址: https://github.com/Lkkkkkkg/webpack-demo webpack初步配置參照 https://blog.csdn.net/qq593249106/article/details/84892069 配置載入css檔案 webpack 視所
機器學習(二):logistic迴歸
基礎知識: logistic迴歸其實是一個分類問題,可以定義如下:c為2時是一個兩類分類問題. 當分佈為伯努利分佈時: logistic迴歸和線性迴歸類似,不同的條件概率是不同的,方程如下: 其中:sigmoid函式定義如下: 使用logist
zookeeper入門學習(二):原理詳解
一 .Zookeeper功能簡介 ZooKeeper 是一個開源的分散式協調服務,由雅虎建立,是 Google Chubby 的開源實現。 分散式應用程式可以基於 ZooKeeper 實現諸如資料釋出/訂閱、負載均衡、命名服務、分散式協 調/通知
機器學習(二):機器學習中的幾個基本概念
前言 對於《統計學習方法》中遇到的一些問題,以及機器學習中的一些自己沒有理解透徹的問題,希望通過梳理總結能夠有更深入的理解。 在上一章最開始我們已經概括了統計學習方法的三要素,即模型、策略、演算法,這裡就不再詳述了。 本文討論總結了如下幾個概念:損失函式與風險
RabbitMq的學習(二):Java建立簡單的生產者,消費者
官方文件說的很詳細,但是再詳細也要動手操作一番,畢竟動手操作的時候,才會給自己挖坑。 使用環境: RabbitMq版本:3.7.8 jdk環境:1.8 一、引入maven架包 <dependency> <groupId>com.r
【轉】強化學習(二)
原文地址:https://www.hhyz.me/2018/08/13/2018-08-13-RL2/ 強化學習(RL,基於MDP)的求解policy的方式一般分為三種: Value <—critic Poli
vue學習(二):元件化開發
首先看看vuedemo的入口函式main.js// The Vue build version to load with the `import` command // (runtime-only or standalone) has been set in webpack.