التعلم الذاتي الإشراف2020متوسط11 دقيقة قراءة

SwAV: تعلُّم السمات البصرية دون إشراف عبر مقارنة تعيينات العنقدة

SwAV: Unsupervised Learning of Visual Features by Contrasting Cluster Assignments

Caron, M. · Misra, I. · Mairal, J. · Goyal, P. · Bojanowski, P. · Joulin, A. — NeurIPS

المشكلة

أساليب التعلّم التبايُني الذاتي الإشراف مثل SimCLR وMoCo تبني تمثيلات بصرية قوية عبر تقريب المنظورات المختلفة للصورة الواحدة وإبعاد الصور المختلفة عن بعضها. لكن المشكلة أن هذه الأساليب تحتاج مقارنة كل سمة بكل سمة أخرى مباشرة، وهذا يفرض متطلبات ثقيلة: إما دُفعات ضخمة جداً (SimCLR يستخدم 8192 عيّنة في الدُّفعة الواحدة)، أو بنك ذاكرة كبير، أو مرمِّز زخم يُنتج عيّنات سلبية كافية. كل هذا يستهلك موارد حوسبة وذاكرة هائلة ويُصعّب التوسّع.

الإسهام

يستغني SwAV عن المقارنة الزوجية ويستبدلها بعنقدة فورية أثناء . كل سمة تُربط بمجموعة متجهات نماذج أوّلية قابلة للتعلّم، وآلية «» تضمن أن منظورين مختلفين للصورة الواحدة يحصلان على تعيينات عنقدة متوافقة. خوارزمية سينكهورن-كنوب تحلّ مسألة التعيين بوصفها مسألة نقل أمثل، وهذا يمنع النظام من الانهيار نحو حلّ تافه. كذلك يقترح البحث استراتيجية «» التي تستخدم منظورين بدقة كاملة إلى جانب عدة منظورات صغيرة لالتقاط تفاصيل أغنى دون زيادة كبيرة في التكلفة. حقّق SwAV دقة 75.3% على ImageNet باستخدام ResNet-50، متجاوزاً كل الأساليب الذاتية الإشراف السابقة بل ومتفوّقاً على التدريب الخاضع للإشراف في مهام النقل.

الأثر

أثبت SwAV أن التعلّم التبايُني لا يحتاج بالضرورة إلى مقارنات زوجية، وبهذا فتح الباب أمام عائلة جديدة كاملة من أساليب التعلّم الذاتي الإشراف القائمة على العنقدة. استراتيجية القصّ المتعدّد التي قدّمها أصبحت أداة تعزيز أساسية تبنّاها الباحثون على نطاق واسع. ألهم SwAV بشكل مباشر نموذج DINO الذي طبّق فكرة النماذج الأوّلية على محوِّلات الرؤية واكتشف أن خرائط الانتباه تحتوي على خصائص تجزئة ناشئة تلقائياً. أثّر نموذج العنقدة الفورية هذا في كثير من الأبحاث اللاحقة حول التعلّم الذاتي الإشراف على نطاق واسع.

تخيّل مؤتمراً مزدحماً لا يحمل فيه أحد بطاقة تعريف. لو أردت معرفة مَن يشترك مع مَن في الاهتمامات، الطريقة المباشرة هي أن تصافح كل شخص وتقارن ملاحظاتك — هذا ما يفعله الزوجي. الطريقة تنجح، لكن مع ألف شخص ستحتاج نصف مليون مصافحة!

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

الحيلة الإضافية أن SwAV لا يكتفي بالتأكّد أن الصورتين جلستا عند نفس الطاولة — بل يُبادل الاختبار: يحاول أن يتنبّأ بالطاولة التي تنتمي إليها الصورة «أ» بالاعتماد فقط على ما يعرفه عن الصورة «ب»، والعكس صحيح. إذا نجح التنبؤ في الاتجاهين، فهذا يعني أن النماذج الأوّلية و تتعلّم فعلاً بنية ذات معنى.

تكلفة المقارنة الزوجية

الفكرة الأساسية في التعلّم التبايُني بسيطة: خذ صورة، أنشئ منها مختلفين (بتدوير أو قصّ أو تغيير ألوان مثلاً)، ثم مرّرهما عبر واحسب سماتهما. الهدف أن يتعلّم النموذج تقريب سمات المنظورين لنفس الصورة () وإبعاد سمات الصور المختلفة عن بعضها (). هكذا يعمل SimCLR مثلاً.

المشكلة أن هذا النهج يحتاج كمّاً كبيراً من العيّنات السلبية ليعمل بكفاءة. SimCLR يستخدم تتراوح بين 4096 و8192 — أي أن كل زوج إيجابي يُقارَن بآلاف العيّنات السلبية. MoCo يبني يحتفظ بـ65,536 عيّنة سلبية عبر . كلا الأسلوبين يعملان جيداً، لكنهما يفرضان عبئاً حسابياً أو بنيوياً ملحوظاً.

السؤال الذي يطرحه SwAV: هل يمكننا الحصول على مزايا التعلّم التبايُني — أي التعلّم بلا تسميات عبر مقارنة المنظورات — دون أن ندفع ثمن المقارنة الزوجية الشاملة؟

افتح في المختبر
اليسار: التعلّم التبايُني الزوجي يقارن كل زوج سمات مباشرة. اليمين: SwAV يوجّه السمات عبر نماذج أوّلية مشتركة، ويتجنّب المقارنة الزوجية تماماً.
تستيقظ التجربة عند وصولك…

فكرة SwAV: عنقِد ثم بادِل

اسم SwAV اختصار لـSwapping Assignments between Views، أي «تبادل التعيينات بين المنظورات». الفكرة تعمل على خطوتين أنيقتين بدلاً من المقارنة المباشرة. في الخطوة الأولى، تُربط كل سمة بمجموعة من KK متجه نماذج أوّلية قابلة للتعلّم، فينتج عن ذلك يُسمّى «الشفرة» — وهو توزيع احتمالي يُحدّد أيّ نموذج أوّلي أقرب لهذه السمة. في الخطوة الثانية، يُفرض الاتّساق بأن يتنبّأ النظام بشفرة أحد المنظورين انطلاقاً من تمثيل المنظور الآخر.

عملياً، المسار كالتالي: نأخذ صورة xnx_n وننشئ منها منظورين مُعزَّزين xn,tx_{n,t} وxn,sx_{n,s} بتطبيق تحويلات مختلفة. نمرّر كلاً منهما عبر المرمِّز المشترك fθf_\theta فنحصل على السمتين ztz_t وzsz_s. بعد ذلك، تُقارَن كل سمة بجميع النماذج الأوّلية الـKK وهي {c1,,cK}\{c_1, \ldots, c_K\} لتوليد الشفرة.

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

افتح في المختبر
منظوران للصورة نفسها يُنتجان السمتين z_t وz_s. كل منهما يحصل على شفرة (تعيين عنقدة). SwAV يتنبّأ بشفرة كل منظور من سمة المنظور الآخر. انقر لتتبّع مسار التنبؤ المُتبادَل.
تستيقظ التجربة عند وصولك…

دالة الخسارة: الإنتروبيا التقاطعية بشفرات مُتبادَلة

قبل أن ندخل في الصيغة الرياضية، لنفهم أولاً ما الذي يحاول SwAV تحسينه. لكل صورة لدينا منظوران، وكل منظور يُنتج وتعييناً ناعماً (شفرة). السؤال الذي تطرحه هو: «هل أستطيع التنبؤ بالشفرة التي حصل عليها المنظور tt باستخدام متجه سمات المنظور ss فقط؟» إذا كان المرمِّز والنماذج الأوّلية يعملان كما ينبغي، فالجواب نعم — لأن كلا المنظورين يُصوّران نفس الصورة.

آلية التنبؤ تسير كالتالي: نحسب التشابه بين السمة zsz_s وكل نموذج أوّلي ckc_k عبر ، ثم نطبّق دالة سوفتماكس مُعدَّلة بمعامل للحصول على احتمال ps(k)p_s^{(k)}. أخيراً، نقيس مدى تطابق هذا الاحتمال مع شفرة المنظور الآخر qtq_t باستخدام .

L(zt,zs)=(zt,qs)+(zs,qt)\mathcal{L}(z_t, z_s) = \ell(z_t, q_s) + \ell(z_s, q_t)
خسارة SwAV — التنبؤ المُتبادَل المتماثلالخسارة الكلية تجمع حدَّي إنتروبيا تقاطعية. الحدّ الأول يتنبّأ بشفرة qsq_s للمنظور ss انطلاقاً من سمة ztz_t للمنظور tt، والحدّ الثاني يعكس الاتجاه. التماثل هنا يضمن أن كلا المنظورين يُسهمان بنفس القدر في عملية التعلّم.
(zt,qs)=k=1Kqs(k)logpt(k),pt(k)=exp ⁣(ztckτ)kexp ⁣(ztckτ)\ell(z_t, q_s) = - \sum_{k=1}^{K} q_s^{(k)} \log p_t^{(k)}, \quad p_t^{(k)} = \frac{\exp\!\left(\frac{z_t^\top c_k}{\tau}\right)} {\sum_{k'} \exp\!\left(\frac{z_t^\top c_{k'}}{\tau}\right)}
الإنتروبيا التقاطعية بين الشفرة وتشابه سوفتماكسلكل نموذج أوّلي kk، القيمة pt(k)p_t^{(k)} تُعبّر عن احتمال أن تنتمي السمة ztz_t إلى النموذج ckc_k، وتُحسب عبر سوفتماكس مُقيّسة بدرجة حرارة τ\tau على حاصل الضرب النقطي بينهما. أما qs(k)q_s^{(k)} فهي الهدف المطلوب التنبؤ به — التعيين الناعم للمنظور *الآخر* ss على النموذج kk. المعامل τ\tau يتحكّم في مدى حدّة التوزيع: قيمة صغيرة تجعله مُركَّزاً أكثر حول نموذج أوّلي واحد.

النماذج الأوّلية: مراكز عنقدة قابلة للتعلّم

متجهات النماذج الأوّلية {c1,,cK}\{c_1, \ldots, c_K\} تعيش في نفس الذي تعيش فيه السمات. يمكنك تصوّرها كـKK مِرساة موضوعية — نقاط مرجعية ثابتة تُقاس المسافة بينها وبين كل سمة جديدة. الفرق الجوهري بينها وبين في k-means هو أن مراكز k-means تُعاد حسابها من الصفر بعد كل خطوة، بينما نماذج SwAV الأوّلية تُتعلّم بشكل شامل عبر جنباً إلى جنب مع المرمِّز.

عملياً، يُستخدم K=3000K = 3000 نموذج أوّلي. هذه النماذج تُشكّل أعمدة مصفوفة CRD×KC \in \mathbb{R}^{D \times K} حيث DD بُعد السمات. لحساب شفرة أي سمة zz، كل ما نحتاجه هو ضرب مصفوفات CzC^\top z ثم تطبيع النتيجة بخوارزمية سينكهورن-كنوب.

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

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

تجنّب الانهيار: حيلة سينكهورن-كنوب

الخطر الأكبر في أي أسلوب قائم على العنقدة هو ما يُعرف بـالانهيار: أن يضع النموذج كل الصور في عنقود واحد ويحقّق خسارة صفرية لأنه تجاهل كل الفروقات ببساطة. هذا هو الحلّ التافه — وهو كارثي لأن النموذج لم يتعلّم شيئاً.

SwAV يتعامل مع هذا الخطر بأن يصوغ حساب الشفرات كمسألة . بدلاً من أن نأخذ ببساطة أكبر قيمة أو سوفتماكس لحاصل CzC^\top z، يشترط SwAV أن يكون توزيع التعيينات على مستوى الدُّفعة بأكملها متوازناً — بحيث يحصل كل نموذج أوّلي على حصة متقاربة من السمات. تخيّل الأمر كأنك توزّع طلّاباً على قاعات بحيث لا تبقى قاعة فارغة ولا تمتلئ قاعة واحدة بالجميع.

القيد الرياضي هو أن مصفوفة التعيين QQ يجب أن تكون صفوفها مجموعها 1/K1/K (كتلة متساوية لكل نموذج أوّلي) وأعمدتها مجموعها 1/B1/B (كل صورة تحصل على توزيع احتمالي صالح). خوارزمية سينكهورن-كنوب تجد هذه المصفوفة مزدوجة العشوائية بالتناوب بين تطبيع الصفوف وتطبيع الأعمدة:

Q=Diag(u)exp ⁣(CZε)Diag(v)Q^* = \text{Diag}(u) \, \exp\!\left(\frac{C^\top Z}{\varepsilon}\right) \text{Diag}(v)
سينكهورن-كنوب — تعيين النقل الأمثلZZ مصفوفة جميع السمات في الدُّفعة، وCC مصفوفة النماذج الأوّلية، وε\varepsilon معامل تنظيم. المتجهان uu وvv يُحسبان بثلاث تكرارات فقط من التناوب بين تطبيع الصفوف والأعمدة. النتيجة تعيين ناعم يضمن أن كل نموذج أوّلي يُستخدم بالتساوي — وهو قيد التوزيع المتكافئ الذي يحمي من الانهيار.
افتح في المختبر
شاهد كيف توازن تكرارات سينكهورن-كنوب مصفوفة التعيين. بدونها تتكدّس كل السمات حول نموذج أوّلي واحد. معها تنتشر السمات بالتساوي على جميع النماذج الأوّلية.
تستيقظ التجربة عند وصولك…

القصّ المتعدّد: منظورات أكثر بالتكلفة ذاتها

الأساليب التبايُنية المعتادة تُنشئ منظورين مُعزَّزين لكل صورة بالدقة الكاملة (224×224 مثلاً). في الأساليب الزوجية، كل منظور إضافي يزيد عدد المقارنات بشكل تربيعي، فالتكلفة ترتفع بسرعة. لكن SwAV لا يقارن المنظورات ببعضها — بل يقارن كل سمة بـالنماذج الأوّلية. لذلك فإن إضافة منظورات جديدة لا تزيد التكلفة إلا بشكل خطّي.

يستثمر المؤلفون هذه الميزة باقتراح : بدلاً من منظورين بالدقة الكاملة، نستخدم منظورين كبيرين (160×160) مع VV منظورات صغيرة (96×96). المنظورات الصغيرة تُغطّي أجزاء مختلفة من الصورة وتلتقط تفاصيل محلية كالأنسجة والحواف والأجسام الصغيرة، بينما المنظورات الكبيرة تلتقط البنية الشاملة. الفكرة تشبه أن تنظر إلى لوحة من بعيد لتفهم تكوينها العام، ثم تقترب لتتفحّص تفاصيل زواياها.

الملاحظة المهمة هنا أن الشفرات تُحسب من المنظورين الكبيرين فقط (لأنهما عاليا الجودة)، لكن جميع المنظورات تُستخدم في حساب حدّ التنبؤ من دالة الخسارة. بهذه الطريقة تُقدّم المنظورات الصغيرة إشارة تدريبية إضافية غنية بتفاصيل محلية دون أن تتطلّب حساب شفرات مُكلف. عملياً، إضافة V=4V=4 منظورات صغيرة لا ترفع الحوسبة سوى نحو 20% لكنها تُحسّن الدقة بمقدار 2% تقريباً على ImageNet.

افتح في المختبر
القصّ المتعدّد يُنشئ منظورين بدقة كاملة (شاملين) مع V منظورات صغيرة (محلية). بدِّل بين القصّات لترى ما يلتقطه كل منظور من الصورة الأصلية.
تستيقظ التجربة عند وصولك…

تجميع الأجزاء: الشفرة المُبسَّطة لـ SwAV

خطوة تدريب SwAV (بايتورش مبسَّطة)python

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

# منظوران مُعزَّزان للصورة نفسها
z_t = normalize(projection_head(encoder(aug_t(x))))
z_s = normalize(projection_head(encoder(aug_s(x))))

# حساب الدرجات: التشابه مع كل نموذج أوّلي
scores_t = z_t @ prototypes.T / temperature   # (B, K)
scores_s = z_s @ prototypes.T / temperature   # (B, K)

# حساب الشفرات عبر سينكهورن-كنوب (تعيينات الهدف)
with torch.no_grad():
    q_t = sinkhorn(scores_t)   # تعيين ناعم للمنظور t
    q_s = sinkhorn(scores_s)   # تعيين ناعم للمنظور s

# خسارة الإنتروبيا التقاطعية المُتبادَلة
loss = - 0.5 * (q_s * log_softmax(scores_t)).sum(dim=1).mean()
     - 0.5 * (q_t * log_softmax(scores_s)).sum(dim=1).mean()

loss.backward()   # يُحدّث المرمِّز ورأس الإسقاط والنماذج الأوّلية

النتائج: ردم الفجوة مع التعلّم الخاضع للإشراف

حقّق SwAV مع ResNet-50 دقة 75.3% على تقييم ImageNet الخطي () — بقفزة 4.2 نقاط مئوية فوق SimCLR (الذي حقّق 71.1%) ونفس الفارق فوق MoCo-v2. كان هذا أول أسلوب يُضيّق الفجوة مع (76.5%) إلى 1.2 نقطة مئوية فقط.

الأمر الأكثر لفتاً للنظر يظهر في : تمثيلات SwAV تفوّقت على التدريب الخاضع للإشراف في جميع المعايير التي جرى اختبارها — على VOC وCOCO، و على COCO، و على Places205 وiNaturalist. هذا يدلّ على أن السمات المُتعلَّمة ذاتياً تُعمَّم بشكل أفضل من السمات الخاضعة للإشراف التي قد تُفرط في التخصّص على توزيع تسميات ImageNet ().

استراتيجية القصّ المتعدّد تُسهم بنصيب كبير في هذا الأداء: بدونها يحقّق SwAV 72.7% فقط. إضافة أربعة منظورات صغيرة (V=4V=4) ترفع الدقة إلى 75.3%، أي مكسب 2.6% بتكلفة إضافية ضئيلة. أما عدد النماذج الأوّلية (سواء 3 آلاف أو 100 ألف) فلا يؤثر كثيراً — الأداء يتفاوت بنحو ±0.3% فقط، وهذا يُظهر متانة SwAV أمام هذا .

افتح في المختبر
مقارنة دقة top-1 على ImageNet بين أساليب التعلّم الذاتي الإشراف. SwAV يردم الفجوة مع التدريب الخاضع للإشراف ويتفوّق عليه في مهام النقل.
تستيقظ التجربة عند وصولك…

لماذا ينجح SwAV: لا بنك ذاكرة ولا مرمِّز زخم

MoCo يحتفظ بنسخة كاملة من المرمِّز تُحدَّث ببطء عبر الزخم، وهذا يُضاعف استهلاك الذاكرة. SimCLR يحتاج دُفعات بالآلاف. أما SwAV فلا يحتاج لا هذا ولا ذاك. النماذج الأوّلية تعمل كملخص مُكثّف ودائم لتوزيع البيانات — تحلّ في الوقت نفسه محل بنك الذاكرة ومحل الحاجة لدُفعات ضخمة.

من الناحية العملية، النماذج الأوّلية مجرد مصفوفة D×KD \times K (مثلاً 256×3000256 \times 3000)، فهي لا تُضيف ذاكرة تُذكر. خطوة سينكهورن-كنوب تعمل على مصفوفة K×BK \times B وهي صغيرة أيضاً. التكلفة الحقيقية تبقى في المرور الأمامي عبر المرمِّز — وهذه نفسها في أي أسلوب آخر.

هذه البساطة في التصميم تجعل SwAV سهل التوسّع أيضاً. يعمل بأحجام دُفعات من 256 إلى 4096. يمكنه الاستعانة بـطابور صغير من السمات الأخيرة (دُفعتين أو ثلاث) لتحسين استقرار خطوة سينكهورن عند استخدام دُفعات صغيرة، لكن هذا الطابور يخزّن السمات فقط دون التدرّجات، فهو أخفّ بكثير من مرمِّز الزخم في MoCo.

خط زمني: من العنقدة إلى النماذج الأوّلية

  1. 2018

    DeepCluster

    تناوب بين تطبيق عنقدة k-means على السمات وتدريب الشبكة للتنبؤ بتعيينات العنقدة. أسلوب غير فوري: يحتاج لإعادة عنقدة مجموعة البيانات الكاملة بين كل حقبتي تدريب.

  2. 2020

    SimCLR

    إطار تبايُني بسيط يعتمد تعزيزاً مكثّفاً للبيانات. حقّق نتائج قوية لكنه احتاج دُفعات ضخمة من 4096 إلى 8192 عيّنة لتوفير عدد كافٍ من السلبيات.

  3. 2020

    MoCo v2

    أسلوب تباين بالزخم مع طابور يضمّ 65 ألف عيّنة سلبية. كفء من حيث الذاكرة لكنه يحتاج الاحتفاظ بمرمِّز زخم — نسخة من الشبكة الكاملة تُحدَّث ببطء.

  4. 2020

    SwAV (هذه الورقة)

    عنقدة فورية بنماذج أوّلية قابلة للتعلّم وتنبؤ مُتبادَل. دون بنك ذاكرة ودون مرمِّز زخم. يستخدم القصّ المتعدّد. دقة 75.3% على ImageNet.

  5. 2021

    DINO

    طبّق فكرة النماذج الأوّلية من SwAV على محوِّلات الرؤية مع التقطير الذاتي. اكتشف خصائص تجزئة ناشئة تلقائياً في خرائط الانتباه. ورث استراتيجية القصّ المتعدّد مباشرة من SwAV.

يقع SwAV عند ملتقى اتجاهين بحثيين: العنقدة غير الفورية (مثل DeepCluster وSeLa) والتعلّم التبايُني الفوري (مثل SimCLR وMoCo). بجعل العنقدة فورية من خلال نماذج أوّلية قابلة للتعلّم وخوارزمية سينكهورن-كنوب، وباستبدال المقارنة الزوجية بـالتنبؤ المُتبادَل، جمع SwAV أفضل ما في الاتجاهين. أصبحت استراتيجية القصّ المتعدّد أداة أساسية في الميدان، وكانت بنية النماذج الأوّلية البذرة المباشرة لنموذج DINO — أحد أكثر أساليب التعلّم الذاتي الإشراف تأثيراً في مجال الرؤية الحاسوبية.

المرجعCaron, Misra, Mairal, Goyal, Bojanowski, Joulin. Unsupervised Learning of Visual Features by Contrasting Cluster Assignments. NeurIPS, 2020.

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