日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

深度强化学习-稀疏奖励及模仿学习-笔记(七)

發布時間:2024/3/24 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 深度强化学习-稀疏奖励及模仿学习-笔记(七) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

稀疏獎勵及模仿學習

  • 稀疏獎勵 Sparse Reward
    • Reward Shaping
      • Curiosity
    • Curriculum Learning
      • Reverse Curriculum Generation
    • Hierarchical RL(分層強化學習)
  • 模仿學習 Imitation learning
    • Behavior Cloning
      • Dataset Aggregation:
    • Inverse RL
    • Third Person lmitation Learning

稀疏獎勵 Sparse Reward

討論的問題是:在agent學習的過程中,reward很少或者很長時間才會有一個reward,那要怎么辦呢?

Reward Shaping

環境有一個固定的 reward(真正的 reward),但是為了讓 agent 學出來的結果是我們要的樣子而刻意地設計了一些 reward 來引導 agent。

Curiosity

  • 普通的Reward,輸入是狀態st和動作at,得到這一步的reward是rt,整個回合下來的R就是每一步的r之和;
  • ICM的Reward,輸入是狀態st、動作at和下一步的狀態st+1,得到這一步的reward是rit。加上ICM的整個回合的R就是每一步的r和ri之和。
    在Curiosity機制下,我們仍然希望R越大越好。
  • rit要怎么計算?在 ICM 里面,有一個 network,會根據at和st預測下一步的狀態^st+1,如果 預測值和真值之間的差距越大,rit越大 ,這個意思就是希望agent多做探索。

    但是有一些狀態很難預測但是不重要。

    添加Feature Extractor Module是為了提取st和st+1當中重要的信息而過濾掉不重要的信息。然后將提取到的重要的信息送到network 2去預測當前狀態會采取的action ^at

Curriculum Learning

這個理念是讓機器能夠按部就班、按照課程表或者規劃來一步步的學習。
Curriculum Learning,就是你要為機器規劃它學習的順序。而 Reverse Curriculum Learning 是從 gold state 去反推,就是說你原來的目標是長這個樣子,我們從目標去反推,所以這個叫做 reverse。

Reverse Curriculum Generation

  • 給定一個目標狀態
  • 找出一些非常接近目標狀態的狀態
  • 從每一個接近的狀態開始跟環境做互動,都可以sample出一條到達目標狀態的軌跡,并且有Reward

  • 接著把 reward 太大或者太小的 case 去掉。如果 reward 很大,代表這個 case 太簡單了,就不用學了,因為機器已經會了;如果 reward 太小,代表這個 case 太難了,依照機器現在的能力學習這個課程太難,它學不會,所以就不要學這個。
  • 需要調整參數,找一些 reward 適中的 case,然后根據這些 reward 適中的 case 去 sample 出更多的 state。

Hierarchical RL(分層強化學習)

分層強化學習是指將一個復雜的強化學習問題分解成多個小的、簡單的子問題,每個子問題都可以單獨用馬爾可夫決策過程來建模。這樣,我們可以將智能體的策略分為高層次策略和低層次策略,高層次策略根據當前狀態決定如何執行低層次策略。這樣,智能體就可以解決一些非常復雜的任務。

模仿學習 Imitation learning

討論的問題是:假設我們連 reward 都沒有,那要怎么辦呢?
雖然沒有辦法給出 reward,但是收集 expert 的 demonstration 是可以做到的。舉例來說,

  • 在自動駕駛汽車里面,雖然你沒有辦法給出自動駕駛汽車的 reward,但你可以收集很多人類開車的紀錄。
  • 在 chat-bot 里面,你可能沒有辦法定義什么叫做好的對話,什么叫做不好的對話。但是收集很多人的對話當作范例,這一件事情也是可行的。

Behavior Cloning

這個方法可以看做是一個監督學習,在這個方法中,actor需要學習在某些特定的state下盡可能像專家一樣行動。然而,專家只能進行有限的采樣,因此需要引入Dataset Aggregation(讓專家處于機器所處的state中)

Dataset Aggregation:

  • 通過行為克隆得到一個 actor π1
  • 使用 π1和環境進行互動
  • 讓專家對觀察對象作標簽 π1
  • 使用新的數據來訓練 π2

Inverse RL

在前面介紹過的RL中,環境和reward是用來生成一個actor的。
但是在IRL中,沒有reward function,而是用一個專家來和環境做互動并學到一個reward function,然后這個reward function才會被用來訓練actor。

Inverse Reinforcement Learning 實際上是怎么做的呢?

首先,我們有一個 expert π^\hat\piπ^,這個 expert 去跟環境互動,給我們很多 τ^1\hat\tau_1τ^1?τ^n\hat\tau_nτ^n?。接下來,有一個actor π\piπ,一開始actor 很爛,它也有 n 場游戲的紀錄.接下來,我們要反推出 reward function。
==?怎么推出 reward function 呢?==原則就是 expert 永遠是最棒的,是先射箭,再畫靶的概念。
我們定一個 reward function,這個 reward function 的原則就是 expert 得到的分數要比 actor 得到的分數高。你有了新的 reward function 以后,就可以套用一般 Reinforcement Learning 的方法去learn 一個actor,這個actor 會針對 reward function 去 maximize 它的 reward。當這個actor已經可以在這個 reward function 得到高分時,我們就改 reward function,仍然讓 expert 可以得到比 actor 更高的分數。然后讓actor繼續去學。
==怎么讓 expert 得到的 reward 大過 actor 呢?==其實在 learning 的時候,reward function 也許就是 neural network。這個 neural network 就是吃一個 τ\tauτ,output 就是應該要給這個 τ\tauτ 多少的分數。 多少的分數。或者說,你假設覺得 input 整個 τ\tauτ 太難了。因為 τ\tauτ 是 s 和 a 的一個很強的 sequence。也許它就是 input 一個 s 和 a 的 pair,然后 output 一個 real number。把整個 sequence,整個 τ\tauτ 會得到的 real number 都加起來就得到 R(τ\tauτ)。在訓練的時候,對于{τ^1,τ^2,...,τ^N}\{\hat\tau_1, \hat\tau_2, ..., \hat\tau_N\}{τ^1?,τ^2?,...,τ^N?},我們希望它output的R越大越好。對于{τ1,τ2,...,τN}\{\tau_1, \tau_2, ..., \tau_N\}{τ1?,τ2?,...,τN?},我們希望它output的R越小越好。
==什么叫做一個最好的 reward function?==最后你 learn 出來的 reward function 應該就是 expert 和 actor 在這個 reward function 都會得到一樣高的分數。

IRL和GAN本質上是一樣的。

Third Person lmitation Learning


它用到了 Domain-Adversarial Training。我們希望今天有一個 extractor,有兩個不同 domain 的image,通過 feature extractor 以后,沒有辦法分辨出它來自哪一個 domain。其實第一人稱視角和第三人稱視角,Imitation Learning 用的技術其實也是一樣的,希望 learn 一個 Feature Extractor,機器在第三人稱的時候跟它在第一人稱的時候看到的視野其實是一樣的,就是把最重要的東西抽出來就好了。
其實 maximum likelihood 在做 sequence generation 的時候,它對應到 imitation learning 里面就是 behavior cloning。其實 Sequence GAN 就是對應到 Inverse Reinforcement Learning。
?

總結

以上是生活随笔為你收集整理的深度强化学习-稀疏奖励及模仿学习-笔记(七)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。