chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

21個經(jīng)典深度學(xué)習(xí)句間關(guān)系模型

深度學(xué)習(xí)自然語言處理 ? 來源:李rumor ? 作者:李rumor ? 2021-03-29 16:52 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

鴿了很久的NLP入門系列終于在我的努力下又更新了。

上次聊了分類任務(wù)的模型與技巧,今天我們就來聊聊句間關(guān)系任務(wù)。句間關(guān)系的輸入是一對文本,輸出是文本間的關(guān)系。常用的判別有語義相似度、語義關(guān)系推理(蘊含/中立/矛盾)、問答對等,拿GLUE榜單來說,其中有6個(QQP/MNLI/QNLI/STS/RTE/MRPC)都是句間關(guān)系任務(wù)。這個任務(wù)的應(yīng)用場景也很廣泛,比如搜索推薦的語義相關(guān)性、智能問答中的問題-問題、問題-答案匹配、知識圖譜中的實體鏈接、關(guān)系識別等,是成為NLPer必須卷的一個方向。

深度學(xué)習(xí)中,文本匹配模型可以分為兩種結(jié)構(gòu):雙塔式和交互式。

雙塔式模型也稱孿生網(wǎng)絡(luò)、Representation-based,就是用一個編碼器分別給兩個文本編碼出句向量,然后把兩個向量融合過一個淺層的分類器;交互是也稱Interaction-based,就是把兩個文本一起輸入進編碼器,在編碼的過程中讓它們相互交換信息,再得到最終結(jié)果。如下圖:

73d8b002-8e8f-11eb-8b86-12bb97331649.jpg

兩種框架比較的話,交互式通常準確率會高一些,畢竟編碼器能使用的信息更多了,而雙塔式的速度會快很多,比如線上來一個query,庫里有一百萬個候選,等交互式算完了用戶都走了,但雙塔式的候選可以提前計算好,只用給query編碼后去和候選向量進行淺層計算就好了。工程落地的話,通常會用雙塔式來做召回,把一百萬個候選縮減為10個,再對這10個做更精細的計算。

所以說這兩種方式都是實際應(yīng)用中必不可缺的,兩個方向也都有著不少的模型:

74151862-8e8f-11eb-8b86-12bb97331649.jpg

下面我們就先講講雙塔式模型的SOTA發(fā)展。這里面通常有三個點可以優(yōu)化:encoder、merged_vec、classifier,大部分研究都在專注提升encoder的能力。我個人主要將雙塔的發(fā)展分為詞袋、有監(jiān)督、預(yù)訓(xùn)練+遷移三個階段。

詞袋句向量

最簡單的就是直接從詞向量計算句向量。首先可以用mean、max池化,相比字面n-gram重合度肯定是有提升的。但當句子中的噪聲多起來之后,如果兩個句子有大量重合的無意義詞匯,分數(shù)也會很高,這時候就可以考慮加權(quán)求和,比如TF-IDF。

ICLR2017論文SIF提出了名為smooth inverse frequency的方法,先由詞向量加權(quán)平均得到句向量,再對多個句子組成的句向量矩陣進行PCA,讓每個句向量減去第一主成分,去掉“公共”的部分,保留更多句子本身的特征。該方法在相似度任務(wù)上有10%-30%的提升,甚至超過了一些RNN模型,十分適合對速度要求高、doc相似度計算的場景。

之前提到的相似度任務(wù)都適用cosine相似度衡量的,也有學(xué)者研究了其他metric。2016年的WMD提出了Word Mover‘s Distance這一概念,用句子A走到句子B的最短距離來衡量兩者的相似程度。表示在下圖中就是非停用詞的向量轉(zhuǎn)移總距離:

743dc956-8e8f-11eb-8b86-12bb97331649.jpg

上面介紹的兩篇文章使用的都是word2vec向量,但實際操作中我推薦使用fasttext(就是加上ngram,但仍用word2vec結(jié)構(gòu)訓(xùn)練),一方面ngram可以增加信息,另一方面也避免了OOV。

千萬不要小看詞向量,用好了真的是很強的baseline。另外現(xiàn)在很多線上場景因為對速度要求高,或者是toB的業(yè)務(wù)甲方不愿意買GPU,有不少落地都停留在這個階段。

有監(jiān)督句向量

詞向量雖然可以經(jīng)過處理變成句向量,但詞袋式的融合也會丟失掉順序信息,同時在訓(xùn)練時其目標還是word-level的,想要獲得「真正的句向量」,還是需要尋找sentence-level的目標函數(shù)。

微軟在2013年提出的CIKM論文DSSM是相當知名的多塔模型,它對文本進行word hash(也就是表示成ngram,減少詞表數(shù)),再將ngram轉(zhuǎn)成向量再平均得到句向量,經(jīng)過三層MLP得到128維的編碼,用cosine相似度作為每個Q-D對的分數(shù),經(jīng)過sofamax歸一化后得到P(D|Q),最終目標為最大化正樣本被點擊的概率。

74aefc02-8e8f-11eb-8b86-12bb97331649.jpg

但BOW式的詞向量平均會損失上下文信息,所以之后也有學(xué)者提出了CNN-DSSM、LSTM-DSSM,基本上結(jié)構(gòu)都差不多。

Siam-CNN

題目:Applying Deep Learning to Answer Selection: A Study and An Open Task

論文:https://arxiv.org/pdf/1508.01585.pdf

在2015年IBM提出的Siam-CNN架構(gòu)中,作者嘗試了多種孿生架構(gòu),使用CNN作為基礎(chǔ)編碼器,pairwise loss作為損失函數(shù),最后實驗發(fā)現(xiàn)第二種是最好的:

74fd1de2-8e8f-11eb-8b86-12bb97331649.jpg

說實話這個結(jié)果有點迷,Query和Answer的表達還是略有不同的,經(jīng)驗上看我覺得第三個結(jié)構(gòu)更靠譜些。不過作者只在一種數(shù)據(jù)集上進行了嘗試,或許換個數(shù)據(jù)集結(jié)果會有變化。

Siam-LSTM

題目:Siamese Recurrent Architectures for Learning Sentence Similarity

論文:http://www.mit.edu/~jonasm/info/MuellerThyagarajan_AAAI16.pdf

2016年的Siam-LSTM在結(jié)構(gòu)上比較簡單,就是直接用共享權(quán)重的LSTM編碼,取最后一步的輸出作為表示。有個改進點是作者使用了Manhattan距離計算損失:

7596b43e-8e8f-11eb-8b86-12bb97331649.jpg

后續(xù)還有一些模型改成雙向、char-level的,這里就不過多贅述了。

Multi-View

題目:Multi-view Response Selection for Human-Computer Conversation

論文:https://www.aclweb.org/anthology/D16-1036.pdf

百度的EMNLP2016論文針對多輪對話問題,提出了Multi-view的Q-A匹配方式,輸入的query是歷史對話的拼接,分別編碼了word sequence view和utterance sequence view兩種表示。詞級別的計算和Siam-LSTM差不多,都是用RNN的最后一步輸出做Q-A匹配,而句子級別的會對RNN每步輸出做max pooling得到句子表示,然后再將句子表示輸入到GRU中,取最后一步作為帶上下文的表示與回答匹配,如下圖:

75f2a71c-8e8f-11eb-8b86-12bb97331649.jpg

融合了兩個level的匹配后比普通方法的R@1要好上4-6個點,提升很明顯。

預(yù)訓(xùn)練+遷移

有監(jiān)督、領(lǐng)域內(nèi)的語料總是有限的,目前很多任務(wù)都開始轉(zhuǎn)向預(yù)訓(xùn)練+遷移的范式。

Skip-Thought

題目:Skip-Thought Vectors

論文:https://arxiv.org/pdf/1506.06726.pdf

代碼:https://github.com/ryankiros/skip-thoughts

多倫多大學(xué)的NIPS2015論文Skip-Thought提出了一種無監(jiān)督句向量訓(xùn)練方法,參考wrod2vec,一句話與它的上下文也是存在關(guān)聯(lián)的,因此我們可以用一個句子的編碼去預(yù)測它的上下句:

764002be-8e8f-11eb-8b86-12bb97331649.jpg

Skip-Thought用GRU作為編碼器,條件GRU作為解碼器,預(yù)測時候只用編碼器就可以得到句子表示。

但這種方法訓(xùn)出的decoder不用比較浪費,后續(xù)也有學(xué)者用同樣的思想改成了判別任務(wù),比如Quick-Thought對句子分別編碼,過分類器選擇上下文,又或者BERT中的NSP,或者ALBERT的SOP。

FastSent

題目:Learning Distributed Representations of Sentences from Unlabelled Data

論文:https://www.aclweb.org/anthology/N16-1162.pdf

代碼:https://github.com/fh295/SentenceRepresentation/tree/master/FastSent

2016年的FastSent主要對Skip-Thought的速度進行了改進,其實就是用詞袋模型去替換RNN編碼,再用中間句子的表示去預(yù)測上下文的詞。同時也提出了一個FastSent+AE變體,預(yù)測目標也加上了自身的詞。

最終效果在無監(jiān)督任務(wù)上好于Skip-Thought,但有監(jiān)督任務(wù)上還是略遜色。

InferSent

題目:Supervised Learning of Universal Sentence Representations from Natural Language Inference Data

論文:https://www.aclweb.org/anthology/D17-1070.pdf

代碼:https://github.com/facebookresearch/InferSent

前幾篇可遷移的encoder都是無監(jiān)督的,因為學(xué)者們一直沒有發(fā)現(xiàn)更通用的數(shù)據(jù),直到InferSent。

EMNLP2017中Facebook提出了InferSent,文中使用NLI數(shù)據(jù)集來預(yù)訓(xùn)練雙塔結(jié)構(gòu),超越了之前眾多無監(jiān)督方法。該文章用了很簡單的雙塔結(jié)構(gòu),但在計算loss時先對兩個向量用了多種方式融合,再過分類器。同時也提出了多個基于RNN、CNN的編碼器,最后實驗發(fā)現(xiàn)BiLSTM+Max效果最好,在評估的10個任務(wù)中有9個達到了SOTA。

76693f08-8e8f-11eb-8b86-12bb97331649.jpg

InferSent提出的結(jié)構(gòu)到現(xiàn)在還用很多同學(xué)在用,包括后文的Sentence-BERT(19年的SOTA)也只是換了個編碼器而已。同時用NLI來做預(yù)訓(xùn)練這個點也很重要,優(yōu)質(zhì)語料對模型提示有很大幫助。

后續(xù)也有模型進行了小改進,比如2017年的SSE,使用3層堆疊BiLSTM+Shortcut,效果比InferSent好一些。

GenSen

題目:Learning General Purpose Distributed Sentence Representations via Large Scale Multi-task Learning

論文:https://arxiv.org/abs/1804.00079

代碼:https://github.com/Maluuba/gensen

同樣是提升可遷移性,微軟在ICLR2018上提出了GenSen,使用GRU編碼,將encoder下游接上4種不同的任務(wù)(預(yù)測上下文、翻譯、NLI、句法分析),但只在6/10個任務(wù)上超越了之前的模型,個別情況下增加新的任務(wù)還會使效果下降。

這種多任務(wù)的思想后續(xù)也被用在其他模型上,比如MT-DNN(狗頭。

USE

題目:Universal Sentence Encoder, Learning Semantic Textual Similarity from Conversations

論文:https://arxiv.org/pdf/1803.11175v1.pdf, https://arxiv.org/pdf/1804.07754.pdf

谷歌在ACL2018提出了USE模型,這也是引用量很高的一篇文章(但寫的不是很清楚,推薦讀第二篇),主要改進如下:

提出了用Transformer和平均池化+MLP作為encoder,分別適用不同的場景

爬取了大量reddit的問答數(shù)據(jù),用于無監(jiān)督Q-A訓(xùn)練,因為query和answer的表示空間不一樣,結(jié)構(gòu)上給answer多加一層DNN。并且在問答任務(wù)上使用batch negative策略,也就是除了對應(yīng)的正確答案外batch內(nèi)剩下的樣本都作為負例,用softmax計算P(A|Q)的概率,跟現(xiàn)在對比學(xué)習(xí)的loss一樣。

多任務(wù),在無監(jiān)督訓(xùn)練Q-A的同時也用SNLI進行有監(jiān)督訓(xùn)練

76a88fb4-8e8f-11eb-8b86-12bb97331649.jpg

這樣訓(xùn)練出的模型比InferSent高3-5個點,效果很好?,F(xiàn)在這個模型也在一直更新,可以在TFhub上使用,不僅速度快,效果也沒比BERT系差太多。

Sentence-BERT

題目:Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks

論文:https://arxiv.org/pdf/1908.10084

代碼:https://github.com/UKPLab/sentence-transformers

EMNLP2019的Sentence-BERT是目前最常用的BERT式雙塔模型,一是效果真的好,二是作者的開源工具做的很方便,用的人越來越多。結(jié)果其實就是把InferSent改成BERT編碼,訓(xùn)練語料也不變,做離線任務(wù)可以直接用起來。

BERT-flow

題目:On the Sentence Embeddings from Pre-trained Language Models

論文:https://arxiv.org/pdf/2011.05864.pdf

代碼:https://github.com/bohanli/BERT-flow

字節(jié)在EMNLP2020提出了BERT-flow,主要是基于Sentence-BERT做改動,因為之前的預(yù)訓(xùn)練+遷移都是使用有監(jiān)督數(shù)據(jù),而作者基于對原生BERT表示的分析發(fā)現(xiàn),那些表示在空間的分布很不均勻,于是使用flow-based生成模型將它們映射到高斯分布的均勻空間,比之前的Sentence-BERT提升了4個點之多。

76d526be-8e8f-11eb-8b86-12bb97331649.jpg

但這個模型的缺點是又加了一層機制,在預(yù)測時候會降低速度,同時在知乎上看到個別同學(xué)在自己任務(wù)上的試用反饋也不太好。不過我倒是驗證了SentEval上有監(jiān)督的效果(論文只給了無監(jiān)督的),效果跟Sentence-BERT差不多。

Cross-Thought

題目:Cross-Thought for Sentence Encoder Pre-training

論文:https://arxiv.org/abs/2010.03652

代碼:https://github.com/shuohangwang/Cross-Thought

微軟在EMNLP2020提出了Cross-Thought,先用transformer對每個句子編碼,再取多個CLS(紅點部分)作為句子表示再進行attention,得到一個整體的上下文表示,再回頭去預(yù)測每個句子被mask的token。相比起NSP來說,該任務(wù)的解空間更豐富,相比單純的BERT表示提升明顯,在QA任務(wù)上更是提了幾十個點。

770c2240-8e8f-11eb-8b86-12bb97331649.jpg

對比學(xué)習(xí)

對比學(xué)習(xí)是20年圖像領(lǐng)域火熱的表示預(yù)訓(xùn)練方法,在訓(xùn)練時會給輸入A生成一個數(shù)據(jù)增強版本B,經(jīng)過編碼器對A和B編碼后,如果兩個表示還是最接近的(batch內(nèi)分類),就說明這個編碼器抓住了用于區(qū)分A與其他樣本的本質(zhì)特征。對比學(xué)習(xí)目前在NLP領(lǐng)域還沒開始大放異彩,從20年下半年的一些新論文來看,在預(yù)訓(xùn)練過程、精調(diào)中加入對比損失都會輕微提升模型效果并增強魯棒性、小樣本場景的表現(xiàn)。相信用對比做出的優(yōu)秀文本表示不久就會出現(xiàn)。

?。?!我是朋克風(fēng)分割線?。?!

上文講了眾多雙塔模型,其主要的重點都在編碼器的優(yōu)化,對速度要求高的召回場景可以用BOW+MLP、CNN,精度要求高的排序場景可以用LSTM、Transformer。同時兩個向量的融合方法以及l(fā)oss也都可以優(yōu)化,比如做一些輕微的交互、像Deformer一樣前面雙塔接后面的多層交互,或者根據(jù)需要選擇pointwise、pairwise(排序場景)損失。

但真要想做句間關(guān)系SOTA的話,比如刷榜,光靠雙塔模型還是不行的,它有兩個問題比較大:

位置信息。如果用BOW的話“我很不開心”和“我不很開心”兩句的意思就變成一樣了,雖然用RNN、BERT引入位置編碼可以減緩一些,但不去讓兩個句子相互比較的話對于最后的分類層還是很難的

細粒度語義。比如“我開心”和“我不開心”這兩句話只有一個字的區(qū)別,但BOW模型很可能給出較高的相似度,交互式模型則可以稍有緩解

交互式匹配

比起雙塔只能在encoder上下功夫,交互式模型的套路就多多了,其核心思想是將兩個句子逐個詞比較。比如判斷“進擊的巨人”和“進擊的矮子”語義是否相同時,前三個字在兩句話中都能找到,而第二句里沒找到跟“巨人”接近的,那分數(shù)就會被降低一些。因此得讓兩個句子有interaction,一般用attention解決,因為沒那么在意速度了,在交互前后都可以加encoder,再讓向量拼接、做差、點積。。。不說了,請開始讓它們表演。

DecAtt

題目:A Decomposable Attention Model for Natural Language Inference

論文:https://arxiv.org/pdf/1606.01933.pdf

Google在EMNLP2016提出了輕量級的交互模型DecAtt,作者的出發(fā)點是讓句子中的各個元素相互對比,找出詞級別的同義和反義。分為三步計算:

Attend:將兩個句子中每對次 相互attention,加權(quán)后得到對齊的

Compare:將 分別拼接,過一層FFN得到

Aggregate:分別將第二步得到的表示求和得到 ,拼接起來進行分類

77865768-8e8f-11eb-8b86-12bb97331649.jpg

比較難懂的主要是第二步,作者的解釋是經(jīng)過第一步attend后可以將問題拆解為子問題,再通過每個詞向量的compare解決。

這個模型的缺點是最后一步求句向量時用了求和操作,如果序列過長的話數(shù)值會較大,造成梯度大,需要裁剪。但計算還是很輕量的,從結(jié)果來看跟LSTM差不多。

MatchPyramid

題目:Text Matching as Image Recognition

論文:https://arxiv.org/pdf/1602.06359.pdf

代碼:https://github.com/pl8787/MatchPyramid-TensorFlow

計算所在2016AAAI發(fā)表的MatchPyramid主要受圖像處理的啟發(fā),先對詞進行交互得到Matching矩陣,然后通過多層2D卷積抽取更高維度的特征,最后得到表征用MLP分類。作者憑借此模型在2017年的Quora Question Pairs比賽上拿到了全球第四。

77d3a842-8e8f-11eb-8b86-12bb97331649.jpg

相比上文的DecAtt,MatchPyramid通過CNN捕獲到了ngram特征。從結(jié)果看比DSSM等模型高出了3、5個點。

PWIM

題目:Pairwise Word Interaction Modeling with Deep Neural Networks for Semantic Similarity Measurement

論文:https://www.aclweb.org/anthology/N16-1108.pdf

代碼:https://github.com/lanwuwei/Subword-PWIM

ACL2016的PWIM模型主打細粒度交互,模型非常的深,分為以下四個計算步驟:

Context Modeling:用BiLSTM對輸入編碼

Pairwise Word Interaction Modeling:作者定義了一個對比向量的函數(shù)coU(包含cosine、點積、歐式距離),對兩句話的詞進行兩兩比較,總共計算了前向向量、反向向量、前后向拼接、前后向相加四種表示的coU,作者將輸出稱為simCube

Similarity Focus Layer:提出了一個算法,根據(jù)simCube的分數(shù)排序,計算出一個mask矩陣,其中重要元素的權(quán)重是1,非重要為0.1。作者認為如果句子A中的某個詞在句子B中也找到了,那這就是一個衡量兩者相似度的重要指標。最終mask和simCube相乘得到focusCube

Deep ConvNet:作者把前面產(chǎn)出的三維矩陣看作圖像,用19層卷積神經(jīng)網(wǎng)絡(luò)的到最后的表征,再過softmax分類

7834bd44-8e8f-11eb-8b86-12bb97331649.jpg

這篇文章真的是花式計算,雖然從結(jié)果來看超過了雙層BiLSTM 2、3個點,但這計算復(fù)雜度讓人難以承受。在后文也會被ESIM超越,所以就別用了,當做多學(xué)習(xí)一些思想吧~

ESIM

題目:Enhanced LSTM for Natural Language Inference

論文:https://www.aclweb.org/anthology/P17-1152.pdf

代碼:https://github.com/coetaur0/ESIM

ACL2017中的ESIM也是效果很好的模型,基于DecAtt改動,在兩句話交互融合后又加了一層BiLSTM,將效果提升了1-2個點。同時也嘗試使用句法樹進一步提升效果。它的計算過程有一下四步:

用BiLSTM對embedding編碼,得到表示

將兩句話的BiLSTM輸出進行attention,得到融合的句子表示

將 拼接作為新表示,用BiLSTM進行推理

池化后過進行最終分類

788972b2-8e8f-11eb-8b86-12bb97331649.jpg

DIIN

題目:Natural Language Inference over Interaction Space

論文:https://arxiv.org/pdf/1709.04348.pdf

代碼:https://github.com/YerevaNN/DIIN-in-Keras

ICLR2018的DIIN看起來像PWIM一樣花式,比ESIM高出5、6個點。主要有以下改動:

在embedding層除了使用詞向量,還使用了字向量、詞性特征和英文詞根的完全匹配特征

使用Self-Attention編碼

78e548e4-8e8f-11eb-8b86-12bb97331649.jpg

HCAN

題目:Bridging the Gap Between Relevance Matching and Semantic Matching for Short Text Similarity Modeling

論文:https://cs.uwaterloo.ca/~jimmylin/publications/Rao_etal_EMNLP2019.pdf

代碼:https://github.com/jinfengr/hcan

HCAN是Facebook在EMNLP2019提出的模型,雖然比上文的ESIM、PWIM等模型高上4+個點,但還是被BERT甩了很遠。不過這個模型的核心也不只是做語義匹配,而是同時做檢索相關(guān)性(Relevance Matching),也就是搜索中query-doc的匹配。

模型計算如下:

Encoding層作者提出了三種方法,堆疊的CNN作為Deep Encoder,不同尺寸卷積核作為Wide Encoder,BiLSTM作為Contextual Encoder編碼更長距離的上下文

先把兩句話交互得到attention score矩陣,之后對于query中每個詞,求得doc中最相似的詞的分數(shù),作為向量Max(S),按照同樣的方法求出Mean(S),長度都為|Q|,再分別乘上query中每個詞的tfidf統(tǒng)計,得到相關(guān)性匹配向量

用加性attention對query和doc進行交互,得到新的表示,再花式拼接過BiLSTM,得到語義匹配向量

將 拼接起來過MLP,最后分類

通過實驗結(jié)果來看,Deep Encoder的表現(xiàn)是最好的,在7/8個評估上都超過另外兩個。

79eddd78-8e8f-11eb-8b86-12bb97331649.jpg

RE2

題目:Simple and Effective Text Matching with Richer Alignment Features

論文:https://www.aclweb.org/anthology/P19-1465.pdf

代碼:https://github.com/hitvoice/RE2

RE2是阿里在ACL2019提出的模型,也是很不錯的一個工作,優(yōu)點是模型輕量且效果好。上文雖然很多模型都用到了交互,但只交互1、2次,而RE2則像transformer一樣把兩句話交互了多次。

7a042baa-8e8f-11eb-8b86-12bb97331649.jpg

計算邏輯是(圖中只展示了雙塔的一半):

Encoding:對輸入進行embedding得到,拼接上之前的輸出,用CNN編碼

Alignment:把encoder的輸入輸出拼接起來,兩句話進行attention

Fusion:將encoder的輸入輸出與attention的結(jié)果一起融合,得到的表示進入下一循環(huán)或max pooling輸出句子表示

將兩個句子表示各種拼接后進行分類

7a6b0578-8e8f-11eb-8b86-12bb97331649.jpg

這個模型除了多次交互之外,還有個點是一直都把最初的embedding拼接上,從消融實驗看可以提升1-6個點。

?。?!我是朋克風(fēng)分割線?。?!

一口氣講了7個交互式匹配模型,感覺自己都不會愛了。其實大部分都是為了解之前的思想,因為現(xiàn)在無腦用BERT就夠了。

同時老司機們也很清楚,模型只是工具,數(shù)據(jù)才是天花板,數(shù)據(jù)質(zhì)量不好/數(shù)量不夠,模型再花哨也沒用。所以這里分享兩個數(shù)據(jù)洗刷刷經(jīng)驗:

負例的構(gòu)造。都說句間關(guān)系任務(wù)負例的構(gòu)造是很重要的,確實如此。但構(gòu)造前一定要把正、負界定清楚,明確這個任務(wù)的粒度有多細。比如“我很不開心”和“我不太開心”都是不開心,但程度不一樣,在自己的任務(wù)中到底是算正例還是負例呢?這個界定的越清楚、標注人員培訓(xùn)越到位,數(shù)據(jù)噪聲也就越少。之后才是盡量構(gòu)造有難度的負例,比如用BOW召回一些再人工標注,讓樣本們越來越逼近分類邊界

數(shù)據(jù)增強。交互式模型雖然準確,但他們有個缺點是容易過擬合,因為對“交互”看得太重了。比如一對正例里只有一兩個字一樣,模型可能就會認為這兩個字很重要,有些overlap超低的文本對也會給出高得分。這時候就要對正例進行清洗,看看特殊情況是否存在,再嘗試用增刪改的方法加一些負例,避免過擬合這種極端正例。另外BERT這種交互式模型是不對稱的,如果做paraphrase任務(wù)也可以鏡面構(gòu)造些新正負例。

總結(jié)

可能是文本匹配方面看得比較多吧,終于把我收藏的模型都扒拉出來了,直接像文本分類一樣再給大家提供一個選型方案吧:

7ab0cff4-8e8f-11eb-8b86-12bb97331649.jpg

原文標題:【代碼&技巧】21個經(jīng)典深度學(xué)習(xí)句間關(guān)系模型

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

責(zé)任編輯:haq

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

    關(guān)注

    73

    文章

    5586

    瀏覽量

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

    關(guān)注

    1

    文章

    491

    瀏覽量

    23037

原文標題:【代碼&技巧】21個經(jīng)典深度學(xué)習(xí)句間關(guān)系模型

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

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

掃碼添加小助手

加入工程師交流群

    評論

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

    自動駕駛中Transformer大模型會取代深度學(xué)習(xí)嗎?

    [首發(fā)于智駕最前沿微信公眾號]近年來,隨著ChatGPT、Claude、文心一言等大語言模型在生成文本、對話交互等領(lǐng)域的驚艷表現(xiàn),“Transformer架構(gòu)是否正在取代傳統(tǒng)深度學(xué)習(xí)”這一話題一直被
    的頭像 發(fā)表于 08-13 09:15 ?3770次閱讀
    自動駕駛中Transformer大<b class='flag-5'>模型</b>會取代<b class='flag-5'>深度</b><b class='flag-5'>學(xué)習(xí)</b>嗎?

    模型時代的深度學(xué)習(xí)框架

    量是約為 25.63M,在ImageNet1K數(shù)據(jù)集上,使用單張消費類顯卡 RTX-4090只需大約35~40小時 ,即可完成ResNet50模型的預(yù)訓(xùn)練。在 大模型時代 ,由于大模型
    的頭像 發(fā)表于 04-25 11:43 ?481次閱讀
    大<b class='flag-5'>模型</b>時代的<b class='flag-5'>深度</b><b class='flag-5'>學(xué)習(xí)</b>框架

    用樹莓派搞深度學(xué)習(xí)?TensorFlow啟動!

    介紹本頁面將指導(dǎo)您在搭載64位Bullseye操作系統(tǒng)的RaspberryPi4上安裝TensorFlow。TensorFlow是一專為深度學(xué)習(xí)開發(fā)的大型軟件庫,它消耗大量資源。您可以在
    的頭像 發(fā)表于 03-25 09:33 ?806次閱讀
    用樹莓派搞<b class='flag-5'>深度</b><b class='flag-5'>學(xué)習(xí)</b>?TensorFlow啟動!

    在OpenVINO?工具套件的深度學(xué)習(xí)工作臺中無法導(dǎo)出INT8模型怎么解決?

    無法在 OpenVINO? 工具套件的深度學(xué)習(xí) (DL) 工作臺中導(dǎo)出 INT8 模型
    發(fā)表于 03-06 07:54

    模型領(lǐng)域常用名詞解釋(近100

    的分類進行了整理,以下供參考:模型架構(gòu)與基礎(chǔ)概念大語言模型(LLM,LargeLanguageModel):一種基于深度學(xué)習(xí)的大規(guī)模神經(jīng)網(wǎng)絡(luò)模型
    的頭像 發(fā)表于 02-19 11:49 ?1120次閱讀
    大<b class='flag-5'>模型</b>領(lǐng)域常用名詞解釋(近100<b class='flag-5'>個</b>)

    BP神經(jīng)網(wǎng)絡(luò)與深度學(xué)習(xí)關(guān)系

    BP神經(jīng)網(wǎng)絡(luò)與深度學(xué)習(xí)之間存在著密切的關(guān)系,以下是對它們之間關(guān)系的介紹: 一、BP神經(jīng)網(wǎng)絡(luò)的基本概念 BP神經(jīng)網(wǎng)絡(luò),即反向傳播神經(jīng)網(wǎng)絡(luò)(Backpropagation Neural N
    的頭像 發(fā)表于 02-12 15:15 ?1180次閱讀

    Flexus X 實例 ultralytics 模型 yolov10 深度學(xué)習(xí) AI 部署與應(yīng)用

    前言: ???深度學(xué)習(xí)新紀元,828 B2B 企業(yè)節(jié) Flexus X 實例特惠!想要高效訓(xùn)練 YOLOv10 模型,實現(xiàn)精準圖像識別?Flexus X 以卓越算力,助您輕松駕馭大規(guī)模數(shù)據(jù)集,加速
    的頭像 發(fā)表于 12-24 12:24 ?1056次閱讀
    Flexus X 實例 ultralytics <b class='flag-5'>模型</b> yolov10 <b class='flag-5'>深度</b><b class='flag-5'>學(xué)習(xí)</b> AI 部署與應(yīng)用

    AI模型部署邊緣設(shè)備的奇妙之旅:目標檢測模型

    1、簡介 人工智能圖像識別是人工智能領(lǐng)域的一重要分支,它涉及計算機視覺、深度學(xué)習(xí)、機器學(xué)習(xí)等多個領(lǐng)域的知識和技術(shù)。圖像識別主要是處理具有一定復(fù)雜性的信息。計算機采用與人類類似的圖像識
    發(fā)表于 12-19 14:33

    經(jīng)典圖神經(jīng)網(wǎng)絡(luò)(GNNs)的基準分析研究

    性可能是由于經(jīng)典 GNNs 的超參數(shù)配置不佳。通過適當?shù)某瑓?shù)調(diào)整,經(jīng)典 GNNs 模型在 18 廣泛使用的節(jié)點分類數(shù)據(jù)集中的 17
    的頭像 發(fā)表于 11-27 09:16 ?1061次閱讀
    <b class='flag-5'>經(jīng)典</b>圖神經(jīng)網(wǎng)絡(luò)(GNNs)的基準分析研究

    NPU與機器學(xué)習(xí)算法的關(guān)系

    在人工智能領(lǐng)域,機器學(xué)習(xí)算法是實現(xiàn)智能系統(tǒng)的核心。隨著數(shù)據(jù)量的激增和算法復(fù)雜度的提升,對計算資源的需求也在不斷增長。NPU作為一種專門為深度學(xué)習(xí)等機器學(xué)習(xí)任務(wù)設(shè)計的處理器,其與機器
    的頭像 發(fā)表于 11-15 09:19 ?1663次閱讀

    NPU在深度學(xué)習(xí)中的應(yīng)用

    隨著人工智能技術(shù)的飛速發(fā)展,深度學(xué)習(xí)作為其核心驅(qū)動力之一,已經(jīng)在眾多領(lǐng)域展現(xiàn)出了巨大的潛力和價值。NPU(Neural Processing Unit,神經(jīng)網(wǎng)絡(luò)處理單元)是專門為深度學(xué)習(xí)
    的頭像 發(fā)表于 11-14 15:17 ?2542次閱讀

    深度學(xué)習(xí)模型的魯棒性優(yōu)化

    深度學(xué)習(xí)模型的魯棒性優(yōu)化是一復(fù)雜但至關(guān)重要的任務(wù),它涉及多個方面的技術(shù)和策略。以下是一些關(guān)鍵的優(yōu)化方法: 一、數(shù)據(jù)預(yù)處理與增強 數(shù)據(jù)清洗 :去除數(shù)據(jù)中的噪聲和異常值,這是提高
    的頭像 發(fā)表于 11-11 10:25 ?1797次閱讀

    GPU深度學(xué)習(xí)應(yīng)用案例

    能力,可以顯著提高圖像識別模型的訓(xùn)練速度和準確性。例如,在人臉識別、自動駕駛等領(lǐng)域,GPU被廣泛應(yīng)用于加速深度學(xué)習(xí)模型的訓(xùn)練和推理過程。 二、自然語言處理 自然語言處理(NLP)是
    的頭像 發(fā)表于 10-27 11:13 ?1901次閱讀

    FPGA加速深度學(xué)習(xí)模型的案例

    FPGA(現(xiàn)場可編程門陣列)加速深度學(xué)習(xí)模型是當前硬件加速領(lǐng)域的一熱門研究方向。以下是一些FPGA加速深度
    的頭像 發(fā)表于 10-25 09:22 ?1527次閱讀

    AI大模型深度學(xué)習(xí)關(guān)系

    AI大模型深度學(xué)習(xí)之間存在著密不可分的關(guān)系,它們互為促進,相輔相成。以下是對兩者關(guān)系的介紹: 一、深度
    的頭像 發(fā)表于 10-23 15:25 ?3377次閱讀