خطای دید،‌ این بار در ماشین‌ها

نویسنده: رسول اخوان مهدوی

امروزه تکنولوژی ما را احاطه کرده است. گوشی‌های موبایل چهره‌مان را با دقت بالا تشخیص می‌دهند، ماشین‌های خودران در حال افزایش هستند و سیستم‌های حساس با دقت خارق‌العاده‌ای صدای افراد را برای دادن اجازۀ دسترسی تشخیص می‌دهند. شاید مهم‌ترین دلیل پیشرفت این همه تکنولوژی، ترویج یادگیری ماشین‌، یادگیری عمیق و شبکه‌های عصبی باشد.

یادگیری ماشین حوزه‌ای از علوم کامپیوتر است که به ماشین‌ها یاد می‌دهد به کمک داده‌های جمع‌آوری شده، قوانین حاکم بر محیط را استخراج کنند و به کمک آن قوانین، امور پیچیده‌ای را انجام دهند و پیش‌بینی‌هایی دربارۀ آینده بکنند. به عنوان مثال، با دیدن تعداد زیادی عکس از پانداها، یک ماشین می‌تواند یاد بگیرد پانداها چه ویژگی‌هایی دارند و چطور آن‌ها را تشخیص دهد. یادگیری عمیق و شبکه‌های عصبی دو روش یادگیری ماشینی هستند که به کمک آن‌ها می‌توان امور بسیار پیچیده مانند تشخیص تصاویر را به ماشین‌ها آموزش داد. در سری متن‌های «پرونده‌ی یادگیری ماشین برای نوجوانان» (قسمت اول و دوم) که در نشریۀ نیم‌خط و صفحه ویرگول رستایی‌ها منتشر شده، دربارۀ این تکنولوژی صحبت شده است.

به واسطۀ تکنولوژی‌های معرفی‌­شده در بندهای قبل، توانستیم با کمک کامپیوتر‌ها کارهایی را انجام دهیم که پیش از آن انجام آن‌ها توسط یک ماشین محال به نظر می‌رسید. اما حد واقعی این تکنولوژی‌ها دقیقا چقدر است؟ آیا یک شبکه عصبی آن‌قدر که به نظر می‌آید باهوش است؟

بیایید با یک مثال شروع کنیم. به نظر شما دو عکس زیر تفاوتی دارند؟

تصویر 1
تصویر 1

البته که جواب بله است؛ فرق اندکی دارند. ولی شاید بهتر باشد بپرسیم آیا تفاوتی در این دو تصویر احساس می‌کنید یا نه؟ احتمالا همه توافق داشته باشیم که هر دو تصویر، فارغ از تفاوت‌های کوچک، عکس پاندا هستند. اما چند محقق در یک آزمایش نشان دادند که یک شبکه عصبی چطور ممکن است به صورت فاحشی اشتباه کند!

تصویر زیر رابطۀ این دو عکس را نشان می‌دهد. تصویر سمت راست از اعمال تغییرات بسیار کوچکی بر تصویر سمت چپ به دست آمده است. این تغییرات به قدری جزئی هستند که یک انسان آن‌ها را تشخیص نمی‌دهد و حتی اگر تشخیص دهد، باز هم قبول می‌کند که هر دو عکس پاندا هستد.

تصویر ۲: عکس سمت راست از اعمال تغییرات بسیار کوچکی به تصویر سمت چپ به دست آمده است. شبکه عصبی تصویر سمت چپ را پاندا تشخیص می‌دهد ولی تصویر راست را نوعی میمون (gibbon) می‌شناسد.
تصویر ۲: عکس سمت راست از اعمال تغییرات بسیار کوچکی به تصویر سمت چپ به دست آمده است. شبکه عصبی تصویر سمت چپ را پاندا تشخیص می‌دهد ولی تصویر راست را نوعی میمون (gibbon) می‌شناسد.


در این آزمایش ابتدا یک شبکۀ عصبی آموزش داده شده که بتواند تصاویر پاندا را با دقت بالا تشخیص دهد؛ تصاویری شبیه به عکس سمت چپ که با دقت نسبتاً خوبی توسط شبکۀ عصبی به عنوان پاندا شناخته می‌شوند. سپس طی یک سری محاسبات دقیق، عکس سمت راست را از روی عکس سمت چپ به دست آوردند. این عکس از نظر یک انسان هنوز بسیار شبیه پاندا است. ولی این بار شبکۀ عصبی تصویر را متعلق به نوعی میمون (gibbon) تشخیص داد، آن هم با اطمینان بالا!

این پدیده نشان داد شبکه‌های عصبی بر خلاف تصور ما به شدت حساس هستند و نحوه کارشان با آنچه ما انتظار داریم تفاوت‌های زیادی دارد. مثلا این نمونه نشان داد که احتمالاً شبکۀ عصبی آموزش­‌داده­‌شده به برخی از پیکسل‌های عکس توجه بیش از حد دارد و تغییر آن پیکسل‌های مهم می‌تواند نظر شبکه را دربارۀ عکس به طور کامل عوض کند، بی‌آنکه عکس تغییر ملموسی کرده باشد. این با روشی که ما به عنوان انسان برای درک تصاویر به کار می‌­بریم کاملا متفاوت است. محققان مطالعات زیادی کرده‌اند تا ببینند دلیل این پدیده چیست و چگونه می‌توان تا حدی با آن مقابله کرد، که البته در این متن به آن‌ها نمی‌پردازیم. اما به جای آن بهتر است به پیامدهای این پدیده نگاه کنیم.

شاید یک سیستم تشخیص پاندا به نظر بسیار بی‌ضرر بیاید، حتی اگر در مواردی مثل مورد بالا اشتباه کند. به یاد بیاورید که شبکۀ عصبی آموزش‌­داده­‌شده در مثال بالا هنوز در تشخیص پانداها توانایی بالایی دارد و عکس‌هایی که این‌­چنین دستکاری شده باشند به صورت طبیعی یافت نمی‌شوند. اما امروزه شبکه‌های عصبی در شرایطی بسیار حیاتی‌تر هم استفاده می‌شوند؛ مانند ماشین‌های خودران. ماشین خودران با پردازش تصویر دریافتی از اطراف، تصمیم می‌گیرد و عمل می‌کند. به عنوان مثال با دیدن تابلوی ایست، بر سر یک چهارراه توقف می‌کند و یا با توجه به تابلوی محدودیت سرعت، سرعت خود را تنظیم می‌کند. اما اگر یک تابلو مشابه مثال بالا دستکاری شود چطور؟ عکس زیر نمونه‌ای از چنین پدیده‌ای در دنیای واقعی است. چند محقق توانستند با چسباندن برچسب‌هایی ساختگی بر روی تابلوی ایست، کاری کنند که یک سیستم تشخیص تصویر نسبت به تابلو کاملا نابینا شود و آن را تشخیص ندهد.

تصویر 3
تصویر 3

خطرات چنین اشتباهاتی از سوی یک ماشین خودران واضح است. عدم تشخیص یک تابلوی ایست می‌تواند باعث بروز یک حادثه شود. اگر احتمال وجود افراد خرابکار را هم در نظر بگیریم، چنین فردی می‌تواند با انجام محاسبات مورد نیاز، تغییرات لازم را به علائم رانندگی بدهد و برای دیگران خطر ایجاد کند، بدون آنکه کسی متوجه تغییر ملموسی در علائم رانندگی شود. این قبیل شرایط به ما نشان می‌دهد که بررسی دقیق‌تر این مثال‌های خاص چقدر می‌تواند مهم باشد.

به این قبیل مثال‌هایی که می‌توانند یک سیستم هوشمند را به اشتباه بیندازند، adversarial examples گفته می‌شود. اغلب این مثال‌ها با یک نگاه بدبینانه و خرابکارانه به سیستم پیدا می‌شوند، اما می‌توانند کمک زیادی به درک سازوکار شبکه‌های عصبی کنند. مطالعۀ این دست مثال‌ها به قدری مهم شده است که حوزه‌ای به نام امنیت یادگیری ماشین به بررسی این مثال‌ها و میزان امنیت مدل‌ها در شرایط پیش‌بینی‌­نشده می‌پردازد.

این مثال‌ها گرچه همگی دربارۀ سیستم‌های کامپیوتری هستند، اما ما را یاد یک پدیده در دنیای واقعی هم می‌اندازند: خطای دید. حتی ذهن انسان هم با همۀ پیچیدگی‌هایش، برخی مواقع می‌تواند فریب صحنه‌هایی را بخورد که با دقت طراحی شده‌اند تا ذهن انسان را به چالش بکشند. تصویر ۳ تنها یک نمونه از انبوهی از این خطاهای دید است.

سیستم‌های هوشمند در زندگی انسان‌ها تغییرات غیرقابلِ‌­انکاری ایجاد کرده‌اند، اما خطای دید به عنوان یک پدیدۀ طبیعی به ما نشان می­‌دهد که باید انتظاراتی واقع‌بینانه از سیستم‌های هوشمند داشته باشیم.