今天的分享主要聚焦在深度 UPLIFT 模型,包括該類模型的主要技術挑戰和發展脈絡,同時介紹深度 UPLIFT 模型助力騰訊金融科技用戶成長的經典案例。
先介紹一下 UPLIFT 模型。
一個經典的場景:行銷活動怎麼找到最優投放客群?或是怎麼找到最優的行銷激勵方式?
普遍的想法就是要投放高意願(上圖Sure Things 和Persuadable 象限)的用戶,但這個想法最大的問題是:它忽略了自然流量下的用戶轉換。首先,高意願用戶中有一部分用戶(Sure Things 象限用戶)不投放也能夠自然轉換;此外,在折價券的行銷模式下,直接對高意願用戶進行投放往往會帶來一個高成本的損耗。那是不是可以轉而投低意願(Do Note Disturbs 和 Lost Causes 象限)的用戶呢?透過投放將他們的消費意願提升?事實上,對於低意願的用戶,他們轉換的機率本來就很低,可能無論你怎麼投他都不轉化,甚至會永久流失,但是消耗大量行銷成本。
因此,在解決這類行銷問題之前,我們需要先回到行銷學的概念-「行銷增益」。 「行銷增益」的意思就是我們的行銷活動應該聚焦在能被改變立場的那一部分用戶。通俗的說我們要找的目標客群就是行銷前不會轉化,但是行銷後會轉化的人群(Persuadable 象限人群),而 UPLIFT 模型就是為了找到這些對行銷激勵敏感的人群。
在判斷使用者行銷後使用者是否會轉換時,往往會建構一個回應(Response)模型,模型會預測每位使用者的轉換率,然後我們會根據一系列的資料分析、成本預估等,劃定一個轉換率閾值,對預測高於這個轉換率閾值的使用者進行投放。響應模型簡單高效,能直接用當前所有主流的機器學習/深度學習等模型進行構建,但是它最大的問題就是沒有考慮不營銷也能轉化的那一部分自然轉化流量,因此建模目標和商業目標並不完全匹配。
UPLIFT 模型則用一個或多個模型來分別預測使用者在行銷下的轉換率和非行銷下的轉換率,這兩個值的差值就是UPLIFT。最終我們根據 UPLIFT 值的大小來決策是否投放。
對比上圖中反應模型和 UPLIFT 模型曲線圖可以看出,UPLIFT 模型會導致介入時間提早。在用戶流失預警場景中,營運需要對即將流失的用戶進行提前挽留。在實際應用中,預測用戶流失的具體時間是沒有意義的,對這部分用戶施加挽留措施可能已經錯過最佳幹預時點,而預測能夠被運營措施挽留的用戶才有落地價值。
UPLIFT 模型本身是因果推論領域的,上圖簡單地總結了基於觀察研究的因果推論。首先包括經典的因果推斷方法,這類方法主要是研究平均幹預效應,形成策略效果的整體方向性評估,例如有學者研究“吸煙是否有害健康”,得出長期吸煙會降低壽命期望的結論,這樣的結論往往是方向性的,形成不了具體的策略,這就是我們在實際工作中面臨的一個問題——即因果推論方法怎麼去落地。另一方面,UPLIFT 模型屬於研究異質因果效應類的模型,發現對不同的群體或不同的個體進行幹預所產生的效果是不一樣的,從而發現幹預機制規律,形成個性化的策略落地。
接下來我們介紹幾個定義:
#(1)Neyman-Rubin 潜在结果框架: 个体(样本)由自身固有属性呈现出潜在结果,这种潜在结果往往在现实世界中只能存在一面,这就会带来一个很大的问题:归纳偏置(Inductive Bias)。
(2)CATE: UPLIFT 模型的建模目标。
(3)无混杂基本假设(Unconfoundedness):对混淆因素进行控制(且没有未发现混杂因素)进行预估才能得到无偏的 CATE。
UPLIFT 模型有广泛的行业应用,应用途径大概分为两类:一类是评估干预的异质性效应 HTE。以 A/B 测试为例,可能在整体上观测到的干预效应不显著,但是通过 UPLIFT 模型下钻能找到干预效果显著的子群体。一类是策略优化,包括公共服务领域和互联网个性化营销领域的策略定制。
UPLIFT 建模首先是数据收集,一般情况下我们先创建随机对照实验,实验组全都进行干预,对照组都不干预, 随后收集样本用 UPLIFT 模型建模。
以 T-Leaner 为例,干预样本可以构建一个响应模型,非干预样本可以构建一个响应模型,最后得到的打分求差就是 UPLIFT 值。
UPLIFT 建模有两个核心问题:
由于干预机制导致的选择偏差,引起干预样本和不干预样本的特征分布不一致,产生了混杂因素。这一类混杂因素一方面会影响干预,也会影响结果。由于混杂因素的存在,我们无法得到一个干净的因果效应。具体案例比如:
① 流行度偏差:曝光集中在热门干预。
② 选择偏差:不同人群物品曝光差异。
基于这样的样本去建模大概率是得不到置信度高的结论的。
主要的解决方法:
① 在 loss 引入倾向分正则项。
② 在模型结构引入倾向分链式、对抗结构。
③ 倾向分逆加权采样。
④ 解离表征:试图将混杂因素项解离到一个向量中。
如下图所示:当样本/个体分别在干预/不干预的模型下进行打分后的分布不一致时,我们对干预打分-非干预打分差值(CATE)进行分布统计时会发现抖动很厉害,不同个体/群体之间的 UPLIFT 差别很难分辨,这说明 UPLIFT 模型预测基本是失效的。
这个案例就展示了归纳偏置(Inductive Bias)问题:从模型架构角度,预估反事实结果无监督信号,或潜在结果预估正则化程度不一致,导致最终 UPLIFT 预估不稳定。
回到 Neyman-Rubin 潜在结果框架,对于不同的个体我们只知道干预的结果或者不干预的结果,不可能同时知道干预和不干预的结果,这导致了两个潜在结果预估的分布不一致;而且我们的深度模型建模目标往往是 CTR 或者 CVR ,他们本身不可能直接得到一个增益得分(UPLIFT),这就导致我们的建模目标和最终评估的指标是不一致的。在图中我们可以看到 CATE 的分布与潜在结果预估得分分布完全不一致。这一系列的问题我们都总结为归纳偏置问题。归纳偏执问题是 UPLIFT 模型的一个核心问题,目前学界大概提出了以下四种解决方法:
① 反事實輸出向量一致性,MMD 等分佈對齊方法;
② 設計合理的共享參數架構,FlexTENet、S-Net;
③ 反事實參數差異限制;
④ 在模型結構中引入重參結構(reparametrization),EUEN。
介紹完 UPLIFT 的核心問題後,接下來簡單說一下 UPLIFT 模型的應用挑戰。在金融領域主要有兩大類:一類是多值/ 連續值幹預,一類是連續結果預估。
沿著剛提出的UPLIFT 模型的兩大核心問題-混雜因質偏壓和歸納偏置,學界和工業界提出了許多解決方案。
首先最基本的是 Meta-Learner,代表的建模方案有 S-Learner 和 T-Learner,然後進入深度學習後就演化出來以解決混雜偏移為代表的DragonNet、DESCN、S -Net、CFRNet 等,以及以解決歸納偏壓為代表的FlexTENet、S-Net、EUEN、DESCN、GANITE、CFRNet 等。
接下來介紹 UPLIFT 模型在金融科技領域的應用案例。 UPLIFT 模型的應用往往需要結合營運措施和模型迭代。在營運活動中我們從小流量隨機投放開始收集介入/非介入的樣本,然後進行可行性驗證及實驗設計、策略性分客群投放、UPLIFT 模型建構及投放評估。
其中UPLIFT 模型方案完成了三代迭代:
第一代解決方案以Meta-Learner 為主,快速上線以達到業務的目標,業務的痛點是期望控制行銷ROI 並放量。
第二代主要是以深度學習架構為基礎的,主要目的是為了實現多劵個人化運營, 是一個多值幹預的問題。主要使用的模型有 CRFnet 和自研的 EFIN (Explicit Feature Interaction uplift Network)。
這裡我們將重點放在下自研的 EFIN 模型。這個演算法主要有三個模組:
第一個模組是自交互層,用一個 Self-Attetion 網路實現大規模使用者特徵的充分學習。
第二個模組是整個演算法的關鍵,將乾預變數 T 單獨進行明確表示學習,這有利於解決多值幹預問題。隨後將介入 T 和特徵 X 採用注意力機制交叉,加強異質性效應學習,而這恰恰是 UPLIFT 模型要學習的目標。並使用了重參(Reparametrization)法作為預估輸出,緩解了潛在結果評分分佈不一致的問題。
第三個模組使用乾預約束項,讓模型難以區分樣本是否有被幹預過,以圖解決混雜偏移(Confounding Bias)問題。
多目標 UPLIFT 模型為了同時建模 Ctr-Lift 和 Value-Lift, 預期實現 ROI>1 的同時實現 GMV 成長。裡面最大的困難是金額的UPLIFT 建模困難,因為金額本身兩個反事實的預估結果就方差很大,再相減得到的UPLIFT 方差更大,想要得到穩定的UPLIFT 是比較難的,目前還在著力解決中。
這次講座中,介紹了UPLIFT 建模的兩大核心問題以及兩個應用挑戰和三代的解決方案,並重點介紹了自研EFIN 模型。未來將在多目標 UPLIFT 建模、ROI 限制、動態UPLIFT 建模、 觀測資料糾偏這一系列方向中去更深入的研究。
A1:這個肯定有效果,我們針對觀測資料一般情況下都會選擇這種傾向性分數的方式建模,傾向性分數方式的應用可能會用DragonNet 這樣的模型結構,在模型結構中直接加上傾向性得分。另外一個更直接的方式就是直接根據傾向性分數的分佈進行樣本加權取樣。
A2:這個其實我剛剛那個圖講得比較清楚了,因為我們的深度學習模型是分別預估兩個反事實的CTR,它們的建模目標其實是兩個CTR, 這兩個CTR 求差會發現這個差值的變異數較大。
A3:這個問題就不是一個 UPLIFT 問題了,一般情況下就是做 Embedding ,類別型的就做 One-Hot。
A4:對,S-Learner 它裡面也是一個 DNN 。
A5:深度模型最大的優勢就是採用複雜網絡結構,如特徵交叉、注意力機制等,對特徵的充分學習;森林和樹模型的最大優勢就是穩定性,並且森林類模型的建模目標直接就是CATE。
A6:評估指標離線我們主要用到的是 AUUC 和 QINI,線上可能主要還是轉化成一個財務指標來看它的行銷帶來的一個 ROI, 取決於我們的任務目標。
A7:金融場景下其實也有搜廣推, 但確實金融場景有它的獨特性的, 這種獨特性在於它的轉化鏈路非常長,它涉及到它的授信、核卡等這樣的一類審核流程,另外金融裡怎麼做金額的預估也是一個困難。
A8:UPLIFT Model 和 DML都用來解 CATE。 UPLIFT Model 以機器學習作為主要工具,如樹模型,深度學習,同時融合了因果推斷的想法。而 DML 模式則以計量經濟學的思維指導機器學習工具進行 CATE 的預估。 UPLIFT Model 是個更大的範疇,部分模型也藉鑒了 DML 的想法。
A9:量級問題其實是一個很關鍵的問題,但曝光量級其實不是最重要的, 最重要的是你的正樣本有多少, 正樣本才是決定能否建模的關鍵。
A10:論文審核後會開源。
以上是深度 UPLIFT 模型在騰訊金融用戶成長場景的應用的詳細內容。更多資訊請關注PHP中文網其他相關文章!