يادگيری انتقالی؛ نحوه عملکرد و انواع رویکردها

0

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

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

در یادگیری انتقالی (Transfer learning)، دانش موجود در مدلی ازپیش‌آموزش‌دیده برای حل مسئله‌ای متفاوت اما مرتبط با مسائل پیشین به کار گرفته می‌شود. مثلا فرض کنید شما طبقه‌بند ساده‌ای (Simple Classifier) را برای اینکه بفهمید در تصویری کوله‌پشتی وجود دارد یا خیر آموزش داده‌اید. حال در روش یادگیری انتقالی می‌توانید از دانش موجود در این مدل برای بسط دایره تشخیص آن برای شناسایی اشیای دیگر مانند عینکی آفتابی استفاده کنید.

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

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

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

نمی‌توان یادگیری انتقالی را تکنیک و فنی تازه در زمینه یادگیری ماشینی دانست، اما می‌توان آن را فراتر و همچون شیوه‌هایی مانند «یادگیری فعال» (Active Learning) نوعی متدولوژی یا روش‌شناسی طراحی قلمداد کرد. علاوه‌بر این، دامنه یادگیری انتقالی به حوزه یادگیری ماشین محدود نمی‌شود. بااین‌حال در دسته‌ای از شبکه‌های عصبی که نیازمند حجم عظیمی از داده و توان رایانشی‌اند، این روش طرف‌داران بسیاری برای خود دست‌وپا کرده است.

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

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

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

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

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

یادگیری انتقالی مزایای متعددی برای فعالان حوزه علوم رایانه دارد که مهم‌ترینشان از این قرارند:

  • صرفه‌جویی در زمان؛
  • عملکرد بهینه‌تر شبکه‌های عصبی به‌کاررفته؛
  • نیازنداشتن به حجم انبوهی از داده‌ها.

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

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

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

دمیس هسابیس (Demis Hassabis)، مدیرعامل دیپ‌مایند و فعال در حوزه هوش مصنوعی، در این باره می‌گوید که یادگیری انتقالی از سازوکارهایی است که نویدبخش دستیابی به «هوش مصنوعی فراگیر» (AGI) در آینده‌اند.

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

در حوزه یادگیری ماشین، تعریف قواعدی که همواره استثناناپذیر باشند دشوار است. بااین‌حال وقتی سراغ یادگیری انتقالی می‌رویم که دست‌کم یک یا چند مورد از شرایط زیر حاکم باشد:

  1. داده‌های آموزشی برچسب‌گذاری‌شده کافی برای آموزش شبکه از صفر در دسترس نباشد.
  2. هم‌اکنون شبکه‌ای در اختیار داشته باشیم که پیش‌تر برای انجام کار مشابهی آموزش دیده است.
  3. وظیفه ۱ ورودی همسانی با وظیفه ۲ داشته باشد.

اگر مدل اصلی با استفاده از کتابخانه‌هایی متن‌باز همچون «تنسرفلو»‌ (TenserFlow) آموزش دیده باشد، می‌توانید به‌سادگی آن را بازیابی کنید و لایه‌های دلخواه خود را روی آن بسازید و آموزش دهید. بااین‌حال از یاد نبرید که یادگیری انتقالی تنها زمانی راهگشاست که قابلیت آموخته‌شده از وظیفه اولیه ماهیتی عمومی و فراگیر داشته باشد و داده‌های آن برای تکمیل وظایف ثانوی مفید باشند. علاوه‌بر این، ورودی مدل یادگیری نیز از نظر اندازه باید با ورودی مدل پیشین یکسان باشد. اگر به ورودی دسترسی ندارید، می‌توانید با افزودن مرحله پیش‌پردازش اندازه ورودی مدل خود را به مقدار دلخواه تنظیم کنید.

انواع رویکردها در یادگیری انتقالی

۱. آموزش یک مدل برای استفاده مجدد از آن در آینده

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

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

۲. استفاده از مدلی ازپیش‌آموزش‌دیده

استفاده از مدلی ازپیش‌آموزش‌دیده برای یادگیری انتقالی

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

مثلا «کراس» (Keras) از جمله پلتفرم‌هایی است که مدل‌های ازپیش‌آموزش‌دیده متعددی را در اختیار فعالان حوزه علوم رایانه می‌گذارد که می‌توان از آنها برای یادگیری انتقالی، پیش‌بینی، استخراج ویژگی و تنظیم دقیق (Fine-Tuning) استفاده کرد. علاوه‌بر این، مؤسسات و نهادهای تحقیقاتی بسیاری وجود دارند که مدل‌های ازپیش‌آموزش‌دیده خود را رایگان در اختیار پژوهشگران می‌گذارند.

۳. استخراج ویژگی

رویکرد دیگر در کاربست یادگیری انتقالی، استفاده از یادگیری عمیق برای کشف بهترین شکل بازنمایی مسئله یا به‌نوعی استخراج مهم‌ترین ویژگی‌هاست. این رویکرد که گاه «یادگیری بازنمایی» (Representation Learning) هم نامیده می‌شود، در مقایسه با دیگر روش‌ها نتایج بهینه‌تری را در اختیار می‌گذارد.

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

برخی هم می‌گویند که شبکه‌های عصبی خود قاردند بیاموزند که کدام ویژگی‌ها مهم‌ و کدام بی‌اهمیت‌اند. بنابراین یک الگوریتم یادگیری بازنمایی می‌تواند ترکیب مناسبی از ویژگی‌ها را در بازه زمانی کوتاهی کشف کند؛ کاری که برای عوامل انسانی بسیار زمان‌بر و طاقت‌فرساست.

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

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

مدل‌های پرطرف‌دار ازپیش‌آموزش‌دیده

برخی از مدل‌های یادگیری ماشین ازپیش‌آموزش‌دیده محبوبیت بسیاری در میان کارشناسان حوزه هوش مصنوعی دارند. یکی از این مدل‌ها «اینسپشن-وی ۳» (Inception-v3) نام دارد که نخستین بار برای یکی از پروژه‌های شرکت «ایمیج‌نت» (ImageNet) آموزش داده شد.

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

سخن پایانی

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


در ادامه بخوانید: فین تک چیست؛ تاریخچه، حوزه فعالیت، سطح امنیت آن
کسب‌وکار خود را با سرمایه کم شروع کنید

به مدت محدود با تخفیف ۵۰٪

منبع lifewire builtin
ارسال دیدگاه

آدرس ایمیل شما منتشر نخواهد شد.

هر سوالی داری از
هوش مصنوعی رایگان چطور
بپرس!

close icon
close icon