One-Shot Learning
استكشف التعلم بلقطة واحدة في الذكاء الاصطناعي. تعلم كيفية تصنيف الكائنات من صورة واحدة باستخدام Ultralytics YOLO26 والشبكات السيامية لرؤية كمبيوتر فعالة.
التعلم بلقطة واحدة هو تقنية تصنيف متخصصة في التعلم الآلي (ML) مصممة لتعلم معلومات حول فئات الكائنات من مثال تدريبي واحد. على عكس خوارزميات التعلم العميق (DL) التقليدية التي تتطلب مجموعات بيانات ضخمة تحتوي على آلاف الصور المشروحة للتعميم بفعالية، يحاكي التعلم بلقطة واحدة القدرة الإدراكية البشرية على استيعاب مفهوم جديد فوراً. على سبيل المثال، يمكن للشخص عادةً التعرف على طائر غريب معين بعد رؤيته مرة واحدة فقط؛ وتحاول هذه المنهجية محاكاة تلك الكفاءة في أنظمة الذكاء الاصطناعي (AI). وتعتبر ذات قيمة خاصة في السيناريوهات التي تكون فيها تسمية البيانات مكلفة، أو البيانات نادرة، أو يلزم إضافة فئات جديدة ديناميكياً دون إعادة تدريب النموذج بأكمله.
Link to this sectionالآليات الكامنة وراء المفهوم#
يتضمن المبدأ الأساسي للتعلم بلقطة واحدة تحويل الهدف من التصنيف القياسي إلى تقييم التشابه. بدلاً من تدريب شبكة عصبية (NN) لإخراج تسمية فئة محددة (مثل "كلب" أو "قطة")، يتعلم النموذج دالة مسافة. ومن البنيات الشائعة المستخدمة لهذا الغرض الشبكة العصبية السيامية (Siamese neural network)، والتي تتكون من شبكتين فرعيتين متطابقتين تشتركان في نفس أوزان النموذج.
أثناء التشغيل، تقوم الشبكة بإجراء استخراج الميزات لتحويل صور الإدخال إلى متجهات رقمية مضغوطة تُعرف بـ التضمينات (embeddings). ثم يقارن النظام تضمين صورة استعلام جديدة بتضمين "اللقطة" المرجعية الواحدة. إذا كانت المسافة الرياضية - التي غالباً ما تُحسب باستخدام المسافة الإقليدية أو تشابه جيب التمام - أقل من حد معين، يتم تحديد أن الصور تنتمي إلى نفس الفئة. يسمح هذا للنموذج بالتحقق من الهوية أو تصنيف الكائنات بناءً على قربها في مساحة الميزات التي تم تعلمها.
يوضح كود Python التالي كيفية استخراج التضمينات وحساب التشابه باستخدام نموذج تصنيف YOLO26 من حزمة ultralytics.
import numpy as np
from ultralytics import YOLO
# Load a pre-trained YOLO26 classification model for feature extraction
model = YOLO("yolo26n-cls.pt")
# Extract embeddings for a reference 'shot' and a query image
# The embed() method returns the feature vector directly
shot_vec = model.embed("reference_img.jpg")[0]
query_vec = model.embed("query_img.jpg")[0]
# Calculate similarity (higher dot product implies greater similarity)
similarity = np.dot(shot_vec, query_vec) / (np.linalg.norm(shot_vec) * np.linalg.norm(query_vec))
print(f"Similarity Score: {similarity:.4f}")Link to this sectionالتمييز بين النماذج ذات الصلة#
من المهم التمييز بين التعلم بلقطة واحدة وتقنيات التعلم الأخرى الفعالة من حيث البيانات، حيث إنها تحل مشكلات مماثلة من خلال قيود مختلفة:
- التعلم ببضع لقطات (FSL): هذه هي الفئة الأوسع التي تشمل التعلم بلقطة واحدة. في FSL، يتم تزويد النموذج بـ "مجموعة دعم" صغيرة من الأمثلة، تتراوح عادةً من صورتين إلى خمس صور لكل فئة. التعلم بلقطة واحدة هو ببساطة الحالة القصوى حيث يكون حجم مجموعة الدعم واحداً فقط.
- التعلم بصفر لقطات (ZSL): يتعامل ZSL مع التعرف على الفئات التي لم يسبق للنموذج رؤيتها بصرياً على الإطلاق. بدلاً من صورة مرجعية، يعتمد ZSL على سمات دلالية أو أوصاف نصية (مثل تحديد "حمار وحشي" من خلال ربط الميزات البصرية بوصف النص "حصان مخطط") عبر معالجة اللغات الطبيعية (NLP).
- التعلم بالنقل (Transfer Learning): يتضمن هذا أخذ نموذج مُدرب مسبقاً على قاعدة بيانات كبيرة مثل ImageNet وضبطه بدقة لمهمة جديدة. في حين أن التعلم بالنقل يدعم مستخرجات الميزات المستخدمة في التعلم بلقطة واحدة، يتطلب التعلم بالنقل القياسي عادةً أكثر من مثال واحد لتحديث الأوزان بفعالية دون الإفراط في التخصيص (overfitting).
Link to this sectionتطبيقات العالم الحقيقي#
لقد أطلق التعلم بلقطة واحدة قدرات في القطاعات التي يكون فيها جمع كميات هائلة من بيانات التدريب أمراً غير عملي.
Link to this sectionالتعرف على الوجوه والأمن#
التطبيق الأكثر انتشاراً للتعلم بلقطة واحدة هو في الأمن البيومتري. عند إعداد Face ID على هاتف ذكي أو التسجيل في نظام وصول الموظفين، يلتقط الجهاز تمثيلاً رياضياً واحداً لوجه المستخدم. أثناء الاستخدام اليومي، يقارن نظام التعرف على الوجه بث الكاميرا المباشر بهذه "اللقطة الواحدة" المخزنة للتحقق من الهوية. يعتمد هذا على تقنيات تضمين قوية، مثل تلك التي تمت مناقشتها في بحث FaceNet التأسيسي، لضمان عدم تأثير التغيرات في الإضاءة أو الزاوية على تطابق التشابه.
Link to this sectionمراقبة الجودة الصناعية#
في الذكاء الاصطناعي في التصنيع، يعد إنشاء مجموعة بيانات متوازنة للأجزاء "المعيبة" أمراً صعباً لأن العيوب نادرة وغير متسقة. يسمح التعلم بلقطة واحدة لأنظمة الرؤية الحاسوبية (CV) بتعلم تمثيل لجزء مرجعي "مثالي" واحد. يتم وضع علامة على أي عنصر على خط التجميع ينتج تضميناً بعيداً بشكل كبير عن هذا المرجع لغرض اكتشاف الشذوذ. وهذا يتيح ضمان الجودة الفوري دون الحاجة إلى آلاف الصور للأجزاء المكسورة، والتي يمكن إدارتها ونشرها عبر منصة Ultralytics.
Link to this sectionالتحديات والتوقعات المستقبلية#
على الرغم من قوته، إلا أن التعلم بلقطة واحدة حساس للضوضاء؛ فإذا كانت الصورة المرجعية الوحيدة ضبابية، أو محجوبة، أو غير تمثيلية، تنخفض قدرة النموذج على التعرف على تلك الفئة بشكل كبير. غالباً ما يستخدم الباحثون التعلم الوصفي (meta-learning)، أو "تعلم التعلم"، لتحسين استقرار النموذج وتعميمه. مع تطور البنيات، تدمج النماذج الأحدث مثل YOLO26 مستخرجات ميزات أكثر قوة تجعل الاستنتاج بلقطة واحدة أسرع وأكثر دقة، مما يمهد الطريق لأجهزة ذكاء اصطناعي حافي (edge AI) أكثر تكيفاً وذكاءً.






