SigLIP
يدرّب SigLIP مُرمّزات الصور والنصوص باستخدام دالة خسارة سيغمويد زوجية بدلًا من دالة softmax التي يستخدمها CLIP، ما يقلّل استهلاك الذاكرة. تعرّف على آلية عمله وSigLIP 2 والشفرة البرمجية.
SigLIP (خسارة سيغمويد للتدريب المسبق على الصور واللغة) طريقة طوّرها باحثون في Google لتدريب مرمّزات الصور والنصوص على أزواج الصور والتعليقات التوضيحية، وهو أيضًا اسم عائلة النماذج التي دُرّبت بها. وعلى غرار CLIP، تتعلم هذه الطريقة فضاء تضمين مشتركًا تتقارب فيه الصورة والتعليق الذي يصفها. ويكمن الاختلاف في دالة الخسارة: إذ يتعامل SigLIP مع كل زوج من الصور والنصوص في الدفعة باعتباره سؤالًا مستقلًا إجابته نعم أو لا، ويقيّمه باستخدام دالة سيغمويد، بدلًا من مطالبة كل صورة باختيار تعليقها من الدفعة كلها باستخدام سوفتماكس. وقد قُدّم هذا التغيير في ورقة SigLIP لعام 2023، وهو يقلل استخدام الذاكرة، ويعمل بكفاءة أكبر مع أحجام الدفعات الصغيرة، وجعل مرمّزات SigLIP مكوّنًا بصريًا شائعًا في نماذج الرؤية واللغة (VLMs).
آلية عمل خسارة سيغمويد#
لدفعة تتضمن N من أزواج الصور والتعليقات التوضيحية، يحسب SigLIP التشابه بين كل تضمين صورة وكل تضمين نص، لينتج درجات N×N. ويضرب كل درجة في معامل حرارة t قابل للتعلم، ويضيف انحيازًا b قابلًا للتعلم، ثم يطبّق خسارة لوغاريتم سيغمويد ثنائية: تُوسم الأزواج الحقيقية وعددها N على القطر بوصفها متطابقة، بينما تُوسم الأزواج الأخرى وعددها N² − N بوصفها غير متطابقة. تبدأ قيمة معامل الحرارة من 10 والانحياز من −10، ما يجعل التدريب يبدأ بافتراض أن كل زوج تقريبًا غير متطابق، ويتجنب التحديثات الأولية الكبيرة الناجمة عن اختلال التوازن، إذ يوجد موجب واحد وN − 1 من السوالب لكل صورة.
تحسب شيفرة PyTorch أدناه هذه الخسارة لأربعة أزواج، مرةً باستخدام التعليقات التوضيحية الصحيحة ومرةً باستخدام التعليقات التي أزيحت موضعًا واحدًا:
import torch
import torch.nn.functional as F
# Normalized embeddings for 4 image-caption pairs: row i of each tensor belongs together
torch.manual_seed(0)
images = F.normalize(torch.randn(4, 64), dim=-1)
texts = F.normalize(images + 0.05 * torch.randn(4, 64), dim=-1)
# Learnable temperature and bias, at the values SigLIP initializes them to
t, b = 10.0, -10.0
# Every image-text pair is its own binary problem: +1 for a match, -1 for the other 12 pairs
labels = 2 * torch.eye(4) - 1
for name, captions in [("matched", texts), ("shuffled", texts.roll(1, dims=0))]:
logits = t * images @ captions.T + b
loss = -F.logsigmoid(labels * logits).sum() / 4
print(f"{name} captions: loss {loss:.2f}")تطبع matched captions: loss 1.21 وshuffled captions: loss 10.50. عند إزاحة التعليقات التوضيحية، يصبح كل زوج قطري موسوم بأنه متطابق غير متطابق، وترتفع الخسارة إلى ما يقارب تسعة أضعاف.
يعتمد حد الخسارة لكل زوج على ذلك الزوج وحده، لذا لا حاجة إلى وجود مصفوفة N×N كاملة على جهاز واحد. يحسب كل مسرّع الدرجات بين صوره ونصوصه، ثم يمرّر تضميناته النصية إلى المسرّع التالي ويكرر العملية:
لا يمكن تقسيم خسارة سوفتماكس بهذه الطريقة، لأن احتمال كل صورة يُطبّع على جميع التعليقات التوضيحية في الدفعة.
SigLIP مقارنةً بـ CLIP#
يدرّب كلاهما مرمّزين باستخدام التعلم التقابلي، ويختلفان في العناصر التي تُطبّع الخسارة عليها:
- CLIP: خسارة إنتروبيا متقاطعة باستخدام سوفتماكس على كل صف وعمود من مصفوفة التشابه للدفعة، وتُحسب بعد أن يجمع كل جهاز تضمينات الأجهزة الأخرى.
- SigLIP: خسارة ثنائية مستقلة لكل زوج. وفي الورقة، تفوّقت خسارة SigLIP على خسارة سوفتماكس مع أحجام الدفعات الصغيرة، وتسطّحت المكاسب الناتجة عن زيادة حجم الدفعة، إذ كان حجم 32k كافيًا. وبدمجه مع مرمّز صور مدرّب مسبقًا ومجمّد، دُرّب نموذج حقق دقة 84.5% دون تدريب مسبق على ImageNet خلال يومين باستخدام أربع شرائح TPUv4.
تشكل الخسارة الدرجات أيضًا وقت الاستدلال: إذ يمنح نموذج SigLIP كل تسمية مرشحة احتمال تطابق مستقلًا، لذلك لا يلزم أن يكون مجموع الاحتمالات ضمن مجموعة من التسميات مساويًا لـ 1.
SigLIP 2#
يحافظ SigLIP 2، الذي أُطلق في فبراير 2025، على خسارة سيغمويد ويضيف مفكّك ترميز لإنشاء التعليقات التوضيحية والتقطير الذاتي والتنبؤ المقنّع أثناء التدريب، إلى جانب انتقاء البيانات عبر الإنترنت. والمرمّزات متعددة اللغات، كما أنها تحسّن تحديد المواقع والسمات الكثيفة، وهي أمور مهمة لـالكشف والتقسيم المعتمديْن عليها. وتعالج نسخة NaFlex الصور بدقات متعددة مع الحفاظ على نسبة أبعادها الأصلية، وتتوافر النماذج بأحجام ViT-B وL وSo400m وg، حيث إن So400m بنية ViT محسّنة الشكل تضم 400 مليون معامل.
تطبيقات عملية#
- مرمّزات الرؤية لنماذج VLMs: يستخدم PaliGemma من Google مرمّز صور SigLIP So400m، ويستخدم Gemma 3 مرمّز SigLIP يضم 400 مليون معامل لمدخلاته الصورية.
- التصنيف دون تدريب مسبق: تُقيّم التسميات المكتوبة كنصوص مقابل صورة من دون تدريب مصنّف، ويدعم SigLIP 2 لغات كثيرة.
- البحث الدلالي: يُبحث في تضمينات الصور المخزّنة في قاعدة بيانات متجهية باستخدام استعلامات نصية أو صور أخرى.
- استكشاف مجموعة البيانات: تُضمّن منصة Ultralytics كل صورة في مجموعة بيانات خضعت للتحليل باستخدام مرمّز من هذا النوع للصور والنصوص، لذلك تتجاور الصور المتشابهة بصريًا في مخطط التبعثر للتجميع، وتُظهر ميزة «العثور على صور مشابهة» أقرب الصور شبهًا من مجموعات بيانات أخرى، كما يعرض البحث النصي، مثل «رافعة شوكية قرب مدخل»، صورًا تشبه الوصف.










