強化學習是什麼?

不想看wiki,求大神來個例子簡單說明一下O_O


強化學習(RL)是一個序列決策問題。

例子:撩妹的過程就是一個優化問題。你的每一時刻的行為會對你最終撩妹是否成功,以多大的收益成功都會有影響。那麼,你就會考慮,每一步採取什麼行為才能(最優)撩妹!這可以看作一個RL問題。你肯定迫不及待的想知道怎麼去求解了!

假設1:你是第一次撩妹。那麼你會去求教他人,逛各種論壇,總之收集大量相關知識。這個過程就是experience data。利用離線數據來train一個model。

假設2:過去你有很多撩妹經驗。你似乎又發現總是按照套路來並不能成功。嗯,經典的探索與利用問題,於是你嘗試了其他方法,你發現獲得了更好的效果。嗯,more optimal policy

將上述過程對應到RL中:

action:你的行為

state:你觀察到的妹子的狀態

reward:妹子的反應:開心or不開心

ps:撩妹tm還是部分可觀測問題,難怪我多年無解啊!哈哈!

至此,一個RL的基本模型已經建立。


#1 什麼是強化學習? (Reinforcement Learning)

強化學習是一個很廣的領域, 都可以把它從機器學習里拆出來單獨講.

之前我做個一個簡單介紹強化學習的視頻, 還有後續的很多相關演算法簡介視頻. 不會涉及到太多實際的數學步驟, 只會用圖片, 動畫來呈現他們的意思和區別. 之前也在知乎發過文, 把視頻的內容用文字描述了一遍: 知乎專欄

後續還會製作更多的簡單好理解的視頻.


reinforcement learning

Reinforcement learning

Reinforcement Learning: A Survey

https://www.jair.org/media/301/live-301-1562-jair.pdf


加強學習最重要的幾個概念:agent,環境,reward,policy,action。環境通常利用馬爾可夫過程來描述,agent通過採取某種policy來產生action,和環境交互,產生一個reward。之後agent根據reward來調整優化當前的policy。


我想這篇博文可以幫到您:

#15 增強學習101 閃電入門 reinforcement-learning


人的一生其實都是不斷在強化學習,當你有個動作(action)在某個狀態(state)執行,然後你得到反饋(reward),嘗試各種狀態下各種動作無數次後,這幾點構成腦中的馬爾可夫模型,使你知道之後的行為什麼為最優。

所以你現在才知道什麼東西好吃,什麼東西好玩,什麼妹子你喜歡。


大致了解

強化學習的來源來自於行為主義理論,即物體或機器如何在環境的刺激和反饋下做出適當的回應,當該回應滿足預期時,則說明該物體或機器已經學習到了某種知識。

強化學習本質上是在解決決策上的問題,即學會自動進行決策,且決策較為符合預期的發展。類比於人類,就是人類為什麼能夠做出決策,且方向是按著最優方向進行。這個過程,就是強化學習所需要學習的過程。

原理

強化學習作為一個序列決策問題,需要做出一系列決策達到最終目的,就像玩九宮格最終目的是要到達終點前要做一系列動作。當然,這和平時的監督學習有著一些區別,因為監督學習有著明確的label,機器去學慣用標籤屬性去辨別不同的label。而強化學習有著類似的label作用的值——reward,該值能夠讓機器去辨別這次決策的優劣,就像做對了有獎,做錯了懲罰,reward就是表明機器做這次決策有獎還是懲罰的值,來判定下次是否做這次決策。

通過不斷地迭代和試錯,最終結果是機器的「邏輯思維"是在這種環境下,我應該做什麼,在接下來的環境下,我又應該做什麼的一種思路。所以強化學習更專註於在線規劃,需要在Exploration(探索未知的領域)和Exploitation(利用現有知識)之間找到平衡。

例子

圖中黃點是機器人,目的是走到綠色的方塊,reward+1000,黑色方塊是牆壁,撞到reward-10,紅色方塊是陷阱,撞到reward-1000,其他reward+0。那麼每次行走一步,黃點會有四個方向的選擇,當前走到下圖方向時:

往右走會撞到黑色方塊reward-100,其他方向reward+0,所以只能往其他方向走,繼續走,到下圖所示情況。

往右走會撞到黑色方塊reward-100,往下走會撞到紅色方塊reward-1000,左、上方向reward+0,所以只能往左、上方向走。通過不斷地迭代,最終即可找到目標綠色方塊。

以上就是強化學習的一般流程,每一次決策不斷試錯,然後記憶經驗,最終往目標方向進行。


強化學習也叫激勵學習,英文簡稱RL,是從環境到行為映射的學習,以使獎勵信號函數值最大。強化學習技術是從控制理論、統計學和心理學等相關學科發展而來的,最早可以追溯到巴甫洛夫的條件反射實驗。

直到20世紀80年代末90年代初,強化學習技術在人工智慧、機器學習和自動控制等領域中得到廣泛研究和應用,並被認為是設計智能系統的核心技術之一,特別是隨著機器強化學習的數學基礎研究取得突破性進展後,對強化學習的研究和應用日益開展起來,成為目前機器學習領域的研究之一,所以說,我們更要明白,機器學習的定義與起源,我國機器學習發展現狀和出路? - 機器學習 多智時代


強化學習是機器學習的一種。

多數的機器學習教材包含兩種學習範式,一種叫做監督式學習(Supervised Learning),一種叫做無監督學習(Unsupervised Learning)。監督式學習類似於給你題目,同時給你答案,看演算法能否找到一個答案與題目之間的聯繫。而無監督學習類似於給你一堆教材,看你能否在教材中自己找出規律,一般用於分類或者找出數據內部的規律。

而強化學習則不屬於以上兩種,而是一種新的學習範式,還是按照以上的說法,則強化學習類似於當你做對了一道題就給你一顆糖,做錯了就沒有糖,以此激勵你去找到正確的解題模式。

當然,以上還是太抽象,我們用萬能的淘寶來舉個例子。

假設你負責在淘寶主頁推送廣告,如何知道用戶的偏好並且推送正確類別的廣告呢?用以上三種方法分別是(僅用作直覺上舉例):

監督式學習:給用戶發一個調查問卷,列舉幾十種(事實上會需要非常非常多種...)廣告,要求客戶填寫選擇有興趣/沒興趣,這個過程也叫做給數據貼標籤,data labeling。根據每個客戶標示的這一組數據,學慣用戶的偏好,並且據此推送廣告。

無監督式學習:收集了很多用戶的點擊信息,得出了用戶喜歡和不喜歡的廣告類型(或更嚴格的說,類型分布)。

強化學習:最開始隨便推,根據某用戶的點擊情況,若點擊,則當做收到一個獎勵,若未點擊,當做無獎勵(或懲罰),由此慢慢習得客戶的喜好並推送廣告。

在這個例子中,用戶本身目前的狀態可以當做你面臨的狀態(State),你所推送的廣告是你的行為(Action),用戶點擊與否是你的獎勵(Reward=1 若點擊,Reward=0若未點擊)。根據這些數據,你的最終目的是生成一個策略(Policy)以最大化你的預期收益。

實現過程不太能在本文中講完,題主要求的也只是一個例子和簡單的描述,因此不再展開。


Sutton書上

(1)對比三種常見的學習範式

監督學習: 非常多圖片, 有的標記為貓, 有的標記為狗

缺點: 無標籤情況, 或者情況太多, 無法一一標記.

無監督學習: 非常多圖片, 程序自己聚類

缺點: 發現了底層結構, 但是沒有最大化收益reward

強化學習: 不斷觀察圖片, 獲得外界反饋(遊戲積分等), 改進動作

缺點: 發現和利用之間的平衡

強化學習特點: 致力於整體目標的agent, 在不確定環境下實時決策

最接近小孩的成長過程

三種範式可以共享某些演算法, 如深度學習

(2) 例子

2.1 棋類遊戲

2.2 石化自動控制(成本收益質量)

2.3 瞪羚出生後努力站起來

2.4 掃地機器人移動

2.5 菲爾準備早餐

agent努力完成目標, 而環境有不確定性. 觀察進度, 做中學.

(3) 組件

策略, 獎勵信號, 評價函數, 環境模型(可選, model-based or model-free)

(4) 局限性

演化演算法不需要評價函數, 而強化學習主要是估計評價函數

最優化不等於最優解, 最優解不等於符合常規邏輯(也是創新).

(5) 一字棋

(6) 兩類解法

6.1 表格解法(狀態和動作都是有限個, 如老虎機)

有限Markov決策過程/Bellman方程

動態規劃 (數學完善, 前提環境模型已知)

蒙特卡洛方法 (概念簡單, 不適合逐步增量計算)

時間差分法 (無模型, 增量, 難分析)

三種方法的混合

6.2 近似解法(有限但是組合爆炸, 如圖片. 或連續函數)

策略已知, 評價函數是近似的.

on-policy與off-policy

eligibility traces

策略梯度


就是時間學習


推薦閱讀:

在生活中,你有沒有發現一些現象,可以作為表現經濟形勢的標誌和指標?
如何通過分析數據查找可能的醫保欺詐記錄?
國內985計算機top5專業想往數學方向轉?
轉行數據分析,找不到工作怎麼辦?

TAG:編程 | 統計學 | 數據分析 | 機器學習 | 強化學習ReinforcementLearning |