知者,治也——增強(qiáng)學(xué)習(xí)的因果推斷模型簡介

作者:Eric Jang
譯者:尹肖貽
原文題目:What I Cannot Control, I Do not Understand
原文地址:https://blog.evjang.com/2019/03/causal-rl.html

若有任何意見或建議,我懇請讀者不吝賜教,在Hacker news下留言。

我常聽到坊間的一個說法:在商業(yè)環(huán)境中部署的強(qiáng)化學(xué)習(xí)(RL)的實例,都可以用更簡單的算法取代。

這大概說出了實情,但看你怎么定義“強(qiáng)化學(xué)習(xí)”。 如果用“強(qiáng)化學(xué)習(xí)”來指代“用DQN / PPO / Soft-Actor Critic等訓(xùn)練的神經(jīng)網(wǎng)絡(luò)”,那么確實(至少截至目前)沒有什么商業(yè)產(chǎn)品,其成功依賴于過去5年中深度強(qiáng)化學(xué)習(xí)算法的突破[1]。

然而,如果將“強(qiáng)化學(xué)習(xí)”解釋為“從反復(fù)試驗和錯誤中學(xué)習(xí)”的概念,那么商業(yè)應(yīng)用就會比比皆是,特別是在藥品、金融、電視節(jié)目推薦,以及其他基于科學(xué)實驗和干預(yù)的項目中。

我將在這篇文章中,解釋強(qiáng)化學(xué)習(xí)是解決因果推理問題的一般方法,這是幾乎所有機(jī)器學(xué)習(xí)系統(tǒng)的需求。 從這個意義上講,許多影響深遠(yuǎn)的問題,已經(jīng)在使用增強(qiáng)學(xué)習(xí)的思想解決了。只是在不同的術(shù)語和工程流程中,我們用了不同的形式來表述。

醫(yī)生,并沒有讓飲酒者活更久

假設(shè)你是一名醫(yī)生,負(fù)責(zé)幫助患者延長壽命。 你對數(shù)據(jù)科學(xué)略知一二,于是你在很多病歷上擬合了預(yù)期壽命的預(yù)測模型,并得到令人震驚的發(fā)現(xiàn):每天喝紅酒的人中,有90%的可能性活過80歲;相比之下,非飲酒者活過80歲的基礎(chǔ)概率為50%。

使用因果推理的術(shù)語,你發(fā)現(xiàn)了以下數(shù)據(jù)分布:
p(壽命>80年|每天喝紅葡萄酒)=0.9
進(jìn)一步研究發(fā)現(xiàn),你的模型在其余的數(shù)據(jù)集上也具有高精度,這增加了你對模型發(fā)現(xiàn)長壽秘訣的信心。你興高采烈地告訴你的病人,每天喝紅酒,壽命就長久。畢竟,作為一名醫(yī)生,光是預(yù)測還不行,你還必須開處方!還有什么好事兒,能比得上又長壽和又喝紅酒呢?

幾十年后,你對患者進(jìn)行了跟蹤調(diào)查,然后非常失望地觀察到以下的介入分布:
p(壽命>80年|do(每天喝紅酒))=0.5
喝紅酒的人,預(yù)期壽命沒有增加!是什么導(dǎo)致的?

尋找因果模型

這里的核心問題在于混淆變量。 當(dāng)我們決定根據(jù)觀察模型,建議患者每天喝紅酒時,我們對因果關(guān)系圖做了一個很強(qiáng)的假設(shè):



隨機(jī)變量之間的指向表示因果關(guān)系,也可以被認(rèn)為是“時間箭頭”。改變“喝紅酒”的值,將對“壽命> 80年”產(chǎn)生影響,但改變“壽命> 80年”對喝紅酒沒有影響。

如果這個因果圖是正確的,那么我們的干預(yù)應(yīng)該增加患者的壽命。但實際的實驗并不支持這一點(diǎn),因此我們必須拒絕這個假設(shè)的因果模型,并尋求替代假設(shè)來解釋數(shù)據(jù)。也許有一個(或多個)變量會導(dǎo)致喝紅酒的傾向,并且延長壽命,從而將喝紅酒和長壽聯(lián)系在一起。

我們猜測,很可能是富人們往往會同時活得更久,也喝更多的紅酒。再次通過數(shù)據(jù),我們發(fā)現(xiàn)P(喝紅酒|富裕)=0.9P(壽命>80|富裕)=1.0。所以我們的假設(shè)現(xiàn)在采取以下形式:


如果我們的理解正確,那么(富裕)應(yīng)該讓人們活到80歲以上并且喝更多的紅酒。 事實上,我們發(fā)現(xiàn),一旦我們向患者提供100萬美元現(xiàn)金,以使其富裕(按照美國標(biāo)準(zhǔn)),他們最終會延長壽命并每天飲用紅酒(這是一個假設(shè)的結(jié)果,為了這篇博文而編造)。

增強(qiáng)學(xué)習(xí)作為自動因果推理

機(jī)器學(xué)習(xí)模型正在越來越多地用于推薦系統(tǒng)、自動駕駛汽車、制藥研發(fā)和實驗物理學(xué)的決策中。 在許多情況下,我們希望在掌握輸入變量x_1,...,x_N的情況下,試圖學(xué)習(xí)一個模型p(y|x_1,...,x_N);通過最大化p(y|x_1,...,x_N),了解結(jié)果事件y的概率(密度)。

從上面舉的醫(yī)學(xué)實例中,我們可以明顯看出:在建立決策系統(tǒng)時,如果不能建立變量間的因果關(guān)系,就要冒著模型過度擬合的風(fēng)險,而喪失對模型的干預(yù)能力。 假設(shè)我們以下列方式,自動地發(fā)掘因果模型:
1.根據(jù)模型擬合觀測到的數(shù)據(jù)p(y|x_1,...,x_N);
2.假設(shè)模型捕獲了因果關(guān)系。 規(guī)定干預(yù)措施do(x_i),使p(y|x_1..N)最大化。收集一個新的數(shù)據(jù)集,其中50%的x_i有干預(yù),50%沒有干預(yù)。
3.將觀測模型擬合到新數(shù)據(jù)p(y | x_i)
4.重復(fù)步驟1-3,直到模型匹配到干預(yù)模型:p(y|do(x_i))=p(y|x_i)

作為上述步驟的測試案例,我們返回到紅酒案例的研究:
1.你最初發(fā)現(xiàn)p(壽命>80年|每天喝紅葡萄酒)=.9。
2.收集新數(shù)據(jù)集后,將獲得p(壽命>80年|do(每天喝紅葡萄酒))=.5。雖然模型沒有收斂,但至少你的觀察模型不再相信喝紅酒會延長壽命。此外,現(xiàn)在關(guān)注正確的變量,即p(壽命>80年|富裕)=1。
3.然后,此過程的后續(xù)迭代發(fā)現(xiàn)p(壽命> 80年|do(富裕))=1,所以過程結(jié)束。

收集隨機(jī)試驗(干預(yù)與非干預(yù)以50%分開),并重新訓(xùn)練新的觀察模型,是進(jìn)行一般因果推理最有效的方法之一。因為它使用來自現(xiàn)實的數(shù)據(jù)(現(xiàn)實知道“真正的因果模型”)來消除不正確的假設(shè)。

重復(fù)訓(xùn)練模型并建議干預(yù)措施,包含了增強(qiáng)學(xué)習(xí)算法的全部內(nèi)容?;蛘哒f,增強(qiáng)學(xué)習(xí)解決了順序決策問題的最優(yōu)控制。控制是這里的關(guān)鍵詞——對代理人(agent)是否了解其環(huán)境的測驗,在于觀察代理人是否能夠解決環(huán)境的問題。

對于機(jī)器學(xué)習(xí)中,其預(yù)測用于推斷干預(yù)(以便操縱一些下游隨機(jī)變量)的模型,我認(rèn)為過度擬合問題只不過是嘗試解決因果推斷問題的副產(chǎn)品。這也解釋了增強(qiáng)學(xué)習(xí)比監(jiān)督學(xué)習(xí)更難——不僅因為每次觀察到的監(jiān)督信號較少,更因為增強(qiáng)學(xué)習(xí)的代理人還必須找出干預(yù)行為所需的最佳因果分布。

一個顯著的“過擬合”案例是增強(qiáng)學(xué)習(xí)算法理論上可以“離線”訓(xùn)練 ——也就是說,完全從非實時的數(shù)據(jù)中學(xué)習(xí),而不從環(huán)境中收集新的數(shù)據(jù)樣本。但是,如果沒有定期從環(huán)境中收集新的經(jīng)驗信息,代理人可能會受限于過度使用有限大小的數(shù)據(jù)集,或受限于數(shù)據(jù)集不平衡。并提出不會超出其離線數(shù)據(jù)的干預(yù)措施。檢查代理人是否“正確學(xué)習(xí)”的最佳方法,是在真實場景中部署該算法,并在干預(yù)下驗證其假設(shè)。事實上,根據(jù)我們在谷歌對機(jī)器人掌握研究情況,通過“在線”測試進(jìn)行微調(diào),會大大提高算法性能。這相當(dāng)于在新數(shù)據(jù)p上重新訓(xùn)練觀察模型p(擬合成功|do(最優(yōu)行動))

生產(chǎn)中的“增強(qiáng)學(xué)習(xí)算法”

生產(chǎn)工程中經(jīng)常使用的A/B測試框架來測試系統(tǒng)性能,相當(dāng)于做了上述“自動因果推理”流程的工業(yè)版本:50%的隨機(jī)用戶(假設(shè)分布相同)設(shè)置為干預(yù)組,另外50%為控制組。

因果推斷是數(shù)據(jù)驅(qū)動決策的基石,正在被對沖基金、Netflix、StitchFix、谷歌、沃爾瑪?shù)裙緩V泛使用。雖然這個過程在工業(yè)生產(chǎn)中必須讓人類參與其中(特別是提出干預(yù)措施并選擇停止標(biāo)準(zhǔn)),但是其自動化的版本——增強(qiáng)學(xué)習(xí),也借鑒了因果推斷的許多思想,解決自身出現(xiàn)的問題,如解決數(shù)據(jù)非平穩(wěn)性,或者難以在實驗中獲得真正的隨機(jī)性,以及不同時長的權(quán)重分配問題。我自己剛剛開始學(xué)習(xí)因果推理。我希望在未來幾年內(nèi),增強(qiáng)學(xué)習(xí)、數(shù)據(jù)科學(xué)和因果推理研究社區(qū)之間會有更多的思想交叉。

有關(guān)Causal Inference的更多技術(shù)介紹,請參閱Ferenc Huszar撰寫的很棒的博客系列

[1]這個腳注關(guān)于我認(rèn)為增強(qiáng)學(xué)習(xí)還沒有進(jìn)行太多商業(yè)部署的解釋。如果讀者確實知道某家公司在生產(chǎn)中使用增強(qiáng)學(xué)習(xí)(而還我不知道!)的話,請隨時告訴我!

為了使公司采用增強(qiáng)學(xué)習(xí)的技術(shù)且有利可圖,迎頭待解決的問題是1)商業(yè)上有用;2)當(dāng)前深度增強(qiáng)學(xué)習(xí)算法有效;3)最優(yōu)控制的邊際效用,必須能抵消隱深度增強(qiáng)學(xué)習(xí)技術(shù)帶來的風(fēng)險。

讓我們通過對比,來考慮深度圖像理解的商業(yè)價值:1)從視頻監(jiān)視,到自動駕駛汽車,再到人臉識別,這一切都具有很高的商業(yè)價值;2)當(dāng)前模型非常準(zhǔn)確,適用于各種圖像數(shù)據(jù)集;3)模型通常按預(yù)期工作,不需要太多專業(yè)知識來訓(xùn)練和部署。

對于增強(qiáng)學(xué)習(xí)來說,目前還沒有一般的增強(qiáng)學(xué)習(xí)算法的應(yīng)用前景。如使機(jī)器人最終能夠完全依靠自己學(xué)習(xí)技能,完成任務(wù);或者幫助公司做出復(fù)雜的財務(wù)決策,如股票回購和招聘;或者在游戲設(shè)計中,讓非玩家角色情節(jié)更加豐富。不幸的是,這些問題域不符合標(biāo)準(zhǔn)(2)——深度增強(qiáng)學(xué)習(xí)技術(shù)還沒有準(zhǔn)備好,需要更長時間的研發(fā)。

在現(xiàn)有的增強(qiáng)學(xué)習(xí)能夠應(yīng)用的場景中,即使你第一個將其應(yīng)用在商業(yè)世界的話,也將很難驗證算法選擇策略的邊際效用??赡艿膱鼍鞍〝?shù)據(jù)中心冷卻,或空中交通管制。即使對于已經(jīng)清楚地顯示增強(qiáng)學(xué)習(xí)能夠發(fā)揮作用的領(lǐng)域(例如,低維控制或像素級控制),增強(qiáng)學(xué)習(xí)算法仍然需要大量的研究技能,來構(gòu)建一個可以正常工作的系統(tǒng)(違反標(biāo)準(zhǔn)3)。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容