الرؤية الحاسوبية2022متوسط13 دقيقة قراءة

شبكة التفافية لعصر العشرينيات

A ConvNet for the 2020s

Liu, Z. · Mao, H. · Wu, C.-Y. · Feichtenhofer, C. · Darrell, T. · Xie, S. — CVPR

المشكلة

بحلول عام 2021، كانت محوِّلات الرؤية قد تجاوزت الشبكات الالتفافية لتصبح الخيار الأول في تمييز الصور. جاء Swin Transformer ببنية هرمية وانتباه نافذي، فتصدّر معايير التصنيف والكشف والتجزئة الدلالية. وبدت القصة محسومة: الالتفاف صار من الماضي، والانتباه هو المستقبل. لكن السؤال الحقيقي كان: هل هذا التفوّق يعود فعلاً إلى نفسها، أم أن الشبكات الالتفافية ببساطة لم تحظَ بعد بوصفات الحديثة وقرارات التصميم التي منحت المحوِّلات تفوّقها؟

الإسهام

ConvNeXt: عائلة من النماذج الالتفافية الصرفة، بُنيت بتحديث شبكة ResNet-50 خطوةً بخطوة في اتجاه تصميم Swin Transformer. عبر سلسلة من التعديلات المدروسة — وصفة تدريب حديثة، وإعادة توزيع الحوسبة على المراحل، وتقطيع الصورة مباشرةً بدل الجذع التقليدي، ، وعنق زجاجة مقلوب، ونوى كبيرة 7×7، وتسوية الطبقة، وتفعيل GELU، وتقليل طبقات التفعيل والتسوية — يُبيّن المؤلفون أن كل تعديل يُقلّص الفجوة مع المحوِّلات. النموذج النهائي ConvNeXt-T يحقق دقة 82.1% على متجاوزاً Swin-T ذا الـ 81.3% بعمليات حسابية مماثلة. والنسخ الأكبر تصل إلى 87.8% وتتفوّق على Swin في كشف الأجسام على COCO والتجزئة الدلالية على ADE20K مع سرعة أعلى.

الأثر

أثبت ConvNeXt أن الفجوة المُتصوَّرة بين الشبكات الالتفافية والمحوِّلات كانت في معظمها فجوة في أساليب التدريب وقرارات التصميم، لا في طبيعة الآلية الحسابية نفسها. أعاد هذا العمل الثقة بالبنى الالتفافية، وسرعان ما تبنّت نماذج كثيرة ConvNeXt عموداً فقرياً في مهام الرؤية المختلفة. تأثّر به ConvNeXt V2، واختارته نماذج مثل Depth Anything مرمِّزاً لكفاءته وبساطة نشره. أما منهجية الورقة — تعديل بنية خطوةً بخطوة نحو بنية أخرى مع قياس أثر كل تغيير — فقد صارت نموذجاً يُحتذى في أبحاث استكشاف فضاء التصميم.

تخيّل مبنى تراثياً وسط مدينة حديثة. المطوِّرون يريدون هدمه وبناء برج زجاجي مكانه (). لكن مهندساً معمارياً يطرح فكرة مختلفة: ماذا لو أبقينا الهيكل الأصلي وجدّدنا غرفة غرفة؟ أسلاك كهربائية جديدة، عزل حراري حديث، نوافذ أوسع — والمساحة نفسها.

هذا بالضبط ما يفعله ConvNeXt. «المبنى» هو ResNet. و«التجديد» سلسلة من التحديثات المدروسة المُستلهَمة من تصميم المُحوِّل. في النهاية، يُضاهي المبنى التراثي أداء البرج الزجاجي — مما يُثبت أن الأساسات لم تكن يوماً هي المشكلة.

نقطة البداية: لماذا تراجعت الشبكات الالتفافية؟

بحلول عام 2020، كانت شبكات ResNet تهيمن على الرؤية الحاسوبية منذ خمس سنوات. بنية بسيطة مفهومة ومنتشرة في كل مكان — من التصوير الطبي إلى القيادة الذاتية. ثم ظهرت التي تُقسّم الصورة إلى وتُعالجها بآلية . وفجأة، صار المُحوِّل — المُصمَّم أصلاً للنصوص — يتفوّق على الشبكات الالتفافية في معايير الصور.

زاد Swin Transformer الوضع صعوبة: أضاف مراحل هرمية و، فحاكى التصميم متعدد المقاييس الذي تمتلكه الشبكات الالتفافية بطبيعتها، ثم تفوّق عليها في و أيضاً.

لكن المقارنة لم تكن عادلة. Swin Transformer استخدم تقنيات تدريب حديثة — 300 تدريبية، و، و مكثّف، و للتنظيم — بينما كانت شبكات ResNet لا تزال تُدرَّب بوصفة SGD القديمة ذات الـ 90 حقبة. فهل كان المُحوِّل يتفوّق بفضل آلية الانتباه، أم بفضل وصفة التدريب؟

من هنا طرح مؤلفو ConvNeXt سؤالاً جوهرياً: ماذا لو منحنا الشبكة الالتفافية القديمة كل ميزة يمتلكها المُحوِّل، تعديلاً تلو تعديل، وقسنا أثر كل خطوة على حدة؟

خارطة التحديث: من ResNet إلى ConvNeXt

ما يُميّز هذه الورقة هو المنهجية لا الفكرة: بدلاً من اقتراح بنية جديدة كلياً، تبدأ من شبكة ResNet-50 وتُطبّق تغييراً واحداً في كل مرة مع قياس بعد كل خطوة. هذا الأسلوب يكشف بالضبط أيّ قرارات التصميم تُحدث فرقاً حقيقياً. خارطة الطريق تمرّ بمرحلتين: أولاً تحديث وصفة التدريب دون المساس بالبنية، ثم تعديل البنية المعمارية خطوة بخطوة.

افتح في المختبر
تابع التحديث التدريجي من ResNet-50 إلى ConvNeXt-T — انقر على كل خطوة لترى ماذا تغيّر ولماذا.
تستيقظ التجربة عند وصولك…

الخطوة صفر: وصفة التدريب الحديثة

قبل أي تعديل معماري، بدأ المؤلفون بتحديث وصفة التدريب لشبكة ResNet-50 لتُطابق ما تستخدمه محوِّلات الرؤية. يشمل ذلك تمديد التدريب من 90 إلى 300 حقبة، والتحوّل من إلى AdamW، واستخدام تقنيات تعزيز البيانات مثل Mixup وCutmix وRandAugment، وإضافة عبر التسرّب العشوائي العميق و.

النتيجة: قفزت دقة ResNet-50 من 76.1% إلى 78.8% على ImageNet — أي تحسّن بمقدار 2.7% دون لمس البنية المعمارية إطلاقاً. هذه الخطوة وحدها تكشف كم من الأداء كان ضائعاً لمجرّد أن الشبكات الالتفافية كانت تُدرَّب بوصفات قديمة. والفجوة مع Swin-T (الذي يحقق 81.3%) تقلّصت من 5.2% إلى 2.5% فقط.

التصميم الكلّي: نِسَب المراحل والجذع المُقطَّع

أول التعديلات المعمارية تتعلّق بالصورة الكبرى — كيف تتوزّع الحوسبة على مراحل الشبكة.

. شبكة ResNet-50 فيها أربع مراحل بعدد كتل (3، 4، 6، 3) — أي نسبة تقريبية 1:1:2:1. أما Swin-T فيستخدم (1، 1، 3، 1). حين نُعدّل نسبة مراحل ResNet إلى (3، 3، 9، 3) — بما يتّسق مع نمط Swin — ترتفع الدقة من 78.8% إلى 79.4%. الفكرة ببساطة أن المرحلة الثالثة تعمل عند دقة مكانية متوسطة، وهي المقياس الذي تكون فيه تفاصيل الأجسام أوضح ما يمكن، فمن المنطقي أن تأخذ الحصة الأكبر من الحوسبة. تخيّل الأمر كأنك تمنح الشبكة وقتاً أطول للتأمّل في المعلومات الأكثر فائدة.

الجذع المُقطَّع (). جذع ResNet عبارة عن 7×7 بـ 2 يليه — أي تصغير تدريجي. محوِّلات الرؤية تتّبع أسلوباً مختلفاً: تقطيع مباشر غير متراكب بالتفاف 4×4 وخطوة 4 يُقسّم الصورة إلى شبكة رُقَع دفعة واحدة. تبنّي هذا الأسلوب يرفع الدقة قليلاً إلى 79.5% ويجعل المعالجة الأولية للشبكة متوافقة مع طريقة المُحوِّلات في رؤية الصورة.

افتح في المختبر
قارن توزيع الكتل على المراحل في ResNet وConvNeXt وSwin Transformer.
تستيقظ التجربة عند وصولك…

مرحلة ResNeXt: الالتفاف بالعمق المنفصل

الالتفاف القياسي يدمج نوعين من المعلومات في عملية واحدة: المعلومات المكانية (أين تقع الأنماط) ومعلومات (ما هي تلك الأنماط). هذا فعّال لكنه مُكلف حسابياً. يُفكّك هذا الدمج إلى عمليتين أخف: التفاف بالعمق يُعالج كل قناة على حدة (خلط مكاني)، يليه يخلط المعلومات عبر القنوات (خلط قَنَوي).

هذا الفصل يُحاكي ما يحدث داخل المُحوِّل: طبقة الانتباه الذاتي تخلط المعلومات عبر المواقع المكانية (كالالتفاف بالعمق)، بينما تخلط عبر القنوات (كالتفاف 1×1). بتبنّي الالتفاف بالعمق وتوسيع القنوات من 64 إلى 96، يصل ConvNeXt إلى دقة 80.5%.

افتح في المختبر
قارن الالتفاف القياسي (خلط مكاني وقنوي معاً) مع الالتفاف بالعمق المنفصل (مكاني أولاً ثم قنوي).
تستيقظ التجربة عند وصولك…

عنق الزجاجة المقلوب: توسيع ثم ضغط

في كتلة التقليدية لشبكة ResNet، تسير القنوات بترتيب واسع ← ضيّق ← واسع: المدخل بـ 256 قناة يُضغط إلى 64 ثم يعود إلى 256. الفكرة توفير الحوسبة بتنفيذ الالتفاف 3×3 الثقيل في المنتصف الضيّق.

المُحوِّلات تفعل العكس تماماً. في كتلة الشبكة الأمامية MLP، البُعد المخفي أوسع 4 مرات من المدخل: المدخل ببُعد d يتوسّع إلى 4d ثم يُضغط إلى d. المنطق أن الطبقة المخفية الأعرض تمنح الشبكة مساحة أكبر لتعلّم تحويلات معقدة قبل ضغط النتيجة.

يتبنّى ConvNeXt هذا النمط المقلوب: المدخل بـ 96 قناة يتوسّع إلى 384 (أي 4 أضعاف) عبر التفاف 1×1 ثم يُضغط إلى 96. الدقة ترتفع قليلاً إلى 80.6%. لكن الأهم أن نقل طبقة الالتفاف بالعمق لتعمل على المدخل الضيّق (قبل التوسيع) يُقلّل مع الحفاظ على القدرة التمثيلية.

افتح في المختبر
قارن كتلة عنق الزجاجة في ResNet مع كتلة عنق الزجاجة المقلوب في ConvNeXt.
تستيقظ التجربة عند وصولك…

النوى الكبيرة: رؤية الصورة الأوسع

جزء كبير من قوة محوِّلات الرؤية يأتي من الانتباه الذاتي الذي يمنح كل رمز رؤية شاملة للصورة. Swin Transformer يستخدم نافذة بحجم 7×7 على الأقل كأدنى نطاق انتباه لكل كتلة. في المقابل، شبكات ResNet تستخدم بحجم 3×3 — أي رؤية أضيق بكثير للجوار المحلي.

لسدّ هذه الفجوة، يُكبّر ConvNeXt نواة الالتفاف بالعمق من 3×3 إلى 7×7. هذا يمنح كل موقع مكاني أوسع في طبقة واحدة — بروح مشابهة لـنافذة الانتباه. القرار التصميمي المحوري هنا هو وضع هذا الالتفاف الكبير في بداية الكتلة (قبل توسيع القنوات)، بحيث تُنفَّذ العملية المُكلفة على عدد أقل من القنوات.

الدقة تبقى عند 80.6% رغم تكبير النواة — لكن العمليات الحسابية تنخفض لأن الالتفاف بالعمق صار يعمل على قنوات أقل. الفائدة الحقيقية لهذا التغيير تظهر لاحقاً حين تتكامل كل التعديلات معاً.

التصميم الدقيق: التفعيل والتسوية ومبدأ «الأقل هو الأكثر»

التعديلات الأخيرة صغيرة في حجمها لكنها فعّالة حين تتضافر. تطال اللبنات الأساسية داخل كل .

بدل . المُحوِّلات تستخدم GELU كـ بدلاً من ReLU. الفرق أن GELU أكثر نعومة — لا تقطع القيم السالبة بشكل حاد إلى صفر، بل تُطبّق بوابة تدريجية تعتمد على مقدار المدخل. يتبنّى ConvNeXt هذا التفعيل، والأهم أنه يستخدم دالة تفعيل واحدة فقط في الكتلة بأكملها (بين طبقتي التفاف 1×1)، تماماً كما في الشبكة الأمامية MLP في المُحوِّل.

بدل . تسوية الدفعة تحسب إحصاءاتها على مستوى الدفعة بأكملها، مما يربط العيّنات ببعضها ويُسبّب مشاكل حين تكون صغيرة. تسوية الطبقة تحسب إحصاءات كل عيّنة بمفردها، فلا تتأثّر بحجم الدفعة. المُحوِّلات تعتمد تسوية الطبقة في كل مكان، وConvNeXt يفعل الشيء نفسه: يستبدل كل طبقات تسوية الدفعة بطبقة تسوية طبقة واحدة قبل الالتفاف بالعمق.

عدد أقل من طبقات التسوية والتفعيل. كتل ResNet تُكدّس ثلاثيات متعاقبة: التفاف ثم تسوية دفعة ثم ReLU. ConvNeXt يُبسّط ذلك إلى واحدة وتفعيل واحد لكل كتلة. فلسفة «الأقل هو الأكثر» هذه تتّبع نمط المُحوِّل وتُحسّن الدقة فعلياً.

طبقات مستقلة. بدلاً من استخدام داخل الكتل التجاوزية للتصغير بين المراحل (كما في ResNet)، يُدخل ConvNeXt طبقات تصغير مخصّصة بالتفاف 2×2 وخطوة 2 بين المراحل، بأسلوب مشابه لـ في Swin Transformer.

هذه التعديلات الدقيقة مجتمعةً ترفع الدقة من 80.6% إلى 82.0%، لتتجاوز Swin-T الذي يحقق 81.3%.

كتلة ConvNeXt: تجميع كل القطع

كتلة ConvNeXt النهائية أنيقة في بساطتها:

  1. التفاف بالعمق 7×7 — خلط مكاني بـحقل استقبال واسع، يعمل على قنوات المدخل الضيّقة.
  2. تسوية الطبقة — خطوة تسوية واحدة.
  3. التفاف 1×1 (توسيع) — توسيع القنوات إلى 4 أضعاف.
  4. GELU — دالة التفعيل الوحيدة في الكتلة.
  5. التفاف 1×1 (ضغط) — ضغط القنوات إلى العرض الأصلي.
  6. — يُضاف المدخل إلى المخرج عبر ، مع مُعامل قياس طبقي قابل للتعلّم.

التشابه مع كتلة المُحوِّل لافت: الالتفاف بالعمق يؤدّي دور الانتباه الذاتي (خلط مكاني)، والتفافا 1×1 مع GELU يؤدّيان دور الشبكة الأمامية MLP (خلط قنوي)، ووصلة التخطّي توفّر المسار التجاوزي.

كتلة ConvNeXt بلغة PyTorchpython

مبسَّط لإظهار الفكرة — ليس التنفيذ الحقيقي.

import torch import torch.nn as nn
class ConvNeXtBlock(nn.Module):
    """كتلة ConvNeXt واحدة."""
    def __init__(self, dim, layer_scale_init=1e-6):
        super().__init__()
        # 1. التفاف بالعمق (خلط مكاني)
        self.dwconv = nn.Conv2d(dim, dim, kernel_size=7,
                                padding=3, groups=dim)
        # 2. تسوية الطبقة (ترتيب القنوات أخيراً)
        self.norm = nn.LayerNorm(dim)
        # 3. توسيع القنوات 4 أضعاف
        self.pwconv1 = nn.Linear(dim, 4 * dim)
        # 4. تفعيل GELU
        self.act = nn.GELU()
        # 5. ضغط القنوات للعرض الأصلي
        self.pwconv2 = nn.Linear(4 * dim, dim)
        # 6. مُعامل القياس الطبقي (قابل للتعلّم)
        self.gamma = nn.Parameter(
            layer_scale_init * torch.ones(dim))

    def forward(self, x):
        shortcut = x                      # وصلة تخطّي
        x = self.dwconv(x)                # التفاف بالعمق 7×7
        x = x.permute(0, 2, 3, 1)         # NCHW → NHWC
        x = self.norm(x)                  # تسوية الطبقة
        x = self.pwconv1(x)               # توسيع 4×
        x = self.act(x)                   # GELU
        x = self.pwconv2(x)               # ضغط
        x = self.gamma * x                # قياس طبقي
        x = x.permute(0, 3, 1, 2)         # NHWC → NCHW
        return shortcut + x               # جمع تجاوزي

التوسيع: من النسخة الصغيرة إلى الكبيرة

يُقدّم ConvNeXt أربعة أحجام تُقابل نسخ Swin Transformer:

ConvNeXt-T (صغير): 29 مليون معامل، 4.5 مليار عملية حسابية → دقة 82.1% على ImageNet (مقابل 81.3% لـ Swin-T). ConvNeXt-S (متوسط): 50 مليون معامل، 8.7 مليار عملية → 83.1% (مقابل 83.0% لـ Swin-S). ConvNeXt-B (قاعدي): 89 مليون معامل، 15.4 مليار عملية → 83.8% (مقابل 83.5% لـ Swin-B). ConvNeXt-L (كبير): 198 مليون معامل، 34.4 مليار عملية → 84.3%.

مع على ImageNet-22K و بدقة 384×384، يصل ConvNeXt-B إلى 85.1% (مقابل 84.5% لـ Swin-B) مع استدلال أعلى بنسبة 12.5%. ويصل ConvNeXt-L إلى 85.5% وConvNeXt-XL إلى 87.8%.

في المهام اللاحقة، يتفوّق ConvNeXt على Swin كـ لنموذج Cascade Mask R-CNN في كشف الأجسام على COCO (بدقة 52.7 مقابل 51.9 box AP للنموذج القاعدي) ولنموذج UPerNet في التجزئة الدلالية على ADE20K (بنتيجة 52.6 مقابل 51.5 mIoU للنموذج القاعدي).

الخلاصة: ConvNeXt يحقّق كل هذا بـالتفاف صرف — بلا آلية انتباه، ولا نوافذ منزاحة، ولا انحياز موقعي نسبي. مجرد لبنات التفافية قياسية رُتِّبت بعناية.

افتح في المختبر
قارن دقة ConvNeXt وSwin Transformer عبر أحجام النموذج المختلفة.
تستيقظ التجربة عند وصولك…

الأثر: ماذا غيّر ConvNeXt

إسهام ConvNeXt يتجاوز أرقام الدقة. قدّم منهجية صارمة لمقارنة البنى المعمارية: ثبّت كل المتغيّرات ما عدا الذي تختبره. بتحديث ResNet خطوة خطوة وقياس أثر كل تغيير على حدة، فصلت الورقة إسهامات وصفة التدريب عن التصميم الكلّي عن التصميم الدقيق — وهذا نادراً ما يحدث في الأبحاث التي تكتفي باقتراح بنية جديدة.

كذلك أعاد ConvNeXt الاهتمام بـالشبكات الالتفافية للنشر العملي. فهي أبسط في التنفيذ وأسرع في الترجمة على العتاد (خصوصاً الأجهزة الطرفية) وأفضل دعماً في الأطر البرمجية القائمة. نماذج مثل Depth Anything اختارت ConvNeXt عموداً فقرياً لمرمِّزها تحديداً لهذه الأسباب العملية.

ولعل الأهم أن ConvNeXt غيّر طبيعة النقاش. لم يعد السؤال «التفاف أم انتباه؟» بل صار «أيّ مبادئ التصميم تُحدث فرقاً حقيقياً بصرف النظر عن العملية الحسابية؟» الالتفاف بالعمق المنفصل، و، وتقليل التفعيلات، وتسوية الطبقة — كلها أفكار تتجاوز الحدّ الفاصل بين الالتفاف والانتباه.

الخط الزمني: من ResNet إلى ConvNeXt وما بعده

  1. 2015

    ResNet — وصلات التخطّي تُطلق العمق

    قدّم He وآخرون الوصلات التجاوزية التي تسمح للتدرُّجات بالانسياب عبر مسارات مباشرة، مما جعل تدريب شبكات بأكثر من 150 طبقة أمراً ممكناً. صارت الكتلة التجاوزية (التفاف ثم تسوية دفعة ثم ReLU مع وصلة تخطّي) هي اللبنة المعيارية للشبكات الالتفافية.

  2. 2017

    SE-Net — انتباه القنوات للشبكات الالتفافية

    قدّمت شبكات الضغط والإثارة آلية انتباه على مستوى القنوات: تضغط المعلومات المكانية إلى واصف مُوجَز ثم تُعيد ترجيح القنوات بناءً عليه. أثبت هذا أن الشبكات الالتفافية قادرة على الاستفادة من آليات شبيهة بالانتباه.

  3. 2020

    محوِّل الرؤية (ViT) — الانتباه يحلّ محل الالتفاف

    طبّق Dosovitskiy وآخرون محوِّلاً صرفاً على رُقَع الصور، وحققوا نتائج قوية بالتدريب المسبق واسع النطاق. فتح هذا العمل سؤالاً جوهرياً: هل الالتفاف لا يزال ضرورياً أصلاً؟

  4. 2021

    Swin Transformer — الانتباه الهرمي يهيمن

    قدّم Liu وآخرون انتباهاً بنوافذ منزاحة ضمن مراحل هرمية، فحاكوا التصميم متعدد المقاييس الذي تتميّز به الشبكات الالتفافية. تصدّر Swin معايير التصنيف والكشف والتجزئة وصار العمود الفقري المعياري بحكم الواقع.

  5. 2022

    ConvNeXt — الشبكة الالتفافية الصرفة تردّ الصاع

    حدّث Liu وآخرون شبكة ResNet منهجياً لتقترب من تصميم Swin، وأثبتوا أن فجوة الأداء كانت ناتجة عن وصفة التدريب وقرارات التصميم لا عن آلية الانتباه نفسها. تفوّق ConvNeXt-T على Swin-T بالتفاف صرف.

  6. 2023

    ConvNeXt V2 — التوسيع بالإشراف الذاتي

    صمّم Woo وآخرون ConvNeXt بالتوازي مع مرمِّزات ذاتية مُقنَّعة (FCMAE) وأضافوا تسوية الاستجابة الشاملة. أثبتوا أن الشبكات الالتفافية تتوسّع بكفاءة مع التدريب المسبق بالإشراف الذاتي.

  7. 2024

    Depth Anything — اعتماد ConvNeXt عموداً فقرياً

    اختار Yang وآخرون ConvNeXt مرمِّزاً لتقدير العمق من صورة واحدة، مما يُبرز قيمته العملية كمستخرج سمات فعّال وسهل النشر في مهام الرؤية الحاسوبية.

الرسالة الباقية من ConvNeXt أن الحدّ الفاصل بين الشبكات الالتفافية والمُحوِّلات أرقّ مما يبدو. مبادئ التصميم التي تُنجح المُحوِّلات — طبقات أعرض، تفعيلات أقل، حقول استقبال كبيرة، تسوية حديثة — يمكن نقلها إلى البنى الالتفافية بكامل فعاليتها. العملية الحسابية الأساسية (التفاف مقابل انتباه) أقل أهمية بكثير من الوصفة الهندسية المبنية حولها.

المرجعLiu, Mao, Wu, Feichtenhofer, Darrell, Xie. A ConvNet for the 2020s. CVPR, 2022.

مصطلحات هذه الورقة