مفاهیم یادگیری انتقالی برای یادگیری عمیق

۱- یادگیری انتقالی – هدف

در این مقاله، ما یادگیری انتقالی را بررسی خواهیم کرد. مفهوم یادگیری انتقالی با یادگیری عمیق و CNN نیز ارتباط تنگاتنگی دارد. برای درک بهتر مفهوم یادگیری انتقالی، از نمودارها و تصاویر برای تفهیم موضوع استفاده خواهیم کرد.

معرفی یادگیری انتقالی

۲. مقدمه ای بر یادگیری انتقالی

می توانیم بگوییم که یادگیری انتقالی، یک روش یادگیری ماشین است. در این روش، یک مدل، برای کاری که به عنوان نقطه شروع مدل ، در انجام کار دیگری استفاده مجدد می شود، توسعه میابد.

یادگیری انتقالی مفهوم

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

با وجود این که یادگیری انتقالی با بسیاری از مسائل مانند یادگیری چند وظیفه ای و تغییر تدریجی مفهوم مرتبط است، تنها بخشی از حوزه مطالعاتی یادگیری عمیق نیست.

انتقال دانش در طول زمان
انتقال دانش در طول زمان بعد از زبان

۳- مدل از قبل آموزش دیده چیست؟

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

۴- چگونه می توان از مدل های از قبل آموزش دیده استفاده کرد؟

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

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

معماری های از قبل آموزش دیده زیادی برای استفاده در کتابخانه Keras ، مستقیما در دسترس هستند. مجموعه داده های ImageNet به طور گسترده برای ساخت معماری های مختلف مورد استفاده قرار گرفته است زیرا برای ایجاد یک مدل کلی، به اندازه کافی بزرگ است ( ۱٫۲M تصویر ). اگر چه، این صورت مسئله ای برای آموزش یک مدل است.

این مدل می تواند به درستی، تصاویر را به ۱۰۰۰ دسته مجزا کلاسه بندی کند. علاوه بر این ، این ۱۰۰۰ دسته تصویر، نشان دهنده کلاس های داده هستند که در زندگی روزمره با آن ها سروکار داریم. مانند انواع سگ ها، گربه ها، لوازم خانگی مختلف، انواع وسایل نقلیه و غیره.

ما از یادگیری انتقالی، برای تعمیم دادن به تصاویر خارج از مجموعه داده های ImageNet استفاده می کنیم. این کار فقط با داشتن یک مدل از قبل آموزش دیده اتفاق می افتد. بدین صورت ، ما از یک مدل تنظیم دقیق ( Fine-Tune ) که ازاصلاح یک مدل از قبل آموزش دیده بدست آمده ، استفاده می کنیم. از آنجایی که ما فرض می کنیم که شبکه از قبل، به خوبی آموزش دیده است، بنابراین نمی خواهیم وزن ها را خیلی زود و بیش از حد تغییر دهیم. در زمان اصلاح ، معمولاً از یک نرخ یادگیری کوچکتر از مقداری که در آموزش ابتدایی مدل استفاده شده است، استفاده می کنیم.

۵- روش هایی برای تنظیم دقیق مدل (اصلاح مدل)

الف) استخراج ویژگی – برای یک مکانیزم استخراج ویژگی ، می توانیم از یک مدل از قبل آموزش دیده استفاده می کنیم که لایه خروجی آن را حذف کرده ایم. علاوه بر این ، ما باید از کل شبکه به عنوان یک استخراج کننده ویژگی معین برای مجموعه داده های جدید استفاده کنیم.

ب) استفاده از معماری مدل از قبل آموزش دیده – با توجه به یک مجموعه داده ، در زمان مقداردهی اولیه و آموزش مدل ، از معماری آن استفاده می کنیم.

ج) آموزش برخی از لایه ها در حالی که سایر لایه ها ثابت نگه داشته شده اند – یک روش دیگر برای استفاده از یک مدل از قبل آموزش دیده وجود دارد که آموزش جزئی مدل (بخش بخش) نامیده می شود. در این روش ما باید وزن لایه های اولیه مدل را ثابت نگه داریم در حالی که فقط باید لایه های بالا تر را بازآموزی کنیم. ما می توانیم امتحان کنیم و ببینیم که چند لایه باید ثابت نگه داشته شود و چند لایه آموزش داده شود.

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

تنظیم دقیق مدل یادگیری انتقالی

سناریو ۱ – مقدار مجموعه داده کم است در حالی که شباهت داده ها بسیار زیاد است – در این مورد ، ما نیازی به حفظ مدل نداریم ، زیرا شباهت داده ها بسیار زیاد است. همچنین ، طبق صورت مسئله ما ، باید لایه های خروجی را شخصی سازی و اصلاح کنیم. در اینجا از مدل از قبل آموزش دیده، به عنوان یک استخراج کننده ویژگی استفاده می کنیم.

می خواهیم برای شناسایی تصاویر گربه یا سگ مجموعه جدید ، از مدل های آموزش دیده در Imagenet استفاده می کنیم. برای طبقه بندی این دو خروجی، یعنی گربه ها یا سگ ها، به تصاویر مشابه این دو دسته در Imagenet نیاز داریم. در نهایت در این مورد، ما باید لایه های متراکم را اصلاح کنیم. همچنین ، باید لایه های softmax نهایی را به جای ۱۰۰۰ دسته ، روی ۲ دسته خروجی قرار دهیم.

سناریو ۲ – مقدار داده ها و همینطور شباهت داده ها کم است – در این حالت ، ما ابتدا لایه های اولیه مدل از قبل آموزش دیده ( k می نامیم ) را ثابت نگه می داریم. برای تکمیل این کار، دوباره لایه های باقیمانده (n – k) را آموزش می دهیم. به خاطر داشته باشید که لایه های بالایی با توجه به مجموعه داده های جدید سفارشی سازی می شوند. همچنین ، لایه های اولیه بخاطر مقدار کوچکترشان به صورت از قبل آموزش داده شده باقی مانده و وزن های آن لایه ها را ثابت نگه می داریم.

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

سناریو ۴ – مقدار داده ها زیاد بوده و همچنین شباهت زیادی بین داده ها وجود دارد – می توان گفت این حالت نهایی و ایده آلی است. مدل های از قبل آموزش دیده در این مورد بسیار موثر هستند. همچنین ، ما می توانیم از این مدل به طور بسیار مناسب ، فقط باید برای حفظ ساختار و وزن اولیه مدل استفاده کنیم. علاوه بر این، ما می توانیم این مدل را با استفاده از وزن هایی که از قبل در مدل، آموزش دیده شده، بازآموزی کنیم.

۶- یادگیری قیاسی و انتقال قیاسی

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

یادگیری انتقالی قیاسی

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

دو روش متداول برای یادگیری انتقالی عبارتند از:

  • رویکرد مدل توسعه
  • رویکرد مدل از قبل آموزش دیده

الف) رویکرد مدل توسعه

انتخاب کار منبع:

هنگام انتخاب یک کار(وظیفه)، باید مسئله ای که می خواهیم به وسیله مدل سازی آن را پیش بینی کنیم، را انتخاب کنیم. این مساله باید با فراوانی داده ها همراه باشد.

توسعه مدل منبع:

سپس، باید برای انجام این کار ، یک مدل قدرتمند ایجاد کنیم. این مدل که باید از مدل اولیه بهتر باشد. یعنی اطمینان حاصل شود که برخی از بخش های این مدل باید بهتر از مدل اولیه عمل کنند.

استفاده مجدد از مدل:

مدل باید متناسب با کار منبع باشد. به این ترتیب ما از آن به عنوان نقطه شروع برای یک مدل در مرحله دوم استفاده می کنیم. علاوه بر این، بسته به تکنیک مدل سازی مورد استفاده، بخش هایی از مدل منبع را شامل خواهد شد.

تنظیم مدل:

ما باید مدل را روی داده های ورودی – خروجی موجود برای کار مورد نظر ، سازگار کنیم.

ب) رویکرد مدل از قبل آموزش دیده

انتخاب مدل منبع:

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

استفاده مجدد از مدل:

به عنوان نقطه شروع، ما می توانیم از مدل از قبل آموزش دیده استفاده کنیم. این دومین وظیفه ی مورد نظر است. بسته به مدل استفاده شده، می تواند شامل تمام بخش های مدل باشد.

تنظیم مدل:

ما باید مدل را روی داده های ورودی – خروجی موجود برای کار مورد نظر ، سازگار کنیم.

۸- چه زمانی باید از آموزش انتقال استفاده کنیم؟

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

به هنگام استفاده از یادگیری انتقالی، سه مزیت ممکن وجود دارد:

شروع بیشتر:

مهارت اولیه در مدل منبع، بیشتر از حالت دیگر است.

شیب بیشتر:

شیب میزان افزایش مهارت، در طی آموزش مدل منبع تندتر از حالت دیگر است.

مجانب بیشتر:

همگرایی مهارت مدل آموزش دیده ، بهتر از حالت دیگر است.

نمودار بازده یادگیری ماشین

۹- نتیجه گیری

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

بیشتر بخوانید :

منبع Data Flair
امتیاز دهید!

همچنین ببینید

پلاک خوان هوشمند چیست

پلاک خوان هوشمند چیست و چگونه عمل می کند + معرفی بهترین پلاک خوان ایران

پلاک خوان هوشمند دستگاهی است که از فناوری پیشرفته هوش مصنوعی (AI) و بینایی ماشین …

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *