成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

對比學習算法在轉轉的實踐

人工智能
對比學習(Contrastive Learning, CL)是近年來 AI 領域的熱門研究方向,吸引了眾多研究學者的關注,其所屬的自監督學習方式,更是在 ICLR 2020 被 Bengio 和 LeCun 等大佬點名稱為 AI 的未來,后陸續登陸 NIPS, ACL, KDD, CIKM 等各大頂會...


  • 1 什么是對比學習
  • 1.1 對比學習的定義
  • 1.2 對比學習的原理
  • 1.3 經典對比學習算法系列
  • 2 對比學習的應用
  • 3 對比學習在轉轉的實踐
  • 3.1 CL在推薦召回的實踐
  • 3.2 CL在轉轉的未來規劃

1 什么是對比學習

1.1 對比學習的定義

對比學習(Contrastive Learning, CL)是近年來 AI 領域的熱門研究方向,吸引了眾多研究學者的關注,其所屬的自監督學習方式,更是在 ICLR 2020 被 Bengio 和 LeCun 等大佬點名稱為 AI 的未來,后陸續登陸 NIPS, ACL, KDD, CIKM 等各大頂會,Google, Facebook, DeepMind,阿里、騰訊、字節等大廠也紛紛對其投入精力,CL 的相關工作也是刷爆了 CV,乃至 NLP 部分問題的 SOTA,在 AI 圈的風頭可謂一時無兩。

CL 的技術源泉來自度量學習,大概的思想是:定義好樣本的正例和負例,以及映射關系(將實體映射到新的空間),優化目標是讓正例在空間中與目標樣本的距離近一些,而負例要相對遠一些。正因為如此,CL 看上去跟向量化召回思路很像,但其實二者有本質的區別,向量化召回屬于監督學習的一種,會有明確的標簽數據,而且更注重的負樣本的選擇(素有負樣本為王的“學說”);而 CL 是自監督學習(屬于無監督學習的一種范式)的一支,不需要人工標注的標簽信息,直接利用數據本身作為監督信息,學習樣本數據的特征表達,進而引用于下游任務。此外,CL 的核心技術是數據增強(Data Augmentation),更加注重的是如何構造正樣本。下圖是一個抽象的 CL 整體流程圖

圖片

對比學習的標簽信息來源于數據本身,核心模塊是數據增強。圖像領域的數據增強技術是比較直觀的,比如圖像的旋轉、遮擋、取部分、著色、模糊等操作,都可以得到一張與原圖整體相似但局部相異的新圖(即增強出來的新圖),下圖是部分圖像數據增強的手段(出自SimCLR[1])。

圖片

1.2 對比學習的原理

談到CL的原理,不得不提自監督學習,它避開了人工標注的高成本,以及標簽低覆蓋的稀疏性,更容易學到通用的特征表示。自監督學習可以分成兩大類:生成式方法和對比式方法。生成式方法的典型代表是自編碼器,而對比式學習的經典代表即ICLR 2020的SimCLR,通過(增強后的)正負樣本在特征空間的對比學習特征表示。相比較生成式方法,對比式方法的優勢在于無需對樣本進行像素級的重構,只需要在特征空間能夠學到可區分性即可,這使得相關的優化變得簡單。筆者認為,CL的有效性主要體現在學習item表示的可區分性,而可區分性的學習依賴正負樣本的構造思路,以及具體的模型結構和優化目標。

結合CL的實現過程,Dr Zhang[2]抽象了三個CL必須要回答的問題,也是其區別于度量學習的典型特征,即(1)如何構造正例和負例,也就是數據增強具體是如何實現的;(2)Encoder映射函數如何構造,不僅要盡可能多地保留原始信息,而且要防止坍塌問題;(3)損失函數如何設計,目前通常使用的NCE loss,如下公式所示。不難看出,這三個基本問題對應建模的三要素:樣本,模型,優化算法。

從 loss 公式中可以看出,分子部分強調的是與正例的距離越近越好,S函數衡量的是相似性,距離越近對應的S值越大,分母強調的是與負例的距離越遠越好,loss 越低,對應的可區分性越高。

在這三個基本問題中,數據增強是 CL 算法的核心創新點,不同的增強手段是算法有效性的基本保障,也是各大 CL 算法的identity;Encoder函數通常借助神經網絡實現;除 NCE loss外,還有其他 loss 的變體,比如Google[3]就提出了監督對比損失。

1.3 經典對比學習算法系列

CL是自監督學習的一種學習算法,提到自監督學習,Bert 恐怕是 NLP 領域無法回避的話題,Bert 預訓練 + Fine-tuning 的模式在諸多問題的解決方案中實現了突破,既然自監督可以在 NLP 取得成功,難道計算機視覺就不可以嗎?實際上 Bert 在 NLP 領域取得的成功,也直接地刺激了 CL 在圖像領域的發生和發展。鑒于數據增強可以在圖像領域直觀地展開,CL 也是率先在 CV 領域取得進展,比如 CL 的發展契機—— SimCLR 算法,其創新點主要包括(1)探索了多種不同的數據增強技術的組合,選擇了最優;(2)在 Encoder 之后增加了非線性映射 Projector,主要是考慮 Encoder 學習的向量表示會把增強的信息包含在內,而 Projector 則旨在去除這部分影響,回歸數據的本質。后來Hinton的學生在 SimCLR 的基礎上實現了 SimCLR v2,主要改進點在于 Encoder 的網絡結構,同時借鑒了 MoCo 使用的 Memory Bank 的思想,進一步提升了 SOTA。

實際上,在 SimCLR 之前,Kaiming He 在2019年底提出了對比學習的另一個經典算法MoCo[4],其主要思想是既然對比是在正負樣本之間進行的,那么增加負樣本數量,可以提高學習任務的難度,從而增強模型性能,Memory Bank 是解決該問題的經典思路,但卻無法避免表示不一致的問題,鑒于此,MoCo 算法提出了使用動量的方式更新 Encoder 參數,從而解決新舊候選樣本編碼不一致的問題。后來,Kaiming He 又在 MoCo 的基礎上提出了 MoCo v2(在 SimCLR 提出之后),模型主要框架沒有改動,主要在數據增強的方法、Encoder 結構以及學習率等細節問題上做了優化。

2 對比學習的應用

對比學習不僅是學術界在圖像、文本、多模態等多個領域的熱門研究方向,同時也在以推薦系統為代表的工業界得到了應用。

Google 將 CL 應用于推薦系統Google SSL[5],目的在于針對冷門、小眾的 item 也能學習到高質量的向量表示,從而輔助解決推薦冷啟動問題。其數據增強技術主要采用 Random Feature Masking(RFM),Correlated Feature Masking(CFM)的方法(CFM 一定程度上解決了 RFM 可能構造出無效變體的問題),進而 CL 以輔助塔的形式,結合雙塔召回的主任務共同訓練,整體流程如下圖所示

圖片

在模型的訓練過程中,主任務的 item 主要還是來自曝光日志,因此也是對頭部熱門 item 比較友好,為了消除馬太效應的影響,在輔助任務中的樣本構造需要考慮與主任務不同的分布,后續 CL 在轉轉的實踐過程中也是借鑒了這樣的思考,從而確保模型學習結果的充分覆蓋。

數據增強不局限在 item 側,Alibaba-Seq2seq[6]將 CL 的思想應用在序列推薦問題上,即輸入用戶行為序列,預測下一個可能交互的 item。具體地,其數據增強主要應用在用戶行為序列特征,將用戶歷史行為序列按照時序劃分成兩個子序列,作為數據增強后的用戶的表示,喂入雙塔模型,最終輸出結果越相似越好。與此同時,該文為了顯式建模用戶的多興趣,在 Encoder 部分提取出多個向量,而不是壓縮成一個用戶向量。因為隨著子序列的拆分,以及正負例的構造,用戶天然具有多個行為序列的向量表示,在正例中,用戶前一部分歷史行為的向量,與后一部分歷史行為的向量,距離相近,而在負例中,不同用戶的距離相對較遠,而且即使同一用戶,在不同類別商品的向量表示也相對較遠。

CL 還可以與其他學習范式結合應用,圖對比學習[7],整體框架如下圖所示

圖片

GCL 通常通過隨機刪除圖中的點或者邊,實現圖數據的增強,而本文的作者傾向于保持重要的結構和屬性不變,擾動發生在不重要的邊或者節點。

3 對比學習在轉轉的實踐

圖像領域取得了成功,文本領域也是可以的,比如美團-ConSERT[8]算法,在句子語義匹配任務的實驗中,相比之前的 SOTA(BERT-flow)提升了8%,并且在少量樣本下仍能表現出較好的性能提升。該算法將數據增強作用在 Embedding 層,采用隱式生成增強樣本的方法,具體地,提出了四種數據增強方法:對抗攻擊(Adversarial Attack),打亂詞序(Token Shuffling),裁剪(Cutoff)和 Dropout,這四種方法均通過調整 Embedding 矩陣得到,比顯式增強方法更高效。

3.1 CL在推薦召回的實踐

轉轉平臺致力于促進低碳循環經濟的更好發展,能夠覆蓋全品類商品,近年來尤其在手機3C領域的發展表現突出。CL 在轉轉推薦系統中的實踐也是選擇了基于文本的應用思路,考慮到二手交易特有的屬性,需要解決的問題包括(1)二手商品的孤品屬性,導致 ID 類的向量并不適用;(2)數據增強是怎么實現的;(3)正例和負例如何構造;(4)Encoder 的模型結構是怎樣的(包括 loss 的設計問題)。針對這四個問題,結合下面的整體流程圖進行詳細說明

針對二手商品的孤品屬性問題,我們采用基于文本的向量作為商品的表征,具體地,使用商品的文本描述(包括標題與內容)集合,訓練 word2vec 模型,并基于詞向量通過 pooling 得到商品的向量表示。

自編碼器(Auto Encoder)算法是文本對比學習領域常用的數據增強手段之一(除此之外,還有機器翻譯、CBERT等不同思路),我們也是采用 AE 算法訓練模型,學習商品向量,并利用算法的中間向量作為商品的增強向量表示,也就有了正例。

負例的生產原則是 Batch 內隨機選取不相似的商品,相似商品的判斷依據是根據用戶的后驗點擊行為計算而來。在以 CF(協同過濾)為代表的推薦系統召回結果中,能夠通過共同點擊行為召回的商品組合,認為是相似的,否則認為是不相似的。之所以采用行為依據判斷是否相似,一方面是為了將用戶的行為引入其中,實現文本與行為的有機結合,另一方面也是為了盡可能地貼合業務目標。

具體到 Encoder 部分,我們采用的是類似孿生網絡的雙塔結構,分別喂入樣本(正正 or 正負)的文本向量,訓練分類模型,網絡結構為三層全連接的神經網絡,雙塔共享該網絡參數,并通過優化交叉熵損失優化模型參數。實際工業界,大部分推薦系統中雙塔模型的訓練目標均為用戶后驗行為(點擊、收藏、下單等),而我們的訓練目標是樣本相似與否,之所以采用孿生網絡的形式,也是出于這樣做可以保證學習結果的覆蓋。

根據 CL 的常規思路,提取最終 Encoder 部分的輸入向量作為商品的向量化表示,可以進一步在推薦系統的召回、粗排甚至精排等環節應用。目前已經在轉轉推薦系統的召回模塊落地,給線上帶來了超過10%的下單提袋率的提升。

3.2 CL在轉轉的未來規劃

通過人工評估以及線上AB實驗,充分確認了CL習得向量表示的有效性,在召回模塊落地后,可以在推薦系統其他模塊,甚至其他算法場景推而廣之。以預訓練的方式學習商品向量表示(當然,也可以學習用戶的向量表示),只是一條應用路徑,CL 更多的是提供了一種學習框架或者學習思路,通過數據增強和對比的形式,使算法學習物品的可區分性,這樣的思路可以自然地引入推薦系統的排序模塊,因為排序問題也可以理解成物品的可區分性問題。

關于作者

李光明,資深算法工程師。參與轉轉搜索算法、推薦算法、用戶畫像等系統的算法體系建設,在GNN、小樣本學習、對比學習等相關領域有實踐應用。

參考資料

[1]SimCLR: A_Simple_Framework_for_Contrastive_Learning_of_Visual_Representations

[2]張俊林: ??https://mp.weixin.qq.com/s/2Js8-YwUEa1Hr_ZYx3bF_A??

[3]Google: Supervised_Contrastive_Learning

[4]MoCo: Momentum_Contrast_for_Unsupervised_Visual_Representation_Learning

[5]SSL: Self-supervised_Learning_for_Large-scale_Item_Recommendations

[6]Ali-Seq2seq: Disentangled_Self-Supervision_in_Sequential_Recommenders

[7]GCL: Graph_contrastive_learning_with_adaptive_augmentation

[8]ConSERT: ConSERT:_A_Contrastive_Framework_for_Self-Supervised_Sentence_Representation_Transfer

責任編輯:龐桂玉 來源: 轉轉技術
相關推薦

2022-10-28 08:31:43

2024-09-19 22:22:41

多任務學習

2023-03-22 08:32:35

2023-06-07 08:32:32

引擎技術while

2023-04-19 13:18:41

動態線程池平臺

2023-08-24 08:11:39

斷路器監控報警

2024-09-11 19:36:24

2024-10-16 21:49:24

2023-11-01 07:44:29

轉轉Flutter業務

2022-11-07 14:45:26

轉轉價格DDD

2023-12-27 19:12:42

OLAP自助分析

2023-03-02 08:54:32

2023-03-02 08:32:41

2023-07-12 08:33:34

引擎LiteFlow編排

2023-02-08 09:42:30

策略方式容量

2022-12-15 08:35:01

用戶畫像平臺

2024-11-07 13:35:10

2023-09-14 08:34:28

linux架構參數

2024-06-06 08:18:42

回收業務

2022-11-09 09:00:51

OCR游戲應用
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美精品一区二区三区四区五区 | 人干人人| 亚洲成人综合社区 | 亚洲午夜视频 | 日韩欧美国产一区二区 | 一区观看 | 成人午夜精品 | 欧美a免费| 欧美激情综合 | 色综合国产 | 亚洲一区成人 | 国产精品jizz在线观看老狼 | 亚洲综合大片69999 | 亚洲www.| av手机在线播放 | 成人精品一区二区 | 国产高清一区二区 | 在线免费观看a级片 | 成人在线电影在线观看 | 午夜小视频在线播放 | h片在线观看网站 | 国产精品一区在线 | 日本不卡一区二区三区在线观看 | 爱爱免费视频 | 伊人性伊人情综合网 | 亚洲国产小视频 | 欧美日韩免费在线 | 毛片一级片| 中文字幕国产精品 | 亚洲一区二区免费视频 | 中文字幕一区二区三区精彩视频 | 日韩性生活网 | 国产免费一区二区三区最新6 | 欧美在线亚洲 | 日韩精品一区二区三区中文字幕 | 久久日韩粉嫩一区二区三区 | 国产亚洲精品美女久久久久久久久久 | 黄色一级免费 | 久久黄网 | 九一在线观看 | 黄色免费网站在线看 |