One-Shot Learning
استكشف التعلم بلقطة واحدة في الذكاء الاصطناعي. تعلم كيفية تصنيف الكائنات من صورة واحدة باستخدام Ultralytics YOLO26 والشبكات السيامية لرؤية كمبيوتر فعالة.
التعلم بأداة واحدة أو بالعيننة الواحدة (One-Shot Learning) هو تقنية تصنيف متخصصة في التعلم الآلي (machine learning (ML)) مصممة لتعلم معلومات حول فئات الكائنات من مثال تدريبي واحد. على عكس خوارزميات التعلم العميق (deep learning (DL)) التقليدية، التي تتطلب مجموعات بيانات ضخمة تحتوي على آلاف الصور المشروحة لتعميم النتائج بفعالية، يحاكي التعلم بالعيننة الواحدة القدرة المعرفية البشرية على استيعاب مفهوم جديد فوريًا. على سبيل المثال، يمكن للشخص عادةً التعرف على طائر غريب معين بعد رؤيته مرة واحدة فقط؛ وتعمل هذه المنهجية على محاكاة تلك الكفاءة في أنظمة الذكاء الاصطناعي (artificial intelligence (AI)). وهي قيمة بشكل خاص في السيناريوهات التي يكون فيها تسمية البيانات مكلفة، أو تكون البيانات شحيحة، أو يجب إضافة فئات جديدة ديناميكيًا دون إعادة تدريب النموذج بأكمله.
الآليات الكامنة وراء المفهوم#
المبدأ الأساسي للتعلم بالعيننة الواحدة يتضمن تحويل الهدف من التصنيف القياسي إلى تقييم التشابه. بدلاً من تدريب شبكة عصبية (neural network (NN)) لإخراج تسمية فئة محددة (مثل "كلب" أو "قطة")، يتعلم النموذج دالة مسافة. الهندسة المعمارية الشائعة المستخدمة لهذا الغرض هي الشبكة العصبية السيامية (Siamese neural network)، والتي تتكون من شبكتين فرعيتين متطابقتين تتشاركان نفس أوزان النموذج.
أثناء التشغيل، تقوم الشبكة بإجراء استخراج الميزات لتحويل صور الإدخال إلى متجهات عددية مضغوطة تُعرف باسم التضمينات (embeddings). يقوم النظام بعد ذلك بمقارنة تضمين صورة استعلام جديدة مقابل تضمين "العينة" المرجعية الفردية. إذا كانت المسافة الرياضية - وغالبًا ما يتم حسابها باستخدام المسافة الإقليدية (Euclidean distance) أو تشابه جيب التمام (cosine similarity) - أقل من عتبة معين، يتم تحديد أن الصور تنتمي إلى نفس الفئة. يتيح ذلك للنموذج التحقق من الهوية أو تصنيف الكائنات بناءً على قربها في مساحة الميزات المُتعلمة.
يوضح كود 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}")التمييز بين النماذج ذات الصلة#
من المهم التمييز بين التعلم بلقطة واحدة وتقنيات التعلم الأخرى الفعالة من حيث البيانات، حيث إنها تحل مشكلات مماثلة من خلال قيود مختلفة:
- التعلم ببضع عينات (Few-Shot Learning (FSL)): هذه هي الفئة الأوسع التي تشمل التعلم بالعيننة الواحدة. في التعلم ببضع عينات، يتم تزويد النموذج "مجموعة دعم" صغيرة من الأمثلة، تتراوح عادةً من صورتين إلى خمس صور لكل فئة. التعلم بالعيننة الواحدة هو ببساطة الحالة القصوى التي يكون فيها حجم مجموعة الدعم واحدًا بالضبط.
- التعلم بدون عينات (Zero-Scale/Zero-Shot Learning (ZSL)): يتعامل التعلم بدون عينات مع التعرف على الفئات التي لم يراها النموذج بصريًا أبدًا. بدلاً من صورة مرجعية، يعتمد هذا التعلم على السمات الدلالية أو الأوصاف النصية (مثل تحديد "حمار وحشي" من خلال ربط الميزات البصرية بوصف النص "حصان مخطط") عبر معالجة اللغات الطبيعية (natural language processing (NLP)).
- التعلم النقلي (Transfer Learning): يتضمن هذا أخذ نموذج مُدرب مسبقًا على قاعدة بيانات كبيرة مثل ImageNet وضبطه بدقة على مهمة جديدة. في حين أن التعلم النقلي يدعم مستخرجات الميزات المستخدمة في التعلم بالعيننة الواحدة، إلا أن التعلم النقلي القياسي عادة ما يتطلب أكثر من مثال واحد لتحديث الأوزان بشكل فعال دون فرط التخصيص (overfitting).
تطبيقات العالم الحقيقي#
لقد أتاح التعلم بالعيننة الواحدة إمكانيات جديدة في القطاعات التي يكون فيها جمع كميات هائلة من بيانات التدريب أمرًا غير عملي.
التعرف على الوجوه والأمن#
التطبيق الأكثر انتشارًا للتعلم بالعيننة الواحدة هو في الأمان البيومتري. عند إعداد ميزة Face ID على هاتف ذكي أو التسجيل في نظام وصول للموظفين، يلتقط الجهاز تمثيلًا رياضيًا واحدًا لوجه المستخدم. أثناء الاستخدام اليومي، يقارن نظام التعرف على الوجه بث مباشر للكاميرا مقابل هذه "العينة الواحدة" المخزنة للتحقق من الهوية. يعتمد هذا على تقنيات تضمين قوية، مثل تلك التي ناقشتها أبحاث FaceNet الأساسية، لضمان عدم تسبب التغيرات في الإضاءة أو الزاوية في فشل مطابقة التشابه.
مراقبة الجودة الصناعية#
في الذكاء الاصطناعي في التصنيع، يعد إنشاء مجموعة بيانات متوازنة للأجزاء "المعيبة" أمرًا صعبًا لأن العيوب نادرة وغير متسقة. يسمح التعلم بالعيننة الواحدة لأنظمة رؤية الكمبيوتر (computer vision (CV)) بتعلم تمثيل جزء مرجعي "مثالي" واحد. يتم الإبلاغ عن أي عنصر على خط التجميع ينتج عنه تضمين بعيد بشكل ملحوظ عن هذا المرجع لاكتشاف الشذوذ. يتيح ذلك ضمان الجودة الفوري دون الحاجة إلى آلاف الصور للأجزاء المكسورة، والتي يمكن إدارتها ونشرها عبر منصة Ultralytics (Ultralytics Platform).
التحديات والتوقعات المستقبلية#
على الرغم من قوته، فإن التعلم بالعيننة الواحدة معرض للتشويش؛ وإذا كانت صورة المرجع الفردية ضبابية أو محجوبة أو غير معبرة، تتدهور قدرة النموذج على التعرف على تلك الفئة بشكل كبير. غالبًا ما يستخدم الباحثون التعلم الفوقي (meta-learning)، أو "تعلم كيفية التعلم"، لتحسين استقرار النموذج والتعميم. مع تطور الهندسيات، تدمج النماذج الأحدث مثل YOLO26 مستخرجات ميزات أكثر قوة تجعل الاستدلال بالعيننة الواحدة أسرع وأكثر دقة، مما يمهد الطريق لأجهزة الذكاء الاصطناعي للحافة (edge AI) أكثر تكيفًا وذكاءً.






