CLIP與SIGLIP對比淺析

????????CLIP 和 SIGLIP 的核心區別在于損失函數的設計:CLIP 使用基于 softmax 的對比損失(InfoNCE),強制正樣本在全局對比中壓倒所有負樣本,計算成本高且受限于負樣本數量;SIGLIP 改用基于 sigmoid 的二元分類損失,獨立判斷每個樣本對的匹配概率,無需全局歸一化,計算更高效、內存占用低,尤其適合超大規模負采樣(如百萬級)和多標簽場景。簡言之,CLIP 強調“最優匹配”,適合小規模精準檢索;SIGLIP 側重“靈活匹配”,更適合開放域、大規模數據下的高效訓練。

CLIP(Softmax + 對比損失)

????????CLIP 使用?對稱對比學習損失(InfoNCE loss),通過 softmax 計算概率分布,強制正樣本對的相似度遠高于所有負樣本對。CLIP的損失函數為

?其中,

為圖像到文本的損失

為文本到圖像的損失

?為什么使用兩種損失:

增強模型的雙向對齊能力

  • 單一損失的局限性:如果僅用?I→T?損失(例如僅讓圖像匹配正確文本),模型可能忽略反向的文本特征優化(如文本編碼器未充分學習區分圖像)。

  • 對稱損失的作用

    • I→T?損失:強制圖像特征靠近對應文本特征。

    • T→I?損失:強制文本特征靠近對應圖像特征。

    • 雙向約束?確保視覺和語言特征在共享嵌入空間中全面對齊。

避免模態偏差(Modality Bias)

  • 問題:若僅用單向損失,模型可能偏向某一模態(例如圖像編碼器主導,文本編碼器弱化),導致跨模態檢索時性能不均衡。

  • 對稱損失的平衡性

    • 例如,在圖文搜索中,用戶可能輸入文本搜圖(T→I),也可能上傳圖搜文(I→T),雙向訓練保證兩種任務均表現良好。

SigLIP

????????SIGLIP 將圖文匹配視為?二元分類問題,采用成對Sigmoid損失,允許模型獨立地對每個圖像-文本對進行操作,而無需對批次中的所有對進行全局查看,獨立判斷每個圖像-文本對是否匹配。損失函數為

其中,

代表圖像與文本匹配使用sigmod函數

CLIP 的損失函數基于?softmax + 對比損失(InfoNCE),其計算效率受限于以下問題:

(1) 分母的全局求和:softmax 的分母需要對所有負樣本的指數項求和,損失需要一個全局歸一化因子(突出顯示的分母),這會引入二次內存復雜性。

(2) 梯度計算的依賴性:softmax 的梯度依賴于所有樣本的 logits,導致反向傳播時必須維護整個相似度矩陣。

(3) 內存消耗高:存儲所有負樣本的 logits 和中間結果(如?esjesj?)需要大量 GPU 內存,限制 batch size。

SIGLIP 使用?sigmoid + 二元交叉熵損失,其優勢在于:

(1) 獨立計算,無需全局歸一化:Sigmoid 對每個 logit 獨立計算,不需要計算所有樣本的和,每個樣本的處理是獨立的。

(2) 損失函數的分解性:二元交叉熵損失對每個樣本單獨計算,僅依賴當前樣本的 logit 和標簽,無需其他樣本參與。

(3) 內存友好:只需存儲當前樣本的 logit 和標簽,每個圖像-文本對(正或負)都單獨評估,無需維護全局歸一化相似度矩陣。適合分布式訓練,可輕松擴展到超大規模負采樣(如百萬級)。

總結

  • CLIP

    • 使用?softmax + 對比損失,強調?全局最優匹配

    • 適合小規模負樣本(如 batch size=512),但對超參數敏感。

  • SIGLIP

    • 使用?sigmoid + 二元分類損失,獨立判斷每個樣本。

    • 優勢

      1. 計算高效(適合超大規模負采樣,如 1M)。

      2. 梯度穩定(不受負樣本數量影響)。

      3. 支持多標簽(如一張圖對應多個描述)。

      4. 訓練更魯棒(對超參數不敏感)。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/916048.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/916048.shtml
英文地址,請注明出處:http://en.pswp.cn/news/916048.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

移動管家手機控車便捷性如何

移動管家4G手機控車-全面升級一鍵啟動、無鑰匙進入、手機啟動、手機開關鎖、手機開尾箱、手機尋車、車輛診斷、GPS北斗定位、電子圍欄、車輛授權、車輛防盜搶、胎壓檢測、預約啟動、車窗控制、車況提醒等功;移動管家手機控車系統(以“移動管家控車APP”為…

MySQL 8.4.4詳細下載安裝配置

1、下載mysql8.4.4文件,取zip文件 mysql8.4.4下載路徑 MySQL 5.7.31詳細下載安裝配置 2、配置環境變量 1.系統—>高級系統設置—>環境變量—>系統變量 在系統變量中點擊新建,變量名為量名為:MYSQL_HOME,添加你的mys…

在 Linux 上安裝 `pgvector`(這是一個 PostgreSQL 的向量類型擴展,常用于處理嵌入向量,便于進行向量相似度搜索)

全文 4000 字,配圖配碼,已在多家企業落地驗證。閱讀完如有收獲,文末投票告訴我你最關注的方向,我會在下一篇文章里繼續深入。 0. pgvector 簡介 pgvector 是一款 PostgreSQL 原生向量數據類型擴展,核心能力&#xff1…

【項目實戰】——深度學習.全連接神經網絡

目錄 1.使用全連接網絡訓練和驗證MNIST數據集 2.使用全連接網絡訓練和驗證CIFAR10數據集 1.使用全連接網絡訓練和驗證MNIST數據集 import torch from torch import nn from torchvision import datasets, transforms from torch.utils.data import DataLoader from torch im…

嵌入式學習的第三十四天-進程間通信-TCP

一、TCPTCP : 傳輸控制協議 傳輸層1. TCP特點(1).面向連接,避免部分數據丟失 (2).安全、可靠 (3).面向字節流 (4).占用資源開銷大2.TCP安全可靠機制三次握手:指建立tcp連接時,需要客戶端和服務端總共發送三次報文確認連接。確保雙方均已做好 收發…

【爬蟲】06 - 自動化爬蟲selenium

自動化爬蟲selenium 文章目錄自動化爬蟲selenium一:Selenium簡介1:什么是selenium2:安裝準備二:元素定位1:id 定位2:name 定位3:class 定位4:tag 定位5:xpath 定位(最常用…

2025年中國移動鴻鵠大數據實訓營(大數據方向)kafka講解及實踐-第2次作業指導

書接上回,第二次作業比較容易解決,我問了ai,讓他對我進行指導,按照它提供的步驟,我完成了本次實驗,接下來我會標注出需要注意的細節,指導大家完成此次任務。 🎯 一、作業目標 ??…

三十七、【高級特性篇】定時任務:基于 APScheduler 實現測試計劃的靈活調度

三十七、【高級特性篇】定時任務:基于 APScheduler 實現測試計劃的靈活調度 前言 準備工作 第一部分:后端實現 - `APScheduler` 集成與任務調度 1. 安裝 `django-apscheduler` 2. 配置 `django-apscheduler` 3. 數據庫遷移 4. 創建調度觸發函數 5. 啟動 APScheduler 調度器 6…

RabbitMQ--消息順序性

看本章之前強烈建議先去看博主的這篇博客 RabbitMQ--消費端單線程與多線程-CSDN博客 一、消息順序性概念 消息順序性是指消息在生產者發送的順序和消費者接收處理的順序保持一致。 二、RabbitMQ 順序性保證機制 情況順序保證情況備注單隊列,單消費者消息嚴格按發送順…

.net core接收對方傳遞的body體里的json并反序列化

1、首先我在通用程序里有一個可以接收對象型和數組型json串的反序列化方法public static async Task<Dictionary<string, string>> AllParameters(this HttpRequest request){Dictionary<string, string> parameters QueryParameters(request);request.Enab…

(10)機器學習小白入門 YOLOv:YOLOv8-cls 模型評估實操

YOLOv8-cls 模型評估實操 (1)機器學習小白入門YOLOv &#xff1a;從概念到實踐 (2)機器學習小白入門 YOLOv&#xff1a;從模塊優化到工程部署 (3)機器學習小白入門 YOLOv&#xff1a; 解鎖圖片分類新技能 (4)機器學習小白入門YOLOv &#xff1a;圖片標注實操手冊 (5)機器學習小…

Vue 腳手架基礎特性

一、ref屬性1.被用來給元素或子組件注冊引用信息&#xff08;id的替代者&#xff09;2.應用在html標簽上獲取的是真實DOM元素&#xff0c;用在組件標簽上是組件實例對象3.使用方式&#xff1a;(1).打標識&#xff1a;<h1 ref"xxx">...</h1> 或 <Schoo…

Ubuntu安裝k8s集群入門實踐-v1.31

準備3臺虛擬機 在自己電腦上使用virtualbox 開了3臺1核2G的Ubuntu虛擬機&#xff0c;你可以先安裝好一臺&#xff0c;安裝第一臺的時候配置臨時調高到2核4G&#xff0c;安裝速度會快很多&#xff0c;安裝完通過如下命令關閉桌面&#xff0c;能夠省內存占用&#xff0c;后面我們…

Word Press富文本控件的保存

新建富文本編輯器&#xff0c;并編寫save方法如下&#xff1a; edit方法&#xff1a; export default function Edit({ attributes, setAttributes }) {return (<><div { ...useBlockProps() }><RichTexttagNameponChange{ (value) > setAttributes({ noteCo…

【編程趣味游戲】:基于分支循環語句的猜數字、關機程序

&#x1f31f;菜鳥主頁&#xff1a;晨非辰的主頁 &#x1f440;學習專欄&#xff1a;《C語言學習》 &#x1f4aa;學習階段&#xff1a;C語言方向初學者 ?名言欣賞&#xff1a;"編程的核心是實踐&#xff0c;而非空談" 目錄 1. 游戲1--猜數字 1.1 rand函數 1.2 sr…

UE5 UI 控件切換器

文章目錄分類作用屬性分類 面板 作用 可以根據索引切換要顯示哪個子UI&#xff0c;可以擁有多個子物體&#xff0c;但是任何時間只能顯示一個 屬性 在這里指定要顯示的UI的索引

scikit-learn 包

文章目錄scikit-learn 包核心功能模塊案例其他用法**常用功能詳解****(1) 分類任務示例&#xff08;SVM&#xff09;****(2) 回歸任務示例&#xff08;線性回歸&#xff09;****(3) 聚類任務示例&#xff08;K-Means&#xff09;****(4) 特征工程&#xff08;PCA降維&#xff0…

Excel 將數據導入到SQLServer數據庫

一般系統上線前期都會導入期初數據&#xff0c;業務人員一般要求你提供一個Excel模板&#xff0c;業務人員根據要求整理數據。SQLServer管理工具是支持批量導入數據的&#xff0c;所以我們可以使用該工具導入期初。Excel格式 第一行為字段1、連接登入的數據庫并且選中你需要導入…

剪枝和N皇后在后端項目中的應用

剪枝算法&#xff08;Pruning Algorithm&#xff09; 生活比喻&#xff1a;就像修剪樹枝一樣&#xff0c;把那些明顯不會結果的枝條提前剪掉&#xff0c;節省養分。 在后端項目中的應用場景&#xff1a; 搜索優化&#xff1a;在商品搜索中&#xff0c;如果某個分類下沒有符合條…

cocos 2d游戲中多邊形碰撞器會觸發多次,怎么解決

子彈打到敵機 一發子彈擊中&#xff0c;碰撞回調多次執行 我碰撞組件原本是多邊形碰撞組件 PolygonCollider2D&#xff0c;我改成盒碰撞組件BoxCollider2D 就好了 用前端的節流方式。或者loading處理邏輯。我測試過了&#xff0c;是可以 本來就是多次啊,設計上貌似就是這樣的…