یادگیری انتقالی (Transfer Learning): ایستادن بر شانه غولها
نویسنده: فاطمه جعفری نوبخت
1- مقدمه
در یادگیری ماشین سنتی، فرآیند یادگیری معمولاً به صورت “لوح سفید” (Tabula Rasa) آغاز میشود؛ یعنی مدل برای هر مسئله جدید، همه چیز را از صفر یاد میگیرد. اما این روش با نحوه یادگیری انسانها در تضاد است. ما برای یادگیری موتورسواری، دوباره راه رفتن را یاد نمیگیریم، بلکه از تعادل و مهارتهایی که در دوچرخهسواری آموختهایم استفاده میکنیم.
یادگیری انتقالی (Transfer Learning) تکنیکی در هوش مصنوعی است که سعی دارد همین قابلیت انسانی را شبیهسازی کند: استفاده از دانشی که در حل یک مسئله به دست آمده، برای حل یک مسئله جدید اما مرتبط.

2- چرا به یادگیری انتقالی نیاز داریم؟
یادگیری عمیق (Deep Learning) دو مشکل بزرگ دارد:
- نیاز به دادههای عظیم: شبکههای عصبی برای عملکرد دقیق به میلیونها داده برچسبدار نیاز دارند.
- قدرت محاسباتی بالا: آموزش مدلهای بزرگ (مانند GPT یا ResNet) هفتهها زمان و صدها پردازنده گرافیکی (GPU) نیاز دارد.
یادگیری انتقالی این موانع را دور میزند. به جای شروع از صفر، ما از یک مدل از پیش آموزشدیده (Pre-trained Model) استفاده میکنیم که قبلاً روی دادههای عظیم آموزش دیده است.
3-یادگیری انتقالی چگونه کار میکند؟
فرآیند معمولاً شامل دو مرحله اصلی است:
الف) مرحله پیشآموزش (Pre-training)
یک مدل بزرگ روی یک مجموعه داده عظیم (مانند ImageNet برای تصاویر یا Wikipedia برای متن) آموزش میبیند. در این مرحله، مدل ویژگیهای کلی را یاد میگیرد.
- مثال: در پردازش تصویر، لایههای اولیه شبکه یاد میگیرند که خطوط، لبهها، منحنیها و بافتها را تشخیص دهند. این ویژگیها در همه تصاویر (چه گربه، چه خودرو، چه تصاویر پزشکی) مشترک هستند.
ب) تنظیم دقیق (Fine-tuning)
سپس دانش این مدل به مسئله خاص ما منتقل میشود. ما لایههای آخر شبکه را (که مسئول تصمیمگیری نهایی هستند) تغییر میدهیم تا با دادههای خاص ما (مثلاً تشخیص نوعی بیماری خاص) سازگار شوند.
4- استراتژیهای اصلی در یادگیری انتقالی
بسته به مقدار دادهای که دارید و شباهت آن با دادههای اولیه، دو روش اصلی وجود دارد:
- استخراج ویژگی (Feature Extraction):
- در این روش، بدنه اصلی شبکه (لایه های کانولوشن) را “فریز” (Freeze) میکنیم تا وزنهای آن تغییر نکند.
- فقط لایههای طبقهبندیکننده (Classification Head) آخر را حذف کرده و یک لایه جدید متناسب با مسئله خودمان اضافه میکنیم و فقط همان لایه جدید را آموزش میدهیم.
- کاربرد: زمانی که دادههای آموزشی ما کم است.
- تنظیم دقیق (Fine-Tuning):
- علاوه بر لایه آخر، اجازه میدهیم برخی از لایههای بالایی شبکه اصلی نیز دوباره آموزش ببینند (Unfreeze).
- این کار باعث میشود مدل ویژگیهای انتزاعیتر را با مسئله جدید ما تطبیق دهد.
- کاربرد: زمانی که دادههای نسبتاً زیادی داریم و میخواهیم دقت را به حداکثر برسانیم.
5- مدلهای مشهور برای یادگیری انتقالی
امروزه کمتر کسی مدلهای خود را از صفر طراحی میکند. اکثر متخصصان از مدلهای زیر به عنوان پایه استفاده میکنند:
در بینایی کامپیوتر (Computer Vision):
- VGG16 / VGG19: معماریهای کلاسیک و قدرتمند.
- ResNet (Residual Networks): امکان آموزش شبکههای بسیار عمیق را فراهم کرد.
- EfficientNet: مدلهایی که با کمترین هزینه محاسباتی، بالاترین دقت را دارند.
- YOLO: برای تشخیص آنی اشیاء (Object Detection).
در پردازش زبان طبیعی (NLP):
- BERT: مدلی انقلابی از گوگل که درک دوطرفه از متن دارد.
- GPT (Generative Pre-trained Transformer): مدلهای تولید متن قدرتمند (مانند ChatGPT).
- RoBERTa: نسخه بهینهشده
6- نتیجهگیری
یادگیری انتقالی دموکراتیکسازی هوش مصنوعی است. این تکنیک به تیمهای کوچک با منابع محدود و دادههای کم اجازه میدهد به نتایجی دست پیدا کنند که پیش از این تنها در اختیار غولهای فناوری بود. این روش در حال حاضر استاندارد عملیاتی در اکثر پروژههای هوش مصنوعی مدرن است.