Vision Transformer (ViT)
استكشف قوة محولات الرؤية (ViT). تعرّف على كيفية إحداث الانتباه الذاتي وتقطيع الرموز ثورة في الرؤية الحاسوبية بعيداً عن الشبكات العصبية التلافيفية (CNNs) مع Ultralytics.
معمارية Vision Transformer (ViT) هي بنية تعلم عميق تكيّف آليات الانتباه الذاتي المصممة أصلاً لمعالجة Natural Language Processing (NLP) لحل مهام الرؤية. على عكس Convolutional Neural Network (CNN) التقليدية، التي تعالج الصور من خلال تسلسل هرمي لشبكات البكسل المحلية، تتعامل ViT مع الصورة كتسلسل من الرقع المنفصلة. شاع هذا النهج بفضل ورقة البحث البارزة "An Image is Worth 16x16 Words"، التي أثبتت أن بنيات المحولات الخالصة يمكنها تحقيق أداء متطور في computer vision (CV) دون الاعتماد على طبقات الالتفاف. من خلال الاستفادة من الانتباه الشامل، يمكن لـ ViTs التقاط التبعيات طويلة المدى عبر الصورة بأكملها منذ الطبقة الأولى.
كيف تعمل محولات الرؤية#
الابتكار الأساسي لـ ViT هو طريقة هيكلتها لبيانات الإدخال. لجعل الصورة متوافقة مع Transformer قياسي، يقوم النموذج بتقسيم المعلومات المرئية إلى تسلسل من المتجهات، محاكياً الطريقة التي يعالج بها نموذج اللغة جملة من الكلمات.
-
ترميز الرقع (Patch Tokenization): يتم تقسيم صورة الإدخال إلى شبكة من المربعات ذات الحجم الثابت، وعادة ما تكون 16x16 بكسل. يتم تسطيح كل مربع ليصبح متجهاً، ليتحول فعلياً إلى token بصري.
-
الإسقاط الخطي (Linear Projection): يتم تمرير هذه الرقع المسطحة عبر طبقة خطية قابلة للتدريب لإنشاء embeddings كثيفة. تقوم هذه الخطوة بتعيين قيم البكسل الخام في مساحة عالية الأبعاد يمكن للنموذج معالجتها.
-
الترميز الموضعي (Positional Encoding): نظراً لأن البنية تعالج التسلسلات بالتوازي وتفتقر إلى الفهم المتأصل للترتيب أو المكان، تتم إضافة positional encodings قابلة للتعلم إلى تضمينات الرقع. يتيح ذلك للنموذج الاحتفاظ بالمعلومات المكانية حول مكان تنتمي كل رقعة في الصورة الأصلية.
-
آلية الانتباه الذاتي (Self-Attention Mechanism): يدخل التسلسل إلى مُشفر Transformer، حيث يتيح self-attention لكل رقعة بالتفاعل مع كل رقعة أخرى في نفس الوقت. يتيح ذلك للشبكة تعلم السياق العالمي، وفهم كيف يرتبط البكسل الموجود في الزاوية العلوية اليسرى بواحد في الزاوية السفلية اليمنى.
-
رأس التصنيف (Classification Head): لمهام مثل image classification، غالباً ما يتم إدراج "رمز فئة" خاص في بداية التسلسل. تعمل حالة الإخراج النهائية لهذا الرمز كتمثيل إجمالي للصورة، والتي يتم إدخالها بعد ذلك في مصنف، مثل multilayer perceptron (MLP).
محولات الرؤية مقابل CNNs#
في حين أن كلا البنيتين تهدفان إلى فهم البيانات المرئية، إلا أنهما تختلفان بشكل كبير في فلسفتهما التشغيلية. تمتلك CNNs "تحيزاً استقرائياً" قوياً يُعرف بثبات الترجمة، مما يعني أنها يفترض بطبيعتها أن الميزات المحلية (مثل الحواف والقوام) مهمة بغض النظر عن موقعها. هذا يجعل CNNs عالية الكفاءة في البيانات وفعالة على datasets أصغر.
على العكس من ذلك، تمتلك Vision Transformers تحيزاً أقل تحديداً للصورة. يجب عليها تعلم العلاقات المكانية من الصفر باستخدام كميات هائلة من training data، مثل مجموعات البيانات JFT-300M أو ImageNet الكاملة. وفي حين أن هذا يجعل التدريب أكثر كثافة من الناحية الحسابية، إلا أنه يتيح لـ ViTs التوسع بشكل ملحوظ؛ مع توفر بيانات كافية وcompute power، يمكنها التفوق على CNNs من خلال التقاط الهياكل العالمية المعقدة التي قد تفوتها الالتفافات المحلية.
تطبيقات العالم الحقيقي#
إن القدرة على فهم السياق العالمي تجعل ViTs مفيدة بشكل خاص للبيئات المعقدة عالية المخاطر.
- تحليل الصور الطبية: في healthcare AI، تُستخدم ViTs لتحليل عمليات المسح عالية الدقة مثل الرنين المغناطيسي أو شرائح علم أمراض الأنسجة. على سبيل المثال، في tumor detection، يمكن لـ ViT ربط الشذوذ النسيجي الدقيق في الأنسجة بالتغيرات الهيكلية الأوسع عبر الشريحة، وتحديد الأنماط الخبيثة التي قد تتجاهلها المعالجة المحلية.
- صور الأقمار الصناعية والاستشعار عن بعد: تتفوق ViTs في satellite image analysis حيث تمتد العلاقات بين الكائنات عبر مسافات كبيرة. على سبيل المثال، ربط موقع إزالة الغابات بطريق قطع الأشجار البعيد يتطلب فهم "الصورة الكبيرة" للمشهد، وهي مهمة يتفوق فيها الانتباه العالمي لـ ViT على مجال الاستقبال المحدود لـ CNNs القياسية.
استخدام المحولات مع Ultralytics#
تدعم مكتبة ultralytics البنيات القائمة على المحولات، وأبرزها RT-DETR (Real-Time Detection Transformer). في حين أن YOLO26 الرائد غالباً ما يُفضل لتوازنه بين السرعة والدقة على أجهزة الحافة، يقدم RT-DETR بديلاً قوياً سيناريوهات تعطي الأولوية للسياق العالمي.
يوضح مثال Python التالي كيفية تحميل نموذج مُدرب مسبقاً قائم على المحولات وتشغيل الاستدلال:
from ultralytics import RTDETR
# Load a pre-trained RT-DETR model (Vision Transformer-based)
model = RTDETR("rtdetr-l.pt")
# Run inference on an image source
# The model uses self-attention to detect objects globally
results = model("https://ultralytics.com/images/bus.jpg")
# Display the detection results
results[0].show()النظرة المستقبلية#
يتطور البحث بسرعة لمعالجة التكلفة الحسابية العالية لـ ViTs. تقنيات مثل FlashAttention تجعل هذه النماذج أسرع وأكثر كفاءة في استهلاك الذاكرة. علاوة على ذلك، تصبح البنيات الهجينة التي تجمع بين كفاءة CNNs وانتباه Transformers شائعة. بالنسبة للفرق التي تتطلع إلى إدارة هذه سير العمل المتقدمة، توفر Ultralytics Platform بيئة موحدة لتعليق البيانات، وتدريب النماذج المعقدة عبر السحابة، ونشرها على نقاط نهاية متنوعة.






