作者: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ù)分布:
進(jìn)一步研究發(fā)現(xiàn),你的模型在其余的數(shù)據(jù)集上也具有高精度,這增加了你對模型發(fā)現(xiàn)長壽秘訣的信心。你興高采烈地告訴你的病人,每天喝紅酒,壽命就長久。畢竟,作為一名醫(yī)生,光是預(yù)測還不行,你還必須開處方!還有什么好事兒,能比得上又長壽和又喝紅酒呢?
幾十年后,你對患者進(jìn)行了跟蹤調(diào)查,然后非常失望地觀察到以下的介入分布:
喝紅酒的人,預(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)而
。所以我們的假設(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é)的決策中。 在許多情況下,我們希望在掌握輸入變量的情況下,試圖學(xué)習(xí)一個模型
;通過最大化
,了解結(jié)果事件
的概率(密度)。
從上面舉的醫(yī)學(xué)實例中,我們可以明顯看出:在建立決策系統(tǒng)時,如果不能建立變量間的因果關(guān)系,就要冒著模型過度擬合的風(fēng)險,而喪失對模型的干預(yù)能力。 假設(shè)我們以下列方式,自動地發(fā)掘因果模型:
1.根據(jù)模型擬合觀測到的數(shù)據(jù);
2.假設(shè)模型捕獲了因果關(guān)系。 規(guī)定干預(yù)措施,使
最大化。收集一個新的數(shù)據(jù)集,其中50%的
有干預(yù),50%沒有干預(yù)。
3.將觀測模型擬合到新數(shù)據(jù)
4.重復(fù)步驟1-3,直到模型匹配到干預(yù)模型:
作為上述步驟的測試案例,我們返回到紅酒案例的研究:
1.你最初發(fā)現(xiàn)。
2.收集新數(shù)據(jù)集后,將獲得。雖然模型沒有收斂,但至少你的觀察模型不再相信喝紅酒會延長壽命。此外,現(xiàn)在關(guān)注正確的變量,即
。
3.然后,此過程的后續(xù)迭代發(fā)現(xiàn),所以過程結(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ù)上重新訓(xùn)練觀察模型
。
生產(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)。