التعلم العميق متقدم · Advanced 15 دقيقة

نقل التعلم

Transfer Learning

إعادة استخدام نموذج مدرب مسبقاً على بيانات ضخمة لمهمة جديدة ببيانات قليلة.

تقدّمك في المسار0%

لماذا ينجح؟

السمات التي تتعلمها الطبقات الأولى (حواف، أنسجة) عامة وتفيد مهام كثيرة، بينما الطبقات الأخيرة أكثر تخصصاً في المهمة الأصلية (Yosinski et al., 2014).

الأسلوبان

استخراج السماتالضبط الدقيق
الطبقات المدربةمجمدةتُحدَّث كلها أو بعضها
البيانات المطلوبةقليلةمتوسطة
الكلفةمنخفضةأعلى
خطر فرط التخصيصأقلأعلى مع البيانات القليلة

مثال في PyTorch

import torch, torch.nn as nn
from torchvision import models

weights = models.ResNet18_Weights.DEFAULT
model = models.resnet18(weights=weights)       # تُنزّل الأوزان عند أول استخدام
preprocess = weights.transforms()               # التطبيع الصحيح لهذه الأوزان

for p in model.parameters():                    # 1) استخراج السمات: تجميد
    p.requires_grad = False
model.fc = nn.Linear(model.fc.in_features, 3)   # رأس جديد لثلاث فئات

opt = torch.optim.AdamW(model.fc.parameters(), lr=1e-3)
# ... درّب الرأس بضع حقب ...

for p in model.layer4.parameters():             # 2) ضبط دقيق لآخر كتلة
    p.requires_grad = True
opt = torch.optim.AdamW([
    {"params": model.layer4.parameters(), "lr": 1e-5},
    {"params": model.fc.parameters(), "lr": 1e-4},
])

إرشادات

  • استخدم معالجة المدخلات نفسها التي استُخدمت مع الأوزان الأصلية.
  • ابدأ بتجميد الشبكة وتدريب الرأس، ثم حرر الطبقات العليا تدريجياً.
  • معدل تعلم صغير للطبقات المدربة مسبقاً.
  • راقب بيانات التحقق للتوقف المبكر.

تنبيه للمجالات المتخصصة

في الصور الطبية مثلاً يختلف التوزيع كثيراً عن ImageNet؛ نقل التعلم مفيد غالباً لكنه ليس مضموناً، ويجب التحقق التجريبي ومقارنته بنماذج مدربة مسبقاً على بيانات من المجال نفسه عند توفرها.

مصطلحات الدرس

الضبط الدقيق Fine-tuning
مواصلة تدريب نموذج مدرب مسبقاً على بيانات المهمة الجديدة، عادة بمعدل تعلم صغير.
تجميد الطبقات Layer Freezing
منع تحديث أوزان طبقات معينة أثناء التدريب للحفاظ على ما تعلمته.
نقل التعلم Transfer Learning
استخدام المعرفة التي تعلمها نموذج في مهمة أو مجال مصدر لتحسين التعلم في مهمة أو مجال هدف.

الملخص

نقل التعلم يستفيد من نموذج مدرب مسبقاً على مجموعة بيانات كبيرة (مثل ImageNet أو نصوص ضخمة) كنقطة بداية لمهمة جديدة. له أسلوبان رئيسان: استخراج السمات بتجميد الطبقات المدربة وتدريب رأس جديد فقط، والضبط الدقيق (fine-tuning) بتحديث بعض الطبقات أو كلها بمعدل تعلم صغير. يقلل الحاجة إلى البيانات والحوسبة، وهو الممارسة الافتراضية في الرؤية الحاسوبية ومعالجة اللغات، مع ضرورة الانتباه لاختلاف التوزيع بين المصدر والهدف.

أسئلة مراجعة

  1. متى تفضل استخراج السمات على الضبط الدقيق الكامل؟

    عندما تكون بيانات الهدف قليلة جداً ومشابهة لبيانات المصدر، لتقليل خطر فرط التخصيص.

  2. لماذا يجب استخدام التطبيع نفسه الذي دُرب به النموذج الأصلي؟

    لأن الأوزان تعلمت على مدخلات بتوزيع معين، وتغيير المعالجة يضعف الأداء.

المصادر والمراجع

  1. Yosinski et al. (2014) How transferable are features in deep neural networks? — arXiv
  2. PyTorch — Transfer Learning for Computer Vision Tutorial
  3. TensorFlow — Transfer learning and fine-tuning

إكمال الدرس