天天看點

有監督學習還是離線強化(offline-RL)?有監督學習還是離線強化?

有監督學習還是離線強化?

文章目錄

  • 有監督學習還是離線強化?
    • 前言:
      • 為什麼我的強化學習這麼智障?
    • [Decisions from Data: How Offline Reinforcement Learning Will Change How We Use Machine Learning](https://medium.com/@sergey.levine/decisions-from-data-how-offline-reinforcement-learning-will-change-how-we-use-ml-24d98cb069b0)
    • 深度學習和強化學習的差別
    • offline和online的差別。
    • 總結:

前言:

為什麼我的強化學習這麼智障?

相信不少搞強化的同學,都有一個疑惑,強化到底有什麼好的?

  1. 探索成本高,要麼瞎探索,要麼陷入局部最優
  2. 學習時間長,仿真實驗一天起步,真實實驗就更恐怖了。
  3. 性能離譜,尤其是對于傳統方法能解決的問題,基本上強化學習的上限就是傳統方法的精度。比如抓取實驗,學了好幾天的機械臂,拿一個眼面前的物塊,還顫巍巍的,跟個帕金森似的~
  4. 對随機種子敏感。有些深度學習對超參敏感,還能了解,但是對随機種子敏感是什麼意思?就是說,同樣的超參數,你換個随機種子,對最終性能的影響,可能是天翻地覆。很多工作,會把baseline的随機種子選為較差的一批随機種子,把ours選為較好的,于是整篇工作效果拔群。

就這?就這?就這?

說好的強化學習是通往通用人工智能(AGI)的關鍵呢?

說好的Alphago大敗李世石呢?

說好的Alphastar稱霸星際争霸呢?

為什麼我的強化學習如此智障…

今天我就來看看Sergey Levine在九月份寫的一篇文章,看看用強化學習做決策好,還是用深度學習做預測後,人類決策好?

Decisions from Data: How Offline Reinforcement Learning Will Change How We Use Machine Learning

資料決策:離線強化學習将如何改變我們使用機器學習的方式

(這篇部落格拖好久了,最近也沒心情詳細翻譯了,簡單概述一下這篇文章的主要思想吧,具體内容大家直接看大佬的原文就挺好)

深度學習和強化學習的差別

對于決策任務,深度學習和強化學習的差別:

  1. 深度學習的作用是做預測,提取特征,在給定預測結果的基礎上,專家們可以設計一系列規則,來做決策。但是一般來說,這個決策都類似于if判斷形式的單步決策。很難處理類馬爾科夫決策過程。
  2. 強化學習本身就是處理類馬爾科夫鍊,對于一個任務,它可以考慮多步全局最優,考慮到目前步決策對後期的影響。

    是以針對這個點,我們可以看到,哪些決策任務适合強化學習,哪些任務适合深度學習。

如果你的任務就是單步決策,能夠有清楚明白的門檻值設定,且目前決策對後期結果影響不太明顯,那就用深度學習。

比如在物塊抓取任務中,拍一張圖,檢測出物塊的三維坐标,提供給機械臂,直接調用自帶的movej(pose)函數,抓取完成。

如果是複雜的多步任務,比如推物塊,你找到物塊的坐标還不算,還得想辦法和物塊接觸,讓它随着你的推動,達到指定的位置。這個就不是簡單的if判斷能解決的問題了。你從正面推,和側面推,明顯會導緻物塊移動到不同的位置,複雜的問題,必須要不斷的嘗試才能探索出一個最優政策。

offline和online的差別。

本來強化隻分為off-policy和on-policy兩種,差別在于政策網絡和更新資料是否一緻,off-policy用來更新的資料,可以是其他政策,或者過去政策采集的,on-policy的拿來更新的資料是目前政策采集的。一般來說off-policy可以利用過去的資料,可以有效的提高資料的利用效率。

但是這還不夠!

這個off-policy在用了過去的、其他的資料之後,仍然需要和環境進行互動!

而這個互動需要大量的時間,而且這些資料等智能體學習結束,就銷毀了,實在是浪費。也不利于強化學習的公平對比,很多實驗無法複現,大夥兒的環境稍微有些差別,結果就天差地别。

大佬們想着,為什麼不能直接像深度學習的image-net那樣,整一個海量、完全離線、開源的離線資料集,這樣對于那些沒有仿真環境,沒有真實實驗器材的研究者(比如說機器人,比如說自動駕駛)來說,都可以上手強化學習了。

這裡面有兩個問題:

  1. 有了這些資料,為什麼不用深度學習做決策,為什麼不用模仿學習直接根據state–> action做有監督學習呢?不用深度學習前面已經說了,不适合多步決策。模仿學習,需要專家資料,泛化性差,在高維連續空間中,遇到未知的狀态,一般都處理不了。
  2. 強化學習能勝任嗎?目前的情況并不樂觀。我看過兩篇offline的paper,一篇是真 離線強化學習《An Optimistic Perspective on Offline Reinforcement Learning》閱讀筆記,一篇是上篇文章diss的BCQ,就很離譜。第一篇文章直接說BCQ的那些花裡胡哨的設定沒啥用。好的吧,我們來看看BCQ嘗試解決哪些問題,也是levine大佬重點闡述的問題——
由于Q(s_, a_)的值沒有真實值,隻能通過網絡去拟合,是以如果預測誤差過大,且不能通過 環境互動進行糾正,那麼誤差累計,會導緻最終性能下降。是以要限制采樣資料必須在離線資料率内!一般采樣的方法是訓練一個VAE,采樣出來的(s,a)對,都在離線資料分布中。

這個思想在後期好幾篇文章繼承了,也做了不少的優化,最新的算法應該比BCQ性能好很多,但是我沒有細看,也不确定。

總結:

離線強化學習,是一個趨勢,這非常适合大廠,他們手裡擁有大量的資料,但是這些資料,該怎麼利用起來?

前些天看到滴滴的HR招離線強化的實習生,base在北京,加上我太菜了,也就沒争取了。

直覺上了解,他們是很難直接在真實場景應用強化學習瞎訓練的,萬一随便探索出一個鬼政策,損失可就太大了。

要是能把海量的離線資料利用起來,學一個推薦or規劃or自動駕駛的政策,性能比傳統的看起來好,還是有可能小範圍實驗一下的。

繼續閱讀