الرؤية الحاسوبية2021متوسط11 دقيقة قراءة
تدريب محوِّلات الصور الكفوءة بيانياً والتقطير عبر الانتباه
Training Data-Efficient Image Transformers & Distillation Through Attention
Touvron, H. · Cord, M. · Douze, M. · Massa, F. · Sablayrolles, A. · Jégou, H. — ICML
المشكلة
بحلول 2020، كان قد أثبت أن بنية قائمة بالكامل على تستطيع منافسة الشبكات الالتفافية في الصور، لكنّ هذا لم يتحقّق إلا بعد تدريبه على JFT-300M — مجموعة بيانات خاصة بغوغل تضمّ 300 مليون صورة مُعنونة — مع موارد حوسبة هائلة. وحين دُرِّب على ImageNet وحدها، تراجعت دقته بشكل حاد. أصبحت المعضلة واضحة: المحوِّلات تبدو متعطشة للبيانات بطبيعتها، ومن دون مجموعات بيانات ضخمة خاصة وعناقيد GPU كبيرة، يصعب على معظم الباحثين والممارسين استخدامها.
الإسهام
أثبتت DeiT أن محوِّل الرؤية يمكن تدريبه بكفاءة تنافسية على ImageNet-1k وحدها — بجهاز واحد يضمّ ثماني وحدات GPU خلال أقل من ثلاثة أيام — وذلك بدمج تعزيز بيانات مدروس (RandAugment وMixup وCutMix) مع تقنيات تنظيم ( والتعزيز المتكرر) واستراتيجية جديدة. الابتكار الأساسي هو : قابل للتعلّم يُضاف بجانب رمز التصنيف ويتعلّم محاكاة تنبؤات المعلم من خلال الانتباه الذاتي، لا من خلال رأس خسارة مستقل. باستخدام شبكة التفافية RegNet كمعلم، حققت DeiT-B⚗ دقة 85.2% على ImageNet، متجاوزةً ViT-B المُدرَّب على JFT-300M الذي وصل إلى 84.15%.
الأثر
جعلت DeiT محوِّلات الرؤية في متناول الجميع. فقد أثبتت أن المحوِّلات لا تحتاج بالضرورة إلى مئات الملايين من الصور، وأن وصفة المناسبة تكفي. أصبح رمز التقطير نموذجاً عملياً لحقن التحيّزات الاستقرائية الالتفافية داخل المحوِّلات. وفتحت الورقة الباب مباشرة أمام موجة من متغيرات ViT الكفوءة (Swin وPVT وCaiT وDeiT-III)، وأتاحت لأي مختبر يملك عقدة GPU واحدة أن يستخدم محوِّلات الرؤية، فتحوّلت من ترفٍ تحتكره شركات التقنية الكبرى إلى أداة بحثية مشتركة.
تخيّل طالبَين يدخلان الامتحان نفسه. الأول يملك مكتبة خاصة فيها 300 مليون كتاب وفريقاً من المعلّمين. أما الثاني فليس معه إلا الكتاب المدرسي المتاح للجميع — لكنه يملك خطة دراسية ذكية جداً: بطاقات مراجعة من كل زاوية ()، وتخطٍّ عشوائي لبعض الفصول لبناء المرونة (العمق العشوائي)، وطالب متفوّق في سنة أعلى (شبكة التفافية تلعب دور المعلم) يُسرّب له تلميحات عبر مقعد خاص في كل قاعة. ذلك المقعد هو رمز التقطير — يجلس بجانب العادي، يمتص المعرفة من المعلم عبر الانتباه الذاتي، ثم يعيد تمريرها للطالب.
أثبتت DeiT أن الطالب الثاني يستطيع مجاراة الأول — بل التفوّق عليه.
المشكلة: محوِّل الرؤية متعطّش للبيانات
الفكرة الأساسية في المُحوِّل البصري الذي قدّمه دوسوفيتسكي وآخرون بسيطة: خُذ الصورة، قسِّمها إلى رُقع صغيرة بحجم 16×16 بكسل، حوِّل كل رقعة إلى ، ثم عالج هذه الرموز تسلسلياً من خلال معياري — نفس البنية المستخدمة في معالجة اللغة الطبيعية. التصميم أنيق، لكن ثمنه باهظ: المحوِّلات تفتقر إلى التي تجعل الشبكات الالتفافية كفوءة في التعلّم من بيانات محدودة.
لفهم هذا الفرق، فكّر في الشبكة الالتفافية كباحثٍ يفحص الصورة بعدسة مكبّرة صغيرة. كل يرى منطقة محدودة فقط — وهذا يفرض المحلّية. ثم يُمرَّر المرشح نفسه على كل أجزاء الصورة — وهذا يعطي . ومع تعمّق الطبقات، تنتقل الشبكة من اكتشاف الحواف إلى التعرّف على الأجسام — وهذا استخلاص هرمي للسمات. هذه الافتراضات المدمجة تعني أن الشبكة الالتفافية تستطيع تعلّم أنماط مفيدة حتى مع كمية متواضعة من البيانات.
المُحوِّل البصري لا يملك أياً من هذه الاختصارات. منذ الطبقة الأولى، كل رقعة تنتبه لكل الرُّقع الأخرى عبر الانتباه الذاتي — لا يوجد مفهوم «قريب» أو «بعيد» مبنيّ في البنية. النموذج مضطر لتعلّم البنية المكانية بالكامل من الصفر. لهذا السبب احتاج ViT إلى مجموعة JFT-300M الخاصة (300 مليون صورة) ليُجاري أداء الشبكات الالتفافية، وحين دُرِّب على ImageNet-1k وحدها (1.28 مليون صورة) تراجعت دقته بشكل حاد.
الحل — الجزء الأول: وصفة التدريب
من أهم ما تكشفه DeiT أنها لم تُغيّر حرفاً واحداً في بنية ViT. نموذج DeiT-B مطابق تماماً لـ ViT-B: 12 طبقة، 768 بُعداً لـالتضمين، 12 رأس ، و86 مليون . السر كله في طريقة التدريب.
ما اكتشفه المؤلفون هو أن المحوِّلات — لأنها تفتقر إلى التحيّزات الاستقرائية الموجودة في الشبكات الالتفافية — حساسة جداً لتفاصيل إجراءات التدريب. ومن خلال منهجية، جمعوا وصفة تدمج عدة تقنيات من تعزيز البيانات و — كل تقنية تعوّض جزئياً عن التحيّزات المفقودة.
من أخطر ما كشفته الدراسة الاستئصالية: حذف العمق العشوائي أو التعزيز المتكرر أدّى إلى انهيار النموذج تماماً — هبطت الدقة إلى نحو 4%. هاتان التقنيتان ليستا تحسينات اختيارية، بل شرطان أساسيان لتدريب المحوِّلات على بيانات محدودة. العمق العشوائي يعمل كأنه تجميع ضمني لعدة نماذج في نموذج واحد، والتعزيز المتكرر يضمن أن كل صورة تُرى بتنويعات كافية خلال الحقبة الواحدة حتى يتعلّم النموذج سمات متينة رغم صغر مجموعة البيانات.
الحل — الجزء الثاني: التقطير عبر الانتباه
إلى جانب وصفة التدريب، تقدّم DeiT آلية جديدة كلياً لنقل المعرفة إلى المحوِّل. في التقليدي، يتعلّم محاكاة توزيع مخرجات المعلم عن طريق تصغير بين مخرجات لكليهما. هذا الأسلوب يعمل، لكنه يتعامل مع الطالب كصندوق أسود — إشارة التقطير تبقى خارجية ولا تتفاعل مع التمثيلات الداخلية للنموذج.
الفكرة الذكية في DeiT هي أن المحوِّلات تتميّز بشيء لا تملكه الشبكات الالتفافية: آلية الانتباه الذاتي التي تسمح بدمج إشارة التقطير داخل المعالجة الداخلية للنموذج بشكل طبيعي. الحل بسيط: يُضاف واحد جديد قابل للتعلّم — رمز التقطير — يجلس بجانب رمز التصنيف ورموز الرُّقع. وبفضل الانتباه الذاتي، يتفاعل هذا الرمز مع كل الرموز الأخرى في كل طبقة.
لنتتبّع مسار البيانات خطوة بخطوة. تبدأ العملية بصورة بأبعاد 224×224 بكسل تُقسم إلى 196 رقعة، كل واحدة 16×16 بكسل. كل رقعة تُسقَط خطياً في تضمين بأبعاد 768. ثم يُضاف رمزان خاصان في بداية التسلسل: رمز التصنيف (مهمته التنبؤ بالمُعنونة الحقيقية) ورمز التقطير (مهمته محاكاة تنبؤ المعلم). بهذا يصبح لدينا 198 رمزاً (196 رقعة + رمزان خاصان) تمر جميعها عبر 12 طبقة من المحوِّل. في النهاية، يُمرَّر تضمين رمز التصنيف إلى رأس يُدرَّب على المُعنونة الحقيقية، ويُمرَّر تضمين رمز التقطير إلى رأس منفصل يُدرَّب على مُعنونة المعلم.
التقطير الصلب مقابل التقطير الناعم
تقارن الورقة بين أسلوبين لنقل معرفة المعلم:
التقطير الناعم يعمل على تصغير تباعد KL بين توزيعات السوفتماكس للطالب والمعلم عند درجة حرارة τ. دالة الخسارة الإجمالية هي مزيج موزون: جزء من المعيارية مع المُعنونات الحقيقية، وجزء من تباعد KL مع المخرج الناعم للمعلم.
التقطير الصلب أبسط بكثير: يؤخذ تنبؤ المعلم النهائي (argmax) ويُعامَل كمُعنونة حقيقية ثانية. تصبح الخسارة ببساطة متوسط الانتروبيا التقاطعية مع المُعنونة الحقيقية والانتروبيا التقاطعية مع مُعنونة المعلم.
لماذا المعلم الالتفافي يتفوّق على المعلم المحوِّلي
هنا تظهر نتيجة لافتة: حين يكون المعلم شبكة التفافية (RegNet)، يخرج الطالب أفضل مما لو كان المعلم محوِّلاً بنفس الدقة. DeiT-B المُقطَّرة من RegNetY-16GF (دقة المعلم 82.9%) وصلت إلى 83.4% — أي أنها تجاوزت معلمها نفسه، وتفوّقت بوضوح على ما يستطيع معلم محوِّلي بدقة مماثلة تحقيقه.
السبب أن التقطير لا ينقل مُعنونات فحسب، بل ينقل أيضاً التحيّزات الاستقرائية للمعلم. تنبؤات الشبكة الالتفافية تحمل في طياتها معرفة بالمحلّية وثبات الإزاحة — وهي بالضبط الخصائص التي يفتقر إليها المحوِّل. عبر رمز التقطير، تتسرّب هذه التحيّزات إلى الطالب من خلال الانتباه الذاتي، فيحصل المحوِّل على «حدس التفافي» من دون أن يحتوي طبقة التفافية واحدة.
الدليل واضح في تحليل التباين بين الرمزين: تنبؤات رمز التقطير أكثر ارتباطاً بالمعلم الالتفافي، بينما تنبؤات رمز التصنيف تظل أقرب إلى محوِّل دُرِّب بدون تقطير. الرمزان يتعلّمان منظورين متكاملين — والجمع بينهما بدمج متأخر يعطي أفضل النتائج.
تحليل الرموز: التصنيف مقابل التقطير
عند تتبّع سلوك الرمزين خلال الطبقات تظهر خاصية مثيرة. رمز التصنيف ورمز التقطير يبدآن مختلفين تماماً (تشابه جيب التمام ≈ 0.06 عند التهيئة)، ثم يتقاربان تدريجياً طبقة بعد طبقة حتى يصلا إلى تشابه 0.93 في الطبقة الأخيرة — مرتفع، لكنه ليس تطابقاً كاملاً. كل رمز يلتقط جزءاً مختلفاً من المعلومات: رمز التصنيف يركّز على المُعنونة الحقيقية، ورمز التقطير يركّز على منظور المعلم.
للتأكد من أن هذا التكامل حقيقي وليس مصادفة، أجرى المؤلفون تجربة بسيطة: استبدلوا رمز التقطير برمز تصنيف ثانٍ يُدرَّب على المُعنونة الحقيقية نفسها. النتيجة: الرمزان تقاربا إلى تمثيلات متطابقة (تشابه جيب التمام 0.999) ولم يقدّما أي تحسين يُذكر. إذن التكامل لا ينشأ من وجود رمزين، بل من اختلاف أهداف التدريب بينهما.
عند الاختبار، يُحسب التنبؤ النهائي بـجمع مخرجات السوفتماكس من رأسَي التصنيف لكلا الرمزين — دمج متأخر بسيط يستفيد من أفضل ما في المنظورين.
عائلة نماذج DeiT
تأتي DeiT بثلاثة أحجام، جميعها مبنية من 12 طبقة مع بُعد 64 لكل رأس انتباه:
DeiT-Ti (صغيرة جداً): 192 بُعداً لـالتضمين، 3 رؤوس، 5 ملايين معامل، 2536 صورة/ثانية — تقابل ResNet-18. DeiT-S (صغيرة): 384 بُعداً للتضمين، 6 رؤوس، 22 مليون معامل، 940 صورة/ثانية — تقابل ResNet-50. DeiT-B (أساسية): 768 بُعداً للتضمين، 12 رأساً، 86 مليون معامل، 292 صورة/ثانية — مطابقة لـ ViT-B.
مع التقطير (يُرمز لها بـ ⚗)، تصل DeiT-B⚗ عند دقة عرض 384 إلى 85.2% دقة top-1 بعد 1000 حقبة تدريب، متجاوزةً ViT-B المُدرَّب على JFT-300M الذي حقق 84.15%، رغم أنها استخدمت صوراً أقل بـ 234 مرة.
نتائج نقل التعلُّم
نماذج DeiT تُظهر قدرة تنافسية قوية عند نقلها إلى مهام مختلفة. عند على CIFAR-10، تصل DeiT-B⚗ إلى دقة 99.1% — مماثلة لـ EfficientNet-B7 التي حققت 98.9%. وعلى معايير التصنيف الدقيق مثل Stanford Cars (بدقة 92.9%) وOxford Flowers (بدقة 98.8%)، تُجاري DeiT أفضل النتائج الالتفافية أو تتفوّق عليها.
يستخدم المؤلفون أيضاً تقنية ذكية لتغيير دقة العرض: تُدرَّب النماذج مبدئياً عند 224×224 بكسل، ثم تُضبط عند 384×384 عبر استكمال باستكمال تكعيبي. الاستكمال التكعيبي يحافظ على مقياس ℓ₂ للتضمينات (بخلاف الاستكمال الخطي الذي يُقلّصها)، مما يتجنّب انخفاضاً حاداً في الدقة قبل بدء الضبط الدقيق. رفع الدقة يزيد عدد الرُّقع من 196 إلى 576، فيحصل النموذج على رؤية أكثر تفصيلاً لكل صورة.
DeiT بالشيفرة
مبسَّط لإظهار الفكرة — ليس التنفيذ الحقيقي.
import torch
import torch.nn as nn
class DeiT(nn.Module):
"""محوِّل رؤية مع رمز تقطير."""
def __init__(self, img_size=224, patch_size=16, embed_dim=768,
depth=12, num_heads=12, num_classes=1000):
super().__init__()
num_patches = (img_size // patch_size) ** 2 # 196
# تضمين الرُّقع: إسقاط 16×16×3 → 768
self.patch_embed = nn.Conv2d(3, embed_dim,
kernel_size=patch_size, stride=patch_size)
# رمزان خاصان
self.cls_token = nn.Parameter(torch.zeros(1, 1, embed_dim))
self.dist_token = nn.Parameter(torch.zeros(1, 1, embed_dim))
# تضمينات موضعية لـ 196 رقعة + رمزين
self.pos_embed = nn.Parameter(
torch.zeros(1, num_patches + 2, embed_dim))
# كتل المحوِّل
self.blocks = nn.ModuleList([
TransformerBlock(embed_dim, num_heads) for _ in range(depth)
])
self.norm = nn.LayerNorm(embed_dim)
# رأسا تصنيف
self.head = nn.Linear(embed_dim, num_classes) # المُعنونة الحقيقية
self.head_dist = nn.Linear(embed_dim, num_classes) # مُعنونة المعلم
def forward(self, x):
B = x.shape[0]
# تقسيم الرُّقع: (B,3,224,224) → (B,196,768)
x = self.patch_embed(x).flatten(2).transpose(1, 2)
# إلحاق رمزي التصنيف والتقطير → (B,198,768)
cls = self.cls_token.expand(B, -1, -1)
dist = self.dist_token.expand(B, -1, -1)
x = torch.cat([cls, dist, x], dim=1)
x = x + self.pos_embed
# المرور عبر طبقات المحوِّل
for block in self.blocks:
x = block(x)
x = self.norm(x)
# فصل المخرجات
cls_out = self.head(x[:, 0]) # رمز التصنيف
dist_out = self.head_dist(x[:, 1]) # رمز التقطير
# الدمج المتأخر عند الاختبار
return (cls_out + dist_out) / 2ما فتحته DeiT من آفاق
2020
ViT: محوِّل الرؤية
أثبت دوسوفيتسكي وآخرون أن المحوِّلات تستطيع تصنيف الصور، لكنها احتاجت JFT-300M (300 مليون صورة خاصة) وحوسبة ضخمة لمجاراة أداء الشبكات الالتفافية.
2021
DeiT: تدريب كفوء بيانياً + رمز تقطير
تدريب ViT بكفاءة تنافسية على ImageNet-1k وحدها بتوظيف تعزيز البيانات والتنظيم ورمز تقطير مبتكر. دقة 85.2% بعدد صور أقل بـ 234 مرة مقارنة بـ ViT.
2021
Swin Transformer: بنية هرمية + نوافذ متزحلقة
يقدّم خرائط سمات هرمية وانتباهاً ذاتياً بنوافذ متزحلقة، يجمع بين تعدد المقاييس الالتفافي وقوة المحوِّل. أصبح العمود الفقري السائد في الرؤية الحاسوبية.
2021
CaiT: محوِّلات رؤية أعمق
بنى توفرون وآخرون على DeiT بإضافة طبقات انتباه التصنيف، مما أتاح بناء محوِّلات رؤية أعمق مع استقرار أفضل في التدريب.
2022
DeiT-III: عودة ViT
استراتيجيات تدريب أكثر تطوّراً دفعت ViT الأصلي إلى مستويات جديدة دون أي تعديل معماري — تأكيد عملي لأطروحة DeiT الجوهرية: وصفة التدريب أهم من البنية نفسها.
الإسهام الأعمق لـ DeiT ليس تقنياً بقدر ما هو تحوّل في طريقة التفكير. قبل DeiT، كان الافتراض السائد أن محوِّلات الرؤية تحتاج ابتكارات معمارية (انتباه محلي، مراحل هرمية، دمج مع طبقات التفافية) حتى تعمل على بيانات محدودة. لكن DeiT أثبتت أن بنية ViT الأصلية كافية — كان في إجراءات التدريب، لا في النموذج نفسه. هذه الرؤية حرّرت جيلاً كاملاً من الباحثين: بدلاً من إعادة تصميم المحوِّل، أصبح بإمكانهم التركيز على كيفية تدريبه.
المرجعTouvron, Cord, Douze, Massa, Sablayrolles, Jégou. Training Data-Efficient Image Transformers & Distillation Through Attention. ICML, 2021.
مصطلحات هذه الورقة
- تقطير المعرفةKnowledge Distillation
- محوِّل الرؤية (ViT)Vision Transformer (ViT)
- تعزيز البياناتData Augmentation
- التقطيرDistillation
- تضمين الرُّقعPatch Embedding
- الانتباه الذاتيSelf-Attention
- نموذج المعلمTeacher Model
- نموذج الطالبStudent Model
- الانحياز الاستقرائي المسبقInductive Bias
- تنعيم التسمياتLabel Smoothing
- العمق العشوائيStochastic Depth
- الضبط الدقيقFine-Tuning
- نقل التعلمTransfer Learning
- معدل التدفق والإنتاجيةThroughput
- تصنيف وفهرسة الصورImage Classification