هجمات الخصومة على الآلات يمكن أن ترى 2018

أو كيف انتهى بي الأمر في الفريق الفائز من Machines Can See 2018 في منافسة الخصومة.

الصورة
جوهر أي هجمات تنافسية هو مثال.

حدث ذلك أنني شاركت في مسابقة الآلات يمكنها رؤية 2018. انضممت إلى المسابقة تأخرت قليلاً (قبل أسبوع تقريبًا من النهاية) ، ولكن انتهى بي المطاف في فريق من 4 أشخاص ، حيث كانت مساهمة ثلاثة منا (بما في ذلك أنا) ضروري للنصر (إزالة مكون واحد - وسنكون غرباء).

الغرض من المسابقة هو تغيير وجوه الناس حتى لا تتمكن الشبكة العصبية التلافيفية ، التي قدمها المنظمون كمربع أسود ، من تمييز وجه المصدر عن الوجه المستهدف. تم تقييد عدد التغييرات المسموح بها بواسطة SSIM .

المقالة الأصلية نشرت هنا .

ملاحظة إن الترجمة الخرقاء للمصطلحات أو غيابها تمليها عدم وجود المصطلحات الراسخة في اللغة الروسية. يمكنك اقتراح خياراتك في التعليقات.

الصورة
جوهر المسابقة هو تغيير الوجه عند المدخل بحيث لا يستطيع الصندوق الأسود التمييز بين وجهين (على الأقل من وجهة نظر المسافة L2 / الإقليدية)

ما يعمل في الهجمات التنافسية وما نجح في حالتنا:

  • طريقة تسجيل التدرج السريع (FGSM). إضافة الاستدلال جعلها أفضل قليلاً ؛
  • طريقة قيمة التدرج السريع (FGVM). إضافة الاستدلال جعلها أفضل بقوة ؛
  • التطور التفاضلي الجيني ( مقال رائع حول هذه الطريقة) + هجمات بكسل تلو الآخر ؛
  • مجموعات من النماذج (الحل الأعلى ... 6 ResNet34 "المكدس") ؛
  • تجاوز ذكي لمجموعات الصور المستهدفة ؛
  • بشكل أساسي ، التوقف المبكر أثناء هجوم ختان الإناث ؛

ما لم ينجح في حالتنا:

  • إضافة "لحظة خمول" إلى FGVM (على الرغم من أنها عملت مع الفريق الذي حصل على ترتيب أقل ، فهل من الممكن أن المجموعات + الاستدلال عملت بشكل أفضل من إضافة لحظة؟) ؛
  • هجوم C&W (بشكل أساسي هجوم من طرف إلى طرف يستهدف سجلات نموذج الصندوق الأبيض) - يعمل مع الصندوق الأبيض (BY) ، لا يعمل مع الصندوق الأسود (CN) ؛
  • نهج قائم على أساس LinkNet السيامي (بنية تشبه UNet ، ولكن يعتمد على ResNet). عملت أيضا ل BY ؛

ما لم نجربه (لم يكن لديك الوقت أو لم يكن لديه جهد كاف أو كان كسولًا جدًا):

  • اختبار التعزيز التفسري لتعلم الطلاب (كان عليّ إعادة سرد الواصفات أيضًا - إنها سهلة ، لكن هذه الفكرة البسيطة لم تأت على الفور) ؛
  • زيادة أثناء الهجوم - على سبيل المثال ، "عكس" الصورة من اليسار إلى اليمين ؛

عن المسابقة بشكل عام:

  • كانت مجموعة البيانات "صغيرة جدًا" (1000 5 + 5 مجموعات) ؛
  • كانت مجموعة بيانات تدريب شبكة الطلاب كبيرة نسبيًا (مليون + صورة) ؛
  • تم تقديم CE كمجموعة من النماذج المجمعة مسبقًا على الكافيين (وبطبيعة الحال ، في بيئاتنا ، أصدروا الأخطاء أولاً). وقد قدم هذا أيضًا بعض التعقيد ، حيث لم تقبل QW الصور ذات الدُفعات ؛
  • كان للمسابقة خط أساس ممتاز (الحل الأساسي) ، والذي بدونه ، في رأيي ، سيصبح عدد قليل منهم متورطًا بشكل مباشر ؛

الموارد:


1. نظرة عامة على الآلات يمكن أن ترى منافسة 2018 وكيف دخلت فيها


المنافسة والمناهج


بصراحة ، لقد انجذبت إلى منطقة جديدة مثيرة للاهتمام ، وهي إصدار GTX 1080Ti Founders 'في الجوائز ، والمنافسة المنخفضة نسبيًا (والتي لن يكون من الممكن مقارنتها مع 4000 شخص في أي منافسة في Kaggle مقابل ODS بالكامل مع 20 وحدة معالجة رسومات لكل فريق).

كما ذكرنا سابقًا ، كان الغرض من المنافسة هو خداع نموذج CE ، بحيث لا يستطيع هذا الأخير التمييز بين شخصين مختلفين (بمعنى مسافة L2-norm / Euclidean). حسنًا ، نظرًا لأنه كان صندوقًا أسود ، كان علينا تقطير شبكات الطلاب على البيانات المقدمة ونأمل أن تكون تدرجات QW و BYW متشابهة بما يكفي لتنفيذ الهجوم.

إذا قرأت مراجعات للمقالات (على سبيل المثال ، هنا وهناك ، على الرغم من أن هذه المقالات لا تذكر بالفعل ما يصلح عمليًا) وتجميع ما حققته فرق العمل العليا ، فيمكنك عندئذٍ وصف هذه الممارسات الفضلى بإيجاز:

  • تتضمن أبسط الهجمات في التنفيذ BY أو معرفة البنية الداخلية للشبكة العصبية التلافيفية (أو ببساطة العمارة) التي يتم تنفيذ الهجوم عليها ؛
    • اقترح شخص ما في الدردشة تتبع وقت الاستدلال على CE ومحاولة تخمين هندستها.
  • من خلال الوصول إلى كمية كافية من البيانات ، يمكنك محاكاة QW مع QW جيدة التدريب
  • من المفترض أن الطرق الأكثر تقدمًا هي:
    • هجوم C&W من طرف إلى طرف (لم ينجح في هذه الحالة) ؛
    • ملحقات FGSM الذكية (أي لحظة الجمود + الفرق الصعبة) ؛

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

الصورة
1. تدريب شبكة الطلاب. 2. تطبيق هجوم BY على Student Net. 3. انتشرت أيضا هجمات الأمل صافي المعلم

كيف تعمل طريقة التدرج
الصورة

نحقق بشكل أساسي من خلال التقطير أن BY تحاكي BY. ثم يتم النظر في تدرجات الصور المدخلة بالنسبة إلى إخراج النموذج. السر ، كالعادة ، يكمن في الاستدلال.

المقياس المستهدف


كان المقياس المستهدف هو متوسط ​​L2 (المسافة الإقليدية) بين جميع مجموعات الصور المصدر والهدف الـ 25 (5 * 5 = 25).

نظرًا لقيود النظام الأساسي (CodaLab) ، كان من المحتمل أن يتم حساب النتائج الخاصة (ودمج الفرق) يدويًا ، والتي ستكون مثل هذه القصة.

الصورة

الفريق


انضممت إلى الفريق بعد أن قمت بتدريب شبكات الطلاب ، أفضل من أي شخص آخر على لوحة المتصدرين (على حد علمي) ، وبعد مناقشة صغيرة مع Atmyre (ساعدت في QW المترجمة بشكل صحيح ، حيث واجهت هي نفسها نفسها). ثم شاركنا نتائجنا المحلية دون مشاركة المناهج والرموز ، وفي الواقع ، قبل 2-3 أيام من خط النهاية حدث ما يلي:

  • انقطعت نماذجي المستمرة (نعم ، في هذه الحالة أيضًا) ؛
  • كان لدي أفضل نماذج الطلاب.
  • كان لديهم (الفرق) أفضل الاختلافات الإرشادية لـ FGVM (كان رمزهم يعتمد على الخط الأساسي) ؛
  • لقد جربت للتو نماذج مع التدرجات ووصلت إلى سرعة محلية حول 1.1 - في البداية لم أكن أرغب في استخدام خط الأساس من تفضيلاتي الشخصية (تحديت نفسي) ؛
  • لم يكن لديهم قوة حاسوبية كافية في ذلك الوقت.
  • في النهاية ، جربنا حظنا وتعاوننا - لقد استثمرت قوتي الحاسوبية / الشبكات العصبية التلافيفية / مجموعة اختبارات الاجتثاث. وضع الفريق في قاعدة الرموز الخاصة بهم ، والتي قاموا بصقلها لبضعة أسابيع ؛

مرة أخرى ، أود أن أشكرها على النصائح القيمة والمهارات التنظيمية التي لا تقدر بثمن.

تكوين الفريق:

github.com/atmyre - بناء على الإجراءات ، كان قائد الفريق في البداية. تمت إضافة هجوم تطور تفاضلي وراثي في ​​التقديم النهائي ؛
github.com/mortido - أفضل تنفيذ لهجمات FGVM مع استدلال ممتاز + نموذجين مدربين باستخدام رمز الخط الأساسي ؛
github.com/snakers4 - بالإضافة إلى أي اختبارات لتقليل عدد الخيارات في إيجاد حل ، قمت بتدريب 3 نماذج للطلاب بأفضل المقاييس + قوة حاسوبية مزودة + ساعدت في مرحلة التقديم النهائي للنتائج وعرضها ؛
github.com/stalkermustang ؛

ونتيجة لذلك ، تعلمنا جميعًا الكثير من بعضنا البعض ، ويسعدني أننا جربنا حظنا في هذه المسابقة. سيؤدي غياب مساهمة واحدة على الأقل من أصل ثلاثة إلى الهزيمة.

2. CNN طالب تقطير


تمكنت من الحصول على أفضل سرعة عند تدريب نماذج الطلاب ، نظرًا لأنني استخدمت الرمز الخاص بي بدلاً من رمز الأساس.

النقاط الرئيسية / ما نجح:

  • اختيار نظام تدريب لكل هندسة على حدة ؛
  • التدريب الأول مع اضمحلال Adam + LR ؛
  • المراقبة الدقيقة للسعة المنخفضة والقدرة النموذجية ؛
  • تعديل يدوي لأوضاع التدريب. لا تثق تمامًا في المخططات التلقائية: يمكن أن تعمل ، ولكن إذا قمت بتعيين الإعدادات بشكل جيد ، يمكن تقليل وقت التدريب بمقدار 2-3 مرات. هذا مهم بشكل خاص مع النماذج الثقيلة مثل DenseNet ؛
  • كان أداء البنى الثقيلة أفضل من البنى الخفيفة ، دون احتساب VGG ؛
  • التدريب مع خسارة L2 بدلاً من MSE يعمل أيضًا ، ولكنه أسوأ قليلاً ؛


ما لم ينجح:

  • معماريات قائمة على التأسيس (غير مناسبة بسبب ارتفاع سرعة أخذ العينات وارتفاع دقة المدخلات). على الرغم من أن الفريق في المركز الثالث كان قادرًا بطريقة ما على استخدام Inception-v1 والصور المقطوعة بالكامل (~ 250x250) ؛
  • البنى القائمة على VGG (التركيب الزائد) ؛
  • بنى خفيفة (SqueezeNet / MobileNet - underfitting) ؛
  • زيادة الصور (بدون تعديل الواصفات - على الرغم من أن الفريق سحبها بطريقة ما من المركز الثالث) ؛
  • العمل مع صور كاملة الحجم ؛
  • أيضا في نهاية الشبكات العصبية التي قدمها منظمو المسابقة كانت طبقة الدفعة القياسية. لم يساعد ذلك زملائي ، واستخدمت الكود الخاص بي ، لأنني لم أفهم تمامًا سبب وجود هذه الطبقة ؛
  • استخدام خرائط البروز مع الهجمات القائمة على البكسل. أفترض أن هذا أكثر قابلية للتطبيق على الصور بالحجم الكامل (فقط قارن 112x112x search_space و 299 x299x search_space) ؛

الصورة
أفضل نماذجنا - لاحظ أن أفضل سرعة هي 3 * 1e-4. بالحكم على مدى تعقيد النماذج ، يمكن للمرء أن يتخيل أن QW هي ResNet34. في اختباراتي ، كان أداء ResNet50 + أسوأ من ResNet34.

الصورة
خسارة المركز الأول MSE

3. السرعة النهائية وتحليل "الاجتثاث"


جمعنا سرعتنا على النحو التالي:

الصورة

بدا الحل الأعلى على هذا النحو (نعم ، كانت هناك نكات حول حقيقة أن مجرد تكديس الذبح ، يمكنك تخمين أن CH هي ذبح):

الصورة

المناهج المفيدة الأخرى من الفرق الأخرى:

  • المعلمة التكيفية إبسيلون ؛
  • زيادة البيانات
  • لحظة الجمود
  • لحظة نيستروف .
  • صور مرآة
  • "اختراق" البيانات قليلاً - لم يكن هناك سوى 1000 صورة فريدة و 5000 مجموعة من الصور => كان من الممكن توليد المزيد من البيانات (ليس 5 أهداف ، ولكن 10 ، لأن الصور تكررت) ؛

استدلالات مفيدة لتشويه الأعضاء التناسلية الأنثوية:

  • توليد الضوضاء بالقاعدة: Noise = eps * clamp (grad / grad.std ()، -2، 2)؛
  • مجموعة من CNNs من خلال ترجيح تدرجاتها ؛
  • احفظ التغييرات فقط إذا كانت تقلل من متوسط ​​الخسارة ؛
  • استخدم مجموعات الأهداف لاستهداف أكثر اتساقًا
  • استخدم فقط التدرجات التي تكون أعلى من المتوسط ​​+ std (بالنسبة لتشويه الأعضاء التناسلية الأنثوية) ؛

سمري قصير:

  • في المقام الأول كان قرار "أخرق" أكثر
  • كان لدينا الحل الأكثر "تنوعاً".
  • في المركز الثالث كان الحل "الأكثر أناقة".

حلول شاملة


حتى إذا فشلوا ، فإنهم يستحقون محاولة أخرى في المستقبل بشأن المهام الجديدة. انظر التفاصيل في المستودع ، لكننا في الواقع جربنا ما يلي:

  • هجوم C&W ؛
  • سيامي لينك نت ؛

الصورة
نموذج من طرف إلى طرف

الصورة
تسلسل الإجراءات في نموذج نهاية إلى نهاية

أعتقد أيضًا أن خسارتي جميلة.

5. المراجع ومواد القراءة الإضافية


Source: https://habr.com/ru/post/ar413775/


All Articles