弱監(jiān)督建模技術(shù)在螞蟻風(fēng)控場景中的探索與應(yīng)用
一、弱監(jiān)督學(xué)習(xí)簡介
1. 弱監(jiān)督學(xué)習(xí)簡介
傳統(tǒng)(強(qiáng))監(jiān)督學(xué)習(xí)的典型情況是基于給定的 X、Y 數(shù)據(jù)組構(gòu)建一個(gè)模型,以期在未來的場景中能夠有較好的預(yù)測。通常在這類問題上有一些基本假設(shè),比如分布一致性(即訓(xùn)練數(shù)據(jù)和未來使用的場景數(shù)據(jù)不能有較大的差異)、充足的樣本量、標(biāo)簽要相對準(zhǔn)確等。該范式在業(yè)界被廣泛使用,但隨著業(yè)務(wù)的發(fā)展,我們發(fā)現(xiàn)很多問題不滿足這種比較理想的狀態(tài),其中相當(dāng)一部分可以用弱監(jiān)督機(jī)器學(xué)習(xí)的技術(shù)手段來進(jìn)行解決。
弱監(jiān)督機(jī)器學(xué)習(xí)主要在做什么呢?這里引用南京大學(xué)周志華教授在 2018 年的綜述文章,其中主要介紹了三類比較典型的問題:
- 不完全監(jiān)督(Incomplete Supervision):典型情況是有少量有標(biāo)簽樣本,并有大量的樣本是沒有標(biāo)簽的。文章中給出的兩種典型的研究問題分別是半監(jiān)督學(xué)習(xí)和主動(dòng)學(xué)習(xí)。最大的痛點(diǎn)就是標(biāo)簽匱乏。
- 不準(zhǔn)確監(jiān)督(Inaccurate Supervision):典型情況是依然有 X、Y 的數(shù)據(jù)組,但其中的 Y 不夠準(zhǔn)確。比如基于規(guī)則來打標(biāo),雖然有標(biāo)簽,但是標(biāo)簽存在不可忽略的噪聲。如果不對這個(gè)問題做充分考慮的話,模型會被污染。所以需要一定的技術(shù)從這樣一個(gè)相對不整潔的數(shù)據(jù)里去獲得一個(gè)相對魯棒的模型。
- 不精確監(jiān)督(Inexact Supervision):這種情況在周老師的文章中給出了一類非常典型的研究問題,叫做多示例學(xué)習(xí)。簡單而言,X 和 Y 不再是一對一的數(shù)據(jù)組,而是多對一,標(biāo)簽是對這一組樣本的刻畫,這屬于標(biāo)簽粒度不夠精確的一類學(xué)習(xí)范式。
2. 螞蟻場景中的弱監(jiān)督問題
之后介紹的內(nèi)容與前兩種問題相關(guān),即目標(biāo)場景中難以獲取到足夠數(shù)量的標(biāo)簽可靠的樣本。這里有幾個(gè)關(guān)鍵字,第一是有一個(gè)目標(biāo)場景,第二是樣本數(shù)量不足,或者標(biāo)簽是不可靠的。我們的探索實(shí)踐,本質(zhì)上就是嘗試?yán)靡恍┬畔ⅲ热缈鐖鼍暗臄?shù)據(jù),或者不可靠標(biāo)注的數(shù)據(jù),來幫助建模。
這些情況對應(yīng)的案例也比較常見:
- 第一種情況:比如業(yè)務(wù)場景中需要基于風(fēng)險(xiǎn)進(jìn)行處置操作,那么我們往往是從更高風(fēng)險(xiǎn)的用戶開始,并階段化地推進(jìn)。當(dāng)我們做了一定的操作后,業(yè)務(wù)會進(jìn)一步地往前走,這時(shí)可能需要再對風(fēng)險(xiǎn)比之前稍低但仍然較高的客群進(jìn)行建模。再舉個(gè)例子,我們有某些場景下老客的歷史數(shù)據(jù),希望基于這些歷史數(shù)據(jù)對新戶或者另一個(gè)目標(biāo)客群建模。當(dāng)遇到這種問題時(shí),我們探索了利用跨場景的數(shù)據(jù)進(jìn)行建模的一些方案。
- 第二種情況:某些業(yè)務(wù)場景中很難獲得準(zhǔn)確標(biāo)記的樣本,或者獲得相對準(zhǔn)確的標(biāo)簽所需的成本較高,比如反欺詐或者反套現(xiàn)場景。但我們其實(shí)有很多業(yè)務(wù)經(jīng)驗(yàn)、專家經(jīng)驗(yàn),包括已經(jīng)線上成型的規(guī)則或者模型,也可以給出一個(gè)參考標(biāo)簽。這個(gè)標(biāo)簽雖然不夠準(zhǔn)確,但也是有信息量的,可以嘗試?yán)眠@些信息來幫助我們?nèi)ソ鉀Q所面臨的標(biāo)簽信息不夠健全、樣本信息不夠健全等痛點(diǎn)。
二、樣本匱乏下的建模
1. 跨場景因果效應(yīng)估計(jì)簡介
因果效應(yīng)估計(jì)是指估計(jì)因(treatment)的改變對結(jié)果(outcome)產(chǎn)生的效應(yīng)(effect)。區(qū)別于傳統(tǒng)機(jī)器學(xué)習(xí)非常大的一個(gè)特點(diǎn)在于關(guān)注的是某種干預(yù)帶來的變化,而機(jī)器學(xué)習(xí)很多時(shí)候關(guān)注的是預(yù)測。典型例子是藥物治療時(shí)藥用需要多少劑量,對于病人治療效果的影響會如何。這類場景中常見的一個(gè)痛點(diǎn)是目標(biāo)場景樣本不足的問題。有兩種典型的情況:
- 情況 1:目標(biāo)場景不存在有標(biāo)記數(shù)據(jù)
- 情況 2:目標(biāo)場景存在少量有標(biāo)記數(shù)據(jù)
2. 情況 1:跨目標(biāo)場景不存在有標(biāo)記數(shù)據(jù)
該情況中存在幾個(gè)痛點(diǎn):首先是 unobserved effects,這個(gè)是在因果里非常典型的痛點(diǎn),即只有 factual 的 outcome,而看不到反事實(shí)的結(jié)果,也就拿不到最終關(guān)注的 effect 信息,這會極大地限制建模的效果;其次是 complex distribution shift,比如非隨機(jī)實(shí)驗(yàn)中存在 selection bias,即分布存在差異的情況,多源數(shù)據(jù)場景會更復(fù)雜一些。
我們針對這些痛點(diǎn),構(gòu)建了一個(gè) Direct Learning 框架,它的本質(zhì)思想是首先通過一個(gè)方式預(yù)估偽的 effect,進(jìn)而希望模型能夠直接去建模 effect 信息。第二對于分布變化的痛點(diǎn),我們采用了 Distribution Adaptation 的方式來解決,其背后的思想是 density based reweighting。
使用新的框架之后,通過實(shí)驗(yàn)發(fā)現(xiàn)在有些場景下可以起到作用,但有些場景則表現(xiàn)不夠理想。進(jìn)一步分析會發(fā)現(xiàn)上一步做了一個(gè)偽標(biāo)記的預(yù)測,會存在不太可靠的情況,而這個(gè)不可靠惡化了后面的建模。我們進(jìn)一步解決了這一問題,就會使模型變得更加魯棒。
下面具體介紹該框架的結(jié)構(gòu)。
(1)Unobserved Effects
模型的基本架構(gòu)如上圖所示,訓(xùn)練數(shù)據(jù)中有 source domain 的 control 和 treated 的數(shù)據(jù),但 target domain 沒有關(guān)于 treatment 以及 outcome 的信息,對于前面這兩組數(shù)據(jù),分別去學(xué)習(xí)一個(gè) control 組的模型和 treated 組的模型?;谶@兩個(gè)模型進(jìn)行預(yù)估,可以給出 pseudo-effect 信息,即偽標(biāo)簽。
(2)Complex Distribution Shift
在上述模式的基礎(chǔ)上,進(jìn)一步解決前面所說的 complex distribution shift 的問題。這里目標(biāo)分布比較明確,即未來的目標(biāo)場景,其數(shù)據(jù)是可以拿到的。建模的每一個(gè)階段,控制組模型、測試組模型,包括后面預(yù)估 effect 的模型,都是可以做分布對齊的。這里的基本思路是,目標(biāo)分布上的期望損失可以通過優(yōu)化訓(xùn)練分布上的加權(quán)損失來實(shí)現(xiàn),而這個(gè)權(quán)重就是 density ratio。我們通過采用 Domain Adaptation 的技術(shù)方案為每一個(gè)樣本預(yù)估一個(gè)權(quán)重,進(jìn)而使得基于加權(quán)樣本學(xué)習(xí)的模型能夠更適配目標(biāo)分布。
然而,這種模式會存在一個(gè)痛點(diǎn),就是有些樣本預(yù)估的 pseudo-effect 可能會不太準(zhǔn),就會影響到下一階段 effect 模型的學(xué)習(xí)。
(3)Unreliable pseudo-effect
解決上述問題的思路是建立一個(gè)關(guān)于預(yù)估是否準(zhǔn)確的評估,其背后的思路是不確定量化(uncertainty estimation)。我們實(shí)踐中采用的方案是基于 MC-dropout 設(shè)計(jì)的,本質(zhì)思想是做很多次預(yù)測,如果預(yù)測比較集中的話,那我們認(rèn)為這個(gè)樣本是比較明確的一個(gè)樣本,則可以給一個(gè)比較大的重視程度,用于學(xué)習(xí)下一階段的 effect 模型。簡而言之,就是在前面框架的基礎(chǔ)上進(jìn)一步引入了這樣一個(gè)叫做 reliable scoring 的模塊,用于指導(dǎo)后面 effect 模型的學(xué)習(xí),使得整體框架能夠做得更好。
我們進(jìn)行了大量實(shí)驗(yàn),結(jié)果表明,我們的方法在存在比較明顯的分布差異場景下可以體現(xiàn)出優(yōu)勢,當(dāng)不存在明顯的分布差異時(shí),我們的方法與對比方法也是可比的。這意味著我們的方法更加魯棒,能夠適配到更多的場景上。
除此之外我們也做了消融實(shí)驗(yàn),最初在增加了 Distribution Adaptation 模塊之后,結(jié)果可能出現(xiàn)下降,這不是我們所希望的。進(jìn)一步引入了 Reliable Scoring 模塊,發(fā)現(xiàn)帶來了相對穩(wěn)定的提升,這說明了該模塊可以使整體方案更加健全。該工作已發(fā)表在 CIKM上,題目為 Treatment Effect Estimation across Domains。
3. 情況 2:目標(biāo)場景存在少量有標(biāo)記數(shù)據(jù)
我們也探索了一些兩階段之外的方式,比如基于 NN 的方式。因果效應(yīng)估計(jì)中 NN 框架的典型形式是首先對于 factual outcome 做預(yù)測,希望對于見到的有準(zhǔn)確標(biāo)記的樣本能夠有一個(gè)比較好的預(yù)測。其次是增加一個(gè) debias loss 平衡兩個(gè)數(shù)據(jù)組的分布,從而使得整個(gè)模型的學(xué)習(xí)能夠規(guī)避分布差異帶來的負(fù)面影響,有一個(gè)比較好的泛化能力。
當(dāng)問題場景從這樣的一個(gè)基本框架推廣到多源數(shù)據(jù)時(shí),最簡單的思路就是增加一個(gè)關(guān)于源的信息,并且增加一個(gè)關(guān)于源分布差異的匹配模塊。通過我們的實(shí)踐發(fā)現(xiàn)這一做法還有一定的提升空間,其中一個(gè)大的痛點(diǎn)就在于存在跨域間遷移不足的問題,以及某些樣本在低密度區(qū)域表現(xiàn)欠佳。我們在方案設(shè)計(jì)中正是從這兩個(gè)視角來嘗試解決這個(gè)問題。
具體做法是在原有框架下增加了兩個(gè)顯著的模塊:第一個(gè)是協(xié)同對抗泛化模塊,思路是希望不同域的樣本能夠盡量地接近,強(qiáng)化不同域之間信息的遷移和共享;第二個(gè)是模式增廣的能力,本質(zhì)上是從原始樣本空間來做數(shù)據(jù)增廣,進(jìn)而解決低密度區(qū)域預(yù)測不佳的問題。
第一個(gè)模塊的基本思路是從隱空間優(yōu)化,希望不同域樣本的分布能夠盡量地相互匹配,以往的研究比如 MMD 也是這個(gè)思路,但我們經(jīng)過實(shí)驗(yàn)發(fā)現(xiàn) MMD 本質(zhì)上是強(qiáng)調(diào) average 的分布,但我們希望的是更大程度的匹配。簡單的思路是在此基礎(chǔ)上,直接把兩個(gè)域的樣本之間兩兩匹配計(jì)算,但這樣的計(jì)算復(fù)雜度較高。所以我們退而求其次,試圖找到一些代表樣本,優(yōu)化代表樣本之間的關(guān)系來做匹配。簡而言之,就是找到每個(gè)域里更有區(qū)分度和更沒有區(qū)分度的一些樣本,讓更有區(qū)分度樣本向另一個(gè)域里的樣本靠近,讓整個(gè)分布能夠盡量地融合。
第二個(gè)模塊的思路是從原始樣本空間直接做優(yōu)化。得益于我們采用的是跨域的建模,一大優(yōu)勢在于有不同域的樣本用來幫助建模,因此可以進(jìn)行數(shù)據(jù)增廣?;舅枷胧前哑渌虻臉颖?,包括本域的 control 組和 treatment 組樣本用來幫助本域的 treatment 組或 control 組的建模。但這些樣本本身是沒有 Y 信息的,為了解決這個(gè)問題,我們采用了一致性約束的方式,這在半監(jiān)督學(xué)習(xí)等框架上得到過驗(yàn)證。
總結(jié)一下,我們從隱空間、原始空間的視角分別做了一些設(shè)計(jì)來讓樣本融合程度更大,信息的遷移能力更好,來緩解前面提到的痛點(diǎn)。實(shí)驗(yàn)也佐證了這些方案引入所帶來的效果提升,這一部分工作可以參見論文 Modeling Treatment Effect with Cross-Domain Data。
三、標(biāo)簽存噪下的建模
目標(biāo)場景中很難獲取非常多的準(zhǔn)確標(biāo)記,而專家標(biāo)簽、線上已有規(guī)則,或者已構(gòu)建但可能過時(shí)的模型,也是可以提供一些標(biāo)注信息的,這些不同的標(biāo)注源是比較多的。我們關(guān)注的研究目標(biāo)是希望利用多源噪聲標(biāo)簽,構(gòu)建一個(gè)相對魯棒的模型。
以往研究主要包括兩類方法:第一類是兩階段的方法,首先是多源標(biāo)簽的融合,比如對多源標(biāo)簽投票,然后再基于投票選出的標(biāo)簽去建模;第二種是同時(shí)預(yù)估標(biāo)注源的混淆(confusion)矩陣信息和進(jìn)行模型學(xué)習(xí)。我們注意到這類研究對于 self-cognition 能力利用不夠,所以我們試圖做的工作就是在這個(gè)問題場景上充分地利用這個(gè)能力來做建模。
我們進(jìn)行了一些理論分析,這里介紹兩個(gè)核心的結(jié)論。
(1)首先,模型具有識別每個(gè)源內(nèi)樣本級(instance-wise)噪聲情況的能力。通俗一點(diǎn)講,當(dāng)給定兩個(gè)樣本,其中一個(gè)是錯(cuò)誤標(biāo)注,一個(gè)是正確標(biāo)注。在模型學(xué)習(xí)到一定經(jīng)驗(yàn)之后,往往能夠一定程度上區(qū)分那些樣本級的噪聲,比如從 loss 視角來看,正確標(biāo)注的樣本的 loss 大概率比較小,這在以往研究中也是有佐證的。
(2)第二,也是本工作中更為增量的探索,在多源噪聲標(biāo)簽場景下會有進(jìn)一步的訴求,即是否能夠?qū)τ诓煌吹臉?biāo)注有一個(gè)認(rèn)知。我們做了一個(gè)理論分析,基本結(jié)論為模型學(xué)習(xí)到一定階段后,具備能力識別多源噪聲中標(biāo)注源級(annotator-wise)標(biāo)注質(zhì)量,即能夠區(qū)分哪個(gè)標(biāo)注源是相對高質(zhì)量的,哪個(gè)是相對低質(zhì)量的。進(jìn)一步地,我們學(xué)習(xí)到模型和真實(shí)標(biāo)簽的關(guān)系也滿足這樣的關(guān)系。
這些理論結(jié)果為后面的方法設(shè)計(jì)提供了非常重要的指導(dǎo),本質(zhì)上來說我們希望做的事就是盡量利用好那些標(biāo)簽信息更可靠的樣本,盡量更重視那些更可靠的標(biāo)注源。
整體方案的框架如上圖所示,這示例中訓(xùn)練數(shù)據(jù)有三個(gè)樣本及若干個(gè)標(biāo)簽源,對于每個(gè)標(biāo)簽源都做建模,這里是一個(gè) public 接 private 的結(jié)構(gòu),當(dāng)然也可以有各種不同的變體。通過理論的指導(dǎo),在整個(gè)框架中引入了 Self-cognition 和 Mutual-denoising 兩個(gè)典型模塊:
(1)Self-cognition 一方面能夠隨著模型推進(jìn),認(rèn)知到樣本標(biāo)注的可靠程度。另一方面能夠給出各源標(biāo)注質(zhì)量的向量。比如這里有 3 個(gè)源,相應(yīng)的長度就是 3?;痉椒ň褪腔陬A(yù)測及標(biāo)注源的 gap 做一個(gè)距離的計(jì)算,距離越近,這個(gè)源往往是更好的。
(2)進(jìn)一步整合這兩個(gè)信息,就可以給出每個(gè)樣本的各標(biāo)簽源所給出標(biāo)簽的好壞程度了,W 就是這個(gè)信息。
(3)Mutual-denoising:進(jìn)一步地,一個(gè)基本思路是利用別的源的學(xué)習(xí)信息幫助一個(gè)源的學(xué)習(xí)。比如對于某一個(gè)源的學(xué)習(xí),借鑒別的源給出的預(yù)測作為一個(gè)偽標(biāo)簽來使用。那么如何整合呢?前面說到模型其實(shí)能夠區(qū)分不同源的好壞。不同源的好壞可以用來生成偽標(biāo)簽,比如對于源 1,我要試圖利用源 2 和源 3 的預(yù)測作為偽標(biāo)簽,并且進(jìn)一步結(jié)合前面的權(quán)重信息來生成偽標(biāo)簽來使用。當(dāng)生成偽標(biāo)簽后,可以用這個(gè)信息來做一個(gè) loss 的計(jì)算,但這里還有另外一個(gè)思考,就是我本來也是利用了噪聲標(biāo)簽來做,如果這個(gè)源里某個(gè)樣本或者這個(gè)源越可靠,我對于別的信息的參考程度要越低,這就是 1-w 的基本思想。簡單概括就是,基于前面理論指導(dǎo)的 w 的信息做信息的整合及汲取,從而來做模型的學(xué)習(xí),這樣能夠幫助每個(gè)源學(xué)習(xí)得更好、更魯棒。
實(shí)際使用中為了提高效率,我們進(jìn)一步引入了 Selective Knowledge Distillation 模塊,其基本思想是從前面學(xué)到的源,以及噪聲標(biāo)簽信息來學(xué)到一個(gè)比較輕量級的模型,實(shí)際實(shí)現(xiàn)時(shí)我們嘗試基于前面學(xué)習(xí)到的可靠權(quán)重信息進(jìn)行標(biāo)簽信息的采樣來指導(dǎo)建模。在某些需要輕量級的場景中,我們可以用這個(gè)模型做部署使用。
以上就是我們關(guān)于多源噪聲標(biāo)簽學(xué)習(xí)的工作??偨Y(jié)來說,我們在很多問題場景中可以非常容易地獲得噪聲標(biāo)簽,而且是很多源的,為了能夠利用這些信息,我們首先從理論上做一個(gè)基本推導(dǎo),來鑒別模型是不是能夠有某些認(rèn)知,是不是能夠利用這些認(rèn)知進(jìn)而制定一個(gè)實(shí)例化的設(shè)計(jì)方案。我們并不追求于非常復(fù)雜的模型結(jié)構(gòu),而是給出一個(gè)相對清晰整潔的、易于感知的基本框架。該工作已被 ICML 錄用,題目為 Self-cognitive Denoising in the Presence of Multiple Noisy Label Sources,大家感興趣的話可以進(jìn)一步跟進(jìn)了解。
實(shí)驗(yàn)對比了大量對比方法,從結(jié)果可以看到我們的方法是有一定優(yōu)勢的,并且在各種數(shù)據(jù)設(shè)定下也能夠取得一致的效果。進(jìn)一步的我們在實(shí)驗(yàn)中增加 self-cognition、mutual-denoising 兩個(gè)模塊的感知能力,實(shí)驗(yàn)結(jié)果也佐證了前面的設(shè)計(jì)是有幫助的。
四、應(yīng)用場景簡介
對于樣本匱乏的情況,目標(biāo)場景數(shù)據(jù)不足,但是有一些相鄰場景的數(shù)據(jù),我們完全有可能做這樣相關(guān)的建模。典型的應(yīng)用場景,比如通過干預(yù)的方式做一些操作帶來目標(biāo)的變化,營銷場景的福利券發(fā)放中就可能遇到這個(gè)問題。
對于噪聲標(biāo)簽的情況,可能有各種不同的標(biāo)簽,那么我們介紹的方案都是可以考慮的。比如我們要識別一些用戶畫像,購物需求、資金需求,或者是一些其他的屬性判別,都是可以有一些業(yè)務(wù)專家經(jīng)驗(yàn)給出一些標(biāo)簽,這些標(biāo)簽在某種情況下就是一個(gè)噪聲標(biāo)簽,有可能來幫助到我們的建模。