強化學習(Reinforcement Learning)中的Q-Learning皱碘、DQN询一,面試看這篇就夠了!

1. 什么是強化學習

其他許多機器學習算法中學習器都是學得怎樣做癌椿,而強化學習(Reinforcement Learning, RL)是在嘗試的過程中學習到在特定的情境下選擇哪種行動可以得到最大的回報健蕊。在很多場景中,當前的行動不僅會影響當前的rewards踢俄,還會影響之后的狀態(tài)和一系列的rewards缩功。RL最重要的3個特定在于:

  1. 基本是以一種閉環(huán)的形式;
  2. 不會直接指示選擇哪種行動(actions)都办;
  3. 一系列的actions和獎勵信號(reward signals)都會影響之后較長的時間嫡锌。

強化學習(Reinforcement Learning, RL)虑稼,又稱再勵學習、評價學習或增強學習势木,是機器學習的范式和方法論之一蛛倦,用于描述和解決智能體(agent)在與環(huán)境的交互過程中通過學習策略以達成回報最大化或?qū)崿F(xiàn)特定目標的問題 [1] 。

image

上圖中agent代表自身啦桌,如果是自動駕駛溯壶,agent就是車;如果你玩游戲它就是你當前控制的游戲角色甫男,如馬里奧且改,馬里奧往前走時環(huán)境就一直在發(fā)生變化,有小怪物或者障礙物出現(xiàn)板驳,它需要通過跳躍來進行躲避又跛,就是要做action(如向前走和跳起的動作);無人駕駛的action就是車左轉(zhuǎn)笋庄、右轉(zhuǎn)或剎車等等效扫,它無時無刻都在與環(huán)境產(chǎn)生交互,action會反饋給環(huán)境直砂,進而改變環(huán)境菌仁,如果自動駕駛的車行駛目標是100米,它向前開了10米静暂,那環(huán)境就發(fā)生了變化济丘,所以每次產(chǎn)生action都會導致環(huán)境改變,環(huán)境的改變會反饋給自身(agent)洽蛀,就是這樣的一個循環(huán)摹迷;反饋又兩種方式:

  1. 做的好(reward)即正反饋,
  2. 做得不好(punishment懲罰)即負反饋郊供。

Agent可能做得好峡碉,也可能做的不好,環(huán)境始終都會給它反饋驮审,agent會盡量去做對自身有利的決策鲫寄,通過反反復復這樣的一個循環(huán),agent會越來越做的好疯淫,就像孩子在成長過程中會逐漸明辨是非地来,這就是強化學習。

2. 強化學習模型

image

如上圖左邊所示熙掺,一個agent(例如:玩家/智能體等)做出了一個action未斑,對environment造成了影響,也就是改變了state币绩,而environment為了反饋給agent蜡秽,agent就得到了一個獎勵(例如:積分/分數(shù))府阀,不斷的進行這樣的循環(huán),直到結(jié)束為止载城。

上述過程就相當于一個馬爾可夫決策過程肌似,為什么這樣叫呢?因為符合馬兒可夫假設

  • 當前狀態(tài) St 只由上一個狀態(tài) St-1 和行為所決定诉瓦,而和前序的更多的狀態(tài)是沒有關(guān)系的川队。

上圖右邊所示,S0 狀態(tài)經(jīng)過了 a0 的行為后睬澡,獲得了獎勵 r1 固额,變成了狀態(tài)S1,后又經(jīng)過了 a0 行為得到獎勵 r2煞聪,變成了狀態(tài) S2 斗躏,如此往復循環(huán),直到結(jié)束為止昔脯。

2.1 打折的未來獎勵

通過以上的描述啄糙,大家都已經(jīng)確定了一個概念,也就是agent(智能體)在當下做出的決定肯定使得未來收益最大化云稚,那么隧饼,一個馬兒可夫決策過程對應的獎勵總和為:

R=r_1+r_2+r_3+...+r_n

t 時刻(當下)的未來獎勵,只考慮后面的獎勵静陈,前面的改變不了:

R_t=r_t+r_{t+1}+r_{t+2}+...+r_n

接下來燕雁,當前的情況下做出的動作是能夠得到結(jié)果的,但對于未來的影響是一個不確定的鲸拥,這也符合我們的真實世界拐格,比如誰都不知道一只蝴蝶只是煽動了一次翅膀會造成颶風式的影響(蝴蝶效應)。所以刑赶,當前的行為對于未來是不確定性的捏浊,要打一個折扣,也就是加入一個系數(shù)gamma撞叨,是一個 0 到 1 的值:

R_t=r_1+\gamma_{}r_{t+1}+\gamma^2r_{t+2}+...+\gamma^{n-1}r_n

離當前越遠的時間金踪,gamma的懲罰系數(shù)就會越大,也就是越不確定谒所。為的就是在當前和未來的決策中取得一個平衡。gamma取 0 沛申,相當于不考慮未來劣领,只考慮當下,是一種很短視的做法铁材;而gamma取 1 尖淘,則完全考慮了未來奕锌,又有點過慮了。所以一般gamma會取 0 到 1 之間的一個值村生。

Rt 可以用 Rt+1 來表示惊暴,寫成遞推式:

R_t=r_t+\gamma(r_{t+1}+\gamma(r_{t+2}+...))=r_t+\gamma_{}R_{t+1}

2.2 Q-Learning算法

Q(s, a)函數(shù)(Quality),質(zhì)量函數(shù)用來表示智能體在s狀態(tài)下采用a動作并在之后采取最優(yōu)動作條件下的打折的未來獎勵(先不管未來的動作如何選擇):

Q(s_t,a_t)=maxR_{t+1}

假設有了這個Q函數(shù)趁桃,那么我們就能夠求得在當前 t 時刻當中辽话,做出各個決策的最大收益值,通過對比這些收益值卫病,就能夠得到 t 時刻某個決策是這些決策當中收益最高油啤。

\pi(s)=argmax_aQ(s,a)

于是乎,根據(jù)Q函數(shù)的遞推公式可以得到:

Q(s_t,a_t)=r+\gamma_{}max_aQ(s_{t+1},a_{t+1})

這就是注明的貝爾曼公式蟀苛。貝爾曼公式實際非常合理益咬。對于某個狀態(tài)來講,最大化未來獎勵相當于
最大化即刻獎勵與下一狀態(tài)最大未來獎勵之和帜平。

Q-learning的核心思想是:我們能夠通過貝爾曼公式迭代地近似Q-函數(shù)幽告。

2.3 Deep Q Learning(DQN)

Deep Q Learning(DQN)是一種融合了神經(jīng)網(wǎng)絡和的Q-Learning方法。

2.3.1 神經(jīng)網(wǎng)絡的作用

image

使用表格來存儲每一個狀態(tài) state, 和在這個 state 每個行為 action 所擁有的 Q 值. 而當今問題是在太復雜, 狀態(tài)可以多到比天上的星星還多(比如下圍棋). 如果全用表格來存儲它們, 恐怕我們的計算機有再大的內(nèi)存都不夠, 而且每次在這么大的表格中搜索對應的狀態(tài)也是一件很耗時的事. 不過, 在機器學習中, 有一種方法對這種事情很在行, 那就是神經(jīng)網(wǎng)絡.

我們可以將狀態(tài)和動作當成神經(jīng)網(wǎng)絡的輸入, 然后經(jīng)過神經(jīng)網(wǎng)絡分析后得到動作的 Q 值, 這樣我們就沒必要在表格中記錄 Q 值, 而是直接使用神經(jīng)網(wǎng)絡生成 Q 值.

還有一種形式的是這樣, 我們也能只輸入狀態(tài)值, 輸出所有的動作值, 然后按照 Q learning 的原則, 直接選擇擁有最大值的動作當做下一步要做的動作.

我們可以想象, 神經(jīng)網(wǎng)絡接受外部的信息, 相當于眼睛鼻子耳朵收集信息, 然后通過大腦加工輸出每種動作的值, 最后通過強化學習的方式選擇動作.

2.3.2 神經(jīng)網(wǎng)絡計算Q值

這一部分就跟監(jiān)督學習的神經(jīng)網(wǎng)絡一樣了我裆甩,輸入狀態(tài)值冗锁,輸出為Q值,根據(jù)大量的數(shù)據(jù)去訓練神經(jīng)網(wǎng)絡的參數(shù)淑掌,最終得到Q-Learning的計算模型蒿讥,這時候我們就可以利用這個模型來進行強化學習了。

image

3. 強化學習和監(jiān)督學習抛腕、無監(jiān)督學習的區(qū)別

  1. 監(jiān)督式學習就好比你在學習的時候芋绸,有一個導師在旁邊指點,他知道怎么是對的怎么是錯的担敌。

    強化學習會在沒有任何標簽的情況下摔敛,通過先嘗試做出一些行為得到一個結(jié)果,通過這個結(jié)果是對還是錯的反饋全封,調(diào)整之前的行為马昙,就這樣不斷的調(diào)整,算法能夠?qū)W習到在什么樣的情況下選擇什么樣的行為可以得到最好的結(jié)果刹悴。

  2. 監(jiān)督式學習出的是之間的關(guān)系行楞,可以告訴算法什么樣的輸入對應著什么樣的輸出。監(jiān)督學習做了比較壞的選擇會立刻反饋給算法土匀。

    強化學習出的是給機器的反饋 reward function子房,即用來判斷這個行為是好是壞。 另外強化學習的結(jié)果反饋有延時,有時候可能需要走了很多步以后才知道以前的某一步的選擇是好還是壞证杭。

  3. 監(jiān)督學習的輸入是獨立同分布的田度。

    強化學習面對的輸入總是在變化,每當算法做出一個行為解愤,它影響下一次決策的輸入镇饺。

  4. 監(jiān)督學習算法不考慮這種平衡,就只是 exploitative送讲。

    強化學習奸笤,一個 agent 可以在探索和開發(fā)(exploration and exploitation)之間做權(quán)衡,并且選擇一個最大的回報李茫。

  5. 非監(jiān)督式不是學習輸入到輸出的映射揭保,而是模式(自動映射)。

    對強化學習來說魄宏,它通過對沒有概念標記秸侣、但與一個延遲獎賞或效用(可視為延遲的概念標記)相關(guān)聯(lián)的訓練例進行學習,以獲得某種從狀態(tài)到行動的映射宠互。

強化學習和前二者的本質(zhì)區(qū)別:沒有前兩者具有的明確數(shù)據(jù)概念味榛,它不知道結(jié)果,只有目標予跌。數(shù)據(jù)概念就是大量的數(shù)據(jù)搏色,有監(jiān)督學習、無監(jiān)督學習需要大量數(shù)據(jù)去訓練優(yōu)化你建立的模型券册。

監(jiān)督學習 非監(jiān)督學習 強化學習
標簽 正確且嚴格的標簽 沒有標簽 沒有標簽频轿,通過結(jié)果反饋調(diào)整
輸入 獨立同分布 獨立同分布 輸入總是在變化,每當算法做出一個行為烁焙,它影響下一次決策的輸入航邢。
輸出 輸入對應輸出 自學習映射關(guān)系 reward function,即結(jié)果用來判斷這個行為是好是壞

4. 什么是多任務學習

在機器學習中骄蝇,我們通常關(guān)心優(yōu)化某一特定指標膳殷,不管這個指標是一個標準值,還是企業(yè)KPI九火。為了達到這個目標赚窃,我們訓練單一模型或多個模型集合來完成指定得任務。然后岔激,我們通過精細調(diào)參勒极,來改進模型直至性能不再提升。盡管這樣做可以針對一個任務得到一個可接受得性能虑鼎,但是我們可能忽略了一些信息辱匿,這些信息有助于在我們關(guān)心的指標上做得更好。具體來說,這些信息就是相關(guān)任務的監(jiān)督數(shù)據(jù)掀鹅。通過在相關(guān)任務間共享表示信息,我們的模型在原始任務上泛化性能更好媒楼。這種方法稱為多任務學習(Multi-Task Learning)

在不同的任務中都會有一些共性乐尊,而這些共性就構(gòu)成了多任務學習的一個連接點,也就是任務都需要通過這個共性能得出結(jié)果來的划址。比如電商場景中的點擊率和轉(zhuǎn)化率扔嵌,都要依賴于同一份數(shù)據(jù)的輸入和神經(jīng)網(wǎng)絡層次。多語種語音識別等夺颤。

image

5. 參考文獻

機器學習通俗易懂系列文章

3.png

作者:@mantchs

GitHub:https://github.com/NLP-LOVE/ML-NLP

歡迎大家加入討論痢缎!共同完善此項目!群號:【541954936】點擊加入

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末世澜,一起剝皮案震驚了整個濱河市独旷,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌寥裂,老刑警劉巖嵌洼,帶你破解...
    沈念sama閱讀 216,372評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異封恰,居然都是意外死亡麻养,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評論 3 392
  • 文/潘曉璐 我一進店門诺舔,熙熙樓的掌柜王于貴愁眉苦臉地迎上來鳖昌,“玉大人,你說我怎么就攤上這事低飒⌒碜颍” “怎么了?”我有些...
    開封第一講書人閱讀 162,415評論 0 353
  • 文/不壞的土叔 我叫張陵逸嘀,是天一觀的道長车要。 經(jīng)常有香客問我,道長崭倘,這世上最難降的妖魔是什么翼岁? 我笑而不...
    開封第一講書人閱讀 58,157評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮司光,結(jié)果婚禮上琅坡,老公的妹妹穿的比我還像新娘。我一直安慰自己残家,他們只是感情好榆俺,可當我...
    茶點故事閱讀 67,171評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般茴晋。 火紅的嫁衣襯著肌膚如雪陪捷。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,125評論 1 297
  • 那天诺擅,我揣著相機與錄音市袖,去河邊找鬼。 笑死烁涌,一個胖子當著我的面吹牛苍碟,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播撮执,決...
    沈念sama閱讀 40,028評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼微峰,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了抒钱?” 一聲冷哼從身側(cè)響起蜓肆,我...
    開封第一講書人閱讀 38,887評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎谋币,沒想到半個月后症杏,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,310評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡瑞信,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,533評論 2 332
  • 正文 我和宋清朗相戀三年厉颤,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片凡简。...
    茶點故事閱讀 39,690評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡逼友,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出秤涩,到底是詐尸還是另有隱情帜乞,我是刑警寧澤,帶...
    沈念sama閱讀 35,411評論 5 343
  • 正文 年R本政府宣布筐眷,位于F島的核電站黎烈,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏匀谣。R本人自食惡果不足惜照棋,卻給世界環(huán)境...
    茶點故事閱讀 41,004評論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望武翎。 院中可真熱鬧烈炭,春花似錦、人聲如沸宝恶。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至霹疫,卻和暖如春拱绑,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背丽蝎。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評論 1 268
  • 我被黑心中介騙來泰國打工欺栗, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人征峦。 一個月前我還...
    沈念sama閱讀 47,693評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像消请,于是被迫代替她去往敵國和親栏笆。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,577評論 2 353

推薦閱讀更多精彩內(nèi)容