إسماعيل بن علا

Image Captioner

توليد أوصاف الصور متعدد الوسائط

متعدد الوسائط · غشت 2024 · مكتمل

نموذج ينظر إلى صورة ويكتب جملة تصفها

التقنياتPyTorchCustom TransformersStreamlitPoetryHugging Face Transformerseinopstorchvision

Image Captioner — نظرة عامة

نظرة عامة

توليد أوصاف الصور (Image Captioning) يطلب من النموذج الربط بين وسيطين: البكسلات والكلمات. أردت فهم هذا الربط من الداخل، فكتبت كل جزء من نموذج التوصيف يدويًا في PyTorch بدل تجميع مكوّنات مدرَّبة مسبقًا.

بنيت محوّلًا (Transformer) من نوع مُرمِّز–مُفكِّك: مُرمِّز محوّل الرؤية (Vision Transformer) يحوّل الصورة إلى تسلسل من رموز الرقع (patch tokens)، ومُفكِّك Transformer يكتب الوصف رمزًا تلو الآخر، مستخدمًا الانتباه المتقاطع (cross-attention) للنظر إلى رموز الصورة في كل خطوة. يستهدف إعداد التدريب مجموعة بيانات Flickr30k للصور والأوصاف على Kaggle.

علّمني المشروع كيف يتيح الانتباه المتقاطع لمُفكِّك نصي أن يستند إلى وسيط مختلف، وكيف تشكّل خيارات صغيرة مثل ربط الأوزان وتنعيم التسميات وتجميع الدفعات حسب الطول مسار التدريب. إنه عمل تعليمي مدرَّب على بيانات محدودة، لا أداة توصيف إنتاجية.

السؤال

هل يستطيع مُرمِّز ViT مكتوب من الصفر، مقترنًا بمُفكِّك Transformer يعتمد الانتباه المتقاطع (cross-attention)، أن يتعلم محاذاة التمثيلات البصرية والنصية بما يكفي لوصف الصور من البداية إلى النهاية؟

أهم الميزات

كيف يعمل

  1. تقسيم الصورة إلى رقع

    التفاف نواته وخطوته مساويتان لحجم الرقعة يحوّل الصورة إلى تسلسل من تضمينات الرقع، ثم تُضاف ترميزات موضعية قابلة للتعلم.

  2. الترميز

    كتل متراصّة من الانتباه الذاتي والطبقات الأمامية ذات الوصلات المتبقية تبني رموزًا بصرية سياقية.

  3. فك الترميز بالانتباه المتقاطع

    يلتفت مُفكِّك الوصف إلى الكلمات السابقة بانتباه ذاتي مقنّع، وإلى الرموز البصرية بانتباه متقاطع.

  4. التدريب

    مُقطِّع GPT-2 مع رموز بداية ونهاية وحشو مضافة؛ إنتروبيا متقاطعة بتنعيم التسميات على رموز الوصف الحقيقية؛ جدولة معدل تعلم مع إحماء (warmup) وقصّ التدرّج (gradient clipping).

  5. الوصف

    بحث الحزمة مع تطبيع الطول وترشيح top-k / top-p يختار أفضل فرضية للوصف.

أمثلة

خط المعالجة: تمر رقع الصورة عبر مُرمِّز ViT، ويكتب مُفكِّك بانتباه متقاطع الوصف.
خط المعالجة: تمر رقع الصورة عبر مُرمِّز ViT، ويكتب مُفكِّك بانتباه متقاطع الوصف.

التقنيات المستخدمة

ما تعلمته

الحدود