یادگیری انتقالی همچون روشهای کارآمد در بخش علم داده و یادگیری عمیق میباشد که در آن از نوعی ازپیشآموزشدیده برای حل مسئلهای جدید استفاده میگردد. درحالحاضر این روش محبوبیت بسیاری میان کارکنان حوزه یادگیری عمیق دارد، چون قادر است شبکههای عصبی را با حجم کمتری از اطلاعات آموزش دهد. همین ویژگی در بخش علوم داده هم خیلیراهگشاست، چون اغلب مسائل تعریفشده در این حوزه فاقد حجم انبوهی از نقطهاطلاعات برچسبگذاریشده برای آموزش مدلهای پیچیدهاند. در این مقاله، میخواهیم با تعریف و نحوه کارکرد روش یادگیری انتقالی آشنا شویم و بگوییم که چرا و در چه زمانهایی میتواند گره از کار دانشمندان علوم داده باز کند.
یادگیری انتقالی چیست؟
در یادگیری انتقالی (Transfer learning)، دانش موجود در نوعی ازپیشآموزشدیده برای حل مسئلهای گوناگون اما مرتبط با مسائل پیشین به کار گرفته میگردد. مثلا خیال کنید شما طبقهبند سادهای (Simple Classifier) را برای اینکه بفهمید در تصویری کولهپشتی وجود دارد یا خیر آموزش دادهاید. حال در روش یادگیری انتقالی میتوانید از دانش موجود در این مدل برای بسط دایره تشخیص آن برای شناسایی اشیای دیگر مثل عینکی آفتابی استفاده کنید.
در حقیقت، در یادگیری انتقالی میکوشیم تا از دوبارهکاری پرهیز کنیم و دانش آموختهشده در یک وظیفه را بسط دهیم و آن را برای تکمیل وظایف دیگر به کار بگیریم. ما در این روش، وزنهای آموختهشده در وظیفه آ را به وظیفه جدید ب منتقل میکنیم.
اصل حاکم بر روش یادگیری انتقالی این میباشد که آموختههای دریافتی از مدل را همراه با حجم انبوه نقطهاطلاعات برچسبگذاریشده آن برای پیشبرد وظیفه دیگری به کار ببریم که فاقد مقادیر برجستهی از داده است. به تعبیری دیگر، در یادگیری انتقالی بهجای آنکه پروسه یادگیری را از نو شروع کنیم، یک پله بالاتر میایستیم و از الگوها و مدلهای آماده بهره میگیریم.
یادگیری انتقالی بیشتر از همه در زیرشاخههای گوناگون علوم رایانه مانند بینایی ماشین و پردازش زبان طبیعی برای انجام کارهایی مثل تجزیهوتحلیل احساسات به خدمت گرفته میگردد.
نمیتوان یادگیری انتقالی را تکنیک و فنی تازه در شرایط یادگیری ماشینی دانست، اما میتوان آن را فراتر و مانند روشهایی مثل «یادگیری فعال» (Active Learning) نوعی متدولوژی یا روششناسی طراحی قلمداد کرد. علاوه بر این، دامنه یادگیری انتقالی به حوزه یادگیری ماشین محدود نمیگردد. با این وجود در دستهای از شبکههای عصبی که نیازمند حجم عظیمی از داده و توان رایانشیاند، این روش طرفداران بسیاری برای خود دستوپا کرده است.
نحوه کارکرد یادگیری انتقالی چگونه است؟
یک نمونه از کارکرد این روش در بخش بینایی رایانهای میباشد که شبکههای عصبی میکوشند تا لبهها را در لایههای اولیه و اشکال را در لایههای میانی شناسایی کنند و در لایههای نهایی هم دست به انجام تعدادی از وظایف ویژه بزنند. در یادگیری انتقالی، لایههای اولیه و میانی سر جای خود میمثل و دوباره به خدمت گرفته میشوند و تنها این لایههای نهاییاند که وارد پروسه آموزش میشوند. بدین گونه میتوان از اطلاعات برچسبگذاریشده کار قبلی استفاده کرد که در گذشته پروسه آموزش را طی کرده است.
در مثالی که در گذشته از آن سخن گفتیم، قرار شد از مدلی که برای تشخیص کولهپشتی در تصویری خاص آموزش دیده است، برای شناسایی عینکی آفتابی در تصاویر استفاده کنیم. در اینجا ما مدلی را در اختیار داریم که در گذشته یاد گرفته است اشیای موجود در تصویر را تشخیص دهد، در نتیجه تنها رغبت به آن در لایه نهایی یاد بگیریم که عینک آفتابی چیست و چگونه آن را از دیگر اشیا تمیز دهد.
در نتیجه در یادگیری انتقالی سعی ما بر این میباشد که تا حد امکان دانش و آموختههای مدلهای پیشین را در تکمیل وظایف تازه به کار ببندیم. هویت این دانش بر حسب نوع مسائل و اطلاعات استخراجشده از آن گوناگون است. مثلا گاهی دانستن نحوه ترکیب مدلهمیباشد که ما را در بازشناسی سادهتر اشیای جدید یاری میدهد.
چرا از یادگیری انتقالی استفاده میکنیم؟
یادگیری انتقالی مزایای زیادی برای کارکنان حوزه علوم رایانه دارد که مهمترینشان از این قرارند:
- صرفهجویی در زمان؛
- کارکرد بهینهتر شبکههای عصبی بهکاررفته؛
- نیازنداشتن به حجم انبوهی از اطلاعات.
بیشتر وقتها آموزش شبکهای عصبی نیازمند دسترسی به حجم انبوهی از داده است، اما داده (آن هم در مقادیر کلان) بهسادگی در دسترس نیست. اینجمیباشد که روش یادگیری انتقالی میتواند راهگشا باشد و مانع از اتلاف وقت و هزینهای گزاف برای تهیه اطلاعات شود.
توسط یادگیری انتقالی میتوان مدلی پایه از یادگیری ماشین با مقادیر محدودی از اطلاعات ساخت. این امکان یکتا در تعدادی از حوزهها مانند پردازش زبان طبیعی خیلیکارساز است، چون تشکیل مجموعهاطلاعات کلان برچسبگذاریشده کار هرکسی نیست و تنها از عهده متخصصان زبدهای ساخته میباشد که بهسادگی و با هزینه کم در دسترس نیستند.
علاوه بر این، وقتی مدلی در اختیار داریم که قبلا آموزش دیده است، زمان یادگیری برای پیشرفت مدل تازه کاهش مییابد. به یاد داشته باشید که تکمیل صفر تا صدی پروسه آموزش برای یک شبکه عصبی عمیق شاید روزها یا حتی هفتهها به طول بینجامد.
دمیس هسابیس (Demis Hassabis)، مدیرعامل دیپمایند و فعال در بخش هوش مصنوعی، در این باره میگوید که یادگیری انتقالی از مکانیسمهایی میباشد که نویدبخش رسیدن به «هوش مصنوعی فراگیر» (AGI) در آیندهاند.
چه زمانی سراغ استفاده از روش یادگیری انتقالی میرویم؟
در بخش یادگیری ماشین، تعریف قواعدی که پیوسته استثناناپذیر باشند مشکل است. با این وجود وقتی سراغ یادگیری انتقالی میرویم که حداقل یک یا چند مورد از شرایط زیر حاکم باشد:
- اطلاعات آموزشی برچسبگذاریشده کافی برای آموزش شبکه از صفر در دسترس نباشد.
- حالا شبکهای در اختیار داشته باشیم که در گذشته برای انجام کار مشابهی آموزش دیده است.
- وظیفه ۱ ورودی همسانی با وظیفه ۲ داشته باشد.
اگر مدل اصلی توسط کتابخانههایی متنباز مانند «تنسرفلو» (TenserFlow) آموزش دیده باشد، میتوانید بهسادگی آن را بازیابی کنید و لایههای دلخواه خود را روی آن بسازید و آموزش دهید. با این وجود از یاد نبرید که یادگیری انتقالی تنها زمانی راهگشمیباشد که امکان آموختهشده از وظیفه اولیه هویتی عمومی و فراگیر داشته باشد و اطلاعات آن برای تکمیل وظایف ثانوی مفید باشند. علاوه بر این، ورودی مدل یادگیری هم از دید اندازه باید با ورودی مدل پیشین یکسان باشد. اگر به ورودی دسترسی ندارید، میتوانید با افزودن مرحله پیشپردازش اندازه ورودی مدل خود را به مقدار دلخواه تنظیم کنید.
انواع رویکردها در یادگیری انتقالی
۱. آموزش یک مدل برای استفاده مجدد از آن در آینده
خیال کنید که میخواهید وظیفه آ را تکمیل کنید، اما به حجم کافی از اطلاعات برای آموزش یک شبکه عصبی عمیق دسترسی ندارید. نخستین راهحل این میباشد که سراغ وظیفه ب بروید که ارتباطی با وظیفه آ دارد و حجم اطلاعات آن هم برجسته است. پس ازآن شبکه عصبی عمیق را در وظیفه ب آموزش دهید و در ادامه از این مدل برای تکمیل وظیفه آ استفاده کنید. حال نیاز به کل مدل یا فقط لایههای معدودی از آن به این بستگی دارد که در حال حل چه مسئلهای هستید.
اگر در هر دو وظیفه ورودیها مشابهاند، چه بسا استفاده مجدد از مدل و پیشبینی ورودیهای جدید شاید راهگشا باشد. علاوه بر این، تغییر و بازآموزی لایههای مختص وظایف ویژه و لایه خروجی گزینه دیگری میباشد که پیش روی شما قرار دارد.
۲. استفاده از نوعی ازپیشآموزشدیده
رویکرد دوم در یادگیری انتقالی، استفاده از مدلی میباشد که در گذشته پروسه آموزش را طی کرده است. مدلهایی از این دست زیاداند و با کمی تحقیق و جستوجو میتوانید به آنها دسترسی پیدا کنید. اینکه چه تعداد از لایههای مدل پیشین قرار است دوباره به خدمت گرفته شوند و چه تعداد باید پروسه بازآموزی را طی کنند، به هویت مسئله بستگی دارد.
مثلا «کراس» (Keras) همچون بسترهایی میباشد که مدلهای ازپیشآموزشدیده زیادی را در اختیار کارکنان حوزه علوم رایانه میگذارد که میتوان از آنها برای یادگیری انتقالی، پیشبینی، استخراج ویژگی و تنظیم دقیق (Fine-Tuning) استفاده کرد. علاوه بر این، مؤسسات و نهادهای تحقیقاتی بسیاری وجود دارند که مدلهای ازپیشآموزشدیده خود را رایگان در اختیار دانشمندان میگذارند.
۳. استخراج ویژگی
رویکرد دیگر در کاربست یادگیری انتقالی، استفاده از یادگیری عمیق برای کشف بهترین شکل بازنمایی مسئله یا بهنوعی استخراج مهمترین ویژگیهاست. این رویکرد که گاه «یادگیری بازنمایی» (Representation Learning) هم نامیده میگردد. به نسبت با دیگر روشها نتایج بهینهتری را در اختیار میگذارد.
در بخش یادگیری ماشین، دانشمندان و متخصصان ویژگیها را دستی تعریف میکنند. با این وجود یادگیری عمیق قادر است خودکار ویژگیها را استخراج کند. مسلما این به آن معنا نیست که تخصصهایی مانند مهندسی ویژگی و دانش دامنه دیگر اهمیتی ندارند، اما درهرحال باید انتخاب کنید که قرار است در شبکه روی کدام ویژگی تمرکز کنید.
تعدادی هم میگویند که شبکههای عصبی خود قاردند بیاموزند که کدام ویژگیها مهم و کدام بیاهمیتاند. در نتیجه یک الگوریتم یادگیری بازنمایی میتواند ترکیب مناسبی از ویژگیها را در بازه زمانی کوتاهی کشف کند؛ کاری که برای موجبات انسانی خیلیزمانبر و طاقتفرساست.
در ادامه این الگوریتم بازنمایی آموزشدیده قادر است در حل دیگر مسئلهها هم به کمک ما بیاید. پس ازآن رغبت از نخستین لایهها برای مشخص بازنمایی صحیح ویژگیها استفاده کنید، اما سراغ خروجیها و لایههای نهایی نروید، چون برای وظایف ویژهای تعریف شدهاند. در گام بعدی، اطلاعات را به شبکه خود تزریق و از یکی از لایههای میانی بهعنوان لایه خروجی استفاده کنید. این لایه شاید بهعنوان یک بازنمایی از اطلاعات خام تفسیر شود.
این رویکرد بیش از همه در بخش بینایی ماشین کاربرد دارد، چون قادر است اندازه دیتاستها یا مجموعهاطلاعات شما را کاهش دهد. این به نوبه خود باعث کاهش زمان محاسبات میگردد.و حتی شاید گزینهای مناسب برای کاربرد در الگوریتمهای سنتی باشد.
مدلهای پرطرفدار ازپیشآموزشدیده
تعدادی از مدلهای یادگیری ماشین ازپیشآموزشدیده محبوبیت بسیاری در بین متخصصان حوزه هوش مصنوعی دارند. یکی از این مدلها «اینسپشن-وی ۳» (Inception-v3) نام دارد که نخستین بار برای یکی از پروژههای شرکت «ایمیجنت» (ImageNet) آموزش داده شد.
مایکروسافت هم مدلهای ازپیشآموزشدیده زیادی را در اختیار متخصصان قرار داده میباشد که از طریق زبانهای R و پایتون در دسترساند.
سخن پایانی
یادگیری انتقالی از مکانیسمهای ویژه حوزه هوش مصنوعی و یادگیری ماشین میباشد که توسط مدلهای ازپیشآموزشدیده دست افراد را برای حل مسائل و تکمیل وظایف مشابه بازتر میکند و از نیاز آنها برای دسترسی پیوسته به اطلاعات کلان میکاهد.