神经网络如何处理测试阶段出现的新特征?面向开放环境特征外推的图学习解决方案...
?作者 |?吳齊天
單位?|?上海交通大學
研究方向 |?圖神經網絡
本文介紹被NeurIPS 2021接收的新工作。我們對一個全新的問題在通用的設定下進行了探索,相關問題定義和方法適用于諸多具體應用。論文和代碼鏈接在文末提供。
論文標題:
Towards Open-World Feature Extrapolation: An Inductive Graph Learning Approach
作者信息:
Qitian Wu, Chenxiao Yang, Junchi Yan (Shanghai Jiao Tong University)
關鍵詞:
圖神經網絡、特征表示學習、分布外泛化
論文鏈接:
https://proceedings.neurips.cc/paper/2021/file/a1c5aff9679455a233086e26b72b9a06-Paper.pdf
代碼鏈接:
htthttps://github.com/qitianwu/FATE
動機:特征外推問題的定義與重要性
目前的大多數機器學習任務,通常假設訓練數據與測試數據共享一個特征空間。然而在實際場景中,訓練好的模型通常需要與一個開放環境進行交互,測試集中就會出現新的特征。例如推薦系統中利用用戶的年齡、職業等特征訓練好了一個推薦模型,后來公司新發布了某個應用,收集到了新的用戶數據,這就需要用新的用戶特征進行決策。
下圖給出了一個直觀的說明,我們考慮訓練數據與測試數據的特征維度不一致(后者是前者的擴張),在這種情況下如果我們把訓練好的神經網絡直接遷移到測試集,由于對應新特征維度的神經元未經過訓練,網絡的測試性能就會大大下降,而重新在包含新特征的數據集上訓練一個神經網絡又需要耗費大量的計算資源。本篇論文中,我們提出了一種新的學習方法,基于特征與樣本之間的關系所形成的圖結構,利用已知的特征表示(embedding)來外推新特征的表示,模型無需重新訓練就能泛化到包含新特征的數據上。
我們把第個數據樣本表示為,其中表示第個特征的one-hot表示向量(離散特征的常見表示形式,連續特征可先做離散化再表示成one-hot向量),這里共有個特征。下面為開放世界特征外推問題(open-world feature extrapolation)給出數學定義:
給定訓練數據其中, ,我們需要訓練一個分類器使得它能夠泛化到測試數據其中, 。注意到,這里我們假設:1)訓練集特征空間包含于測試集特征空間,即;2)訓練集與測試集共享同一個輸出空間。
重要觀察
直接解決上述問題是很困難的,因為訓練階段對測試數據中額外增加的特征信息一無所知(包括特征的數目和分布都不可見)。不過我們有兩點重要觀察,可以引導我們給出一個合理的解決方案。
首先,神經網絡分類器可以分解為兩個級聯的子模塊,分別是特征embedding層和classifier層(如下圖(a)所示)。這里的embedding層可以視為一個特征embedding字典,每一行是一個特征的embedding,它對輸入向量中每一個非0的特征查找出相應的embedding,而后對所有返回的特征embedding做一個sum pooling聚合,得到中間層的hidden vector,用于接下來classifier層的前饋計算。這里的sum pooling操作對于特征維度是置換不變(permutation-invariant)的。所謂置換不變性,就是指當交換輸入各元素的位置,輸出保持不變。
其次,如果我們把所有輸入的數據(比如訓練樣本)堆疊起來,形成一個矩陣(維度為樣本數特征數),它定義了一個樣本-特征的二分圖。圖中每個樣本與每個特征都是節點,連邊是樣本對特征的隸屬關系(即該樣本是否包含該特征)。
聯合以上兩點我們可以發現,如果我們把所有輸入數據(或一個batch的數據)視為一張圖,再輸入神經網絡,由于網絡embedding層的置換不變性,不論輸入的圖包含多少特征節點,網絡都能靈活處理。這就說明我們能夠適當改造神經網絡,使它能夠處理特征空間的擴張。
方法
下面介紹本文提出的用于特征外推的模型框架(下圖顯示了模型的前饋過程)。整個模型框架包含輸入的數據表示,一個high-level圖神經網絡(GNN)模型,和一個low-level的backbone模型。GNN模型用于在樣本-特征二分圖上進行消息傳遞,通過抽象的信息聚合來推斷新特征的embedding。這一過程模擬了人腦的思考過程,即從熟悉的知識概念外推出對新概念的理解。backbone模型就是一個普通的分類器,不過embedding層的參數將由GNN模型的輸出替代。
下圖是針對上述模型提出的兩種訓練策略。圖(a)中我們采用self-supervised訓練,每次將部分特征mask,然后利用其他特征來推斷mask的特征。圖(b)中我們采用inductive訓練方式,每次采樣一部分訓練集的特征,只利用這部分特征來給出預測結果。此外,GNN和backbone采用異步更新,即每k輪更新backbone后再更新一次GNN。
理論分析
我們對提出的訓練方法做了一番理論分析,主要考慮經驗風險損失(即部分觀測集上的模型預測誤差)與期望風險損失(即整體數據分布上的模型預測誤差)關于算法隨機性的期望差值。這一差值的上界可以由以下定理給出,結論就是泛化誤差上界主要與輸入特征維度以及采樣算法可能產生的特征組合數目有關。
實驗結果
在多/二分類數據集上,我們考慮如下評測準則:隨機將數據樣本劃分為6:2:2的train/val/test集,再隨機從所有特征中選出部分觀測特征;模型在只有觀測特征的訓練數據上訓練,在具有所有特征的測試數據上計算accuracy(多分類)或ROC-AUC(二分類)。
對比以下方法:1)Base-NN只用觀測特征訓練和測試;2)Oracle-NN:使用全部特征訓練和測試;3)Average-NN/KNN-NN/Pooling-NN:使用average pooling聚合所有特征embedding/KNN聚合相近特征embedding/不含參數的mean pooling GCN聚合相鄰特征embedding來推斷新特征的embedding;4)INL-NN先在僅有觀測特征的訓練數據上訓練到飽和再在新特征上局部更新。在6個小數據集上,考慮不同的觀測特征比例(從30%到80%),對比結果如下(圖中FATE為本文提出的方法)。
此外,我們還在大規模廣告數據集(百萬級樣本和特征)開展了實驗。這里我們采用動態時間劃分:將所有樣本按時間先后排序,再分為10份,取第一份為訓練數據,第二份作為驗證集,第三到第十份作為測試集。這樣的劃分方式天然的在測試集中引入了訓練集中未出現的新特征,新舊特征的比例接近1:1。我們分別以DNN和DeepFM作為backbone模型,使用ROC-AUC作為評測指標,結果如下。我們的方法能夠取得最優的預測性能。
更多實驗結果,例如可擴展性測試(模型的訓練計算時間和顯存消耗相對于特征數和樣本batch size都呈現線性增長趨勢)、消融實驗、特征可視化結果請參見我們的論文。
更多解釋:為什么圖學習可以幫助解決外推問題
事實上,當我們利用輸入數據將樣本與特征表示在一張圖上后,通過圖結構我們就能得到樣本-特征以及特征-特征之間的關系。這里特征-特征的關系由樣本作為中間節點,也就是圖上的二階相鄰信息給出?;诖?#xff0c;圖的建立為我們提供了天然的已觀測特征與未觀測特征的聯系。當模型完成訓練后,我們可以得到已觀測特征的表示embedding,而后對于在測試階段引入的新特征,我們就可以利用圖結構做信息傳遞,把已觀測特征的embedding信息通過圖神經網絡計算新特征的embedding,從而實現特征的外推。
未來展望與總結
我們工作的最大貢獻在于定義了一個全新的問題框架,即特征空間的外推問題,并且說明了神經網絡模型可以勝任此類任務,解決測試階段新出現的特征。由于本文的重點在于探索一個新的方向,我們采用了較為通用的設定,未來可以對本文的研究問題做進一步的拓展,包括但不限于考慮:1)持續學習(Continual Learning)中不斷到來的新特征;2)多模態學習(Multi-Modal Learning)或多視角學習(Multi-View Learning)中融合多方數據的表示;3)聯邦學習(Federated Learning)中中心服務器需要處理分布式節點的新特征。此外,本文研究的問題和解決思路也可以被應用到諸多其他領域和場景。歡迎討論,請發郵件至 echo740@sjtu.edu.cn
特別鳴謝
感謝 TCCI 天橋腦科學研究院對于 PaperWeekly 的支持。TCCI 關注大腦探知、大腦功能和大腦健康。
更多閱讀
#投 稿?通 道#
?讓你的文字被更多人看到?
如何才能讓更多的優質內容以更短路徑到達讀者群體,縮短讀者尋找優質內容的成本呢?答案就是:你不認識的人。
總有一些你不認識的人,知道你想知道的東西。PaperWeekly 或許可以成為一座橋梁,促使不同背景、不同方向的學者和學術靈感相互碰撞,迸發出更多的可能性。?
PaperWeekly 鼓勵高校實驗室或個人,在我們的平臺上分享各類優質內容,可以是最新論文解讀,也可以是學術熱點剖析、科研心得或競賽經驗講解等。我們的目的只有一個,讓知識真正流動起來。
📝?稿件基本要求:
? 文章確系個人原創作品,未曾在公開渠道發表,如為其他平臺已發表或待發表的文章,請明確標注?
? 稿件建議以?markdown?格式撰寫,文中配圖以附件形式發送,要求圖片清晰,無版權問題
? PaperWeekly 尊重原作者署名權,并將為每篇被采納的原創首發稿件,提供業內具有競爭力稿酬,具體依據文章閱讀量和文章質量階梯制結算
📬?投稿通道:
? 投稿郵箱:hr@paperweekly.site?
? 來稿請備注即時聯系方式(微信),以便我們在稿件選用的第一時間聯系作者
? 您也可以直接添加小編微信(pwbot02)快速投稿,備注:姓名-投稿
△長按添加PaperWeekly小編
🔍
現在,在「知乎」也能找到我們了
進入知乎首頁搜索「PaperWeekly」
點擊「關注」訂閱我們的專欄吧
·
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的神经网络如何处理测试阶段出现的新特征?面向开放环境特征外推的图学习解决方案...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 北京内推 | 微软亚洲研究院机器学习组招
- 下一篇: 空客330-200机型15年机龄长吗