الرؤية الحاسوبية2021متوسط13 دقيقة قراءة
محوِّل Swin: محوِّل رؤية هرمي باستخدام النوافذ المُنزاحة
Swin Transformer: Hierarchical Vision Transformer Using Shifted Windows
Liu, Z. · Lin, Y. · Cao, Y. · Hu, H. · Wei, Y. · Zhang, Z. · Lin, S. · Guo, B. — ICCV
المشكلة
محوِّل الرؤية الأصلي (ViT) يتعامل مع الصورة كسلسلة مسطّحة من رُقع بحجم ثابت ويُطبّق الشامل على كل الرُّقع دفعة واحدة. ينتج عن ذلك مشكلتان. الأولى أن التكلفة الحسابية تتناسب تربيعياً مع عدد الرُّقع — فصورة بأبعاد 1024×1024 مع رُقع 16×16 تُولّد 4,096 رمزاً، والانتباه الشامل عليها يعني نحو 16 مليون مقارنة زوجية في كل طبقة. هذا يجعل ViT غير عملي لمهام التنبُّؤ الكثيف عالية الدقة كاكتشاف الكائنات والتجزئة الدلالية. المشكلة الثانية أن ViT يُخرج خريطة سمات بمقياس واحد دون بنية هرمية مدمجة، فلا يمكنه استبدال العمود الفقري القائم على الشبكات الالتفافية في أُطر مثل شبكة هرم السمات التي تعتمد على سمات متعددة المقاييس.
الإسهام
يُقدّم محوِّل Swin ابتكارين جوهريين. الأول هو الانتباه الذاتي المحلي القائم على نوافذ غير متداخلة بحجم M×M من الرُّقع، ما يُخفّض التعقيد الحسابي من تربيعي إلى خطّي بالنسبة لحجم الصورة. والثاني هو آلية إزاحة النوافذ التي تُبدّل بين تقسيمات منتظمة وأخرى مُنزاحة في كتل المتتابعة، فتُتيح تواصلاً بين النوافذ دون تكلفة إضافية. مع الدمج الهرمي للرُّقع الذي يُضاعف بُعد القنوات ويُنصّف الدقة المكانية في كل مرحلة، يُنتج Swin خرائط سمات متعددة المقاييس متوافقة مع أُطر التنبُّؤ الكثيف كشبكة هرم السمات. حقّق النموذج دقة 87.3% على -1K، و58.7 في مقياس box AP على COCO test-dev، و53.5 mIoU على ADE20K — متفوّقاً بفوارق كبيرة على أفضل النتائج السابقة.
الأثر
أثبت محوِّل Swin أن المحوِّلات قادرة على العمل كعمود فقري عام للرؤية الحاسوبية ينافس الشبكات الالتفافية — بل يتفوّق عليها في كثير من الأحيان — عبر جميع مهام الرؤية الرئيسية. فاز بجائزة أفضل ورقة في ICCV 2021 (جائزة مار) وأصبح من أكثر أوراق الرؤية الحاسوبية استشهاداً في العقد الأخير. ألهم مباشرةً بنية ConvNeXt (التي أثبتت أن الشبكات الالتفافية تستطيع مضاهاة Swin بتبنّي مبادئ تصميمه) وSegFormer وعدداً كبيراً من البنيات الأخرى. رسّخ Swin النوافذ المُنزاحة والدمج الهرمي للرُّقع كأدوات معيارية في مجموعة أدوات محوِّلات الرؤية.
تخيّل أنك واقف أمام جدارية عملاقة تمتدّ على حائط كامل. لو حاولت أن تُقارن كل ضربة فرشاة بكل ضربة أخرى دفعةً واحدة — وهذا ما يفعله الأصلي (ViT) — ستجد نفسك غارقاً في تفاصيل لا نهاية لها، والتكلفة باهظة، والنتيجة أنك تفقد الصورة الكبرى.
محوِّل Swin يتعامل مع الأمر بذكاء أكبر. تخيّل أنك تحمل إطاراً متحرّكاً تُطِلّ من خلاله على جزء واحد من الجدارية. تدرس ما في هذا الجزء جيداً، ثم تُزيح الإطار قليلاً ليتداخل مع المنطقة السابقة — وبهذا تربط ما فهمته من كل مقطع بما يجاوره. وكل بضع خطوات تتراجع للخلف لترى رقعة أوسع بتفاصيل أقل — فتبني فهمك طبقةً فوق طبقة، من الملمس الدقيق حتى التكوين العام، كمن يُشيّد هرماً من الفهم.
المشكلة: الانتباه الشامل لا يتحمّل الصور الكبيرة
الفكرة الأساسية في المُحوِّل البصري الأصلي (ViT) بسيطة: قسّم الصورة إلى بحجم 16×16 بكسل، وعامل كل رقعة بوصفها ، ثم اجعل الانتباه الذاتي يربط كل رمز بجميع الرموز الأخرى — بالضبط كما تفعل الكلمات في جملة. الطريقة ممتازة حين تكون الصورة صغيرة نسبياً (224×224 بكسل تعطينا 196 رمزاً فقط)، وهذا كافٍ لـ الصور.
المشكلة أن الرؤية الحاسوبية لا تقتصر على التصنيف. يحتاج رصد أجسام صغيرة في صور كبيرة، و تحتاج تصنيف كل بكسل على حدة. هذه المهام — ما نسمّيه — تتطلّب صوراً بدقة عالية: 800×1200 بكسل أو أكثر. وعند هذه الأبعاد مع رُقع 16×16، يصبح لدينا نحو 3,750 رمزاً. الانتباه الذاتي الشامل على هذا العدد يعني أكثر من 14 مليون مقارنة زوجية في كل طبقة لكل رأس. والأسوأ أن التكلفة تنمو تربيعياً: إذا ضاعفت ، تتضاعف الحسابات أربع مرات.
ثم هناك مشكلة بنيوية أعمق. تُنتج بطبيعتها هرمية — الطبقات الأولى تلتقط حوافاً وملامس دقيقة بدقة عالية، والطبقات الأعمق تلتقط مفاهيم مجرّدة بدقة أقل. هذا الهرم متعدد المقاييس لا غنى عنه في أُطر مثل المُستخدمة في الاكتشاف والتجزئة. لكن ViT لا يُنتج هرماً — كل الرموز تبقى بالدقة ذاتها من أول طبقة إلى آخرها. وهذا يعني أنه غير متوافق بنيوياً مع الأنظمة التي تُحرّك الرؤية الحاسوبية الحديثة.
الحل: هرم من السمات يُبنى بنوافذ محلية
الفكرة المحورية في Swin أنه يستعير أنجح مبدأ من الشبكات الالتفافية — بناء هرم من خرائط السمات بمقاييس متعدّدة — ويُعيد تنفيذه باستخدام المحوِّلات. البنية تتكوّن من أربع مراحل:
المرحلة 1: نُقسّم الصورة إلى رُقع غير متداخلة بحجم 4×4 بكسل. كل رقعة تُسطَّح إلى متجه بـ48 بُعداً (4 × 4 × 3 قنوات) ثم تُسقَط خطياً إلى بُعد . بالنسبة لصورة 224×224 نحصل على 56×56 = 3,136 رمزاً — وهذه أعلى دقة في الشبكة.
المرحلة 2: تأتي طبقة دمج الرُّقع فتُجمّع كل مربّع 2×2 من الرموز المتجاورة، وتربط سماتها معاً (ليصبح المتجه بـ4 بُعداً)، ثم تُسقطها إلى 2. النتيجة أن الدقة المكانية تنخفض إلى النصف (28×28) بينما عمق يتضاعف. العملية تُشبه أو الالتفاف بخطوة في الشبكات الالتفافية.
المرحلتان 3 و4: يتكرّر الدمج ذاته، فننتقل إلى 14×14 رمزاً بـ4 قناة، ثم 7×7 رمزاً بـ8 قناة. كل مرحلة تُمرّر رموزها عبر عدة كتل Swin قبل أن تُدمج وتنتقل للمرحلة التالية.
المحصّلة أربع خرائط سمات بدقات و و و — وهذا بالضبط ما تتوقّعه أُطر شبكة هرم السمات. بذلك يستطيع Swin أن يحلّ مباشرةً محلّ الالتفافي كـResNet في أنظمة الاكتشاف والتجزئة دون تعديلات جوهرية.
انتباه النافذة: رؤية أوضح عبر النظر المحلي
جوهر الكفاءة في Swin فكرة بسيطة: بدلاً من حساب الانتباه الذاتي على خريطة السمات بأكملها، نُقسّمها إلى نوافذ غير متداخلة بحجم رقعة (عادةً ) ونحسب الانتباه داخل كل نافذة بشكل مستقل.
لنقارن التكلفة. في الانتباه الذاتي الشامل، التكلفة الحسابية لخريطة سمات بأبعاد رقعة و قناة هي:
أما مع (W-MSA)، فكل نافذة تحسب انتباهها بمعزل عن البقية. التكلفة تصبح:
داخل كل نافذة، آلية الانتباه هي المعتاد، لكن مع إضافة مهمة: مُتعلَّم :
الابتكار الرئيسي: النوافذ المُنزاحة للتواصل عبر النوافذ
انتباه النافذة يحلّ مشكلة التكلفة، لكنه يخلق مشكلة أخرى: الرموز داخل نافذة لا ترى ما يحدث في النوافذ المجاورة. النموذج يصبح أعمى عند حدود النوافذ — تخيّل أنك تقرأ كتاباً من خلال فتحة ضيّقة تقطع كل جملة عند المكان نفسه.
الحل الذي يُقدّمه Swin أنيق في بساطته: بدّل بين تقسيمين مختلفين للنوافذ. في الطبقة استخدم التقسيم المنتظم، وفي الطبقة أزِح التقسيم بمقدار بكسل. النوافذ المُنزاحة تمتدّ الآن عبر حدود نوافذ الطبقة السابقة، فتُنشئ جسوراً للتواصل بينها.
تخيّل الأمر كرصف بلاط: في طبقة ترصّ شبكة 7×7. في الطبقة التالية تُزيح الشبكة بـ3.5 بلاطة. كل بلاطة في الشبكة الجديدة تتقاطع مع أجزاء من أربع بلاطات سابقة. المعلومات تنتقل عبر الحدود تلقائياً — دون أيّ آلية إضافية، فقط بتبديل الشبكة.
الكتلتان المتتابعتان في محوِّل Swin تحسبان:
النوافذ المُنزاحة بكفاءة: حيلة الإزاحة الدورية
حين ننفّذ النوافذ المُنزاحة بشكل مباشر، تظهر مشكلة عملية: الإزاحة تُنتج نوافذ بأحجام مختلفة عند حواف الصورة. بعضها يكون أصغر من ، وهذا يُعطّل الحساب المتوازي على التي تعمل بأفضل كفاءة حين تكون جميع النوافذ بالحجم ذاته.
الحل ذكي: بدلاً من التعامل مع نوافذ غير منتظمة عند الحواف، نُزيح خريطة السمات بأكملها دورياً نحو أعلى اليسار بمقدار موقعاً. تخيّل أنك تلفّ ورقة حول أسطوانة: ما يخرج من الحافة السفلى يعود من الأعلى، وما يخرج من اليمين يعود من اليسار. النتيجة تخطيط حلقي تكون فيه جميع النوافذ بحجم من جديد. وبعد حساب الانتباه، نُعيد الخريطة إلى ترتيبها الأصلي.
لكن ثمة تفصيل مهم: بعد هذا اللفّ، قد تجد نافذة واحدة تضمّ رُقعاً من زوايا مختلفة من الصورة — رُقع ليست متجاورة أصلاً. لمنع هذه الرُّقع من التفاعل مع بعضها، نستخدم : نضبط بين الأجزاء غير المتجاورة على قبل ، فتصبح أوزانها صفراً.
المحصّلة أن عدد النوافذ يبقى مطابقاً تماماً للتقسيم المنتظم، والحساب يظل فعّالاً ومتوازياً دون أيّ هدر.
داخل كتلة Swin: تسوية → انتباه → تسوية → مُدرِك
كل كتلة في Swin تتّبع البنية المعيارية لـالمحوِّل، مع فارق واحد جوهري: الانتباه يعمل على نوافذ محلية بدلاً من التسلسل الكامل. الكتلة تتكوّن من أربعة أجزاء:
(LN): تُطبَّق قبل كل من طبقة الانتباه وطبقة المُدرِك (أسلوب التسوية المُسبقة). وظيفتها تثبيت والسماح باستخدام أعلى.
انتباه النافذة (W-MSA أو SW-MSA): انتباه ذاتي متعدد الرؤوس يُحسب داخل كل نافذة من رقعة، مع إضافة الانحياز الموضعي النسبي لكل رأس.
: مدخل كل طبقة فرعية يُجمع مع مخرجها. هذا يضمن تدفّق عبر الشبكة العميقة — نفس مبدأ في ResNet والمحوِّل الأصلي.
(MLP): شبكة من طبقتين بتنشيط ، توسّع البُعد الخفي بنسبة 4× ثم تُعيده لحجمه الأصلي. هنا تكمن القدرة اللاخطية للنموذج — فالانتباه في جوهره مجرد متوسط مُرجَّح، والمُدرِك هو ما يمنح الشبكة القدرة على تحويل تلك السمات المُجمَّعة إلى تمثيلات أغنى.
مبسَّط لإظهار الفكرة — ليس التنفيذ الحقيقي.
# كتلتان متتابعتان في محوِّل Swin (منتظمة + مُنزاحة)
# الكتلة ℓ: انتباه النافذة المنتظمة x_norm = LayerNorm(x) x = x + W_MSA(x_norm) # انتباه النافذة + اتصال متبقٍّ x = x + MLP(LayerNorm(x)) # مُدرِك + اتصال متبقٍّ
# الكتلة ℓ+1: انتباه النافذة المُنزاحة x_norm = LayerNorm(x) x = x + SW_MSA(x_norm) # انتباه مُنزاح + اتصال متبقٍّ x = x + MLP(LayerNorm(x)) # مُدرِك + اتصال متبقٍّدمج الرُّقع: بناء الهرم مرحلة بمرحلة
بين كل مرحلة وأخرى، تأتي عملية دمج الرُّقع لتُخفّض الدقة المكانية وتزيد عمق القنوات — الدور ذاته الذي يلعبه التجميع أو الالتفاف بخطوة في الشبكات الالتفافية. والعملية مباشرة:
نأخذ خريطة سمات بأبعاد . نُجمّع كل مربّع 2×2 من الرموز المتجاورة ونربط سماتها الأربع على بُعد القنوات، فنحصل على . ثم نُطبّق يُخفّض الأبعاد من إلى .
النتيجة: الدقة المكانية تنخفض للنصف، وعمق القنوات يتضاعف، وعدد الرموز الإجمالي ينخفض إلى الربع. هكذا ينتقل Swin بين مراحله الأربع بانياً الهرم متعدد المقاييس الذي تحتاجه أُطر التنبُّؤ الكثيف.
تخيّل الأمر كأنك تتراجع خطوة للخلف وتستبدل عدسة الكاميرا بأخرى أقوى. ترى مساحة أكبر لكن بسمات أغنى. كل مرحلة تعمل عند دقة مختلفة، وخرائط السمات من المراحل الأربع كلها متاحة للمهام اللاحقة — تماماً كما تستفيد شبكة هرم السمات من طبقات متعدّدة في ResNet.
متغيّرات النموذج: من الصغير إلى الكبير
يأتي Swin بأربعة أحجام تختلف في بُعد القنوات الأساسي وعدد الكتل في كل مرحلة:
Swin-T (صغير): ، الطبقات = [2, 2, 6, 2]، نحو 29 مليون ، 4.5 GFLOPs. تكلفته قريبة من ResNet-50.
Swin-S (متوسط): ، الطبقات = [2, 2, 18, 2]، نحو 50 مليون معامل، 8.7 GFLOPs. يقارب ResNet-101.
Swin-B (أساسي): ، الطبقات = [2, 2, 18, 2]، نحو 88 مليون معامل، 15.4 GFLOPs. يقارب ViT-B/DeiT-B.
Swin-L (كبير): ، الطبقات = [2, 2, 18, 2]، نحو 197 مليون معامل، 34.5 GFLOPs. النسخة الأكبر، مُدرَّبة مسبقاً على ImageNet-22K.
لاحظ نمطاً مهمّاً: المرحلة الثالثة تحتوي على أكبر عدد من الكتل (6 أو 18). السبب أنها تعمل عند دقة 14×14 — صغيرة بما يكفي لتكون حسابياً معقولة، وكبيرة بما يكفي لالتقاط أنماط مكانية غنية. هذا التصميم يُحاكي ما تفعله الشبكات الالتفافية مثل ResNet حين تُركّز عمقها في المرحلة الثالثة (كتلة res4).
النتائج: المحوِّلات تتصدّر جميع مهام الرؤية
حقّق Swin نتائج غير مسبوقة عبر ثلاثة رئيسية:
تصنيف الصور (ImageNet-1K): وصل Swin-B إلى دقة 83.5% دون بيانات إضافية. ومع على ImageNet-22K، بلغ Swin-L نسبة 87.3% — متجاوزاً جميع نماذج ViT والشبكات الالتفافية السابقة عند تكلفة حسابية مماثلة.
اكتشاف الكائنات (COCO): مع Cascade Mask R-CNN وعمود فقري Swin-L، حقّق النموذج 58.7 box AP و51.1 mask AP على COCO test-dev — بفارق +2.7 و+2.6 عن أفضل نتيجة سابقة. كانت هذه المرة الأولى التي يتصدّر فيها عمود فقري قائم على المحوِّلات وحدها نتائج اكتشاف COCO.
التجزئة الدلالية (ADE20K): حقّق Swin-L نتيجة 53.5 mIoU، بتحسُّن +3.2 عن أفضل نتيجة سابقة. وهنا تحديداً ظهرت أهمية السمات الهرمية متعددة المقاييس في التنبُّؤ على مستوى البكسل.
الرسالة الجوهرية: أثبت Swin أن بنية محوِّل واحدة — حين تُزوَّد بالانحيازات الاستقرائية الصحيحة (محلية عبر النوافذ، وهرمية عبر الدمج) — قادرة على التفوّق على الشبكات الالتفافية في المهام التي صُمِّمت تلك الشبكات خصيصاً لها.
الإرث: مبادئ تصميم تجاوزت عمر النموذج
2020
محوِّل الرؤية (ViT) — غوغل
أثبت أن المحوِّلات الصرفة تنافس الشبكات الالتفافية في تصنيف الصور، لكنه احتاج بيانات تدريب مسبق ضخمة ولم يستطع التعامل مع مهام التنبُّؤ الكثيف.
2021
محوِّل Swin — مايكروسوفت (هذه الورقة)
قدّم النوافذ المُنزاحة والدمج الهرمي للرُّقع، وجعل المحوِّلات عموداً فقرياً عاماً للرؤية الحاسوبية. فاز بجائزة أفضل ورقة في ICCV 2021 (جائزة مار).
2021
SegFormer — إنفيديا
تبنّى تصميم المحوِّل الهرمي للتجزئة الدلالية، مُدمِجاً سمات متعددة المقاييس مع مفكّك رموز بسيط قائم على المُدرِك متعدد الطبقات.
2022
محوِّل Swin V2 — مايكروسوفت
وسّع Swin إلى 3 مليارات معامل بتقنيات مثل الانحياز الموضعي المستمر بفضاء لوغاريتمي وتسوية ما بعد البقايا، ما أتاح التدريب بصور أعلى دقة.
2022
ConvNeXt — ميتا للذكاء الاصطناعي
أثبت أن الشبكات الالتفافية الصرفة تُضاهي Swin حين تتبنّى مبادئ تصميمه: نوى أكبر (7×7)، دوال تنشيط أقل، وتسوية الطبقة بدلاً من تسوية الدُّفعة. ما يُثبت أن خيارات Swin التصميمية أهم من آلية الانتباه ذاتها.
الإسهام الأعمق لـSwin لا يكمن في البنية بحدّ ذاتها، بل في وصفة التصميم التي أرساها: انتباه محلي مع تواصل شامل عبر الإزاحة، وخرائط سمات هرمية عبر دمج الرُّقع، وانحياز موضعي نسبي بدلاً من تضمينات مطلقة. هذه المبادئ انتشرت اليوم في مشهد الرؤية الحاسوبية بأكمله — من فهم الفيديو (Video Swin) إلى التصوير الطبي ومعالجة السحب النقطية وغيرها. بل إن ConvNeXt، الذي تعمّد تجنّب آلية انتباه المحوِّل، تبنّى المخطط العام لـSwin وأثبت أنه الطريقة الصحيحة لتنظيم العمود الفقري البصري.
المرجعLiu, Lin, Cao, Hu, Wei, Zhang, Lin, Guo. Swin Transformer: Hierarchical Vision Transformer Using Shifted Windows. ICCV, 2021.
مصطلحات هذه الورقة
- الانتباه الذاتيSelf-Attention
- النافذة المنزلقةSliding Window
- تضمين الرُّقعPatch Embedding
- الانتباه المتعدد المساراتMulti-Head Attention
- شبكة الهرم الاستخلاصي للسماتFeature Pyramid Network
- التنبؤ الكثيفDense Prediction
- رصد وتحديد الكائناتObject Detection
- التجزئة الدلالية للصورةSemantic Segmentation
- انحياز الموضع النسبيRelative Position Bias
- البنية الأساسيةBackbone
- التسوية الطبقيةLayer Normalization
- الاتصال التجاوزيSkip Connection
- الوصلة التجاوزيةResidual Connection
- شبكة التغذية الأماميةFeed Forward Network (FFN)
- البيرسبترون متعدد الطبقاتMulti-Layer Perceptron (MLP)