天天看點

基于表征學習的因果推斷技術在快手的實踐

作者:DataFunTalk

17位進階專家共同打造,涉及15個領域,133個體系架構,1000個細分知識點!

關注公衆号“大話數智”,免費下載下傳這份《資料智能知識地圖》⬇️

基于表征學習的因果推斷技術在快手的實踐

導讀:今天的主題是基于表征學習的因果推斷技術實踐。本次分享主要分為四大部分:

首先是工業界 RCT 實驗規範,在工業界中,RCT 資料對因果模組化來說非常重要,但很多時候,我們對 RCT 資料的收集操作是不規範的,導緻我們在模組化時使用的是錯誤的資料,這将讓我們在損失預算的情況下拉低線上效果,本文将會讨論一些 RCT 資料收集上的經驗;

第二部分是樹模型與深度模型的聯合模組化,樹模型是工業界用到最多的模型,是很多公司的 baseline 模型,而深度模型也是一個主流趨勢,它可以讓我們自定義設計更靈活的網絡結構,文中将讨論如何融合這兩類模型,進而發揮二者優勢;

第三部分是 RCT 資料和觀測資料的融合模組化,RCT 資料雖然是無偏的,但是量少且貴,觀測資料雖然有偏但是量大随處可得,是以我們希望通過 RCT 資料和觀測資料融合模組化,來提升資料量;

最後一部分是特征分解,它是目前比較熱門學術研究方向,主要研究如何從特征裡面去提取 confounder,adjustment variable 和 IV。

全文目錄:

  • 工業界 RCT 實驗規範
  • 樹模型&NN 聯合模組化
  • RCT&ODB 融合模組化
  • 特征分解

分享嘉賓|秦旋/餘珊珊 快手 增長算法工程師

編輯整理|許振遠 騰訊

出品社群|DataFun

01

工業界 RCT 實驗規範

首先對 RCT 資料做一個簡單介紹。RCT 為什麼會有這麼強大的魔力,為什麼大家都在使用并且願意投入大量的資金呢?主要原因有三點:

  • Comparability and covariate balance
  • Exchangeability
  • No backdoor paths

1. Comparability and covariate balance

首先給出定義:如果協變量X的分布在任何 Treatment組下都是一緻的,我們就說“we have covariate balance”。

用公式可以表達為:

基于表征學習的因果推斷技術在快手的實踐

即 P(X|T=1) 和 P(X|T=0) 是同分布的。

換句話說,幾個 treatment 組中,除了 treatment 本身以外,其他的全部都一樣。而随機(Randomization)可以幫助我們保證這一點。

下面是一個證明,假設 population 分布是 P(X),在 t=1 時,P(X|T=1)=P(X);t=0 時,P(X|T=0)=P(X),無論 t 等于任何值的情況下,分布都是一樣的。

基于表征學習的因果推斷技術在快手的實踐

更重要的是,在 RCT 資料情況下可以導緻因果就是關聯。推導的過程如下圖中所示。最重要的是第四個等号,當 t 和 x 獨立時,P(t|x)= P(t),然後接一個全機率公式就能得到在 do 算子條件下的 y 就等于控制住 t 條件下的 y,最終可以得到因果就是關聯。這也是為什麼我們在RCT資料上才能看到符合我們認知的資料現象。

基于表征學習的因果推斷技術在快手的實踐

2. Exchangeability

第二個是 Exchangeability 的成立,t 和 y 的潛在結果是獨立不相關的。因為除了 t 本身以外,其它的x變量都是一樣的,擁有相同的性質,是以就算它們的 treatment 換過來,其潛在結果也不會發生任何變化,注意這裡是潛在結果不會發生任何變化而不是結果本身,因為我們隻能觀察到一種結果。

基于表征學習的因果推斷技術在快手的實踐

3. No backdoor paths

當我們擁有随機實驗時,由于 t 跟 x 不再有關系,是以就沒有了後門路徑。

總結下來,RCT 資料是一個黃金準則。因為它可以帶來天然的非混淆性質,使得我們可以用這些資料去進行更好的模組化。但不幸的是,随機資料極其昂貴,并且經常伴随着倫理問題。是以在大多數場景下,随機資料是一個“奢飾品”。但是在這種奢侈品有限的情況下,如何得到一個盡量無偏的估計呢?這裡提供兩個思路,第一個思路是在有限的預算下,盡量把 RCT 做正确、高效,因為隻有保證這一點,才能才保證模組化是對的;第二個思路就是在有偏的觀測資料下找到無偏的部分,然後和 RCT 資料去融合模組化。

基于表征學習的因果推斷技術在快手的實踐

如果不使用 RCT 資料模組化會有什麼後果呢?舉個例子,我們可能會觀察到戴眼鏡的人學習成績更好,進一步思考:戴眼鏡本身是不是真的會影響學習成績呢?答案顯而易見,不會。因為如果戴眼鏡可以提高學習成績的話,大家都不需要去學習,直接去戴眼鏡就好了。再進一步想就會發現學習時間長的人更容易戴眼鏡,而學習時間長的人學習成績更好,是以我們才會觀測到戴眼鏡會提高學習成績這個假的因果效應,這就是學習時長這個 confounder 帶來的混淆。如果簡單地使用觀測資料進行模組化,那就會造成有偏的估計。是以需要 RCT 資料進行模組化。

基于表征學習的因果推斷技術在快手的實踐

随機資料的弊端,如下圖所列,不再贅述。是以,我們需要科學、高效的 RCT 方案。

基于表征學習的因果推斷技術在快手的實踐

工業界有兩種不同的 RCT 設計方式:Nested Design 和 Non-Nested Design。我們更希望得到的是 Nested Design,這也是用的最多的方式。當有一個目标 population 之後,直接從其中随機采樣分成兩組,一組作為 RCT 實驗組,一組作為政策實驗組。Non-Nested Design 則采取了不同的采樣機制,經常是在醫學或者比較複雜的業務場景下退而求其次的選擇。

基于表征學習的因果推斷技術在快手的實踐

如何設計我們的 RCT 方案呢?

首先要明确 Target Population,在做使用者增長或者做因果推斷時,明确目标人群是非常關鍵的一點,而往往也是容易被忽略的一點。因為有些時候,有些使用者可能并不在做政策的人群裡面,是以也就不必要出現在我們的 RCT 資料裡面。是以,我們需要提前把 RCT 目标人群的集合縮小,隻有精确到最小才能有一個高效的 RCT 實驗。

舉例來說,在我們做政策的時候,往往對于某些特定使用者有着特殊的規則,并且這些規則往往是容易被人忽視的。例如某些有着特殊性質的使用者,經常被給予一種或少數幾種 treatment。在進行 RCT 實驗時,如果将這些人群加進來,就會導緻各個 treatment 下的樣本分布不均衡。

如果無法特别精确地定義 target population,那麼最簡單的解決方法就是線上上服務的時候,做好日志記錄,在每一次樣本落表的時候,都有一個記錄且僅記錄一條實際的政策 key,以便于進行正确的資料收取。但是最保險的方法還是要把 target population 精确到能力範圍内最小。

基于表征學習的因果推斷技術在快手的實踐

第二,我們需要在實驗前去 shuffle 流量,并且在實驗中定期 shuffle 流量,這也是很容易被忽視的一步。很多團隊的普遍做法是:在做 RCT 實驗時,選擇一個實驗組,下掉之前的實驗,然後直接在上面去做随機的政策。這就可能導緻 RCT 組的分布和其他組的分布不一緻。因為每個政策都會有各自長期帶來的累積效應,如果累計時間長了特征無法AA實際上是不平的,用這樣的資料訓練出來的模型在另外一組上線可能會帶來不好的效果。是以,定期 shuffle 流量是非常必要的一環。除此之外,RCT 實驗本身在廣義上也是政策的一種,同樣會對實驗組樣本分布造成很大的影響,是以定期 shuffle 流量或者每次都從 whole population 中進行 RCT 資料的采樣也是很重要的。

基于表征學習的因果推斷技術在快手的實踐

RCT 實驗的特征選取方法有兩種:第一種是使用者次元,第二種是請求次元。

  • 使用者次元:一直給一個使用者一個 Treatment 直到一個實驗周期結束。
  • 請求次元:每次請求過來,系統随機給予一個 Treatment。

具體使用哪種 RCT,可以基于業務需要選擇。比如使用者次元的 RCT 可以幫助觀察 Treatment 的累積效應。請求次元的 RCT 可以幫助我們看到單次 Treatment 帶來的因果效應,并在相同預算下獲得更多的訓練樣本。

但是無論選擇哪一種都需要保證沒有post- treatment 特征。使用者次元隻能使用使用者第一次請求前的特征,否則會造成特征穿越。請求次元隻要是該請求前的特征都可以放心使用。

基于表征學習的因果推斷技術在快手的實踐

最後,介紹一個我們這邊的主要做法:Online RCT。

相比于集中在某一個時間段開啟一個大流量的 RCT,持續線上的小流量RCT 會更加經濟有效。因為:

  • 它讓我們永遠都有與目前 population 分布相近的随機資料

目前,我們使用的RCT資料收集于2022年10月,然而,當我們使用這份資料訓練出的模型對目前的政策資料進行預估時,不論是預估值的分布,還是Treatment分布,都與RCT資料的測試集有着較大的差距,OnlineRCT可以幫助我們緩解這一點。

基于表征學習的因果推斷技術在快手的實踐
  • 使我們能更加靈活地變更 treatment,避免浪費

之前,我們的 RCT 方式都是在一段時間内,大流量的開啟 RCT 開關,一旦遇到 treatment 變更,就意味着我們之前的 RCT 實驗資料不可用,造成時間和金錢的雙重浪費。OnlineRCT 可以有效的幫助我們緩解這一問題。

  • 它可以助力模型自動化更新

天級别的模型自動化更新功能已經應用在了很多場景下,也變成了一種趨勢,但是,由于因果模組化主要是使用 RCT 資料,是以如果沒有高頻率的資料更新,增量學習也就不現實了。OnlineRCT 幫助我們解決了這一點。

基于表征學習的因果推斷技術在快手的實踐
基于表征學習的因果推斷技術在快手的實踐

當我們收集到 RCT 之後,還需要有一套完備的校驗工具,主要用來檢查資料的無偏性,這一步同樣很重要,如果不能保證資料品質,後面所有的模型搭建或者訓練可能都是有問題的。

基于表征學習的因果推斷技術在快手的實踐

--

02

樹模型&NN 聯合模組化

首先看一個很典型的因果圖(見下圖), U 是未觀測到的混淆變量,C 是confounder,T 是 treatment,Y 是 outcome,A 是 adjust variable,IV 是工具變量。實際上,在工業界的因果圖大多數情況下可以被簡化成右邊的圖:未觀測到的混淆變量沒有了。在工業界很多場景下,可以假設沒有未觀測到的 confounder。由于 confounder 都是訓練線上模型時使用的特征,是以大多數情況下都是可知的。我們可以做一個假設:即我們的政策都是由模型決定的,模型裡面用到的特征都是 confounder。

基于表征學習的因果推斷技術在快手的實踐

在絕大多數公司裡 RCT 模組化的因果圖中的 C 到 T 的邊被取消了。

借助這張圖,看下 NN 模型和樹模型在模組化因果效應時的不同方式。

基于表征學習的因果推斷技術在快手的實踐

下圖是比較常見的 DRNet,大多數情況下都是通過這樣的損失函數去訓練網絡參數。但是它存在一個問題,如果我們去訓練多頭神經網絡,每個頭是對 Y 的回歸,那麼得到的 Y 是 confounder 和 adjustment variable 共同的表征。但是,實際上對因果效應造成影響的隻有 Confounder。因為網絡并不是按照異質性模組化,它隻是一個回歸模型,是以我們有可能把Y估計的很準。但是當我們去算因果效應時,在每一個頭去減預測預估值時就會造成偏差。

舉個例子,判斷吃減肥藥的效果。T 是吃不吃減肥藥,Y 是體重,A 是在量體重之前有沒有上廁所,模型會給 A 一個參數,如果A的參數不一樣時去相減算因果效應,就會帶來誤差,這些誤差就會放大最後因果效應的估計。

基于表征學習的因果推斷技術在快手的實踐

RCT 資料下,因果森林是基于異質性模組化的,并且因果森林隻在confounder 上進行分裂,換而言之,它隻會在為因果效應提供資訊的特征上去進行分裂。在剛才的例子中,量體重之前是否上廁所在各個葉子節點内被消掉了,是以不會在 A 進行分裂。是以 RCT 因果森林輸出的因果效應就是 confounder 的表征。

基于表征學習的因果推斷技術在快手的實踐

樹模型可以得到 confounder 的表征,而 NN 可以支援更個性化的結構。在這裡給出兩種思路:

  • 思路1: 使用樹模型生成的 confounder embedding 作為 NN 模型的特征。
  • 思路2: 使用對抗學習做特征分解。本文的第四部分會詳細解釋。

--

03

RCT&ODB 融合模組化

首先,介紹一下 PS matching 的方法,通過 PS 進行分層,在每一層内,通過計算 spiked-in estimator(分别計算每一層的 ATE),得到該層内的 causal effect,最終權重得到總體的 ATE。每個層下的 O 代表觀測資料, R 代表 RCT 資料,K 是第 K 層。比如分 k 個桶,O(K) 就是在觀測資料裡面的第 K 個桶,R是在 RCT 資料下第 K 個桶。

基于表征學習的因果推斷技術在快手的實踐

因果效應有一個比較成熟的思路:假設在任意一層 tau_ok=tau_rk,對于每層的 causal effect,因果效應可以通過資料量的權重得到。這樣一來,我們可以最終通過樣本量權重得到總體 ATE。該方法的優點是,可以解決 PS 在極值處樣本量小的問題。此時小量 RCT 資料也可以較好地提升 causal effect 的預估效果。這一套架構主要是想通過計算每一層的 spiked-in ATE,然後權重得到群體的 ATE,雖然這并不是我們想要的,但是我們可以借鑒 該架構融入到我們的系統裡。

基于表征學習的因果推斷技術在快手的實踐

市面上的觀測資料和 RCT 融合主要是解決兩部分問題,一部分是 RCT 資料分布和觀測資料分布不一緻,第二是觀測資料有偏,我們現在解決的主要就是觀測資料有偏的問題。

基于表征學習的因果推斷技術在快手的實踐

我們的做法主要分為三步:

  • 步驟一:分層,根據左側圖檔,第一步是通過 propensity score 對樣本進行分層,一個好的 PS 模型并不需要精準的劃分樣本屬于 Treatment 組或者 Control 組的能力,而是要具有 covariate balancing 的能力。在這裡,我們認為每一層的樣本具有相同的性質。
基于表征學習的因果推斷技術在快手的實踐
  • 步驟二:觀測資料到 RCT 的 covariate shifting,對觀測資料采樣,使得每層資料量和與之對應的 RCT 資料的資料量一緻。這部分的目的是為了拉齊 RCT 與 ODB 的資料分布,在之前的工作中,我們的方法為在每一層内,RCT 資料的樣本數與 ODB 資料的樣本數等比,通過這樣的方式,可以使 RCT 和 ODB 中“同性質樣本”等比,進而保證分布一緻。
基于表征學習的因果推斷技術在快手的實踐
  • 步驟三:觀測資料 unconfounding 性質建立,該步驟是整套方法的核心。對同層内的 Control 組和 Treatment 組資料進行采樣,對于每個層i,使得 n_obs_ti/n_obs_ci=n_rct_ti/n_rct_ci,以此來構造一個對不同性質的樣本,被分到 treatment 組和被分到 control 組的機率等比。
基于表征學習的因果推斷技術在快手的實踐

我們還有一套驗證機制來判斷分層分的是否準确。簡單來說,看觀測資料和 RCT 資料的 treatment 組中的 Y 和因果效應在每一層内是否一緻,如果不一緻需要用 RCT 資料去填充。

基于表征學習的因果推斷技術在快手的實踐

随着對因果方向的深入,我們認為用 GPS 進行聚類不太合理。因為 Propensity Score Vector 并不是協變量 X 的表征,除了 X,在對 T 進行回歸的時候往往會無形的加入其他特征,那就是工具變量,所謂工具變量,就是不直接影響 Y,隻會通過影響 T 進而影響 Y。如果在做分層的時候,使用的是包含 IV 的表示,那麼會嚴重影響分層效果。舉例來講,補貼預算不會直接影響使用者的活躍度,但是會通過影響使用者得到激勵的幾率影響他的活躍度。如果将此類特征放到 PS 模型中,則在分層時會嚴重依賴該特征,反而影響其他 X 的 balancing 情況,是以我們必須想辦法将這類特征過濾出去。有一篇論文論證了為什麼 IV 會導緻 Propensity Score Inconsistency。

基于表征學習的因果推斷技術在快手的實踐

前文中提到了樹模型的性質,隻在 confounder 上進行分裂,得到的樹模型輸出的因果效應就是 confounder 的 embedding。

基于表征學習的因果推斷技術在快手的實踐

下圖中可以看到隻有 confounder X 對因果效應提供了資訊。如果把 confounder 作為聚類的特征,發現特征在每層内的協變量平衡效果會有非常大的增強。

基于表征學習的因果推斷技術在快手的實踐

下面是我們這套系統的幾個子產品:

  • 因果模型子產品,該子產品存在的目的是獲得純 confounder 的 embedding。可嵌入任何模型,基于目前的認知,使用 RCT 資料和因果森林訓練出的 uplift 是比較純的 confounder embedding。
  • 聚類子產品,該子產品存在的目的是基于 confounder 的 embedding(輸入自因果模型子產品)獲得準确的樣本分層,在層内 control 組和 Treatment 組的分布一緻,RCT 資料和觀測資料分布一緻。
  • covariate shifting 子產品,觀測資料到 RCT 的 covariate shifting。
  • deconfounding 子產品,觀測資料 unconfounding 性質建立。
  • 基于假設檢驗的校驗子產品,假設檢驗校驗機制。
  • 評估系統,在一套系統中,評估機制是必不可少的,為此,我們開發了相容所有 stratification 方法的評估系統,評估内容如下圖。
基于表征學習的因果推斷技術在快手的實踐

--

04

特征分解

前面介紹了基于 RCT 資料和觀測資料融合模組化的一些工作,可以看到,RCT 樣本難以構造且價格昂貴,是以我們嘗試直接在觀測樣本上進行模組化。在 DNN 模組化中引入更多觀測樣本可以提升模型拟合效果和表達能力,但是引入觀測樣本的同時會引入 bias。現有大部分工作都是通過樣本 Reweighting/Balancing 技術消除 bias,經典的方法有:DragonNet、DML、特征分解等。

基于表征學習的因果推斷技術在快手的實踐

下面主要介紹特征分解的原始做法(參考發表在 TKDE2022上的一個工作),以及我們落地時做的一些改進。基于因果圖(右邊的圖)可以看到,協變量 X 分解成工具變量 I,混淆變量 和調整變量 A,進而準确地分離出 C 和 A 去預估 outcome(y),消除因為引入觀測資料帶來的 bias。從圖中可以看到工具變量 I 是隻影響 treatment,混淆變量 C 會影響 treatment 和outcome,調整變量 A 隻會影響 outcome。

論文中舉了一個吃藥的例子,treatment 是吃不吃藥,outcome 是是否恢複健康。在病人的這些特征裡面,收入和主治醫生是工具變量,隻會影響 treatment;年齡和性别是混淆變量,會同時影響 treatment 和 outcome,因為醫生在選擇 treatment 的時候會考慮病人的年齡和性别,而病人的年齡和性别也會影響恢複健康的機率;基因和環境是調整變量,隻會影響 outcome。

基于表征學習的因果推斷技術在快手的實踐

要準确地将協變量 X 分解為三個不同類型的隐變量,做法如下:

  • 首先從 X 中分解 A,需要滿足以下兩個條件:一個是調整變量 A 和 T 獨立,目的是限制其他變量的資訊不會嵌入到調整變量A中。因為從因果圖上可以看到,工具變量 I 和混淆變量 C 跟 T 之間是有關系的;另一個是調整變量A能夠盡可能精準地預估 Y,進而保證A的資訊不會嵌入到其他變量中。
  • 然後是從 X 中分解 I,如果balancing做得好,C 和 T 之間将沒有依賴,那麼在給定的情況下 I 和 Y 獨立。這是因為做好不同treatment下 confounder 的平衡後,C 和 T 之間的因果效應被去掉了,當給定 T 時,I 和 C、I 和 Y 之間都是獨立的,進而保證其他變量的資訊不會嵌入到工具變量 I 中。同時 I 需要盡可能精準地預估 T,保證 I 的資訊不會嵌入到其他變量中。
  • 最後基于分解後的 C 和 A 去預估事實和反事實結果。
基于表征學習的因果推斷技術在快手的實踐

基于上述分析,設計了以下幾個 loss 來分解協變量 X:

  • 首先分解 A,通過最小化不同 treatment 下 的分布差異實作 ()⊥ ,同時最小化基于 預估 的損失。disc(·) 表示不同 treatment 下分布的差異,可以用 IPM、MMD、Wasserstein distance 等度量函數來衡量。
  • 其次通過 balancing 不同 treatment 下 的分布去掉 C 和 之間的依賴,實作 ()⊥。 為可學習參數,是樣本層面的一個權重。
  • 然後通過最小化不同 treatment 下 分布的差異實作 ⊥ | ,同時最小化基于 預估 的損失。同樣這裡也在樣本層面利用 進行了權重。
基于表征學習的因果推斷技術在快手的實踐

除了上述幾個 loss 之外,為了避免過拟合和分解不幹淨,論文中還增加了正交正則化來改進效果。以為例,認為權重矩陣 表示輸入 中的每個變量對輸出 () 的貢獻。 和 同理。是以如果協變量 能夠充分分解成 I,,A,這些權重矩陣應該是正交的。此外為了防止學出來的權重都是零,限制各維權重和為 1。

基于表征學習的因果推斷技術在快手的實踐

以上就是論文中給出的特征分解的做法,在我們落地的過程中對其做了一些優化。

  • 首先論文中主要是針對 0/1 treatment 的情況,我們将它更新為多 treatment,并且引入多頭結構,每個 treatment 生成對應的 I,,A 表征。
  • 其次在平衡 confounder 的步驟中,使用 IPW 替代可學習參數 來平衡樣本。對于多 treatment,基于 的表征預估 treatment,進而得到對應的權重。
  • 最後引入對抗 loss 來保證變量之間獨立。
基于表征學習的因果推斷技術在快手的實踐

論文中是通過最小化不同 treatment 下的分布差異來保證變量之間獨立,基于歐式距離、cosine 距離以及 mmd 等度量函數來衡量分布差異的大小。我們的目标是變量之間無關,不包含有用的資訊量,用不同 treatment 下分布相似來表達和 treatment 無關不夠直覺。此外,分布相似度度量函數計算量比較大,在大規模樣本且多 treatment 的情況下需要大量的計算資源。是以我們嘗試從資訊的角度考慮,通過限制 () 中不存在資訊可以去預估 來保證 A 和 T 獨立。

基于表征學習的因果推斷技術在快手的實踐

基于這個想法,我們引入對抗 loss,目标是讓 A(X) 無法準确預估 T,即對于多treatment,預估機率都是 1/n,n 是 treatment 的個數。首先使用預訓練網絡作為判别器,固定 A 的表示,更新判别器參數,使其盡可能準确地預估 T。然後固定判别器,更新 A 的表示,使其盡可能準确地預估 fake label(1/n)。循環訓練,直至達到目标。此時 A 中不存在資訊可以預估 T,達到 A 和 T 獨立的目的。

基于表征學習的因果推斷技術在快手的實踐

以上就是本次分享的全部内容。

最後,歡迎對因果推斷感興趣或者有經驗的人才加入我們,謝謝大家!

基于表征學習的因果推斷技術在快手的實踐

--

05

問答環節

Q1:基于觀測資料做 debias,需要同時考慮模型的相關性和 debias 的效果,在這種情況下,如何在有限的資料中進行離線評估?

A1:這個是一個很好的問題,我們基于觀測資料去做模組化的時候,或者在對觀測資料進行去偏的時,經常需要去看看 debias 的效果。如果沒有 RCT 資料,我們的做法是,對樣本在 propensity score 上做分層,如果每一層底下樣本是同質的,就可以觀察到 treatment 組和 control 組的比例就是全量樣本中 treatment 組和 control 組的比例。在這種情況下,就說明 debias 做的不錯。

Q2:使用者次元的 RCT 不斷有新使用者湧入是否會導緻通不過 AA 校驗?

A2:不論是使用者次元還是請求次元,新使用者進來的時候也是随機的會被劃分到某一個組。使用者落在每一個組裡面的機率是相等的。如果每個使用者落在每一個組的機率相等的,就不會造成 treatment 組之間 AA 特征的變化。

Q3:長期的 online RCT 是否會違反使用者的公平性原則或者帶來潛在的 RCT 問題?

A3:需要我們在設計 RCT 的時候考慮到這一點,如果你的業務容易造成這樣的 PR問題,需要在設計 RCT 的時候想好應對方法。如果是業務本身風險性就較高,那可能 RCT 本身就不是一個可以去上線的政策了。

Q4:關于長期 online RCT 怎麼做模型效果評估?分享中提到使用者粒度的特征隻能用treatment 之前的,長期 online RCT 怎麼做?

A4:做法和上文提到的特征建構方式相同。

Q5:關于表征學習學習出來的 Wi 和傾向性得分可以具體對應上嗎?

A5:使用傾向性得分 IPW 去代替 w,出發點是因為整體 loss 設計已經比較複雜了,可以看到針對各個分解的變量設計了不同的 loss,如果最終還要去學參數 w,從實踐來看是比較難學習的。而 IPW 比較成熟,在我們落地過程中也被驗證過,效果是比較好的。

今天的分享就到這裡,謝謝大家。

|分享嘉賓|

基于表征學習的因果推斷技術在快手的實踐

秦旋|快手 增長算法工程師

畢業于美國波士頓大學,清華大學計算機系研究員。曾在滴滴出行任職進階算法工程師,研究方向為因果推斷。曾自主開發了一套适用于工業界的RCT&觀測資料融合算法。參與開發基于SPARK的分布式因果森林,并進行改造與更新。該工作在網約車智能定價業務上多次取得ROI收益。加入快手後,負責裂變場景下RCT資料流的規範化開發與樹模型&深度模型的聯合模組化。

基于表征學習的因果推斷技術在快手的實踐

餘珊珊|快手 增長算法工程師

浙大碩士,2020年加入快手,現主要工作内容為基于表征學習的因果推斷方法在裂變場景的業務落地和技術創新。

|DataFun新媒體矩陣|

基于表征學習的因果推斷技術在快手的實踐

|關于DataFun|

專注于大資料、人工智能技術應用的分享與交流。發起于2017年,在北京、上海、深圳、杭州等城市舉辦超過100+線下和100+線上沙龍、論壇及峰會,已邀請超過2000位專家和學者參與分享。其公衆号 DataFunTalk 累計生産原創文章900+,百萬+閱讀,近16萬精準粉絲。