自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

對比學(xué)習(xí)算法在轉(zhuǎn)轉(zhuǎn)的實(shí)踐

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


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

1 什么是對比學(xué)習(xí)

1.1 對比學(xué)習(xí)的定義

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

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

圖片

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

圖片

1.2 對比學(xué)習(xí)的原理

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

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

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

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

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

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

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

2 對比學(xué)習(xí)的應(yīng)用

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

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

圖片

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

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

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

圖片

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

3 對比學(xué)習(xí)在轉(zhuǎn)轉(zhuǎn)的實(shí)踐

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

3.1 CL在推薦召回的實(shí)踐

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

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

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

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

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

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

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

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

關(guān)于作者

李光明,資深算法工程師。參與轉(zhuǎn)轉(zhuǎn)搜索算法、推薦算法、用戶畫像等系統(tǒng)的算法體系建設(shè),在GNN、小樣本學(xué)習(xí)、對比學(xué)習(xí)等相關(guān)領(lǐng)域有實(shí)踐應(yīng)用。

參考資料

[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

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

2022-10-28 08:31:43

2024-09-19 22:22:41

多任務(wù)學(xué)習(xí)

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-10-16 21:49:24

2024-09-11 19:36:24

2023-11-01 07:44:29

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

2022-11-07 14:45:26

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

2023-12-27 19:12:42

OLAP自助分析

2023-03-02 08:54:32

2023-07-12 08:33:34

引擎LiteFlow編排

2023-03-02 08:32:41

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架構(gòu)參數(shù)

2024-06-06 08:18:42

回收業(yè)務(wù)

2023-02-15 08:31:19

點(diǎn)贊
收藏

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