یک مدل ذهنی کاربردی برای تعریف مسئله و پیشبرد پژوهش در هوش مصنوعی
خیلی راحته که فکر کنیم پژوهش توی هوش مصنوعی یعنی مقاله بخونیم، ایدههای مختلف رو امتحان کنیم، آزمایش انجام بدیم و سعی کنیم نتایج بهتری بگیریم.
ولی پژوهش فقط این نیست که چی میسازیم؛ اینکه از همون اول چطور تصمیم میگیریم چی ارزش ساختن داره هم بخش مهمی از ماجراست.
چیزی که من بهمرور متوجه شدم اینه که مشخص کردن این موضوع، گاهی بهاندازه خود پیادهسازی اهمیت داره. همین باعث شد یهسری سؤال برای من جدیتر بشن:
آیا من واقعاً یه مسئله پژوهشی دارم یا فقط به یه موضوع علاقهمندم؟
دقیقاً دنبال حل چه چالشی هستم؟
اگه از قبل یه روش توی ذهنم دارم، از کجا میدونم اون روش واقعاً به مسئله من ربط داره؟
وقتی یه محدودیت توی سیستم میبینم، چطور میتونم بفهمم چرا اتفاق افتاده و بعد تصمیم بگیرم که چطور باید حلش کنم؟
این سؤالها کمکم روی طرز فکر من درباره پژوهش تأثیر گذاشتن.
بهمرور به این نتیجه رسیدم که بهتره چند تا چیز رو از هم جدا کنم: موضوعی که دارم روش کار میکنم، چالشی که توی اون موضوع وجود داره، دلیلی که فکر میکنم باعث اون چالش شده و در نهایت راهحلی که میخوام براش بسازم.
من به این نگاه، به چشم یه مدل ذهنی نگاه میکنم؛ نه یه نظریه که قراره برای همه پژوهشها جواب بده.
پژوهش معمولاً مسیر صاف و مشخصی نداره. پر از آزمونوخطا، برگشتن به عقب و تغییر دادن ایدههاست. برای من، ارزش یه مدل ذهنی این نیست که بتونه همه حالتهای ممکن رو توضیح بده؛ بلکه اینه که کمک کنه بهتر بفهمم دارم چه مسیری رو طی میکنم و چرا.
این مدل ذهنی دو بخش داره.
بخش اول کمک میکنه فضایی رو که قراره توش پژوهش کنیم مشخص کنیم؛ یعنی موضوع، چالش و راهحلهای احتمالی. من اسم این فضا رو گذاشتم Research Playground یا زمین بازی پژوهش.
بخش دوم مربوط به وقتیه که یه چالش مشخص داریم و میخوایم بفهمیم چطور از اون چالش به یه راهحل برسیم. برای این قسمت از یه فرایند پنجمرحلهای استفاده میکنم که اسمش رو گذاشتم CHASE.
من زمین بازی پژوهش رو با سه بخش تعریف میکنم:
موضوع (Topic)، چالش (Challenge) و فضای راهحل (Solution Space).
موضوع مشخص میکنه توی چه حوزهای داریم پژوهش میکنیم.
چالش مشخص میکنه دقیقاً چه مشکلی توی اون حوزه وجود داره که میخوایم درکش کنیم یا حلش کنیم.
و فضای راهحل شامل روشها و ایدههاییه که ممکنه برای حل اون مشکل مناسب باشن.
این سه تا کنار هم، مرزهای زمین بازی پژوهش ما رو مشخص میکنن.

خیلی وقتها پیش میاد که یه موضوع رو انتخاب میکنیم و تقریباً مستقیم میریم سراغ راهحل. مثلاً یه حوزه برامون جالبه، یه روش جدید یا یه بخش از معماری یه مدل توی مقالهای توجهمون رو جلب میکنه و شروع میکنیم به فکر کردن که چطور میتونیم ازش استفاده کنیم.
ولی یه چیزی وسط این مسیر جا افتاده: چالش!
ما هنوز دقیقاً مشخص نکردیم چه مشکلی وجود داره که قراره با اون راهحل حلش کنیم. وقتی ندونیم واقعاً چی عملکرد سیستم فعلی رو محدود کرده، توضیح دادن اینکه چرا روش پیشنهادی ما باید بهتر جواب بده هم سخت میشه. حتی ممکنه روش جدیدمون نتیجه بهتری بگیره، ولی هنوز نتونیم توضیح بدیم که دقیقاً چه مشکلی رو حل کرده، چرا جواب داده یا اصلاً بهبود نتیجه بهخاطر همون ایدهای بوده که از اول توی ذهنمون داشتیم یا نه.
به نظرم وقتی قبل از انتخاب راهحل، چالش رو خوب مشخص کنیم، هم دلیل روشنتری برای ساختن یه روش جدید داریم و هم بهتر میتونیم ارزیابی کنیم که آیا واقعاً مشکل موردنظر رو حل کردیم یا نه.
البته قرار نیست از همون روز اول، زمین بازی پژوهشمون کاملاً مشخص باشه. اتفاقاً معمولاً با جلو رفتن پژوهش تغییر میکنه. موضوعمون محدودتر میشه، چالشی که اول مبهم بوده دقیقتر میشه و با خوندن مقالههای جدید و انجام آزمایشهای مختلف، حتی فضای راهحلهامون هم تغییر میکنه. هدف این نیست که از اول همهچیز رو ثابت کنیم و دیگه تغییرش ندیم. هدف اینه که همیشه بدونیم توی چه موضوعی کار میکنیم، دنبال چه چالشی هستیم و چرا فکر میکنیم یه راهحل میتونه مناسب باشه.
یکی از کارهایی که برای من مفید بوده اینه که خوندن مقالهها رو به ساختن یه نقشه از حوزه پژوهشی تبدیل کنم. بهجای اینکه فقط یه لیست از مقالههایی که خوندم داشته باشم، یه گوگل شیت درست میکنم و هر مقاله رو توی یه ردیف قرار میدم. برای هر مقاله، حداقل سه تا چیز رو مشخص میکنم:
Challenge: مقاله دقیقاً دنبال حل چه چالشی بوده؟
Dataset: از چه دیتاستهایی استفاده کرده؟
Baseline: روش خودش رو با چه روشهای قبلی مقایسه کرده؟
وقتی تعداد مقالههایی که خوندیم بیشتر میشه، کمکم یهسری الگوها خودشون رو نشون میدن. مثلاً میبینیم توی یه موضوع مشخص، چه چالشهایی بیشتر تکرار شدن، برای بررسی هر چالش معمولاً از چه دیتاستهایی استفاده شده و چه روشهایی بهعنوان بیسلاین شناخته میشن. اینجاست که مقالهها دیگه فقط یهسری کار مستقل نیستن؛ کمکم تبدیل میشن به یه نقشه از حوزهای که داریم توش پژوهش میکنیم. این نقشه برای انتخاب مسیر پژوهش هم خیلی کمککنندهست.
فرض کنیم چند تا مقاله داریم که همگی توی یه موضوع کار میکنن، ولی هر کدوم روی یه محدودیت متفاوت تمرکز دارن. همین محدودیتها میتونن گزینههایی باشن که از بینشون چالش پژوهشی خودمون رو انتخاب کنیم.
از طرف دیگه، وقتی میبینیم برای یه چالش مشخص، چند تا دیتاست و بیسلاین مدام تکرار میشن، بهتر متوجه میشیم که اون چالش معمولاً چطور ارزیابی میشه و روش جدید ما باید خودش رو با چی مقایسه کنه. در نهایت، یه جدول ساده برای مرور مقالات میتونه این ستونها رو داشته باشه:
Paper | Challenge | Dataset | Baselines | Evaluation Metrics | Main Idea | Limitation
حالا فرض کنیم زمین بازی پژوهشمون تا حد خوبی مشخص شده. سؤال بعدی اینه که چطور باید توی این زمین بازی جلو بریم؟
اینجاست که CHASE وارد میشه.
من از CHASE بهعنوان یه فرایند فکری استفاده میکنم که کمک میکنه از یه چالش پژوهشی به روشی برسیم که واقعاً برای حل همون چالش طراحی شده باشه.
CHASE از پنج مرحله تشکیل شده:
Challenge → Hypothesis → Assessment → Solution → Execution

اول باید دقیقاً مشخص کنیم چه مشکلی رو میخوایم درک کنیم یا حل کنیم. مهمه که چالش رو خیلی کلی تعریف نکنیم. باید بتونیم مشخص کنیم چه اتفاقی داره میافته و کجای کار مشکل وجود داره.
سؤال اصلی: دقیقاً چی داره اشتباه پیش میره؟
وقتی چالش رو مشخص کردیم، نوبت اینه که یه توضیح احتمالی براش پیدا کنیم.
چرا فکر میکنیم این مشکل اتفاق میافته؟
یه فرضیه خوب معمولاً میتونه با این جمله شروع بشه:
«فکر میکنم این چالش به این دلیل اتفاق میافته که...»
البته این توضیح نباید صرفاً یه حدس مبهم باشه. باید اونقدر مشخص باشه که بتونیم با آزمایش و شواهد بررسیش کنیم.
سؤال اصلی: چرا این اتفاق میافته؟
اینجا میخوایم ببینیم آیا شواهد واقعاً از فرضیه ما پشتیبانی میکنن یا نه. نکته مهم اینه که توی این مرحله، هدفمون لزوماً بهتر کردن نتیجه نهایی مدل یا بالا بردن دقت روی یه بنچمارک نیست. فعلاً میخوایم بفهمیم توضیحی که برای مشکل پیدا کردیم درسته یا نه. برای همین باید تحلیلها و آزمایشهایی طراحی کنیم که بتونن فرضیهمون رو تأیید، تضعیف یا حتی رد کنن.
سؤال اصلی: آیا شواهد از فرضیه ما پشتیبانی میکنن؟
حالا بر اساس چیزهایی که از مرحله قبل یاد گرفتیم، باید تصمیم بگیریم چه نوع راهحلی میتونه مشکل رو برطرف کنه. توی این مرحله هنوز لازم نیست معماری دقیق شبکه یا جزئیات پیادهسازی رو مشخص کنیم. بیشتر دنبال این هستیم که بفهمیم چه قابلیت یا سازوکاری برای حل مشکل لازمه.
سؤال اصلی: با توجه به چیزی که فهمیدیم، چه چیزی میتونه مشکل رو حل کنه؟
اینجاست که بالاخره میریم سراغ ساختن روش. حالا میتونیم درباره معماری، نوع نمایش دادهها، تابع هزینه، استراتژی آموزش و بقیه جزئیات پیادهسازی تصمیم بگیریم. بعد هم روش رو آزمایش کنیم و ببینیم توی عمل چطور جواب میده.
سؤال اصلی: چطور باید این راهحل رو بسازیم و ارزیابی کنیم؟
چیزی که من درباره CHASE دوست دارم اینه که هر مرحله کمک میکنه با ابهام کمتری وارد مرحله بعد بشیم. وقتی چالش دقیق مشخص باشه، راحتتر میتونیم درباره علتهای احتمالی فکر کنیم. وقتی یه فرضیه مشخص داریم، میدونیم چه چیزی رو باید آزمایش کنیم. نتیجه اون آزمایشها کمک میکنه بفهمیم چه توضیحهایی هنوز قابل قبولن و چه راهحلهایی احتمالاً مناسبترن. در نهایت، وقتی به مرحله پیادهسازی میرسیم، دیگه صرفاً یه ایده جالب نداریم که دلمون بخواد امتحانش کنیم؛ بلکه یه مسیر استدلالی رو طی کردیم که قدمبهقدم مشخصتر شده و ما رو به اون ایده رسونده.
البته CHASE هم قرار نیست یه مسیر یکطرفه باشه.
ممکنه توی مرحله ارزیابی متوجه بشیم فرضیهمون اشتباه بوده. ممکنه راهحلی که طراحی کردیم یه محدودیت جدید رو نشون بده. حتی ممکنه وقتی به پیادهسازی رسیدیم، بفهمیم از همون اول چالش رو درست تعریف نکرده بودیم. توی چنین شرایطی قرار نیست بهزور مسیر رو ادامه بدیم. برمیگردیم عقب، فرضیه یا حتی تعریف چالشمون رو اصلاح میکنیم و دوباره جلو میریم.
من CHASE رو بیشتر شبیه یه چرخه میبینم که با هر بار طی کردنش، میتونیم دقیقتر و هدفمندتر بشیم.
یه نکته مهم اینه که خوندن مقالهها قرار نیست فقط یه مرحله در ابتدای پژوهش باشه.
من ادبیات پژوهش رو چیزی میبینم که دور تا دور این فرایند قرار گرفته. ما فقط اول کار مقاله نمیخونیم که بعدش بریم سراغ ایده دادن و پیادهسازی. مطالعه مقالهها توی تمام مسیر بهمون کمک میکنه. کمک میکنه چالشهای مهم رو پیدا کنیم، درباره علتهای احتمالی اونها ایده بگیریم، ببینیم بقیه پژوهشگرها چطور مسائل مشابه رو بررسی کردن و بفهمیم چه راهحلهایی ممکنه مناسب باشن. همچنین از طریق مقالهها متوجه میشیم که برای ارزیابی روش جدیدمون باید از چه دیتاستها، بیسلاینها و تنظیمات آزمایشی استفاده کنیم. برای همین، به نظرم ادبیات پژوهش بیشتر شبیه محیطیه که کل فرایند پژوهش توش اتفاق میافته، نه فقط یه مرحله مستقل که یه بار انجامش بدیم و تموم بشه.
نمیخوام با معرفی Research Playground و CHASE بگم که پژوهش باید همیشه طبق یه چکلیست مشخص جلو بره. پژوهش خوب معمولاً مسیر مستقیمی نداره و خیلی وقتها هم از یه چالش کاملاً مشخص یا یه فرضیه واضح شروع نمیشه. گاهی صرفاً از روی کنجکاوی یه ایده رو امتحان میکنیم. گاهی یه نتیجه غیرمنتظره مسیر پژوهشمون رو تغییر میده. حتی ممکنه اول یه روش جالب به ذهنمون برسه و بعد متوجه بشیم که اون روش برای حل چه مشکلی میتونه مفید باشه. همه اینها میتونن بخشی از فرایند پژوهش باشن.
هدف من از Research Playground و CHASE فقط اینه که منطق پشت تصمیمهامون توی پژوهش روشنتر باشه؛ مخصوصاً وقتی میخوایم از دیدن یه مشکل به طراحی روشی برسیم که قراره اون مشکل رو حل کنه.
اگه تازه میخواین یه پروژه پژوهشی رو شروع کنین، انتظار ندارم Research Playground یا CHASE بهتون بگه جواب درست چیه. اصلاً هدف این توضیحات این نیست. امیدوارم فقط کمک کنن یهسری سؤال مهم رو زودتر از خودتون بپرسین:
زمین بازی پژوهش من دقیقاً کجاست؟
واقعاً دنبال حل چه چالشی هستم؟
چرا فکر میکنم سیستم اینطوری رفتار میکنه؟
چه شواهدی میتونه نظرم رو درباره علت مشکل تغییر بده؟
و تازه بعد از همه اینها:
حالا باید چی بسازم؟
برای خود من، جدیتر گرفتن این سؤالها روی نحوه انتخاب و دنبال کردن مسائل پژوهشی تأثیر گذاشته. هنوز هم دارم این مدل ذهنی رو کاملتر میکنم و احتمالاً با تجربههای پژوهشی بیشتر تغییرش میدم. ولی حتی توی همین شکل فعلی هم کمکم کرده ارتباط روشنتری بین مسئلهای که میخوام درکش کنم و روشی که در نهایت تصمیم میگیرم بسازم پیدا کنم.
از استاد راهنمای خودم، خانم دکتر شهره کسایی، بابت راهنماییها، حمایتها و گفتوگوهای پژوهشی در طول دوره دکتری که همیشه باعث شدن طرز فکرم درباره پژوهش شکل بگیره و به چالش کشیده بشه، صمیمانه تشکر میکنم.
یادداشت نویسنده: ایدههای Research Playground و CHASE از تجربههای خودم در مسیر پژوهش شکل گرفتن. برای بهتر شدن نگارش متن و طراحی شکلها هم از ChatGPT کمک گرفتم.