أساسيات تعلم الآلة2018مبتدئ10 دقيقة قراءة
mixup: ما وراء تدنية المخاطر التجريبية
mixup: Beyond Empirical Risk Minimization
Zhang, H. · Cissé, M. · Dauphin, Y. N. · Lopez-Paz, D. — ICLR
المشكلة
حين ندرّب شبكة عصبية عميقة بمبدأ تدنية المخاطر التجريبية (ERM)، فإنها تميل إلى حفظ بيانات بدلاً من استخلاص أنماط عامة قابلة للنقل. والمشكلة تتفاقم أمام الأمثلة العدائية — وهي مدخلات تختلف اختلافاً طفيفاً عن توزيع التدريب — حيث تنهار تنبؤات النموذج انهياراً تاماً. أساليب التقليدية كالقلب والاقتصاص تساعد جزئياً، لكنها تحتاج خبرة بالمجال ولا تمسّ التصنيفات؛ إنها تُعدّل المدخلات فقط.
الإسهام
يقدّم mixup فكرة بسيطة جداً لتعزيز البيانات: في كل دفعة تدريبية، خذ عيّنتين عشوائياً واصنع منهما عيّنة جديدة عبر تركيبة محدَّبة لمدخلاتهما، ثم اصنع تصنيفاً جديداً بالوزن نفسه. وزن المزج λ يأتي من Beta(α,α). الأثر الناتج هو أنّ النموذج يُجبَر على التصرف خطياً بين عيّنات التدريب، وهذا بمثابة منتظِم قوي يُحسّن ويُقلّل حفظ التصنيفات الخاطئة ويزيد المتانة أمام الهجمات العدائية ويُثبّت تدريب .
الأثر
أسّس mixup عائلة كاملة من أساليب تعزيز البيانات — CutMix وManifold Mixup وMixStyle وPuzzleMix — وأصبح أداة تنظيم شبه معيارية في خطوط التعلم العميق الحديثة. الإسهام الأعمق هو تغيير نظرة المجال لتعزيز البيانات: لم يعد الأمر مقتصراً على تحويل المدخلات فحسب، بل امتد إلى مشترك يشمل المدخلات والتصنيفات معاً.
تخيّل طاهياً يتدرّب على تمييز المطابخ المختلفة. في التدريب التقليدي، يتذوّق طبقاً واحداً في كل مرة: هذا تايلندي 100%، هذا إيطالي 100%. فيحفظ الوصفات بحذافيرها، لكنه يرتبك تماماً حين يُقدَّم له طبق يمزج بين المطبخين.
mixup يُغيّر أسلوب التدريب: يمزج طبقين معاً — مثلاً 70% كاري تايلندي و30% ريزوتو إيطالي — ويقول للطاهي «هذا 70% تايلندي و30% إيطالي». بعد عشرات الخلطات المشابهة، يبدأ الطاهي بفهم الطيف الكامل بين المطابخ بدلاً من حفظ نقاط منعزلة. وحين يصل طبق الفيوجن يتعامل معه بسلاسة.
المشكلة: الحفظ الأعمى في ظل تدنية المخاطر التجريبية
الفكرة الأساسية وراء تدريب الشبكات العميقة هي مبدأ (ERM): قلّل متوسط على . المشكلة أنّ هذا المبدأ يتعامل مع كل عيّنة تدريبية وكأنها — نقطة حادة معزولة في فضاء المدخلات. كل ما يُطلب من النموذج هو أن يُصيب تلك النقاط بالذات، دون أي التزام بأن يتصرف بشكل معقول بينها.
ينتج عن ذلك مشكلتان عمليتان واضحتان:
-
الحفظ الأعمى. أثبت Zhang وآخرون (2017) أنّ الشبكات الكبيرة قادرة على حفظ تصنيفات عشوائية بالكامل وتحقيق دقة مثالية عليها — بمعنى أنّ مبدأ ERM لا يمنع النموذج من حفظ الضوضاء بدلاً من تعلّم الأنماط. وحتى مع قوي، يظل لتوزيع التدريب وارداً.
-
الهشاشة أمام الهجمات العدائية. لأنّ النموذج لم يرَ إلا نقاط التدريب تحديداً، فإنّ تنبؤاته قد تنقلب رأساً على عقب حين تتغيّر المدخلات بمقادير ضئيلة لا تُدركها العين. يستغل المهاجم هذا السطح الحاد لفرض تنبؤات خاطئة بثقة عالية (رأينا هذه الثغرة في فصل FGSM).
من تدنية المخاطر التجريبية إلى تدنية المخاطر الجوارية
الحل النظري لهذه المشكلة هو مبدأ (VRM) الذي قدّمه Chapelle وآخرون عام 2000. الفكرة بسيطة: بدلاً من تدريب النموذج على نقاط البيانات المعزولة فقط، درّبه على جوار كل نقطة أيضاً. أساليب تعزيز البيانات التقليدية — كقلب الصور أو إضافة ضوضاء غاوسية — هي في الحقيقة حالات خاصة من هذا المبدأ. لكن لهذه الأساليب قيدين: تحتاج خبرة بالمجال لتصميم التحويلات المناسبة، والأهم أنها تُعدّل المدخلات فقط دون أن تمسّ التصنيفات. صورة القطة المقلوبة أفقياً تبقى تصنيفها «قطة» بنسبة 100%.
ما يطرحه mixup هو توزيع جوار شامل لا يعتمد على طبيعة المجال، ويُعزّز المدخلات والتصنيفات في الوقت نفسه. البصيرة الجوهرية هنا أنّ جوار أي عيّنتين تدريبيتين يشمل — أي الخط المستقيم الذي يربط بينهما في فضاء المدخلات-التصنيفات.
وصفة mixup: امزج المدخلات وامزج التصنيفات
جمال هذه الطريقة أنها تُختصر في ثلاثة أسطر من الشيفرة الزائفة. في كل :
- اختر عيّنتين و عشوائياً من مجموعة التدريب.
- اسحب معامل مزج ، حيث هو الوحيد.
- أنشئ العيّنة الافتراضية بمزج المدخلات والتصنيفات معاً:
تخيّل الأمر هكذا: كل عيّنة تدريبية هي نقطة في فضاء عالي الأبعاد. مبدأ تدنية المخاطر التجريبية لا يُخبر النموذج إلا بما يجب أن يتوقعه عند تلك النقاط. أما mixup فيُضيف إشارة تعليمية على طول القطعة المستقيمة بين كل زوج منها. النتيجة أنّ النموذج لم يعد قادراً على التصرف بعشوائية بين نقاط التدريب — صار عليه أن ينتقل بسلاسة.
مقبض α: كيف يتحكّم توزيع بيتا في قوة المزج
المُعامل الفائق α هو الذي يرسم شكل توزيع بيتا Beta(α, α) المُستخدم لسحب λ. رقم واحد فقط يتحكم في شدّة المزج:
- α → 0: قيمة λ تكاد تكون دائماً قريبة من 0 أو 1، فتبقى العيّنات الافتراضية شبه أصلية ولا يحدث مزج حقيقي. عملياً نعود إلى مبدأ ERM.
- α = 0.2–0.4: النطاق الذهبي الذي أظهرته تجارب الورقة. λ لا تزال تميل لإحدى العيّنتين أكثر من الأخرى، لكن مع مزج كافٍ ليُحدث فرقاً. النتيجة تنظيم لطيف يرفع دقة الاختبار باتساق.
- α = 1.0: λ تصبح موزّعة بانتظام على المجال [0, 1]، فيرى النموذج تشكيلة غنية من الخلطات. يناسب بعض المهام.
- α → ∞: λ تتجمّع حول 0.5 فتصبح كل عيّنة افتراضية مزيجاً متساوياً تقريباً. هنا قد يقع النموذج في لأنّ إشارة التدريب تصير غامضة أكثر من اللازم.
لماذا ينجح: السلوك الخطي كمنتظِم
البصيرة العميقة في mixup هي أنه يفرض على النموذج افتراضاً مسبقاً عن طبيعة العالم: دالة التنبؤ يجب أن تتغيّر خطياً بين عيّنات التدريب. إن كان المدخل A صورة قطة والمدخل B صورة كلب، فمزيج 60-40 ينبغي أن يعطي «60% قطة، 40% كلب» — لا «100% طائرة».
هذا الافتراض بالخطية هو تطبيق مباشر لمبدأ : من بين كل الدوال القادرة على مطابقة بيانات التدريب، اختر الأبسط — تلك التي تنتقل بنعومة بين النقاط المعروفة. ولفهم موقع mixup بين المنتظِمات الأخرى:
- يمنع الخلايا العصبية من الاعتماد المتبادل المفرط بإلغاء تنشيط بعضها عشوائياً أثناء التدريب. أي أنه يقيّد التمثيل الداخلي للشبكة.
- يُعاقب على الأوزان الكبيرة فيدفع معاملات النموذج نحو قيم أصغر.
- mixup يقيّد العلاقة بين المدخلات والمخرجات مباشرةً: يفرض أن تكون سلسة وخطية بين نقاط التدريب. هذا شكل أقوى وأكثر تركيزاً من التنظيم.
التنفيذ: ثلاثة أسطر في PyTorch
من أبرز مزايا mixup أنّ إضافته لأي حلقة تدريب لا تتطلب أي جهد يُذكر: لا طبقات جديدة، ولا تعديل في بنية الشبكة، ولا تحويلات مصمَّمة لمجال بعينه. كل ما يحدث هو عملية مزج بسيطة قبل :
مبسَّط لإظهار الفكرة — ليس التنفيذ الحقيقي.
import torch
import numpy as np
def mixup_data(x, y, alpha=0.2):
"""أنشئ مدخلات ممزوجة وتصنيفات ممزوجة."""
if alpha > 0:
lam = np.random.beta(alpha, alpha) # اسحب λ من Beta(α, α)
else:
lam = 1.0 # α=0 ← بلا مزج (ERM صرف)
batch_size = x.size(0)
index = torch.randperm(batch_size) # خلط عشوائي للتزاوج
mixed_x = lam * x + (1 - lam) * x[index] # امزج المدخلات
mixed_y = lam * y + (1 - lam) * y[index] # امزج التصنيفات (أهداف مرنة)
return mixed_x, mixed_y
# داخل حلقة التدريب:
# mixed_x, mixed_y = mixup_data(inputs, one_hot_labels, alpha=0.2)
# output = model(mixed_x)
# loss = criterion(output, mixed_y) # دالة الإنتروبيا التقاطعية المعتادة تعملرؤية الأثر: حدود القرار
أوضح طريقة لفهم أثر mixup هي تأمّل ما يصنعه بـ. خذ مجموعة بيانات بسيطة ثنائية الأبعاد: مبدأ ERM يرسم حدوداً حادة متعرّجة تلتفّ حول كل نقطة على حدة — أي أنها تُفرط في التخصيص. أما mixup فينتج انتقالات سلسة وتدريجية بين الفئات، حيث يعكس الحدّ استيفاءً حقيقياً لا حفظاً أعمى.
هذه السلاسة ليست مجرد جماليات بصرية — بل ترتبط ارتباطاً مباشراً بتحسّن التعميم. النموذج ذو الحدود الناعمة أقل عرضة لإصدار تنبؤات خاطئة بثقة عالية حين يواجه مدخلات تقع خارج مجموعة التدريب بقليل.
النتائج: ما الذي يحسّنه mixup
تُبرهن الورقة على أربع فوائد عملية مُختبَرة على مجموعات بيانات ImageNet وCIFAR-10 وCIFAR-100 وأوامر Google الصوتية ومجموعات UCI:
-
تعميم أفضل. يُخفّض mixup خطأ Top-1 على ImageNet بمقدار 0.5–1% تقريباً عبر بنى مختلفة (ResNet وResNeXt). على CIFAR-10 التحسّن مشابه. النطاق الأمثل هو α ∈ [0.1, 0.4].
-
مقاومة التصنيفات الفاسدة. حين تُفسَد تصنيفات مجموعة التدريب عشوائياً، يتراجع أداء mixup بأناقة أكبر بكثير مقارنة بـ ERM. السبب أنّ التصنيفات المرنة الناتجة عن المزج تمنع النموذج من حفظ التصنيفات الخاطئة حرفياً.
-
. النماذج المُدرَّبة بـ mixup تُحقّق دقة أعلى بشكل واضح حين تتعرّض لهجوم FGSM — لأنّ سطح التنبؤ أكثر نعومة ويصعب استغلاله بالاضطرابات المبنية على .
-
تثبيت تدريب الشبكات التوليدية التنافسية. يُقلّل mixup من حدوث والتذبذبات أثناء تدريب GAN.
الصلة بتنعيم التصنيفات والإسقاط العشوائي
يقع mixup عند تقاطع عدة أفكار في التنظيم، وفهم هذه الروابط يُعمّق حدسك بآلية عمله:
تنعيم التصنيفات يستبدل التصنيفات الحادة أحادية الترميز مثل [1, 0, 0] بنسخ أكثر ليونة مثل [0.9, 0.05, 0.05]، وهذا يمنع النموذج من الإفراط في الثقة بتنبؤاته. mixup يُحقّق تأثيراً مشابهاً لكن بشكل عضوي — عيّنة مُمزَجة بوزن λ=0.7 تُنتج تلقائياً تصنيفاً [0.7, 0.3] وهو مرن بطبيعته. لكنّ الفرق الجوهري أنّ التصنيفات المرنة في mixup مرتبطة بالبيانات: درجة التليين تعكس المحتوى الحقيقي للمدخل الممزوج، وليست نسبة ثابتة تُوزَّع بالتساوي.
الإسقاط العشوائي ينظّم الشبكة بحقن ضوضاء في . أما mixup فينظّمها بحقن ضوضاء مُهيكلة في بيانات التدريب نفسها. كلا الأسلوبين يُقلّص الفجوة بين أداء التدريب وأداء الاختبار، لكنهما يعملان على مستويات مختلفة ويمكن دمجهما معاً للحصول على أثر أقوى.
عائلة mixup: المتحدِّرات والمتغيّرات
بساطة mixup فتحت الباب أمام موجة من التوسّعات، كلٌّ منها يعالج قيداً معيّناً أو يُكيّف الفكرة لمجال جديد:
2018
mixup (الأصلي)
تركيبة محدَّبة للمدخلات الخام وتصنيفاتها. لا يعتمد على المجال، يُكتب في ثلاثة أسطر من الشيفرة، ويُحقّق تحسينات متّسقة في الرؤية الحاسوبية والصوت والبيانات الجدولية.
2019
Manifold Mixup — المزج في فضاء السمات
يُطبّق المزج عند طبقة مخفية تُختار عشوائياً بدلاً من طبقة المدخلات. بما أنّ المزج يحدث في فضاء السمات المُتعلَّم، فالنتيجة تمثيلات أكثر نعومة وانبساطاً.
2019
CutMix — القص واللصق
بدلاً من مزج الصورة بالكامل بكسلاً ببكسل، يقتطع CutMix رقعة مستطيلة من صورة ويلصقها على أخرى. التصنيف يُوزَّع حسب نسبة مساحة الرقعة. الميزة أنه يحافظ على معلومات الملمس المحلية التي يطمسها المزج البكسلي.
2020
PuzzleMix — المزج الذكي
يختار المناطق الأنسب للمزج بالاستعانة بخرائط البروز، فيضمن أنّ الأجزاء الأغنى بالمعلومات من كلتا الصورتين تبقى محفوظة.
2021
MixStyle — مزج الأنماط
يمزج إحصائيات السمات (المتوسط والتباين) بين أنماط ومجالات مختلفة، فيُنتج تمثيلات قابلة للتعميم عبر المجالات دون الحاجة إلى مزج البكسلات الخام.
نصائح عملية
المرجعZhang, Cissé, Dauphin, Lopez-Paz. mixup: Beyond Empirical Risk Minimization. ICLR, 2018.
مصطلحات هذه الورقة
- تعزيز البياناتData Augmentation
- الاستيفاءInterpolation
- الضبط الهيكليRegularization
- تقليل المخاطر التجريبيةEmpirical Risk Minimization
- فرط التخصيصOverfitting
- العينات العدائية المضللةAdversarial Example
- التعميمGeneralization
- تنعيم التسمياتLabel Smoothing
- الإسقاط العشوائي للعصبوناتDropout
- توزيع بيتاBeta Distribution