مراحل ششگانه اجرای پایان نامه
بهنام خدا، سلام… در این پست بسیار مهم میخواهم از مراحل اجرای پایان نامه بگویم. میخواهم به شما مرحله به مرحله نشان دهم که برای انجام یک پایان نامه ارشد (حتی دکترا) چه مراحلی باید طی شود. پست ارزشمندی هست، با هوسم همراه باشید…
مراحل اجرای پایان نامه چی هست اصلا؟
نام این پست شاید شاید جذابیت کمی ایجاد کند. شاید همه دنبال دیپ لرنینگ و جدیدترین تکنیکها و مدلهای آن هستیم و کمتر به این مسائل پایهای توجه داشته باشیم. شاید شما به عنوان دانشجوی ارشد تسلط قابل قبولی در حوزه هوش مصنوعی داشته باشید، اما زمانی که صحبت از انجام پایان نامه ارشد میشود، آهنگ غمگین در مغزتان پخش میشود!
به عنوان کسی که دوره ارشد و دکترا را پشت سر گذاشته و همراه دانشجویان زیادی در این زمینه بوده، حرفهای زیادی برای گفتن دارم که بخشی از آنها را میخواهم اینجا با شما در میان بگذارم.
کارشناسی ارشد، دوره آموزشی پژوهشی
دوره کارشناسی ارشد شامل دو فاز آموزشی و پژوهشی است. دوره ارشد واقعا دوره مشکلی است و دو ساله بودنش بر سختیاش می افزاید. دوره ارشد با فاز آموزشی شروع میشود. فاز آموزشی در خدمت پژوهشی هست. یعنی چه؟ یعنی شما یکسری درس میگذرانید تا دانش و مهارت خوبی برای انجام کار تحقیقاتی (پایان نامه) کسب کنید.
پس به همین دلیل است که گفتیم فاز آموزشی در خدمت فاز پژوهشی هست. وقتی اینطور فکر کنیم، نتیجه این میشود که درسهایی را انتخاب میکنیم که بتوانیم در فاز پژوهشی از آنها استفاده کنیم. یعنی شما 2 الی 3 ترم درس میگذرانید و باید تمام تلاش خود را به کار ببرید تا اینکه بتوانید دانش و مهارت لازم را کسب کنید.
حالا در واقعیت چه اتفاقی میافتد؟ برعکس این قضیه را انجام میدهیم. اولا معیارمان نمره گرفتن میشود. شبیه دوره کارشناسی فکر میکنیم که باید یکسری درس بگذرانیم و تمام. مشکل دیگر این هست که درسهای دانشگاهی ارائه شده معمولا بروز نیستند. شاید دانشگاههای کمی باشند که درسهایی مثل یادگیری ماشین، یادگیری عمیق، پردازش زبان طبیعی، پردازش تصویر، پردازش صوت و یادگیری تقویتی ارائه دهند. بنابراین، دانشجو مجبور میشود که درسهای غیرمرتبطی بخواند و بدون آمادگی خاصی وارد فاز پایان نامه شود.
این جمله را از من داشته باشید:
برای موفقیت در ارشد، بسیار خوب است که همان ترم اول موضوع پایان نامه شما مشخص شود.
اگر موضوع پایان نامه شما دقیق مشخص نیست، پس بهتر هست، حداقل به صورت کلی مشخص باشد. یعنی در این حد که میخواهید در حوزه هوش مصنوعی کار کنید، نه حوزه دیگری… همین تصمیم ساده باعث میشود که درسهایی که انتخاب میکنید با رویکرد کارکرد در حوزه هوش مصنوعی باشد.
حتما درمورد درسهای ارائه شده در دانشگاهتان پرس و جو کنید. از سال بالاییها بپرسید تا دقیقا مشخص شود که چه درسهایی در دانشگاه ارائه میشود.
بعضی دانشجویان میگویند دانشگاه درس یادگیری ماشینی که ارائه میدهد خوب نیست. من این درس را انتخاب نمیکنیم و میروم از موسسههای خارج دانشگاه مانند هوسم این دوره را تهیه میکنم. به نظرم شما میتوانید هم درس مربوطه را در دانشگاه انتخاب کنید و هم در خارج دانشگاه دوره با کیفیت بگذرانید. هرکدام از اینها مزیتهایی دارند. مثلا، در دانشگاه زور و نمره بالای سرتان هست و از آن طریق بالاخره درصدی از یادگیری ماشین را یاد میگیرید. آنگاه با مطالبی که از درس در دانشگاه گذراندهاید، بهتر میتوانید دورههای خارج دانشگاه را بررسی کنید و یک مورد مناسب و با کیفیت را انتخاب کنید.
توصیه دیگرم این هست که گذراندن دوره خارج دانشگاه را به ترم آخر و ماههای آخر موکول نکنید. میدانم همه چیز در ارشد فشرده هست و پاس کردن درسها بسیار مشکل هست. اما حتما در طول سال اول سعی کنید به دانش و مهارتتان به صورت واقعی اضافه کنید. ترم آخر، وقت یادگیری نیست. انتخاب موضوع پایان نامه، خود یک بحث مفصل هست و یک پست مجزا را میطلبد. اما فرض کنیم شما موضوع پایان نامه را انتخاب کردهاید. ترم چهارم شده و میخواهید به صورت جدی کار کردن روی پایان نامه را شروع کنید.
البته، باید بگویم که بعضی دانشجویان سعی میکنند درسهای بیشتری در ترم 1 و 2 انتخاب کنند تا درس کمتری برای ترم 3 بماند و بتوانند از ترم 3 کمکم کار روی پایان نامه را شروع کنند. کار بسیار خوبی هست. حتی اگر تا پایان ترم سه، کاری انجام نشود، بازهم خوبیاش این هست که دانشجو کمی در فضای پایان نامه بوده، چند مقاله خوانده و کد اجرا کرده.
بسیارخب، فرض کنیم پایان نامه را به صورت جدی شروع کردهاید. در ادامه به صورت گام به گام درباره مراحل اجرای پایان نامه صحبت میکنم.
گام 1: انتخاب مقاله و مطالعه آنها
برای انجام پایان نامه ارشد، باید تعدادی مقاله مناسب در راستای موضوع پایان نامه خود انتخاب و مطالعه کنید. من برای مقطع ارشد، پیشنهاد میکنم ده مقاله خوب انتخاب کنید. مقالهها میتوانند از سالهای گذشته یا سالهای اخیر باشند. ویژگی مثبت مقالههای سالهای گذشته، ساده تر بودن آنهاست. بنابراین، احتمالا شما سادهتر مقالات را متوجه میشوید. اعتماد به نفستان بالا میرود و همچنین با فضای حوزه تحقیقاتی خود آشنا میشوید و آمادگی لازم برای خواندن مقالات مشکلتر را کسب میکنید. مقالههای سالهای اخیر معمولا پیچیدگی بیشتری نسبت به گذشتهها دارند و ممکن هست خواندن آنها اندکی مشکل باشد. اما ویژگی مثبت آنها این هست که با کارهای بروزی آشنا میشوید و میتوانید ایدههای خود را بر پایه این مقالهها توسعه دهید. در ادامه بیشتر صحبت میکنم.
بسیار خب، در پایان این مرحله شما حدود 10 مقاله (بیشتر خواندید چه بهتر) را مطالعه کردهاید. برای هرکدام خلاصهای نوشتهاید. طوری که بعدا میتوانید به این خلاصه نگاه کنید و از آن برای نگارش پایان نامه استفاده کنید.
گام 2: انتخاب مقاله بیس (پایه) مرجع
در این مرحله باید یک یا دو مقاله مرجع از بین مقالات مرحله 1 انتخاب کنید. مقاله مرجع چه شاخصهای دارد؟ مقاله مرجع، مقالهای است که شما میخواهید کار خود را بر پایه آن توسعه دهید. از بین مقالاتی که مطالعه کردید، بعضی مقالات هستند که ذهن شما را بیشتر درگیر میکنند. ذهنتان را قلقلک میدهند و شما به این فکر میکنید که چه مقاله جالبی، چه ایده جالبی، اگر اینجا را تغییر دهیم چه میشود؟ و … در واقع ذهن شما شروع کرده به سوال پرسیدن، کنجکاو شدن و …
بهتر هست این چنین نشانههایی را جدی بگیرید. چون شما نشانههای اولیه ایده زدن را نشان دادهاید. اما باید صرفا به خودتان فرصت دهید و راه مناسبی را در پیش بگیرید. در واقع، شما دانهای کاشته بودید و مدتها مشغول آب دادن به آن بودید. حالا یک جوانه به اندازه سرسوزنی دیده میشود. وقت چیست؟ مراقبت و ادامه پروسه نگهداری برای رشد… درست هست که نشانه اولیه خوب هست، اما بسیار ضعیف و شکننده هست.
فرض کنیم شما مقاله جذابتان را انتخاب کردهاید. این مقالهای است که شما باید آن را حفظ باشید. یعنی، آنقدر را مطالعه کرده باشید، جایی از آن نباشد که برای شما جدید باشد. از بخش چکیده تا پایان مراجع. حتی شما باید مراجع آن را هم بررسی کرده باشید. شاید بتوانید مشخص کنید که این مقاله از چه مقالات دیگری ایده گرفته است. بعضی مقالات به کارهای آینده اشاره میکنند که این میتواند نقطه شروع خوبی باشد. خلاصه مقاله را خوب بفهمید.
گام 3: پیادهسازی مقاله مرجع
حالا وقت ورود به قلمروی کدهاست. باید این مقاله را پیادهسازی کنید. چه بهتر که کدهای این مقاله موجود باشد. آنگاه زحمت شما کمتر میشود و کدهای اصلی و نتایج خود مقاله را دارید. اگر قرار باشد که مقاله را خودتان پیادهسازی کنید که هیچ. اما اگر کدهای اصلی را داشتید، در دام کدهای آماده نیفتید.
بعضی ها اینطور هستند که میگویند من این مقاله را باید اجرا کنم و تمام! نه، اجرا کردن کد، اول ماجراست. بعد از آن باید خط به خط، کدهای مقاله را بررسی کنید و متوجه شوید. در واقع، باید کدها را تریس (Trace) کنید. این تریس کردن با ابزارهای دیباگ در IDE-هایی مانند پایچارم خیلی خوب انجام میشود. چرا باید تریس کنیم و کد را دقیق درک کنیم؟ برای اینکه با مقاله تطبیق دهیم و مشخص شود که هر کد مربوط به کدام بخش از مقاله هست. از طرفی، ما میخواهیم این مقاله را توسعه دهیم، پس حتما باید کد را بفهمیم تا بتوانیم ایدههای خود را به آن اضافه کنیم.
گام 4: ایده
شما در مرحله خوشبختی هستید! یک مقاله و کد مرجع دارید. آنها را دقیق بررسی کردهاید و کامل مسلطید. حالا وقت این هست که گامهای اولیه در راه توسعه مقاله را بردارید. چطور هست، با پیدا کردن نقطه ضعفهای مقاله شروع کنیم؟ با آزمایشهای مختلف میتوان ضعفهای مقاله را پیدا کرد. سوال یا ایده بسیار کوچکی دارید؟ الان وقت پیاده کردن آن هست. در گام 1 مقالاتی خواندهاید که فکر میکنید میتوانید اینجا از ایده آنها در جهت رفع نقطه ضعف یا بهبود دقت استفاده کنید؟
پس اینجا محل آزمایش و بررسی هست. چه خوب که ایدههای کوچکی انتخاب کنید و دائما آنها را پیادهسازی کنید. از ایدههای بزرگ که پیاده سازی آنها یک ماه طول میکشد شروع نکنید. جز اینکه مطمئن باشید این کار به نتیجه میرسد. پیشنهاد من این هست با ایدههای آنقدر کوچکی شروع کنید که در حد یک روز یا نهایتا یک هفته قابل اجرا هست. میتوانید دفتری داشته باشید که ایدههایتان را داخل آن بنویسید و نتایج بعد پیادهسازی را هم یادداشت کنید.
تصور کنید میخواهید یادبگیرید که چگونه یک توپ را در حلقه بسکتبال بیندازید. خب چه کار میکنید؟ انقدر توپ را به سمت حلقه پرتاب میکنید تا یاد بگیری با چه قدرتی و چه زاویهای توپرا به سمت حلقه پرتاب کنید، توپ وارد سبد میشود.
بالاخره، بعد از اجرای ایدههای مختلف، ایدههایی پیدا میشوند که چشمکی میزنند و باعث اندکی بهبود در کد میشوند. نقطه ضعفی را برطرف میکنند. آنها را انتخاب کنید و بیشتر روی آنها تمرکز کنید. سعی کنید به آن ایدهها بال و پر بدهید. سعی کنید با کار کردن بیشتر روی آنها، بهبود بیشتری در مقاله مرجع ایجاد کنید.
گام 5: آزمایش
اگر ایده شما منجر به نتیجه خوب شده، بلافاصله دست از کار نکشید. ایده را روی دیتاستها و شرایط مختلف ارزیابی کنید. چرا باید این کار را انجام دهیم، در حالی که جواب خوبی روی یک دیتاست گرفتهایم. اولا که کار تحقیقاتی انجام میدهیم و وظیفه ما این هست که ایده خود را از ابعاد مختلف بررسی کنیم. ما باید به داورها اثبات کنیم که این کار ارزشمندی است. اگر صرفا با یکی دو آزمایش به یک ادعایی برسیم، یعنی پاس گل به داورها دادهایم و آنها میتوانند کل کار ما را زیر سوال ببرند و بگویند از کجا معلوم این کار در شرایط و دیتاستهای مختلف جواب خوبی بدهد؟
جدا از موضوع بالا، گاهی اوقات در فرآیند آزمایشهای همه جانبه، نکاتی دیده میشود که زمینهساز بهتر شدن کار شما یا یک ایده دیگر میشود. یعنی، شما در بطن کار خود هستید، ناگهان ضعفی در کار خود میبینید که میتوانید با اصلاح ایده تان کاری کنید که آن مشکل حل شود. یا اینکه ممکن هست نکاتی که مشاهده کردهاید در این متد نیاورید و به یک مقاله و ایده جدید فکر کنید.
گام 6: نگارش
خسته نباشید! وقت نگارش پایان نامه هست. 😊 همه شما دفاع میکنید، اما امیدوارم با کیفیت دفاع کنید. بتوانید مقاله از دل پایان نامه بدهید. درمورد نگارش هم صحبت زیاد هست. اما در این پست درمورد این مساله صحبت نمیکنم.
این پست هم به پایان رسید. دوست دارم در مورد این مسائل بیشتر بنویسم و آموزش آماده کنم. لطفا به من بگویید که چقدر به چنین محتوایی نیاز دارید.
مطالب زیر را حتما مطالعه کنید
kaggle چیست
معرفی سایت paperswithcode
مهارت کدنویسی پایتون شما در چه سطحی است؟
روش علمی یا Scientific Method
روز یادگیری در شرکت OpenAI
مقایسه روشهای آموزش حضوری و مجازی
1 دیدگاه
به گفتگوی ما بپیوندید و دیدگاه خود را با ما در میان بگذارید.
سلام. خیلی خوب بود. ممنون از شما بابت راهنمایی های ارزشمند. لطفا راجع به چگونگی ورود از فضای صرفا دانشگاهی و تحقیقاتی به صنعتی هم مطلب بذارین.