偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

對比學習算法在轉(zhuǎn)轉(zhuǎn)的實踐

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


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

1 什么是對比學習

1.1 對比學習的定義

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

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

圖片

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

圖片

1.2 對比學習的原理

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

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

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

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

1.3 經(jīng)典對比學習算法系列

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

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

2 對比學習的應用

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

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

圖片

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

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

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

圖片

GCL 通常通過隨機刪除圖中的點或者邊,實現(xiàn)圖數(shù)據(jù)的增強,而本文的作者傾向于保持重要的結(jié)構(gòu)和屬性不變,擾動發(fā)生在不重要的邊或者節(jié)點。

3 對比學習在轉(zhuǎn)轉(zhuǎn)的實踐

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

3.1 CL在推薦召回的實踐

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

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

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

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

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

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

3.2 CL在轉(zhuǎn)轉(zhuǎn)的未來規(guī)劃

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

關于作者

李光明,資深算法工程師。參與轉(zhuǎn)轉(zhuǎn)搜索算法、推薦算法、用戶畫像等系統(tǒng)的算法體系建設,在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

責任編輯:龐桂玉 來源: 轉(zhuǎn)轉(zhuǎn)技術(shù)
相關推薦

2022-10-28 08:31:43

2024-09-19 22:22:41

多任務學習

2023-03-22 08:32:35

2023-06-07 08:32:32

引擎技術(shù)while

2023-04-19 13:18:41

動態(tài)線程池平臺

2023-08-24 08:11:39

斷路器監(jiān)控報警

2024-09-11 19:36:24

2024-10-16 21:49:24

2023-11-01 07:44:29

轉(zhuǎn)轉(zhuǎn)Flutter業(yè)務

2023-12-27 19:12:42

OLAP自助分析

2022-11-07 14:45:26

轉(zhuǎn)轉(zhuǎn)價格DDD

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-06-06 08:18:42

回收業(yè)務

2024-11-07 13:35:10

2023-09-14 08:34:28

linux架構(gòu)參數(shù)

2023-02-15 08:31:19

點贊
收藏

51CTO技術(shù)棧公眾號