یه نگاه خودمونی به مقایسه مدل‌های ترکیبی هوش مصنوعی: چی تو سرشونه؟

Fall Back

سلام رفقا! امروز میخوایم با هم درباره یه موضوع خیلی باحال از دنیای هوش مصنوعی حرف بزنیم که اسمش هست «مدل ترکیبی یا همون Compositional AI Models». راستشو بخواین، خیلی هم اسم عجیب و غریبی نیست؛ منظورش اینه که مدل، داده‌ها رو می‌شکنه به تیکه‌های کوچیک‌تر (مثل کلمه‌ها) و با توجه به ساختار جمله، اونا رو کنار هم میذاره و معنی جمله رو می‌سازه.

حالا یه چارچوب جدید به اسم DisCoCirc اومده که دقیقاً کارش همین ساخت مدل‌های ترکیبی متنیه— یعنی کمک میکنه مثل بازی لگو! هر کلمه یه قطعه‌ست، ساختار جمله رو نگهداری می‌کنی، و آخرش یه خونه خوشگل می‌سازی! (البته این خونه، معنای جمله‌ست.)

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

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

نویسنده‌های این مقاله اومدن یه کار جالب کردن؛ بدون اینکه به یه چارچوب مشخص بچسبن، از «تئوری رده‌ها» (Category Theory) کمک گرفتن. حالا تئوری رده‌ها یعنی چی؟ به زبون ساده، یکی از شاخه‌های ریاضیه که درباره دسته‌بندی اشیاء و روابط بینشون حرف میزنه؛ اینا کمک می‌کنن مفاهیم ترکیبی رو خیلی تمیز و قشنگ توضیح بدن.

بعدش اومدن چند تا تست طراحی کردن واسه اینکه ببینن مدل چطور تو تعمیم ترکیبی جواب میده. این تست‌ها شامل چندتا اسم عجیب هست، که توضیحشون میدم:
– «بهره‌وری» یا Productivity: آیا مدل می‌تونه ترکیب‌های جدید بسازه؟
– «جایگزینی» یا Substitutivity: مدل می‌تونه یه کلمه رو تو ترکیب، عوض کنه و همچنان معنی رو درست تولید کنه؟
– «نظام‌داری» یا Systematicity: مدل واقعاً از قواعد پشت ترکیب کردن سر در میاره یا فقط الگوها رو حفظ کرده؟
– «زیاده‌تعمیم‌دهی» یا Overgeneralisation: مدل فقط یاد گرفته زیاد از حد تعمیم بده، حتی جایی که قانون جواب نمی‌ده؟

تو این مقاله، برای تست کردن مدل‌ها، از یه دیتاستی استفاده کردن که از وظایف بابی (bAbI tasks) گرفته شده و حسابی ازش کار کشیدن تا جنبه‌های مختلف ترکیبی بودن رو بسنجن.

حالا اصل آزمایش: اومدن دو دسته مدل رو با هم مقایسه کردن:
1. مدل‌های مبتنی بر مدارهای کوانتومی (Quantum Circuit based models) — این مدل‌ها از مفاهیم فیزیک کوانتوم استفاده می‌کنن!
2. شبکه‌های عصبی کلاسیک (Classical Neural Networks) — همون مدل‌هایی که معمولا برای متون و تصاویر به کار می‌رن.

نتایج چطور بود؟ تو تسک‌های Productivity و Substitutivity، هر دو مدل تقریباً مشابه عمل کردن و اختلافشون کمتر از ۵ درصد بود. اما وقتی رسید به Systematicity، این اختلاف حداقل ۱۰ درصد شد! یعنی یهیشون تو فهمیدن قواعد ترکیب بهتر عمل کرد. تو زیاده‌تعمیم‌دهی هم روندهاشون متفاوت بود؛ مثلاً شبکه عصبی بیشتر به دام Overfitting می‌افتاد (Overfitting یعنی مدل زیادی داده‌های آموزش رو حفظ می‌کنه و نمی‌تونه خوب به نمونه‌های جدید واکنش نشون بده).

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

خلاصه ته ماجرا اینه که مدل‌های ترکیبی نه فقط قوی‌تر و منعطف‌تر هستن، بلکه قابل فهم‌تر هم هستن؛ مخصوصاً اگه بتونیم با تست‌های متنوع، نقاط قوت و ضعفشون رو دربیاریم. جدا از اون، همیشه این سوال جالبه که آیا مدل واقعاً داره «می‌فهمه» یا فقط جملات رو حفظ کرده و حوصله آزمونای سخت رو نداره!

در کل، این مقاله یه قدم مهم تو مسیر ساخت مدل‌های زبان ترکیبی‌تر و قابل فهم‌تره، و نشون می‌ده برای مقایسه مدل‌های مختلف ترکیبی، باید به جز دقت، به قدرت تعمیم و تفسیرشون هم فکر کنیم!
منبع: +