داستان مدل‌های یادگیری عمیق تو دنیای واقعی: وقتی حمله‌ به مدل‌ها موقع تست جدی میشه!

اگه از علاقه‌مندان یادگیری ماشین و هوش مصنوعی باشی، حتماً شنیدی که مدل‌های یادگیری عمیق باید بتونن تو شرایطی که ندیدن هم خوب کار کنن. مثلاً یه مدل شناسایی تصویر رو در نظر بگیر که تو آزمایشگاه آموزش دیده اما بعدش میخوای تو یه کشور دیگه یا شرایط متفاوت ازش استفاده کنی؛ مدل باید سریع خودش رو با شرایط جدید وفق بده. به این کار میگن “آموزش یا تنظیم موقع تست” یا همون Test-Time Training (TTT). این رویکرد باعث میشه مدل، موقع گرفتن ورودی‌های جدید، بتونه خودش رو سریع‌تر وفق بده و رو داده‌هایی که تا حالا ندیده خودش رو ارتقا بده.

حالا قضیه جالب‌تر میشه وقتی بخوای این الگوریتم‌ها رو تو دنیای واقعی اجرا کنی. به این می‌گن محیط «Open-World»، یعنی یه جهان باز که ورودی‌هایی که به مدل میدی ممکنه خیلی با اون چیزی که مدل قبلاً دیده فرق داشته باشه. اینجا کلی ورودی مختلف داریم: بعضیاشون فقط کمی با آموزش فرق دارن (به اینا میگن weak OOD، یعنی داده‌هایی که فقط کمی متفاوتن)، بعضیاشون هم کلاً غریبه‌ان و مدل تا حالا ندیده (اینا strong OOD هستن).

واسه اینکه مدل بهتر بتونه این تفاوت‌ها رو تشخیص بده و باهاشون کنار بیاد، یه سری الگوریتم‌های جدید اومدن که اسمشون Open-World TTT (OWTTT) ـه. اینا باعث میشن که مدل بتونه بفهمه کی واقعاً داره با داده خیلی متفاوتی روبرو میشه. اما همیشه داستان به این سادگی نیست! این OWTTT خودشون گیرهای جدید پیدا کردن.

یکی از بزرگترین مشکلاتی که شناسایی شده، “حمله‌ی poisoning موقع تست” ـه. بذار راحت توضیح بدم: تو حمله poisoning معمولی، هکر یا مهاجم میاد تو مرحله آموزش مدل (یعنی وقتی مدل داره یاد می‌گیره) داده‌های آلوده یا تقلبی به مدل میده تا مدل اشتباه یاد بگیره. اما تو حمله‌ی Test-Time Poisoning، طرف اصلاً به مرحله آموزش مدل دسترسی نداره. فقط میاد موقع تست (یعنی وقتی مدل داره داده جدید رو بررسی می‌کنه) با یه سری ترفندها، داده‌های عوضی یا دستکاری‌شده به مدل می‌ده تا مدل گمراه شه و عملکردش بیاد پایین.

تو این مقاله اومدن و یه روشی برای همین حمله Test-Time Poisoning تو مدل‌های OWTTT طراحی کردن. روش کارشون این‌طوریه که چون مدل موقع تست دائماً داره خودش رو با محیط وفق می‌ده (یعنی گرادیان، یا همون میزان تغییر پارامترها موقع یادگیری، در حال تغییر کردنه)، از این تغییر استفاده می‌کنن و هر دفعه یه تغییر کوچولو تو ورودی مدل می‌دن تا مدل رو مثل بازی دومینو هل بدن سمت تصمیم اشتباه! به این کار میگن“ Adversarial Perturbation”، یعنی دستکاری کوچیک اما هدفمند تو داده ورودی تا مدل رو گول بزنی.

نتایج آزمایشی نشون داد که این حمله واقعاً می‌تونه موثر باشه و مدل‌های OWTTT خیلی راحت آسیب‌پذیر میشن. یعنی اگه به فکر راه‌های دفاعی نباشیم، نباید این مدل‌ها رو بیاریم وسط کاربردهای واقعی، چون امنیتشون حسابی زیر سواله.

خلاصه حرفشون اینه: مدل‌های OWTTT که جلوی این جور حمله‌ها مقاوم نباشن، عملاً به درد استفاده در دنیای واقعی نمی‌خورن. پس حتماً باید از پایه جلوی این حمله‌های Test-Time Poisoning رو بگیریم و تو طراحی مدل‌ها، مکانیزم دفاعی بذاریم.

این همون بخشی از پیشرفت‌های جالب هوش مصنوعیه که همیشه باید نیم‌نگاهی هم به بحث امنیتش داشته باشیم؛ وگرنه همه چی می‌تونه خیلی راحت خراب شه!

منبع: +