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

ViT Image Classifier

محوّل الرؤية من الصفر

التعلم العميق · يونيو 2024 · مكتمل

مصنّف صور مبني من الصفر لفهم كيفية عمل محوّلات الرؤية

التقنياتPyTorchPoetryViTtorchvisionscikit-learnStreamlitMatplotlib

ViT Image Classifier — نظرة عامة

نظرة عامة

تصنّف محوّلات الرؤية (Vision Transformers) الصور بتقطيعها إلى رقع (patches) ومعاملة هذه الرقع كما تُعامل الكلمات في جملة. أردت معرفة ما يسهم به كل جزء من هذا التصميم فعلًا، فبنيت محوّل رؤية من الصفر في PyTorch بدل استيراد واحد جاهز.

كتبت كل مكوّن بنفسي: ثلاث استراتيجيات لتضمين الرقع، وترميزات موضعية قابلة للتعلم، وانتباهًا ذاتيًا متعدد الرؤوس، ودالة تنشيط GELU مخصصة، ورمز [CLS] على طريقة BERT تغذّي حالته النهائية المصنّف. طوّرته مع فريق أمراض النباتات في مجتمع Moroccan Data Scientists وطبّقته على صور أمراض أوراق الطماطم والبطاطس.

على مجموعة اختبار محجوزة تغطي أربع فئات من أوراق الطماطم، بلغ النموذج دقة تقارب 81% (يذكر ملف README في المستودع 81.6%). إنه نموذج بنطاق تعليمي، لم يُقارَن بنماذج ViT الكبيرة المدرَّبة مسبقًا.

السؤال

ما الذي يسهم به كل جزء من محوّل الرؤية فعلًا؟ هل أستطيع بناء تضمين الرقع ورمز الفئة والانتباه والضبط الدقيق من الصفر مع الحفاظ على تصنيف جيد؟

أهم الميزات

كيف يعمل

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

    تُقسَّم كل صورة إلى رقع بحجم 16x16 وتُسقَط إلى متجهات تضمين، مع إضافة رمز [CLS] قابل للتعلم في المقدمة.

  2. إضافة المواضع

    ترميزات موضعية قابلة للتعلم تخبر النموذج من أين جاءت كل رقعة، لأن الانتباه وحده يتجاهل الترتيب.

  3. الترميز

    مكدّس من كتل Transformer يطبّق الانتباه الذاتي متعدد الرؤوس وطبقات أمامية بحيث تستطيع كل رقعة الالتفات إلى سائر الرقع.

  4. التصنيف

    بعد LayerNorm أخير، يمر متجه رمز [CLS] عبر رأس خطي يُخرج درجات الفئات.

  5. التدريب والضبط الدقيق

    نقطتا دخول منفصلتان للتدريب والضبط الدقيق تدعمان سير عمل نقل التعلم، مع رسوم حية للخسارة والدقة أثناء التدريب.

أمثلة

مزيد من تنبؤات الاختبار: تُصنَّف معظم الأوراق تصنيفًا صحيحًا، وتخلط الأخطاء بين Bacterial spot وEarly blight، وهما مرضان ذوا آفات داكنة متشابهة.
مزيد من تنبؤات الاختبار: تُصنَّف معظم الأوراق تصنيفًا صحيحًا، وتخلط الأخطاء بين Bacterial spot وEarly blight، وهما مرضان ذوا آفات داكنة متشابهة.

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

ما تعلمته

الحدود