91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何改進(jìn)雙塔模型才能更好的提升你的算法效果

深度學(xué)習(xí)自然語(yǔ)言處理 ? 來源:對(duì)白的算法屋 ? 作者:對(duì)白 ? 2021-11-05 15:38 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

來自:對(duì)白的算法

今天寫點(diǎn)技術(shù)干貨來回饋一下我的粉絲們。本來想繼續(xù)寫對(duì)比學(xué)習(xí)(Contrastive Learing)相關(guān)類型的文章,以滿足我出一本AI前沿技術(shù)書籍的夢(mèng)想,但奈何NIPS2021接收的論文一直未公開,在arxiv上不停地刷,也只翻到了零碎的幾篇。于是,我想到該寫一下雙塔模型了,剛進(jìn)美團(tuán)的第一個(gè)月我就用到了Sentence-BERT。

為什么呢?因?yàn)殡p塔模型在NLP和搜廣推中的應(yīng)用實(shí)在太廣泛了。不管是校招社招,面試NLP或推薦算法崗,這已經(jīng)是必問的知識(shí)點(diǎn)了。

接下來,我將從模型結(jié)構(gòu),訓(xùn)練樣本構(gòu)造,模型目標(biāo)函數(shù)三個(gè)方面介紹雙塔模型該如何改進(jìn),才能更好的提升業(yè)務(wù)中的效果。

一、雙塔模型結(jié)構(gòu)改進(jìn)

e727d636-3de0-11ec-82a9-dac502259ad0.png

如圖所示,目前主流的雙塔模型結(jié)構(gòu)主要可以歸為三類。

第一類在離線階段直接將BERT編碼的document映射為固定長(zhǎng)度的向量,在線階段將query映射為固定長(zhǎng)度的向量,然后通過打分函數(shù)計(jì)算最后的得分,例如:Sentence-BERT,DPR。

第二類

模型在離線階段將BERT編碼document得到的多個(gè)向量(每個(gè)向量對(duì)應(yīng)一個(gè)token)全部保留,在線階段利用BERT將query編碼成多個(gè)向量,和離線階段保留的document的多個(gè)向量進(jìn)行交互打分(復(fù)雜度O(mn)),得到最后的得分,代表工作,Col-BERT。

第三類

模型是前兩種的折中,將離線階段BERT編碼得到的document向量進(jìn)行壓縮,保留k個(gè)(k《m)個(gè)向量,并且使用一個(gè)向量來表示query(一般query包含的信息較少),在線階段計(jì)算一個(gè)query向量和k個(gè)document向量的交互打分(復(fù)雜度O(k)),代表工作:Poly-BERT,PQ-BERT。

總結(jié)這類工作的主要思想是增強(qiáng)雙塔模型的向量表示能力,由于document較長(zhǎng),可能對(duì)應(yīng)多種語(yǔ)義,而原始雙塔模型對(duì)query和document只使用一個(gè)向量表示,可能造成語(yǔ)義缺失。那么可以使用多個(gè)向量來表示document,在線階段再進(jìn)行一些優(yōu)化來加速模型的推斷。

二、訓(xùn)練樣本構(gòu)造

檢索任務(wù)中,相對(duì)于整體document庫(kù),每個(gè)query所對(duì)應(yīng)的相關(guān)document是很少的一部分。在訓(xùn)練時(shí),模型往往只接收query對(duì)應(yīng)的相關(guān)文檔(正樣本)以及少量query的不相關(guān)文檔(負(fù)樣本),目標(biāo)函數(shù)是區(qū)分正樣本和負(fù)樣本。然而在模型推斷時(shí),模型需要對(duì)document庫(kù)中的所有document進(jìn)行打分。如果模型在訓(xùn)練時(shí)讀取的document和document庫(kù)中的一些document之間的語(yǔ)義距離相差較大,則可能造成模型在推斷階段表現(xiàn)不佳。因此,如何構(gòu)造訓(xùn)練樣本是一個(gè)重要的研究方向。

方法一:(1) 首先介紹一個(gè)比較簡(jiǎn)單的trick,In-batch negatives。顧名思義,在訓(xùn)練時(shí),假設(shè)一個(gè)batch中包含b個(gè)query,每個(gè)query(q_i)都有一個(gè)對(duì)應(yīng)的正樣本dp_i和負(fù)樣本dq_i,那么在這個(gè)batch中,每個(gè)q_i除了自己所對(duì)應(yīng)的負(fù)樣本,還可以將batch中其他query所對(duì)一個(gè)的正樣本和負(fù)樣本都作為當(dāng)前query所對(duì)應(yīng)的負(fù)樣本,大大提高了訓(xùn)練數(shù)據(jù)的利用率。實(shí)驗(yàn)表明,該trick在各種檢索任務(wù)上都能提高模型的效果。

方法二:(2) 上述方法的目標(biāo)是在訓(xùn)練過程中利用更多的負(fù)樣本,讓模型的魯棒性更強(qiáng)。然而訓(xùn)練過程能遍歷的負(fù)樣本始終是有限的,那么如何在有限的訓(xùn)練樣本中構(gòu)造更有利于模型訓(xùn)練的負(fù)樣本是一個(gè)重要的研究問題。

ANCE提出了一種迭代式生成負(fù)樣本的思路:隨著訓(xùn)練的進(jìn)行,模型對(duì)于文本的表示也會(huì)變化,之前對(duì)于模型較難的負(fù)樣本可能變得不那么難,而之前沒見過的負(fù)樣本對(duì)于模型可能會(huì)較難區(qū)分。該工作以此為出發(fā)點(diǎn),同時(shí)進(jìn)行train和inference,在訓(xùn)練的同時(shí),利用上一個(gè)checkpoint中的模型進(jìn)行inference,對(duì)訓(xùn)練數(shù)據(jù)生成新的負(fù)樣本,在inference完成后,使用新的負(fù)樣本進(jìn)行訓(xùn)練。這樣可以漸進(jìn)的訓(xùn)練模型,保持負(fù)樣本的難度,更充分的訓(xùn)練模型。

e78a1a26-3de0-11ec-82a9-dac502259ad0.png

方法三:(3) 除了利用模型本身來生成負(fù)樣本,還可以利用比雙塔模型復(fù)雜的交互模型來生成訓(xùn)練數(shù)據(jù)。RocketQA提出了基于交互模型來增強(qiáng)數(shù)據(jù)的方法。由于交互模型的表現(xiàn)更強(qiáng),作者使用交互模型來標(biāo)注可能成為正樣本的文檔(這些文檔未經(jīng)過標(biāo)注),以及篩選更難的訓(xùn)練雙塔模型的樣本。具體的訓(xùn)練過程如下圖所示:

e79edc68-3de0-11ec-82a9-dac502259ad0.png

總結(jié):這類工作從訓(xùn)練數(shù)據(jù)著手,彌補(bǔ)原有的訓(xùn)練模式對(duì)于缺少負(fù)樣本優(yōu)化的不足。個(gè)人角度認(rèn)為這類工作提升可能更為顯著。

三、訓(xùn)練目標(biāo)改進(jìn)

訓(xùn)練目標(biāo)上的改進(jìn)比較靈活,有多種不同的改進(jìn)方式,首先介紹利用交互模型改進(jìn)雙塔模型的工作。

相對(duì)于雙塔模型,交互模型的表現(xiàn)更好,但復(fù)雜度更高,因此很多工作的idea是通過模型蒸餾將交互模型的文本表示能力遷移到雙塔模型中,這方面有很多類似的工作。這里選取一個(gè)SIGIR2021的最新文章作為代表。

e7b3f6fc-3de0-11ec-82a9-dac502259ad0.png

如上圖所示,該模型不僅蒸餾了一個(gè)交互模型(monoBERT),同時(shí)還蒸餾了一個(gè)基于雙塔的改進(jìn)模型ColBERT。該模型使用monoBERT作為teacher,對(duì)模型的CLS位置向量進(jìn)行蒸餾,使用ColBERT作為teacher,對(duì)模型的除了[CLS]位置的向量進(jìn)行蒸餾,目標(biāo)函數(shù)為以下三部分的加和:

e8167462-3de0-11ec-82a9-dac502259ad0.png

最后的打分函數(shù)是monoBERT和ColBERT的組合,即,首先使用document和query的CLS位置向量輸入MLP,輸出一個(gè)分?jǐn)?shù),同時(shí)使用document和query的其他位置表示向量輸入到和ColBERT相同的打分函數(shù)中,最后使用兩個(gè)分?jǐn)?shù)的和作為最后打分。

前文所述的工作都是將query和document的文本映射到稠密向量空間中,然后進(jìn)行匹配。另外還有的工作是直接利用文字進(jìn)行匹配。Doc2query使用一個(gè)基于seq2seq的預(yù)訓(xùn)練語(yǔ)言模型(比如T5),利用標(biāo)注的document,query對(duì)進(jìn)行finetune,目標(biāo)是輸入document輸出對(duì)應(yīng)的query,然后將輸出的query和document本身進(jìn)行拼接,擴(kuò)展document。然后利用傳統(tǒng)的檢索方法,比如BM25,對(duì)擴(kuò)展過的document建立索引并查找。過程示意如下圖所示。在MSMARCO上的一些實(shí)驗(yàn)表明,這個(gè)方法可以和基于向量的搜索一起使用,提高模型的表現(xiàn)。

e8338908-3de0-11ec-82a9-dac502259ad0.png

四、雙塔模型預(yù)訓(xùn)練

一般的預(yù)訓(xùn)練模型使用的目標(biāo)函數(shù)主要是MLM或者seq2seq,這種預(yù)訓(xùn)練目標(biāo)和雙塔的匹配任務(wù)還是有一些不一致。并且已有的預(yù)訓(xùn)練模型即使有匹配任務(wù)(比如NSP),也是使用交互而非雙塔的工作方式。為了使用預(yù)訓(xùn)練提高雙塔模型的效果,SimCSE通過對(duì)比學(xué)習(xí),提升模型對(duì)句子的表示能力。

該方法的實(shí)現(xiàn)很簡(jiǎn)單,假設(shè)提取一個(gè)batch的句子,通過模型自帶的dropout,將每個(gè)句子輸入到預(yù)訓(xùn)練模型中,dropout兩次,將同一個(gè)句子dropout后的結(jié)果作為正樣本,不同句子的dropout結(jié)果作為負(fù)樣本,拉近正樣本的距離,拉遠(yuǎn)負(fù)樣本的距離,每個(gè)句子的向量由BERT的CLS位置向量表示。如下圖所示:

e88ab17e-3de0-11ec-82a9-dac502259ad0.png

模型雖然很簡(jiǎn)單,但是在句子匹配任務(wù)上取得了很好的效果。該模型在檢索任務(wù)上的效果還需實(shí)驗(yàn)。

還有的工作是針對(duì)檢索任務(wù)的預(yù)訓(xùn)練。ICLR2020一篇論文Pre-training Tasks for Embedding-based Large-scale Retrieval提出了一些預(yù)訓(xùn)練任務(wù),這些任務(wù)主要是針對(duì)Wikipedia的,不一定具有普適性。如下圖所示,紫色d框出來的代表document,q1,q2,q3代表不同任務(wù)構(gòu)造的的query,q1是ICT,即利用document所在的一句話作為query,q2是BFS,即利用document所在網(wǎng)頁(yè)的第一段中的一句話作為query,q3是WLP,使用document中的某個(gè)超鏈接頁(yè)面的第一句話作為query。任務(wù)目標(biāo)是匹配q1,q2,q3和d。

e8b6746c-3de0-11ec-82a9-dac502259ad0.png

Condenser

傳統(tǒng)的MLM預(yù)訓(xùn)練任務(wù)如下圖所示,該任務(wù)沒有特別強(qiáng)制訓(xùn)練CLS位置的向量表示能力。為了將整個(gè)序列的信息壓縮到CLS位置上,Condenser將模型分成兩部分,第一部分和普通的Transformer一樣,第二部分使用經(jīng)過更多交互后的[CLS]位置向量(黃色部分)來預(yù)測(cè)[MASK]的token,強(qiáng)制模型的[CLS]編碼可以具有還原其他token的能力。

e932122a-3de0-11ec-82a9-dac502259ad0.png

編輯:jq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • AI
    AI
    +關(guān)注

    關(guān)注

    91

    文章

    39923

    瀏覽量

    301558
  • 編碼
    +關(guān)注

    關(guān)注

    6

    文章

    1039

    瀏覽量

    57000
  • CLS
    CLS
    +關(guān)注

    關(guān)注

    0

    文章

    9

    瀏覽量

    9889
  • nlp
    nlp
    +關(guān)注

    關(guān)注

    1

    文章

    491

    瀏覽量

    23285

原文標(biāo)題:業(yè)界總結(jié) | 如何改進(jìn)雙塔模型,才能更好的提升你的算法效果?

文章出處:【微信號(hào):zenRRan,微信公眾號(hào):深度學(xué)習(xí)自然語(yǔ)言處理】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    算法工程師需要具備哪些技能?

    景:神經(jīng)網(wǎng)絡(luò)中的權(quán)重矩陣計(jì)算、降維算法(如PCA)等。 概率論與數(shù)理統(tǒng)計(jì)核心內(nèi)容:貝葉斯定理、最大似然估計(jì)、假設(shè)檢驗(yàn)等。應(yīng)用場(chǎng)景:模型不確定性分析、A/B測(cè)試效果評(píng)估等。 微積分核心內(nèi)容:導(dǎo)數(shù)、梯度
    發(fā)表于 02-27 10:53

    基于E203 RISC-V的音頻信號(hào)處理系統(tǒng) -ANC算法簡(jiǎn)介

    基于FxLMS算法的寬帶前饋型主動(dòng)噪聲控制系統(tǒng)框圖 其中控制器部分,即是我們算法的核心運(yùn)算部分,即LMS算法。通過該算法對(duì)初級(jí)聲源的處理之后,能夠有較好的噪聲消除
    發(fā)表于 10-28 07:50

    e203除法器算法改進(jìn)(一)

    e203內(nèi)部除法操作使用加減交替迭代法進(jìn)行運(yùn)算,除幾個(gè)特殊運(yùn)算外,正常的除法操作需要33個(gè)周期才能輸出運(yùn)算結(jié)果,極大程度地影響了系統(tǒng)的性能。我們對(duì)e203的除法器進(jìn)行了新的算法實(shí)現(xiàn)并改進(jìn)。目前高性能
    發(fā)表于 10-22 07:13

    e203除法器算法改進(jìn)(二)

    e203內(nèi)部除法操作使用加減交替迭代法進(jìn)行運(yùn)算,除幾個(gè)特殊運(yùn)算外,正常的除法操作需要33個(gè)周期才能輸出運(yùn)算結(jié)果,極大程度地影響了系統(tǒng)的性能。我們對(duì)e203的除法器進(jìn)行了新的算法實(shí)現(xiàn)并改進(jìn)。目前高性能
    發(fā)表于 10-22 06:11

    借助NVIDIA Megatron-Core大模型訓(xùn)練框架提高顯存使用效率

    策略;理解這些策略對(duì)顯存的影響,才能更好地規(guī)劃訓(xùn)練超參數(shù),在不 OOM (out of memory) 的情況下盡可能提升硬件使用效率。
    的頭像 發(fā)表于 10-21 10:55 ?1167次閱讀
    借助NVIDIA Megatron-Core大<b class='flag-5'>模型</b>訓(xùn)練框架提高顯存使用效率

    曠視借助大模型與智能體推動(dòng)算法落地

    當(dāng)下,AI技術(shù)繁榮無比,但無數(shù)企業(yè)卻陷入“叫好不叫座”的困境:算法模型很先進(jìn),但一到真實(shí)的行業(yè)場(chǎng)景中就“水土不服”。問題究竟出在哪?大模型和智能體的興起,又為我們提供了怎樣的新解題思路?本文將深入探討
    的頭像 發(fā)表于 10-11 14:04 ?602次閱讀

    了解SOLIDWORKS202仿真方面的改進(jìn)

    隨著SOLIDWORKS 2025版本的發(fā)布,這款三維CAD和仿真分析軟件的再次展現(xiàn)了其在技術(shù)創(chuàng)新上的強(qiáng)勁實(shí)力。SOLIDWORKS 2025在仿真方面進(jìn)行了多項(xiàng)重大改進(jìn),旨在提升仿真精度、可靠性
    的頭像 發(fā)表于 09-04 10:36 ?694次閱讀
    了解SOLIDWORKS202仿真方面的<b class='flag-5'>改進(jìn)</b>

    MSCMG無刷直流電機(jī)改進(jìn)的I_f無位置起動(dòng)方法

    針對(duì)磁懸浮控制力矩陀螺無刷直流電機(jī)電阻、電感值極小的特點(diǎn)和已有的無位置傳感器 I/f 起動(dòng)算法加速階段換相精度不高且算法復(fù)雜的問題,通過分析電磁轉(zhuǎn)矩和換相時(shí)刻的關(guān)系,提出了一種改進(jìn)的 I/f起動(dòng)方法
    發(fā)表于 08-06 14:27

    移遠(yuǎn)通信飛鳶AIoT大模型應(yīng)用算法成功通過備案

    近日,第十二批境內(nèi)深度合成服務(wù)算法備案信息發(fā)布,移遠(yuǎn)通信"飛鳶AIoT大模型應(yīng)用算法"榜上有名。這標(biāo)志著該算法在技術(shù)合規(guī)性、安全可控性及社會(huì)價(jià)值上獲得權(quán)威認(rèn)可,彰顯了移遠(yuǎn)通信在
    的頭像 發(fā)表于 08-06 08:48 ?936次閱讀
    移遠(yuǎn)通信飛鳶AIoT大<b class='flag-5'>模型</b>應(yīng)用<b class='flag-5'>算法</b>成功通過備案

    MSCMG無刷直流電機(jī)改進(jìn)的I_f無位置起動(dòng)方法

    摘 要:針對(duì)磁懸浮控制力矩陀螺無刷直流電機(jī)電阻、電感值極小的特點(diǎn)和已有的無位置傳感器 I/f起動(dòng)算法加速階段換相精度不高且算法復(fù)雜的問題,通過分析電磁轉(zhuǎn)矩和換相時(shí)刻的關(guān)系,提出了一種改進(jìn)的 If起動(dòng)
    發(fā)表于 07-23 13:19

    BMS simuli<x>nk完整模型(包含:SOC、主動(dòng)均衡等算法

    BMS simulink完整模型(包含:SOC、主動(dòng)均衡等算法
    發(fā)表于 06-08 09:54 ?5次下載

    改進(jìn)粒子群算法的永磁同步電機(jī)PID控制器

    采用粒子優(yōu)化算法進(jìn)行PID模糊控制訓(xùn)練能提高永磁同步電機(jī)的控制精度,提出一種基于改進(jìn)粒子群算法的永磁同步電機(jī) PID控制方法,構(gòu)建永磁同步電機(jī)PD模糊控制目標(biāo)畫數(shù),選擇電壓、轉(zhuǎn)矩、速度和電磁損耗等
    發(fā)表于 05-28 15:44

    改進(jìn)電壓模型的異步電機(jī)無速度傳感器矢量控制

    無速度傳感器矢量控制技術(shù)能夠有效提高交流傳動(dòng)系統(tǒng)的可靠性,降低系統(tǒng)成本。該技術(shù)的核心問題是準(zhǔn)確獲取電機(jī)轉(zhuǎn)子轉(zhuǎn)速,并將其反饋到速度閉環(huán)控制環(huán)節(jié)。介紹一種采用改進(jìn)模型參考自適應(yīng)轉(zhuǎn)速估計(jì)方法的異步電機(jī)矢量
    發(fā)表于 05-28 15:43

    改進(jìn)GPC算法在永磁同步電機(jī)控制系統(tǒng)中的應(yīng)用

    (CARIMA)模型?;诖?b class='flag-5'>模型和金元郁等提出的改進(jìn)廣義預(yù)測(cè)控制算法(JGPC)設(shè)計(jì)出了適用于 PMSM驅(qū)動(dòng)系統(tǒng)的速度環(huán)的改進(jìn)廣義預(yù)測(cè)控制器
    發(fā)表于 05-28 15:41

    永磁同步電機(jī)電流環(huán)改進(jìn)內(nèi)模解耦控制的研究

    取,因此控制效果難以達(dá)到最佳 。依據(jù)自由度原理,在保證內(nèi)模解耦效果的基礎(chǔ)上,引入 2 個(gè)內(nèi)模電流調(diào) 節(jié)因子,對(duì)內(nèi)模解耦控制器進(jìn)行改進(jìn) 。仿真結(jié)果表明,改進(jìn)
    發(fā)表于 03-26 14:25