التعلم الآلي العدائي: كيفية مهاجمة نماذج ML والدفاع عنها

نشرت: 2022-03-11

في الوقت الحاضر ، تُستخدم نماذج التعلم الآلي في رؤية الكمبيوتر في العديد من تطبيقات العالم الواقعي ، مثل السيارات ذاتية القيادة ، والتعرف على الوجوه ، وتشخيص السرطان ، أو حتى في متاجر الجيل التالي من أجل تتبع المنتجات التي يأخذها العملاء من الرفوف. يمكن شحن البطاقة عند المغادرة.

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

في عام 2012 ، أصبح Alex Krizhevsky et altri أول من أظهر كيفية تنفيذ شبكة تلافيفية عميقة ، والتي أصبحت في ذلك الوقت أحدث طراز في تصنيف الكائنات. منذ ذلك الحين ، تم نشر العديد من التحسينات على نموذجهم الأصلي ، كل منها يعطي زيادة في الدقة (VGG ، ResNet ، Inception ، إلخ). في الآونة الأخيرة ، تمكنت نماذج التعلم الآلي من تحقيق دقة بشرية وحتى أعلى من دقة الإنسان في العديد من مهام رؤية الكمبيوتر.

قبل بضع سنوات ، كان الحصول على تنبؤات خاطئة من نموذج التعلم الآلي هو القاعدة. في الوقت الحاضر ، أصبح هذا هو الاستثناء ، وتوقعنا أن يعملوا بشكل لا تشوبه شائبة ، خاصة عندما يتم نشرهم في تطبيقات العالم الحقيقي.

حتى وقت قريب ، كانت نماذج التعلم الآلي عادةً ما يتم تدريبها واختبارها في بيئة معملية ، مثل مسابقات التعلم الآلي والأوراق الأكاديمية. في الوقت الحاضر ، حيث يتم نشرها في سيناريوهات العالم الحقيقي ، أصبحت الثغرات الأمنية القادمة من أخطاء النموذج مصدر قلق حقيقي.

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

أمثلة على تعلم الآلة العدائية

لنبدأ بسؤال أساسي: ما هي أمثلة التعلم الآلي العدائية؟

أمثلة الخصومة هي مدخلات ضارة مصممة عمداً لخداع نموذج التعلم الآلي.

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

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

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

الضوضاء المضافة إلى الصورة الأولى ليست عشوائية ولكنها ناتجة عن تحسين دقيق من قبل المهاجم.

كمثال ثان ، يمكننا إلقاء نظرة على كيفية تجميع أمثلة معادية ثلاثية الأبعاد باستخدام طابعة ثلاثية الأبعاد. تُظهر الصورة أدناه مناظر مختلفة لسلحفاة ثلاثية الأبعاد طبعها المؤلفون والتصنيفات الخاطئة بواسطة نموذج Google Inception v3.

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

كيف يمكن لأحدث النماذج ، التي تتميز بدقة تصنيف أعلى من البشر ، أن ترتكب مثل هذه الأخطاء التي تبدو غبية؟

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

صورة تظهر خداع بصري.

ما تكشفه هذه الأمثلة المختلفة أيضًا هو أن نماذج التعلم الآلي والرؤية البشرية يجب أن تستخدم تمثيلات داخلية مختلفة تمامًا عند فهم ما هو موجود في الصورة.

في القسم التالي ، سنستكشف استراتيجيات لتوليد أمثلة معادية.

كيفية توليد أمثلة الخصومة

لنبدأ بسؤال بسيط: ما هو المثال العدائي؟

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

لنفترض أن المهاجم لديه معلومات كاملة حول النموذج الذي يريد مهاجمته. هذا يعني بشكل أساسي أن المهاجم يمكنه حساب دالة الخسارة للنموذج $ J (\ theta، X، y) $ حيث $ X $ هي صورة الإدخال و $ y $ فئة المخرجات و $ \ theta $ هي الطبقة الداخلية معلمات النموذج. عادة ما تكون وظيفة الخسارة هذه هي احتمال الخسارة السلبي لطرق التصنيف.

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

طريقة L-BFGS

وجدنا $ {x} '$ للمثال العدائي من خلال حل مشكلة التحسين المقيدة بالمربع التالية:

$$ \ start {matrix} \ text {تصغير} c \ cdot \ left \ | x - {x} '\ right \ | ^ 2_2 + \ text {loss} _ {f، 1} {x}' \\ \ text {like that} {x} '\ epsilon \ left [0، 1 \ right ] ^ n \ end {matrix} $$

حيث $ c> 0 $ هي معلمة يجب حلها أيضًا. حدسيًا ، نبحث عن الصور المتعارضة $ {x} '$ بحيث يكون المجموع المرجح للتشوه فيما يتعلق بالصورة النظيفة ( $ \ left | x - {x}' \ right | $ ) والخسارة فيما يتعلق بالصورة فئة خاطئة هي الحد الأدنى الممكن.

بالنسبة للنماذج المعقدة مثل الشبكات العصبية العميقة ، لا تحتوي مشكلة التحسين على حل مغلق الشكل ، وبالتالي يجب استخدام الأساليب العددية التكرارية. وبسبب هذا ، فإن طريقة L-BFGS بطيئة. ومع ذلك ، فإن معدل نجاحها مرتفع.

علامة التدرج السريع (FGS)

باستخدام طريقة علامة التدرج السريع (FGS) ، نقوم بعمل تقريب خطي لدالة الخسارة حول النقطة الأولية ، معطى بواسطة متجه الصورة النظيفة $ X $ والفئة الحقيقية $ y $ .

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

وبهذه الطريقة نضمن أن يكون الاختلاف من حيث البكسل بين الصورة الأولية والصورة المعدلة دائمًا أصغر من إبسيلون (هذا الاختلاف هو معيار L_infinity).

$$ X ^ {adv} = X + \ epsilon \ text {sign} \ left (\ bigtriangledown_x J \ left (X، y_ {true} \ right) \ right) $$

يمكن حساب التدرج بكفاءة باستخدام backpropagation. هذه الطريقة هي واحدة من أسرع الطرق وأكثرها تكلفة من الناحية الحسابية. ومع ذلك ، فإن معدل نجاحها أقل من الطرق الأكثر تكلفة مثل L-BFGS.

قال مؤلفو Adversarial Machine Learning at Scale أن معدل نجاحه يتراوح بين 63٪ و 69٪ في أعلى 1 توقع لمجموعة بيانات ImageNet ، مع إبسيلون بين 2 و 32. بالنسبة للنماذج الخطية ، مثل الانحدار اللوجستي ، طريقة علامة التدرج السريع هو بالضبط. في هذه الحالة ، أفاد مؤلفو ورقة بحثية أخرى حول أمثلة الخصومة أن نسبة النجاح 99٪.

علامة التدرج السريع التكراري

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

$$ X ^ {adv} _0 = X، X ^ {adv} _ {N + 1} = Clip_ {X، \ epsilon} \ left \ {X ^ {adv} _ {N} + \ alpha \ text {sign } \ left (\ bigtriangledown_X J \ left (X ^ {adv} _N، y_ {true} \ right) \ right) \ right \} $$

التقنيات الأخرى ، مثل تلك المقترحة في ورقة نيكولاس كارليني هي تحسينات على L-BFGS. كما أن حسابها مكلف ، ولكن معدل نجاحها مرتفع.

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

هجوم الصندوق الأسود

لاحظ الباحثون مرارًا وتكرارًا أن الأمثلة العدائية تنتقل جيدًا بين النماذج ، مما يعني أنه يمكن تصميمها لنموذج مستهدف A ، لكنها في النهاية تكون فعالة ضد أي نموذج آخر تم تدريبه على مجموعة بيانات مماثلة.

هذا هو ما يسمى بخاصية قابلية النقل للأمثلة العدائية ، والتي يمكن للمهاجمين استخدامها لصالحهم عندما لا يكون لديهم وصول إلى معلومات كاملة حول النموذج. يمكن للمهاجم إنشاء أمثلة معادية باتباع الخطوات التالية:

  1. استعلم عن النموذج المستهدف باستخدام المدخلات $ X_i $ لـ $ i = 1… n $ وقم بتخزين المخرجات $ y_i $ .
  2. باستخدام بيانات التدريب $ (X_i، y_i) $ ، قم ببناء نموذج آخر يسمى النموذج البديل.
  3. استخدم أيًا من خوارزميات المربع الأبيض الموضحة أعلاه لتوليد أمثلة معادية للنموذج البديل. سينتقل الكثير منهم بنجاح ويصبحون أمثلة معادية للنموذج المستهدف أيضًا.

يتم تقديم تطبيق ناجح لهذه الإستراتيجية مقابل نموذج التعلم الآلي التجاري في ورقة مؤسسة رؤية الكمبيوتر هذه.

الدفاعات ضد أمثلة الخصومة

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

يتمثل الإجراء الأول السهل لحماية نموذج التصنيف الخاص بك في بيئة الإنتاج في تجنب إظهار درجات الثقة لكل فئة متوقعة. بدلاً من ذلك ، يجب أن يوفر النموذج فقط أعلى فئات $ N $ (على سبيل المثال ، 5) على الأرجح. عندما يتم توفير درجات الثقة للمستخدم النهائي ، يمكن للمهاجم الضار استخدامها لتقدير التدرج اللوني لوظيفة الخسارة رقميًا. بهذه الطريقة ، يمكن للمهاجمين صياغة هجمات الصندوق الأبيض باستخدام ، على سبيل المثال ، طريقة إشارة التدرج السريع. في ورقة مؤسسة Computer Vision Foundation التي اقتبسناها سابقًا ، أوضح المؤلفون كيفية القيام بذلك مقابل نموذج التعلم الآلي التجاري.

دعونا نلقي نظرة على دفاعين تم اقتراحهما في الأدبيات.

التقطير الدفاعي

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

يقدم التقطير الدفاعي متغيرًا جديدًا $ T $ ، يسمى درجة الحرارة ، إلى آخر طبقة softmax في الشبكة:

$$ \ text {softmax} \ left (x، T \ right) _i = \ frac {e ^ {x_i / T}} {\ Sigma_j e ^ {x_j / T}} $$

لاحظ أنه بالنسبة إلى T = 1 ، لدينا وظيفة softmax المعتادة. كلما زادت قيمة $ T $ ، كلما قل تدرج الخسارة فيما يتعلق بالصور المدخلة.

يستمر التقطير الدفاعي على النحو التالي:

  1. تدريب شبكة ، تسمى شبكة المدرسين ، بدرجة حرارة $ T »1 $ .
  2. استخدم شبكة المعلمين المدربين لإنشاء ملصقات ناعمة لكل صورة في مجموعة التدريب. التسمية المرنة للصورة هي مجموعة الاحتمالات التي يعينها النموذج لكل فئة. على سبيل المثال ، إذا كانت الصورة الناتجة ببغاء ، فقد يقوم نموذج المعلم بإخراج ملصقات ناعمة مثل (90٪ ببغاء ، 10٪ باباجايو).
  3. قم بتدريب شبكة ثانية ، الشبكة المقطرة ، على الملصقات المرنة ، باستخدام درجة الحرارة مرة أخرى $ T $ . يعد التدريب باستخدام الملصقات اللينة تقنية تقلل من التجهيز الزائد وتحسن دقة خارج العينة للشبكة المقطرة.
  4. أخيرًا ، في وقت التنبؤ ، قم بتشغيل شبكة التقطير بدرجة حرارة $ T = 1 $ .

يعمل التقطير الدفاعي على حماية الشبكة بنجاح من مجموعة الهجمات التي تمت محاولتها في التقطير كدفاع عن الاضطرابات العدائية ضد الشبكات العصبية العميقة .

صورة لجدول يوضح معدل النجاح بناءً على درجة حرارة التقطير. بشكل عام ، كلما ارتفعت درجة الحرارة ، انخفض معدل النجاح لكل من عينات الخصومة MNIST و CIFAR10.

لسوء الحظ ، قدمت ورقة بحثية لاحقة أعدتها جامعة كاليفورنيا ، Berkeley reserachers مجموعة جديدة من أساليب الهجوم التي تهزم التقطير الدفاعي. هذه الهجمات هي تحسينات على طريقة L-BFGS التي تثبت أن التقطير الدفاعي ليس حلاً عامًا ضد الأمثلة العدائية.

تدريب الخصومة

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

من الناحية المثالية ، نود استخدام أي طريقة هجوم معروفة لتوليد أمثلة معادية أثناء التدريب. ومع ذلك ، بالنسبة لمجموعة بيانات كبيرة ذات أبعاد عالية (مثل ImageNet) ، فإن أساليب الهجوم القوية مثل L-BFGS والتحسينات الموضحة في ورقة بيركلي مكلفة للغاية من الناحية الحسابية. من الناحية العملية ، يمكننا فقط استخدام طريقة سريعة مثل FGS أو يمكن استخدام FGS التكراري.

يستخدم التدريب العدواني وظيفة خسارة معدلة وهي مجموع مرجح لوظيفة الخسارة المعتادة في الأمثلة النظيفة ووظيفة الخسارة من الأمثلة العدائية.

$$ Loss = \ frac {1} {\ left (m - k \ right)} \ left (\ sum_ {i \ epsilon CLEAN} {L \ left (X_i | y_i \ right) + \ lambda} \ sum_ {i \ epsilon ADV} {L \ left (X * {adv} _i | y_i \ right)} \ right) $$

أثناء التدريب ، لكل دفعة من الصور النظيفة $ m $ ، نقوم بتوليد $ k $ صور متخاصمة باستخدام الحالة الحالية للشبكة. نقوم بإعادة توجيه نشر الشبكة للحصول على أمثلة نظيفة وخصومة ونحسب الخسارة بالصيغة أعلاه.

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

الاستنتاجات والخطوات الأخرى

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

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

يعد العثور على هجمات جديدة واستراتيجيات دفاع أفضل مجالًا نشطًا للبحث. مطلوب المزيد من العمل النظري والتجريبي لجعل نماذج التعلم الآلي أكثر قوة وأمانًا في تطبيقات العالم الحقيقي.

أنا أشجع القارئ على تجربة هذه التقنيات ونشر نتائج جديدة مثيرة للاهتمام. علاوة على ذلك ، فإن أي تعليقات بخصوص هذا المقال هي موضع ترحيب كبير من قبل المؤلف.

متعلق ب:
  • منطق الصوت ونماذج الذكاء الاصطناعي الرتيبة
  • العديد من تطبيقات الانحدار المتدرج في TensorFlow