Training Data
بيانات التدريب هي مجموعة الأمثلة التي يتعلم النموذج منها أوزانه. تعرّف على اختلافها عن بيانات التحقق والاختبار، وعلى أهمية جودة التسميات التي تضاهي أهمية حجم البيانات.
بيانات التدريب هي مجموعة الأمثلة التي يتعلم منها نموذج التعلم الآلي. وأثناء التدريب، يضبط المُحسِّن أوزان النموذج مراراً لتقليل خطئه على هذه الأمثلة، لذا تحدد هذه الأمثلة ما يمكن للنموذج تعلمه. في التعلم الخاضع للإشراف، يقترن كل مثال بمدخل وإجابته الصحيحة، مثل صورة شارع تتضمن صندوق إحاطة واسم فئة لكل سيارة ومشاة. أما التعلم ذاتي الإشراف والتعلم غير الخاضع للإشراف فيعتمدان على مدخلات خام من دون تسميات. ويُعد مصطلح مجموعة التدريب مرادفاً لها، وهي في معظم المشاريع أكبر تقسيم للبيانات المتاحة، وغالباً ما تشكل 70 إلى 80 بالمئة منها.
كيف تستخدم النماذج بيانات التدريب#
يعالج النموذج بيانات التدريب على دفعات. ولكل دفعة، ينتج تنبؤات، وتقيس دالة خسارة مدى ابتعادها عن التسميات، ويحسب الانتشار العكسي مساهمة كل وزن في الخطأ، ثم يعدّل المُحسِّن الأوزان لتقليله. ويُسمى المرور الكامل على مجموعة التدريب حقبة، وعادةً ما يمتد التدريب من عشرات إلى مئات الحقب.
بما أن النموذج يُحسّن على هذه الأمثلة نفسها، فإن درجته عليها تبالغ في تقدير أدائه على البيانات الجديدة. ويعالج تقسيمان مستبعدان هذه المشكلة. تُقيّم بيانات التحقق أثناء التطوير لاختيار المعلمات الفائقة ونقاط التحقق، بينما تُقيّم بيانات الاختبار مرة واحدة في النهاية لتقدير الأداء في العالم الحقيقي. وتشير الفجوة الكبيرة بين درجتي التدريب والتحقق إلى فرط التكيّف، حيث يحفظ النموذج أمثلة التدريب بدلاً من تعلّم أنماط قابلة للتعميم. أما انخفاض الدرجات في كليهما فيشير إلى قصور التكيّف. ويجب ألا تتشارك التقسيمات الصور: فالإطارات شبه المكررة من فيديو واحد أو صور الأشعة لمريض واحد على جانبي التقسيم تؤدي إلى تسرّب البيانات وتضخيم درجات كل مجموعة مستبعدة.
الكمية والجودة والتغطية#
تحدد ثلاث خصائص لمجموعة التدريب مدى قدرة النموذج على التعميم:
- الكمية: تساعد زيادة الأمثلة، لكن عوائدها تتناقص. ويقلل بدء التدريب بنموذج مدرّب مسبقاً عبر التعلم بالنقل عدد الأمثلة الموسومة التي تحتاج إليها المهمة الجديدة.
- الجودة: تعلّم كل تسمية خاطئة أو مفقودة أو مرسومة على نحو غير متسق النموذج شيئاً غير صحيح. وتكتسب إرشادات وسم البيانات المتسقة أهمية لا تقل عن عدد التسميات.
- التغطية: يجب أن تشمل الأمثلة الظروف التي سيواجهها النموذج، مثل الإضاءة والطقس وزوايا الكاميرا والخلفيات والفئات النادرة. ويفشل الكاشف المدرّب على صور النهار فقط ليلًا؛ وعندما تتبع الفجوات خطوطًا ديموغرافية، مثل غياب درجات البشرة عن مجموعة بيانات الوجوه، تصبح تحيزًا في مجموعة البيانات.
يدرّب البرنامج النصي أدناه باستخدام scikit-learn المصنّف نفسه على مجموعة بيانات الأرقام المكتوبة بخط اليد المضمّنة، مع مجموعات تدريب مختلفة، ويقيّم كل نموذج على تقسيم اختبار ثابت واحد:
import numpy as np
from sklearn.datasets import load_digits
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split
# 1,797 labeled 8x8 digit images; hold out 30% to score every model
X, y = load_digits(return_X_y=True)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=0, stratify=y)
# Reassign 30% of the training labels at random to simulate careless labeling
rng = np.random.default_rng(0)
y_noisy = y_train.copy()
flip = rng.random(len(y_train)) < 0.3
y_noisy[flip] = rng.integers(0, 10, flip.sum())
# Train the same model on three different training sets
for name, n, labels in [("50 clean", 50, y_train), ("1,257 clean", 1257, y_train), ("1,257 noisy", 1257, y_noisy)]:
model = LogisticRegression(max_iter=5000).fit(X_train[:n], labels[:n])
print(f"{name}: test accuracy {model.score(X_test, y_test):.3f}")ترفع زيادة مجموعة التدريب النظيفة من 50 إلى 1,257 صورة دقة الاختبار من 0.863 إلى 0.961. أما التشغيل المشوش، الذي تنتهي فيه 315 تسمية من أصل 1,257 (25%) خاطئة، فيحقق 0.861، أي ليس أفضل من النموذج المدرّب على 50 صورة نظيفة.
إنشاء مجموعة تدريب#
تجمع الفرق بيانات التدريب من مجموعات البيانات العامة، وكاميراتها وسجلاتها الخاصة، وبشكل متزايد من البيانات الاصطناعية. وتوفر معايير القياس العامة نقطة انطلاق قوية: إذ تضم مجموعة بيانات COCO عدد 118,287 صورة تدريب موسومة للكشف والتجزئة والتعليق التوضيحي. ثم تخضع المجموعات الخام لـتنظيف البيانات لإزالة التكرارات والملفات التالفة والصور الخارجة عن الهدف، يلي ذلك الوسم والمراجعة. ويزيد تعزيز البيانات تنوع النتائج أثناء التدريب باستخدام الانعكاسات والاقتصاص وتغييرات الألوان والفسيفساء، لكنه لا يستطيع إلا إعادة تركيب البيانات المجموعة؛ لذلك لا بد من تصوير أي ظرف مفقود.
يقرأ Ultralytics YOLO بيانات التدريب من المسار train في ملف YAML لمجموعة البيانات، ويربط كل صورة بملف تسميات .txt يحتوي على صف لكل جسم: فهرس الفئة يليه مركز الصندوق وعرضه وارتفاعه، وتكون القيم مطبّعة وفق حجم الصورة. ويُستخدم تنسيق مجموعة بيانات YOLO نفسه لكل تقسيم، لذا تتطلب إعادة موازنة التقسيمات نقل الصور وملفات التسميات الخاصة بها بين المجلدات.
from ultralytics import YOLO
# تحميل نموذج YOLO26 nano مُدرَّب مسبقًا
model = YOLO("yolo26n.pt")
# يسرد coco8.yaml صور التدريب (train: images/train) وصور التحقق (val: images/val)
results = model.train(data="coco8.yaml", epochs=5)يُجري نموذج YOLO26 ضبطًا دقيقًا باستخدام صور التدريب الأربع في COCO8، وهي عينة صغيرة تُستخدم للتحقق من أن مسار التدريب يعمل من البداية إلى النهاية.
بيانات التدريب مقارنةً بالمصطلحات ذات الصلة#
- بيانات التحقق: تقسيم مستبعد يوجّه القرارات أثناء التطوير، مثل موعد إيقاف التدريب. ولا يحدّث النموذج أوزانه استناداً إليها.
- بيانات الاختبار: تقسيم مستبعد يُقيّم مرة واحدة في النهاية، بحيث تكون نتيجته تقديراً غير متحيز للأداء على بيانات جديدة.
- الحقيقة المرجعية: الإجابات الصحيحة المرتبطة بالأمثلة. تتضمن بيانات التدريب الحقيقة المرجعية في التعلم الخاضع للإشراف، لكن كل تقسيم يحتاج إليها لأغراض التقييم.
- مجموعة البيانات الذهبية: مجموعة صغيرة راجعها خبراء، تُستخدم مرجعًا موثوقًا للتقييم وفحوصات جودة المعلّقين.
- مجموعة بيانات معيارية: مجموعة بيانات عامة ذات تقسيمات ثابتة تُستخدم لمقارنة النماذج. وغالبًا ما يُستخدم قسم التدريب فيها أيضًا بياناتٍ للتدريب المسبق، بينما يصبح قسمها المحجوب لوحةً للنتائج، كما هو الحال مع قسم val2017 في COCO الذي يضم 5,000 صورة، وتعرض عليه أوراق كثيرة في مجال الكشف قيمة mAP.










