CoSENT:特征式匹配与交互式匹配有多大差距?
?PaperWeekly 原創 ·?作者 | 蘇劍林
單位 | 追一科技
研究方向 | NLP、神經網絡
一般來說,文本匹配有交互式(Interaction-based)和特征式(Representation-based)兩種實現方案,其中交互式是指將兩個文本拼接在一起當成單文本進行分類,而特征式則是指兩個句子分別由編碼器編碼為句向量后再做簡單的融合處理(算 cos 值或者接一個淺層網絡)。
通常的結論是,交互式由于使得兩個文本能夠進行充分的比較,所以它準確性通常較好,但明顯的缺點是在檢索場景的效率較差;而特征式則可以提前計算并緩存好句向量,所以它有著較高的效率,但由于句子間的交互程度較淺,所以通常效果不如交互式。
上一篇文章筆者介紹了 CoSENT,它本質上也是一種特征式方案,并且相比以往的特征式方案效果有所提高。于是筆者的好勝心就上來了:CoSENT 能比得過交互式嗎?特征式相比交互式的差距有多遠呢?本文就來做個比較。
自動閾值
在文章《CoSENT:比 Sentence-BERT 更有效的句向量方案》中,我們評測 CoSENT 所用的指標是 Spearman 系數,它是一個只依賴于預測結果相對順序的指標,不依賴于閾值,比較適合檢索場景的評測。但如果評測指標是 accuracy 或者 F1 這些分類指標,則必須確定一個閾值,將預測結果大于這個數的預測結果視為正、小于則為負,然后才能計算指標。在二分類的場景,我們用二分法就可以有效地確定這個閾值。
然而,搜索閾值確實并非二分類所獨有,一般的多分類任務其實也存在著同樣的需求,所以這里將這個問題展開來談談。比如對于 分類的預測分布 ,我們一般是用概率最大的類別,即 作為預測類別,但如果是類別不均衡的場景,這樣做其實未必是最優的。我們可以通過驗證集來搜索一個向量 ,然后用:
作為預測類別,這里的 就相當于是多類別場景下的閾值。
那么,怎么搜索出 呢?搜索目標自然是指標最大,但 accuracy 或者 F1 這些都是不可導的,因此梯度下降肯定是不考慮了;而又因為待搜索參數是一個多維向量,所以二分法也不大好用。這里介紹一種名為“Powell 法”的求解方案。
Powell 法的數學細節比較多,這里不打算展開,簡單來說,Powell 法是一種求解低維無參數優化的算法,它不需要梯度,并且效率也相對較高,這里低維指的是待優化參數通常不超過 100 個(你總不能指望它去求解神經網絡)。最關鍵是,Powell 法在 Scipy 中有現成實現,在 scipy.optimize.minimize 中指定 method='Powell' 即可調用它。
對于上述問題,參考代碼如下:
import?numpy?as?np from?scipy.optimize?import?minimizedef?loss(t):"""這里的y_true.shape=[batch_size],y_pred.shape=[batch_size,?num_classes]"""t?=?(np.tanh(t)?+?1)?/?2return?-np.mean(y_true?==?(y_pred?*?t[None]).argmax(1))options?=?{'xtol':?1e-10,?'ftol':?1e-10,?'maxiter':?100000} result?=?minimize(loss,?np.zeros_like(y_pred[:1]),?method='Powell',?options=options ) thresholds?=?(np.tanh(result.x)?+?1)?/?2實驗結果
有了自動確定閾值的方法后,我們就可以檢驗分類性能了。筆者在 ATEC、BQ、LCQMC、PAWSX 這 4 個數據集上做了實驗,分別對比了 CoSENT、Sentence-BERT 和交互式(記為 Interact)三種方案的效果。公平起見,每種方法都用 Powell 法在驗證集上確定最優閾值,然后用該閾值報告測試集的效果,哪怕交互式的也是如此。
實驗代碼:
https://github.com/bojone/CoSENT/tree/main/accuracy
實驗結果如下(指標是 accuracy):
實驗結果顯示,從效果上來看,交互式確實是“王者”地位,但是特征式(CoSENT 和 Sentence-BERT/RoBERTa)的效果差距并沒有筆者想象中大。客觀來說,在 ATEC 和 BQ 兩個任務上,交互式 Interact 與特征式 CoSENT 并無顯著差異,而在 LCQMC 任務上,交互式 Interact 與特征式 Sentence-BERT/RoBERTa 并無顯著差異。
唯一拉開明顯差距的是 PAWSX,在《無監督語義相似度哪家強?我們做了個比較全面的評測》、《中文任務還是SOTA嗎?我們給SimCSE補充了一些實驗》[1] 中我們可以發現,幾乎所有無監督句向量方法都在 PAWSX 上失效。為什么呢?因為 PAWSX 的負樣本幾乎全是“對抗樣本”,就是字面重疊度非常高但語義卻不同的負樣本。所以,對于這種無監督方法“全線崩潰”的“高難”負樣本,哪怕用標注數據去訓練,也自然需要更深層的交互才能更好地識別出來。
理論極限
有些讀者可能會好奇:能否通過理論分析出特征式方案的理論極限呢?可能讓人意外的是,這個分析其實不難,而答案是:
理論上來說,交互式能做到的效果,特征式“幾乎”都能做到。
怎么得到這個結果呢?事實上用本博客以往介紹過的文章就足夠了。首先,我們假定正樣本對的相似度為 1,負樣本的相似度為 0,并且樣本對是無序的,即 ,那么如果有 個樣本,那么我們每兩個樣本之間算相似度(不管實際的相似度是怎么算來的),就得到一個相似度矩陣 ,它是一個“正定對稱矩陣”。
按照線性代數的結果,正定對稱矩陣的 SVD 分解必然是 的形式,其中 是正交矩陣而 是對角陣,那么我們有 。這就表明了,正定對稱矩陣一定可以分解為 的形式,這等價于說,每個樣本 可以表示為一個 維向量 ,使得 。
至此,所有的結果都是有理論保證并且精確相等的,只不過目前的“ 維向量”實在是太大了,所以接下來應該往降維角度想。此時,我們去年介紹過的“JL 引理”(參考《讓人驚嘆的 Johnson-Lindenstrauss 引理:理論篇》)就可以登場了,它告訴我們,別管原來是多少維的, 個向量都可以降到 維,而保持內積近似不變,在《讓人驚嘆的 Johnson-Lindenstrauss 引理:應用篇》中我們還近似估計了這個量級應該是 左右,所以對于 BERT base 的 768 維向量來說,理論上通過內積來擬合上百萬個樣本的兩兩相似度都不成問題。所以,基于內積的、維度達到幾百維的“特征式”方案,理論上是可以相當精確地達到交互式效果的。
那為什么在 PAWSX 這樣的困難數據集上兩者有明顯差異呢?個人認為這是“神經網絡和 cos 指標的連續性”與“文本匹配天然存在的對抗性”之間的矛盾造成的。
神經網絡本身就是一個連續函數,然后編碼器負責將句子壓縮到一個句向量中,其結果的連續性必然是非常好的,這里的連續性,指的是句子的微小改動,導致句向量的改動也是微小的;同時,cos 的連續性也非常好,即如果 比較小,那么 和 的差距也很小。所以,總的來說就是“特征式”的方案連續性會非常好。但問題是,人設計出來的語言天然存在對抗性,即字面上的微小改動能導致標注結果的巨大變化,經典的就是加個“不”字導致所謂的“語義反轉”,說白了就是連續性并不好。
于是,在此類任務之下,連續性非常好的“特征式”方案要去擬合對抗性明顯的數據集,就會非常困難。當然,前面我們已經分析過理論上是可以擬合的,所以實際上是擬合確實能擬合,但需要訓練比較多的 epoch 來“磨”掉特征式方案原有的連續性,但比較多的 epoch 也造成了更嚴重的過擬合。
因此,CoSENT 的訓練 loss 也能降到接近于 0(說明擬合能力沒問題),但是驗證集的效果沒有交互式的好。至于交互式,模型一開始就同時接觸到了兩個樣本,在后面的層中模型可以自行擬合和放大差異,從而在交互式方案中連續性與對抗性的矛盾并沒有那么嚴重,因而效果更好。
文章小結
本文從理論和實驗兩個角度地探討了特征式匹配與交互式匹配的效果差距,此外還討論了多分類問題中閾值的自動搜索問題。
參考文獻
[1] https://kexue.fm/archives/8348
特別鳴謝
感謝 TCCI 天橋腦科學研究院對于 PaperWeekly 的支持。TCCI 關注大腦探知、大腦功能和大腦健康。
更多閱讀
#投 稿?通 道#
?讓你的文字被更多人看到?
如何才能讓更多的優質內容以更短路徑到達讀者群體,縮短讀者尋找優質內容的成本呢?答案就是:你不認識的人。
總有一些你不認識的人,知道你想知道的東西。PaperWeekly 或許可以成為一座橋梁,促使不同背景、不同方向的學者和學術靈感相互碰撞,迸發出更多的可能性。?
PaperWeekly 鼓勵高校實驗室或個人,在我們的平臺上分享各類優質內容,可以是最新論文解讀,也可以是學術熱點剖析、科研心得或競賽經驗講解等。我們的目的只有一個,讓知識真正流動起來。
📝?稿件基本要求:
? 文章確系個人原創作品,未曾在公開渠道發表,如為其他平臺已發表或待發表的文章,請明確標注?
? 稿件建議以?markdown?格式撰寫,文中配圖以附件形式發送,要求圖片清晰,無版權問題
? PaperWeekly 尊重原作者署名權,并將為每篇被采納的原創首發稿件,提供業內具有競爭力稿酬,具體依據文章閱讀量和文章質量階梯制結算
📬?投稿通道:
? 投稿郵箱:hr@paperweekly.site?
? 來稿請備注即時聯系方式(微信),以便我們在稿件選用的第一時間聯系作者
? 您也可以直接添加小編微信(pwbot02)快速投稿,備注:姓名-投稿
△長按添加PaperWeekly小編
🔍
現在,在「知乎」也能找到我們了
進入知乎首頁搜索「PaperWeekly」
點擊「關注」訂閱我們的專欄吧
·
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的CoSENT:特征式匹配与交互式匹配有多大差距?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 奇瑞qq发动机号在哪里 寻找奇瑞qq发动
- 下一篇: 客座招生 | 中科院深圳先进院招收智能机