強化學習(RL),又稱再勵學習、評價學習,是一種重要的機器學習方法,在智能控制機器人及分析預測等領(lǐng)域有許多應用。
那么什么是強化學習?強化學習是智能系統(tǒng)從環(huán)境到行為映射的學習,以使獎勵信號(強化信號)函數(shù)值最大,強化學習不同于連接主義學習中的監(jiān)督學習,主要表現(xiàn)在教師信號上,強化學習中由環(huán)境提供的強化信號是對產(chǎn)生動作的好壞作一種評價(通常為標量信號),而不是告訴強化學習系統(tǒng)RLS(reinforcement learning system)如何去產(chǎn)生正確的動作。由于外部環(huán)境提供的信息很少,RLS必須靠自身的經(jīng)歷或能力進行學習。通過這種方式,RLS在行動-評價的環(huán)境中獲得知識,改動方案以適應環(huán)境。
通俗的講,就是當一個小孩學習有迷?;蚶Щ髸r,如果老師發(fā)現(xiàn)小孩方法或思路正確,就給他(她)正反饋(獎勵或鼓勵);否則就給他(她)負反饋(教訓或懲罰),激勵小孩的潛能,強化他(她)自我學習能力,依靠自身的力量來主動學習和不斷探索,最終讓他(她)找到正確的方法或思路,以適應外部多變的環(huán)境。
強化學習有別于傳統(tǒng)的機器學習,不能立即得到標記,而只能得到一個反饋(獎或罰),可以說強化學習是一種標記延遲的監(jiān)督學習。強化學習是從動物學習、參數(shù)擾動自適應控制等理論發(fā)展而來的。
強化學習原理:
如果Agent的某個行為策略導致環(huán)境正的獎賞(強化信號),那么Agent以后產(chǎn)生這個行為策略的趨勢加強。Agent的目標是在每個離散狀態(tài)發(fā)現(xiàn)最優(yōu)策略以使期望的折扣獎賞和最大。
強化學習把學習看作試探評價過程,Agent選擇一個動作用于環(huán)境,環(huán)境接受該動作后狀態(tài)發(fā)生變化,同時產(chǎn)生一個強化信號(獎或懲)反饋給Agent,Agent根據(jù)強化信號和環(huán)境當前狀態(tài)再選擇下一個動作,選擇的原則是使受到正強化(獎)的概率增大。選擇的動作不僅影響立即強化值,而且影響環(huán)境下一時刻的狀態(tài)及最終的強化值。
若已知R/A梯度信息,則可直接可以使用監(jiān)督學習算法。因為強化信號R與Agent產(chǎn)生的動作A沒有明確的函數(shù)形式描述,所以梯度信息R/A無法得到。因此,在強化學習系統(tǒng)中,需要某種隨機單元,使用這種隨機單元,Agent在可能動作空間中進行搜索并發(fā)現(xiàn)正確的動作。
強化學習模型強化學習模型包括下面幾個要素:
1) 規(guī)則(policy):規(guī)則定義了Agent在特定的時間特定的環(huán)境下的行為方式,可以視為是從環(huán)境狀態(tài)到行為的映射,常用 π來表示??梢苑譃閮深悾?/p>
確定性的policy(DeterminisTIc policy): a=π(s)
隨機性的policy(StochasTIc policy): π(a|s)=P[At=a|St=t]
其中,t是時間點,t=0,1,2,3,……
St∈S,S是環(huán)境狀態(tài)的集合,St代表時刻t的狀態(tài),s代表其中某個特定的狀態(tài);
At∈A(St),A(St)是在狀態(tài)St下的acTIons的集合,At代表時刻t的行為,a代表其中某個特定的行為。
2) 獎勵信號(areward signal):Reward是一個標量值,是每個TIme step中環(huán)境根據(jù)agent的行為返回給agent的信號,reward定義了在該情景下執(zhí)行該行為的好壞,agent可以根據(jù)reward來調(diào)整自己的policy。常用R來表示。
3) 值函數(shù)(valuefunction):Reward定義的是立即的收益,而value function定義的是長期的收益,它可以看作是累計的reward,常用v來表示。
4) 環(huán)境模型(a modelof the environment):整個Agent和Environment交互的過程可以用下圖來表示:
Agent作為學習系統(tǒng),獲取外部環(huán)境Environment的當前狀態(tài)信息St,對環(huán)境采取試探行為At,并獲取環(huán)境反饋的對此動作的評價Rt+1和新的環(huán)境狀態(tài)St+1 。如果Agent的某動作At導致環(huán)境Environment的正獎賞(立即報酬),那么Agent以后產(chǎn)生這個動作的趨勢便會加強;反之,Agent產(chǎn)生這個動作的趨勢將減弱。在強化學習系統(tǒng)的控制行為與環(huán)境反饋的狀態(tài)及評價的反復交互作用中,以學習的方式不斷修改從狀態(tài)到動作的映射策略,達到優(yōu)化系統(tǒng)性能目的。
強化學習設(shè)計考慮:
1)如何表示狀態(tài)空間和動作空間。
2)如何選擇建立信號以及如何通過學習來修正不同狀態(tài)-動作對的值。
3)如何根據(jù)這些值來選擇適合的動作。
強化學習常見算法:強化學習的常見算法包括:1)時間差分學習(Temporal difference learning);2)Q學習(Q learning);3)學習自動(LearningAutomata);4)狀態(tài)-行動-回饋-狀態(tài)-行動(State-Action-Reward-State-Action)等。
強化學習目標:
強化學習通過學習從環(huán)境狀態(tài)到行為的映射,使得智能體選擇的行為能夠獲得環(huán)境最大的獎賞,使得外部環(huán)境對學習系統(tǒng)在某種意義下的評價(或整個系統(tǒng)的運行性能)為最佳。簡單的說,強化學習的目標是動態(tài)地調(diào)整參數(shù),達到強化信號最大。
強化學習應用前景:前段時間被刷屏的機器人,大家一定不陌生吧,來自波士頓動力的機器人憑借出色的平衡性給大家留下了深刻的印象。機器人控制領(lǐng)域就使用了大量的強化學習技術(shù)。除此之外,游戲、3D圖像處理、棋類(2016年備受矚目的AlphaGo圍棋)、等領(lǐng)域都有應用。
機 器 人
游 戲
3D 圖 像 處 理
人 機 大 戰(zhàn)
結(jié)語:強化學習是通過對未知環(huán)境一邊探索一邊建立環(huán)境模型以及學習得到一個最優(yōu)策略。強化學習與其他機器學習算法不同的地方在于沒有監(jiān)督者,只有一個Reward信號,而且反饋是延遲的。強化學習是人工智能之機器學習中一種快速、高效且不可替代的學習算法,實際上強化學習是一套很通用的解決人工智能問題的框架,值得人們?nèi)パ芯?。另外,深度學習[參見人工智能(22)]和強化學習相結(jié)合,不僅給強化學習帶來端到端優(yōu)化便利,而且使得強化學習不再受限于低維空間,極大地拓展了強化學習的使用范圍。谷歌DeepMind中深度強化學習領(lǐng)頭人David Silver曾經(jīng)說過,深度學習(DL)+ 強化學習(RL) = 人工智能(AI)。