Underspecification: از مشکلات اساسی یادگیری ماشینی که کمتر به آن پرداخته شده است
تابع لاس خوب لزوماً به معنی یادگیری خوب نیست
همه مدلهای یادگیری ماشینی در آزمایشگاه کامپیوتر متولد شده و قبل از پیادهسازی، تعریف، آزمایش و بازطراحی میشوند؛ سپس بعد از آموزش مجدد، به دقت تنظیم شده و در نهایت دوباره مورد آزمایش قرار میگیرند.
پس از آن، هدف و مأموریت خود را در حوزههای گوناگون (مدلسازی همهگیرشناختی، معاملات بازار سهام، پیشنهاد محصولات، تشخیص حملات سایبری و بسیاری موارد دیگر) به انجام میرسانند؛ اما متأسفانه، واقعیت این است که موفقیت مدلها در آزمایشگاه لزوماً به معنای موفقیت آنها در دنیای واقعی نیست؛ این نکته، حتی در شرایطی که مدل روی دادههای آزمایشی عملکرد خوبی از خود نشان میدهد، همچنان صدق میکند.
مدلهای یادگیری ماشینی که روی کامپیوترها طراحی میشوند، تا مسئلهای را در دنیای واقعی حل کنند، اغلب با شکست مواجه میشوند. این یک مشکل جدی است که در پژوهشها و مباحثات علمی کمتر به آن پرداخته شده است. دلایلی که برای توجیه این مشکل مطرح میکنند معمولاً به معرف نبودن دادههای آموزشی یا مواردی از این دست بر میگردد.
با این حال، در ماه نوامبر 2020، یک گروه پژوهشی توضیح جامعتر و معتبرتری برای این موضوع ارائه دادند: underspecification. این نویسندگان معتقدند با اینکه underspecification پیش از این هم مورد مطالعه قرار گرفته است: «در پیشینه پژوهشها، به خلأ بین آموزش مدل در آزمایشگاهModel training in the lab (iid) و تعمیمپذیری آن، متناسب با کاربردی که دارد، توجهی نشده است.»
برای مثال، فرض کنید میخواهیم با استفاده از یادگیری ماشینی، حداکثر تعداد پرندگانی را که در آینده در یک باغوحش وجود خواهند داشت، پیشبینی کنیم.
گام اول، ساخت مدلی است که تعداد پرندگان حاضر در باغوحش را طی x سال گذشته (از زمان بازگشایی باغوحش) مدلسازی کند. مدلی که الگوریتم ما تولید میکند یک مدل درجه چهارquartic با سه اکسترممExtrema است. با توجه به نمودار میتوان گفت تعداد پرندگان این باغوحش از طریق تولیدمثل افزایش مییابد و سپس ناگهان (احتمالاً به دلیل نوعی بیماری) افت میکند.
گام بعدی، پیدا کردن مقدار بیشینه این مدل است. بدین منظور یک بهینهسازOptimizer میسازیم که از یک نقطه تصادفی شروع میشود و از طریق مشتقگیری میفهمد، در چه جهتی باید حرکت کند.
در این مثال، بهینهسازِ تعریفشده میتواند به سمت راست و چپ حرکت کند. اگر به سمت چپ حرکت کند، تعداد پرندگان افزایش مییابد و اگر به سمت راست برود، تعداد پرندگان کاهش مییابد. از آنجایی که هدف مسئله پیدا کردن بیشترین تعداد پرندگان است، بهینهساز به سمت چپ حرکت میکند.
آنچه در تصویر بالا مشاهده میکنید، شکل سادهسازی شدهای از نحوه کار بهینهساز است. با این حال، یک نکته کلیدی میتوان از آن دریافت: مقداردهی تصادفی اولیه، نقش پررنگی در بهینهسازی دارد.
در نهایت، مدل حداکثر تعداد پرندگان حاضر در باغوحش را نشان میدهد؛ این آمار مربوط به 948/1 سال قبل از تأسیس باغوحش است!
واضح است که نتیجهگیری مدل اشتباه بوده است. دلیل هم روشن است: دامنه واقعی پدیدهای که میخواستیم مدلسازی کنیم را مشخص نکردیم. بهعبارت دیگر، باید نوعی محدوده در کد مدل قرار میدادیم، تا بهینهساز تنها در بازه سالهای معتبر جستوجو کند.
optimizer.find_maximum(search_range="0<=x")
با استفاده از این کد، مدلسازی پدیده رشد جمعیت پرندگان (و کاهش ناگهانی آن) بهبود مییابد. در واقع، با تعیین چنین محدودههایی، میتوان پاسخهایی را که حاصل بازنماییهای مصنوعی هستند (همچون حضور پرندگان قبل از ایجاد باغوحش) حذف کرد.
در این مثال، تشخیص اشتباه بودن استنتاج مدل و تنظیم یک محدوده بهمنظور اصلاح این اشتباه، کار دشواری نبود. چون مدل کار خاصی انجام نمیدهد و فقط ورودی (سال) را میگیرد و بر اساس معادلات چندجملهایPolynomial ، جمعیت را پیشبینی میکند.
انجام این کار روی شبکههای عصبی بزرگ کار دشوارتری است؛ زیرا احتمال بروز underspecification در این شبکهها بیشتر است. علاوه بر این، شبکههای عصبی بزرگ را اغلب برای مدلسازی پدیدههایی بسیار پیچیدهتر از تعداد پرندگان یک باغوحش به کار میبرند، پدیدههایی همچون تشخیص الگوی رفتاری میلیونها کاربر یا ویژگیهای متمایزکننده هزاران چهره.
بهطور خلاصه میتوان گفت یک مشکل (که معمولاً پیدا کردن بهترین پارامترهای ممکن برای یک شبکه عصبی است) و چند راهکار (ترکیب پارامترهای شبکه به طرق مختلف) داریم. هدف، دستیابی به پارامترهایی است که هم در مرحله آموزش و هم در مرحله اعتبارسنجی، به تابع لاس خوبی دست یابند.
Underspecification زمانی پیش میآید که مشکل فقط یک راهحل دارد، اما روشی که برای رسیدن به این راهحل در پیش میگیریم، چندین خروجی (راهحل) به دست میدهد.
بهعبارت دیگر، یک راهحل واقعی و صحیح برای مدلسازی پدیده موردنظر وجود دارد، اما چون فرایندی که به پیدا کردن آن راهحل منتهی میشود، خیلی پیچیده است، نمیتوانیم شرایط خاصی برای آن تعیین کنیم. به همین دلیل، به جای یک راهحل بهینه، چندین راهحل به دست میآوریم که همگی بر اساس معیارهای ما مناسب به نظر میرسند.
فرض کنید یک شبکه عصبی داریم که با استفاده از آن میخواهیم مناسبترین ویدئوی ممکن را به یک کاربر مشخص پیشنهاد دهیم. ورودی این شبکه رفتار کاربر است و خروجی آن یک مقدار احتمال (بین 0 تا 1) که نشان میدهد کاربر از تماشای یک ویدئو چقدر لذت خواهد بود؛ این مقدار احتمال باید برای دهها تا هزاران ویدئو محاسبه شود. احتمالاً یک مجموعه وزن وجود دارد که میتواند بهدرستی فرایند تفکر کاربر هنگام تماشای ویدئو را ثبت کند، اما تعداد مجموعههایی که بتوانند بهصورت مصنوعی (هرچند کارآمد) ورودی را به هدف متصل کنند فراوان است.
برای درک بهتر، فرض کنید مسئلهای که باید حل کنیم معادله ؟=1+1 است. راهحل طبیعی این است که بفهمیم نماد x+y بهمعنی «جمع دو عدد» است و پاسخ 2 را به دست آوریم. راهحل مصنوعی این است که بگوییم x+y یعنی (2x)/y. این تعریف هم به پاسخ 2=1+1 منتهی میشود، اما آن عملیاتی که مدنظر داشتیم را انجام نمیدهد و به همین دلیل، برای موقعیتها یا پدیدههای دیگر کاربردی نخواهد داشت.
وقتی با یک شبکه عصبی بزرگ و پیچیده سروکار داریم، حتی با اجرای تکنیکهایی مثل منظمسازی، نباید انتظار داشته باشیم ناگهان به راهحلی ساختگی مثل (2x)/y برسد.
راهحلهای دیگر شاید در محیط آزمایشگاهی خوب بهنظر برسند، چون راهحلهای مصنوعی هستند (مثل حداکثر تعداد پرندگان که مربوط به 948/1 سال قبل از تأسیس باغوحش بود). با این حال، وقتی آنها را در دنیای واقعی به کار ببریم، عملکرد خوبی نخواهند داشت، چون بدون اینکه مکانیزمهای زیربنایی خود پدیده را بیاموزند، صرفاً یک راهحل مصنوعی دیگر ارائه میدهند. بهعبارتی، در شرایط دنیای واقعی، به جای جمع اعداد، از راهحل مصنوعی دیگری مثل (x+y+2)/2 استفاده خواهند کرد.
بر همین اساس میتوان گفت specification نقش یک شرط Condition یا تثبیتکننده Fixing را برای پارامترها ایفا میکند. بنابراین در مدلی که پارامترهای تثبیتشده فراوانی داشته باشد، underspecification پایینتر خواهد بود؛ اما مدلهای بزرگ با پارامترهای زیاد (مثل شبکههای عصبی عمیق) به احتمال بیشتری دچار underspecification میشوند.
علاوه بر این، مقداردهی اولیه تصادفی نیز بر underspecification تأثیر میگذارد. راهحلهای فراوانی وجود دارند که از نظر بهینهساز خوب هستند و بهینهساز نمیتواند تشخیص دهد کدام یک از آنها واقعاً پدیده موردنظر را اندازه میگیرد؛ به همین دلیل، نمیتوان تعیین کرد آیا مدل پس از آموزش واقعاً میتواند دادهها را بفهمد یا خیر. پس میتوان گفت چیزی که موفقیت یا شکست مدل را تعیین میکند، یک عامل کاملاً تصادفی است.
به همین دلیل است که مدلها میتوانند تابع لاس مشابهی روی دادههای آموزشی و آزمایشی داشته باشند، اما نتیجه پیادهسازی آنها چیز بسیار متفاوتی باشد.
Underspecification در روال پردازشی یادگیری ماشینی، اطمینان به ثبات عملکرد مدلهای خوب را هم از بین میبرد.
Underspecification در بسیاری از سطوح یادگیری ماشینی رخ میدهد. پژوهشگرانی که مشکل underspecification را در این بافت معرفی کردهاند، روی انواع مدلها و در شرایط گوناگون، «آزمایشهای تنش» را انجام دادهاند؛ در آزمایشهای تنشStress tests، خروجی، بر اساس ورودیهایی که به دقت طراحی شدهاند، مورد بررسی قرار میگیرد، تا سوگیریهای مدل کشف شود.
Underspecification در انواع مدلها، از شبکههای عصبی کوچک گرفته تا شبکههای پیچشی عمیق و در مسائل گوناگون، از ژنومیک تا همهگیرشناختی و حتی پردازش زبان طبیعی، به چشم میخورد. این امر، شناختی را که از یادگیری این مدلها داشتهایم، تحت تأثیر قرار میدهد.
برای مثال، سؤالی که مطرح میشود این است که آیا سیستمهای NLP واقعاً اصول زبانی عمومی (مثل دستور زبان) را یاد میگیرند یا از راهحلهای مصنوعی میانبر استفاده میکنند؟ با وجود ادبیات غنی این حوزه، نتایج آزمایشهای تنش روی این سیستمها، یادگیری حتی عمیقترین مدلهای NLP را هم زیر سؤال برده است.
هدف این است که برای خدمترسانی به انسانها، مدلهایی ساخته شوند که قادر به درک زبان انسانی باشند؛ اما مدلهای NLP برای حل مسائل، بر راهحلهای میانبر تکیه دارند، نه درک زبان. این مدلها شاید در محیط آزمایشگاهی نتایج خوبی نشان دهند، اما به محض پیادهسازی در دنیای واقعی به مشکل بر میخورند.
از آنجایی که بیشتر کاری که شبکههای عصبی انجام میدهند مانند یک «جعبه سیاه» میماند، بسیاری از عملیاتهای این شبکهها همچنان ناشناخته باقی ماندهاند. به همین دلیل، Underspecification را میتوان موضوع نسبتاً جدید و البته مهمی دانست. نحوه حل این مشکل نهتنها از نظر عملی و برای ثبات مدل اهمیت دارد، بلکه به متخصصان کمک میکند مدلهایی بسازند که واقعاً مکانیزمهای اصلی را میآموزند، نه میانبرها و راهحلهای ساختگی و بیمعنی را.
هر چه در این عرصه پیش برویم، بررسی و در نتیجه حل این مسئله اهمیت بیشتری مییابد.
مقالهای که در این لینک مشاهده میکنید underspecification در اجرای مدلها را توضیح داده است. اگر به این موضوع علاقهمند شدهاید، به این مقالات هم نگاهی بیندازید:
- چطور یک شبکه عصبی تشخیصگر تصویر را به صورت سیستماتیک فریب دهیم؟ این مقاله در خصوص نقاط ضعف روشهای یادگیری CNN سخن میگوید و به این میپردازد که رویکرد مصنوعی استخراج اطلاعات (از طریق کانولوشنها) چطور به تعمیمپذیری شبکهها آسیب میرساند.
- رویکردی که به شبکههای عصبی پیچشی داریم را باید بازنگری کنیم! با حفظ احترام برای یان لیکانYann LeCun بزرگ، باید گفت که CNNها تنها یک گام روبهجلو در مسیر تشخیص تصویر بودند نه مقصد نهایی. این مقاله به روشهایی میپردازد که احتمال سوءاستفاده و خطا در CNNها را کاهش میدهند. علاوه بر این، طراحیهای بسیار متفاوتی برای حل مسئله تشخیص تصویر معرفی میکند ( همچون شبکههای کپسولCapsule networks).
- ارتقای عملکرد شبکههای عصبی بدون نیاز به آموزش؛ در این مقاله سؤالاتی از این دست بررسی میشود: یادگیری شبکههای عصبی در اثر آموزش واقعاً چقدر ارزشمند است؟ اگر شبکهها بیش از حد لازم پارامتر داشته باشند چه اتفاقی میافتد؟ به نظر میرسد که از طریق هرس هوشمندانه شبکه، میتوان عملکرد را بدون نیاز به هر گونه آموزشی ارتقا داد. در این مقاله، فرضیه بلیت لاتاری نیز توضیح داده میشود؛ طبق این فرضیه، شبکههای عصبی با برگزاری یک لاتاری بزرگ، زیرشبکهای که مقداردهی اولیه آن مناسب بوده (برنده لاتاری) را پیدا میکنند و بدین طریق دادهها را بهخوبی میآموزند.