التدريب المسبق التقابلي بين اللغة والصورة

**التدريب المسبق التقابلي بين اللغة والصورة** (بالإنجليزية: Contrastive Language-Image Pre-training؛ واختصاراً: CLIP) هو تقنية لتدريب زوج من نماذج الشبكات العصبية، أحدهما لفهم الصور والآخر لفهم النصوص، باستخدام هدف تقابلي (Contrastive objective).مكّنت هذه الطريقة من ظهور تطبيقات واسعة في مجالات متعددة، بما في ذلك الاسترجاع عابر الأنماط (Cross-modal retrieval)، وتوليد الصور من النصوص، والتصنيف الجمالي للصور.

## الخوارزمية
تصغير|316x316px|نظرة عامة على البنية البرمجية
تقوم طريقة CLIP بتدريب زوج من النماذج بشكل تقابلي. يستقبل أحد النموذجين نصاً كمدخل ويخرج متجهاً (Vector) واحداً يمثل محتواه الدلالي. بينما يستقبل النموذج الآخر صورة ويخرج بالمثل متجهاً واحداً يمثل محتواها البصري. يتم تدريب هذه النماذج بحيث تكون المتجهات المقابلة لأزواج (النص والصورة) المتشابهة دلالياً قريبة من بعضها البعض في فضاء المتجهات المشترك، بينما تكون المتجهات الخاصة بالأزواج غير المتشابهة بعيدة عن بعضها البعض.

لتدريب زوج من نماذج CLIP، يبدأ المرء بإعداد مجموعة بيانات ضخمة من أزواج (الصورة والوصف). أثناء التدريب، تُعرض على النماذج دفعات (Batches) من N من أزواج الصور والأوصاف. إذا كانت المخرجات من نماذج النص والصورة هي على التوالي v_1, ..., v_N, w_1, ..., w_N ، فيُعتبر المتجهان "متشابهين" إذا كان حاصل ضربهما النقطي (Dot product) كبيراً.

دالة الفقد (Loss) المستخدمة في هذه الدفعة هي "فقدان أزواج N متعددة الفئات"، وهي عبارة عن فقدان إنتروبيا متقاطعة متماثل عبر درجات التشابه:
- \frac 1N \sum_{i} \ln\frac{e^{v_i \cdot w_i / T}}{\sum_j e^{v_i \cdot w_j / T}} - \frac 1N \sum_{j} \ln\frac{e^{v_j \cdot w_j / T}}{\sum_i e^{v_i \cdot w_j / T}} 
بشكل أساسي، تشجع دالة الفقد هذه على أن يكون الضرب النقطي بين متجهات الصور والنصوص المتطابقة (v_i \cdot w_i) عالياً، بينما تثبط الضرب النقطي العالي بين الأزواج غير المتطابقة. المعامل T > 0  هو "درجة الحرارة" (Temperature).

توجد دوال فقد أخرى ممكنة، مثل Sigmoid CLIP (SigLIP) التي تقترح دالة فقد تعتمد على السجمويد (Sigmoid).

## نماذج CLIP
بينما طورت أوبن أيه آي النموذج الأصلي، تم تدريب نماذج لاحقة من قبل منظمات أخرى أيضاً.

### نموذج الصور
تصغير|بنية محول الرؤية (ViT). يُستخدم متجه المخرجات لتشفير الصورة في تقنية CLIP.
نماذج تشفير الصور المستخدمة في CLIP هي عادةً محولات الرؤية (Vision Transformers - ViT). يعكس اصطلاح تسمية هذه النماذج عادةً بنية ViT المحددة المستخدمة؛ فعلى سبيل المثال، يشير "ViT-L/14" إلى "محول رؤية ضخم" (Large) مع حجم رقعة (Patch size) يبلغ 14 بكسل. تتراوح مؤشرات الحجم من B (أساسي)، L (ضخم)، H (هائل)، إلى G (عملاق).

بالإضافة إلى ViT، قد يكون نموذج الصور شبكة عصبية تلافيفية، مثل الشبكة المتبقية (ResNet) أو ConvNeXt (كما في سلسلة نماذج OpenCLIP التي طورتها LAION).

بما أن متجهات المخرجات لنماذج الصور والنصوص يجب أن تكون بنفس الطول تماماً، فإن كلا النموذجين يمتلكان مخرجات متجهية ثابتة الطول، يشار إليها بـ "بُعد التضمين" (Embedding dimension).

### نموذج النصوص
نماذج تشفير النصوص المستخدمة في CLIP هي عادةً محولات (Transformers).

في تقرير OpenAI الأصلي، استخدموا محولاً بـ 63 مليون معامل، و12 طبقة، مع ترميز زوج البايت (BPE) بحجم مفردات يبلغ 49,152. لضمان الكفاءة، تم تحديد طول السياق بـ 76 رمزاً. ومثل نماذج جي بي تي (GPT)، كانت البنية تعتمد على فك التشفير فقط (Decoder-only) مع انتباه ذاتي سببي (Causally-masked self-attention).

ومثل نموذج بيرت (BERT)، يتم وضع تسلسل النص بين رمزين خاصين هما [SOS] و[EOS] ("بداية التسلسل" و"نهاية التسلسل"). يتم أخذ التنشيطات من أعلى طبقة في المحول عند رمز [EOS]، وتطبيق معيار الطبقة (LayerNorm)، ثم خريطة خطية نهائية لإنتاج تضمين النص.

## مجموعة البيانات

### WebImageText
دُربت نماذج CLIP التي أصدرتها OpenAI على مجموعة بيانات تسمى "WebImageText" (WIT) تحتوي على 400 مليون زوج من الصور والأوصاف المقابلة لها التي تم جمعها من الإنترنت. إجمالي عدد الكلمات في هذه المجموعة مماثل لنطاق مجموعة بيانات WebText المستخدمة لتدريب GPT-2.

تعتبر مجموعة البيانات هذه خاصة ولم يتم إصدارها للجمهور.

## التطبيقات
### الاسترجاع عابر الأنماط
يتيح استرجاع CLIP عابر الأنماط محاذاة البيانات البصرية والنصية في فضاء كامن (Latent space) مشترك، مما يسمح للمستخدمين باسترجاع الصور بناءً على أوصاف نصية والعكس صحيح، دون الحاجة إلى تسميات توضيحية صريحة للصور.

### تصنيف الصور
يمكن لـ CLIP أداء مهام تصنيف الصور بنمط "صفرية المحاولة" (Zero-shot). يتم ذلك عن طريق تزويد مشفر النصوص بأسماء الفئات ومقارنة تضمين الصورة بتضمينات النصوص مثل "صورة لـ {فئة}". الفئة التي تحقق أعلى حاصل ضرب نقطي مع الصورة يتم اختيارها كتصنيف.

### التعلم متعدد الأنماط
يُستخدم CLIP كمكون أساسي في التعلم متعدد الأنماط. على سبيل المثال، تستخدم نماذج مثل Stable Diffusion مشفر النصوص الخاص بـ CLIP لتحويل الأوامر النصية إلى تضمينات توجّه عملية توليد الصور. كما يمكن استخدامه كإشارة تدرج (Gradient signal) لتوجيه عملية الانتشار مباشرة ("توجيه CLIP").

## ملاحظات

## المراجع

## وصلات خارجية

صفحة CLIP الرسمية على موقع OpenAI

مستودع OpenCLIP: نسخة مفتوحة المصدر من CLIP

تصنيف:تعلم الآلة
تصنيف:رؤية حاسوبية
تصنيف:شبكات عصبونية اصطناعية
تصنيف:معالجة اللغات الطبيعية