استكشف CLIP (التدريب المسبق على اللغة والصورة التباينية) لربط الرؤية واللغة. تعرف على كيفية تمكينه للتعلم الفوري ودعم Ultralytics .
CLIP (Contrastive Language-Image Pre-training) هي بنية شبكة عصبية ثورية طورتها OpenAI لتجسر الفجوة بين البيانات المرئية واللغة الطبيعية. على عكس أنظمة الرؤية الحاسوبية (CV) التقليدية التي تتطلب تصنيف البيانات بشكل مكثف لمجموعة ثابتة من الفئات، يتعلم CLIP فهم الصور من خلال التدريب على ملايين أزواج الصور والنصوص التي تم جمعها من الإنترنت. تسمح هذه الطريقة للنموذج بأداء التعلم الفوري، مما يعني أنه يمكنه تحديد الأشياء أو المفاهيم أو الأنماط التي لم يرها بشكل صريح أثناء التدريب، ببساطة عن طريق قراءة وصف نصي. من خلال تعيين المعلومات المرئية واللغوية في مساحة ميزات مشتركة، يعمل CLIP كنموذج أساسي قوي لمجموعة متنوعة من المهام النهائية دون الحاجة إلى ضبط مكثف خاص بالمهمة .
تتضمن الآلية الأساسية لـ CLIP اثنين من أجهزة التشفير المتوازية: جهاز تشفير الصور، الذي يعتمد عادةً على Vision Transformer (ViT) أو ResNet، وجهاز تشفير النصوص Transformer المشابه لتلك المستخدمة في نماذج اللغة الكبيرة الحديثة (LLMs). من خلال عملية تُعرف باسم التعلم التبايني، يتم تدريب النظام على توقع أي مقتطف نصي يطابق أي صورة ضمن مجموعة.
أثناء التدريب، يقوم النموذج بتحسين معلماته لسحب تضمينات المتجهات لأزواج الصور والنصوص المتطابقة معًا، بينما يدفع الأزواج غير المتطابقة بعيدًا. وهذا يخلق مساحة كامنة متعددة الوسائط حيث يتم وضع التمثيل الرياضي لصورة "كلب غولدن ريتريفر" بالقرب من تضمين النص لـ "صورة كلب". من خلال حساب تشابه جيب التمام بين هذه المتجهات، يمكن للنموذج قياس مدى مطابقة الصورة لمدخلات اللغة الطبيعية، مما يتيح تصنيف الصور واسترجاعها بمرونة.
إن القدرة على ربط الرؤية واللغة جعلت CLIP تقنية أساسية في تطبيقات الذكاء الاصطناعي الحديثة:
في حين أن أجهزة الكشف عن الأشياء القياسية محدودة بفئات التدريب الخاصة بها، فإن استخدام الميزات القائمة على CLIP يسمح
بالكشف عن المفردات المفتوحة. ما يلي Python يوضح الكود كيفية استخدام
ultralytics حزمة detect باستخدام مطالبات نصية مخصصة:
from ultralytics import YOLOWorld
# Load a pre-trained YOLO-World model utilizing CLIP features
model = YOLOWorld("yolov8s-world.pt")
# Define custom classes using natural language text prompts
model.set_classes(["person wearing sunglasses", "red backpack"])
# Run inference on an image to detect the text-defined objects
results = model.predict("travelers.jpg")
# Display the results
results[0].show()
من المفيد التمييز بين CLIP ونماذج الذكاء الاصطناعي الشائعة الأخرى لفهم فائدته المحددة: