یادگیری انتقالی (Transfer Learning) چیست؟

یادگیری انتقالی (Transfer Learning)، یک مسأله یادگیری در علم یادگیری ماشین (Machine Learning) است که به موجب آن، از یک مدل توسعه داده شده قبلی برای انجام وظایف جدید استفاده می شود. این مسأله، رویکردی محبوب در یادگیری ژرف (Deep Learning) است که در آن از مدل های از پیش آموزش یافته (Pre-trained Models) به عنوان نقطه شروع مسائل مبتنی بر بینایی رایانه ای (Computer Vision) و پردازش زبان طبیعی (Natural Language Processing) استفاده می شود.

یادگیری انتقالی نوعی بهینه سازی (Optimization) است که باعث پیشرفت سریع یا بهبود عملکرد در هنگام مدل کردن مسائل دیگر می شود. این روش عموماً در موقعیت هایی کاربرد دارد که داده های اندکی برای مدل سازی پدیده جدید در دسترس وجود دارد. از این رو می توان به سراغ مدل های یادگیری ژرفی که پیش تر بر روی مجموعه داده های عظیم آموزش داده شده اند و با پدیده جدیدِ مورد مطالعه اشتراک مبنایی دارند، رفته و مدل یادگیری انتقالی را بر روی دانش کسب شده از مدل قبلی (در بخش های ابتدایی و مشترک دو پدیده) بنا نهاد.

یادگیری انتقالی، با منتقل کردن دانش یک وظیفه مرتبط که قبلاً آموزش یافته، باعث پیشرفت و توسعه یادگیری در وظایف جدید می شود.

فصل 11 کتاب راهنمای تحقیقات بر روی کاربردهای یادگیری ماشین

یادگیری انتقالی، تنها به مسائل مربوط به یادگیری ژرف یا عمیق مربوط نمی شود. بلکه می تواند در مسائل یادگیری چند وظیفه ای (Multi-task Learning) یا رانش مفهوم (Concept Drift) پرکاربرد باشد. با این وجود، یادگیری انتقالی در مسائل یادگیری عمیق بسیار محبوب است و منابع عظیمی را که برای آموزش مدل های یادگیری عمیق نیاز است، تأمین می کند. تصویر زیر، تفاوت های دو رویکرد استفاده از یادگیری انتقالی و یادگیری ماشین سنتی را نشان می دهد:

در تصویر سمت چپ دو مدل یادگیری ماشین پیاده شده بر روی دو مجموعه داده مستقل نمایش داده شده اند. اما تصویر سمت راست، رویکرد یادگیری انتقالی را نشان می دهد. چنانچه پیداست، دانش حاصل از مدل سازی بر روی مجموعه داده سبز رنگ به عنوان بستری از پیش آماده برای مدل سازی جدید بر روی مجموعه داده آبی رنگ مورد استفاده قرار گرفته است.

چگونه می توان از یادگیری انتقالی استفاده کرد؟

شما می توانید از یادگیری انتقالی در مسائل مدل های پیش بینی خود استفاده کنید. برای این کار، دو رویکرد می تواند مطرح شود:

  1. رویکرد توسعه مدل (Develop Model Approach)
  2. رویکرد مدل پیش آموزش یافته (Pre-trained Model Approach)

رویکرد توسعه مدل (Develop Model Approach)

  1. انتخاب وظیفه اصلی: شما باید یک مسأله پیش بینی مرتبط را که دارای تعداد زیادی داده است، انتخاب کنید. در این مدل باید ارتباطی بین داده های ورودی، داده های خروجی و مفهومی که قرار است داده های ورودی و خروجی را به هم ربط دهد، وجود داشته باشد.
  2. توسعه مدل اصلی: شما باید مدلی غنی را برای اولین وظیفه (First Task) توسعه دهید. این مدل باید بهتر از مدل خام باشد که به موجب آن اطمینان حاصل شود که بعضی از ویژگی های یادگیری انجام شده است.
  3. استفاده دوباره از مدل: مدل برازش شده قبلی، به عنوان یک نقطه شروع برای انجام وظیفه دوم مورد استفاده قرار می گیرد. بسته به تکنیک های مدل سازی، این رویکرد می تواند شامل استفاده کل یا بخشی از مدل قبلی باشد.
  4. تنظیم کردن مدل: مدل می تواند برای زوج داده های موجود ورودی و خروجی که برای انجام وظایف مورد نظر در نظر گرفته شده اند، سازگار و یا اصلاح شود که البته انجام این مرحله اجباری نیست.

رویکرد مدل پیش آموزش یافته (Pre-trained Model Approach)

  1. انتخاب مدل اصلی: یک مدل پیش آموزش یافته، از میان مدل های موجود انتخاب می شود. بسیاری از تحقیقات گذشته، مدل های با مجموعه داده های بسیار بزرگ و چالشی ارائه کرده اند که می تواند به عنوان مدل های برگزیده در انجام این مرحله مورد استفاده قرار گیرند.
  2. استفاده دوباره از مدل: مدل پیش آموزش یافته، به عنوان یک نقطه شروع برای انجام وظیفه دوم مورد نظر مورد استفاده قرار می گیرد. بسته به تکنیک های مدل سازی، این رویکرد می تواند شامل استفاده کل یا بخشی از مدل قبلی باشد.
  3. تنظیم کردن مدل: مدل می تواند برای زوج داده های موجود ورودی و خروجی که برای انجام وظایف مورد نظر در نظر گرفته شده اند، سازگار و یا اصلاح شود که البته انجام این مرحله اجباری نیست.