یادگیری انتقال (Transfer Learning) چیست؟
یادگیری انتقال (TL) یک تکنیک یادگیری ماشین (ML) است که در آن یک مدل از پیش آموزشدیده برای یک وظیفه خاص، برای یک وظیفه جدید و مرتبط تنظیم دقیق (fine-tune) میشود. آموزش یک مدل جدید یادگیری ماشین فرآیندی زمانبر و سنگین است که به حجم زیادی از داده، قدرت محاسباتی و چندین تکرار نیاز دارد تا برای تولید آماده شود. در عوض، سازمانها از یادگیری انتقال برای بازآموزش مدلهای موجود برای وظایف مرتبط با دادههای جدید استفاده میکنند. برای مثال، اگر یک مدل یادگیری ماشین بتواند تصاویر سگها را شناسایی کند، میتوان آن را با مجموعه تصاویر کوچکتری که تفاوتهای ویژگی بین سگها و گربهها را نشان میدهد، برای شناسایی گربهها آموزش داد.
مزایای یادگیری انتقال چیست؟
یادگیری انتقال مزایای متعددی برای محققانی که برنامههای یادگیری ماشین را ایجاد میکنند، ارائه میدهد:
افزایش کارایی
آموزش مدلهای یادگیری ماشین زمانبر است زیرا آنها دانش را میسازند و الگوها را شناسایی میکنند. همچنین به مجموعه دادههای بزرگ و محاسبات پرهزینه نیاز دارد. در یادگیری انتقال، یک مدل از پیش آموزشدیده دانش بنیادی وظایف، ویژگیها، وزنها و توابع را حفظ میکند و به آن اجازه میدهد تا سریعتر با وظایف جدید سازگار شود. میتوانید از مجموعه دادههای بسیار کوچکتر و منابع کمتری استفاده کنید و در عین حال نتایج بهتری به دست آورید.
افزایش دسترسیپذیری
ساخت شبکههای عصبی یادگیری عمیق به حجم دادههای زیاد، منابع، قدرت محاسباتی و زمان نیاز دارد. یادگیری انتقال این موانع را برطرف میکند و به سازمانها امکان میدهد یادگیری ماشین را برای موارد استفاده سفارشی اتخاذ کنند. میتوانید مدلهای موجود را با کسری از هزینه با نیازهای خود سازگار کنید. برای مثال، با استفاده از یک مدل تشخیص تصویر از پیش آموزشدیده، میتوانید مدلهایی برای تحلیل تصاویر پزشکی، نظارت بر محیط زیست یا تشخیص چهره با تنظیمات حداقلی ایجاد کنید.
بهبود عملکرد
مدلهایی که از طریق یادگیری انتقال توسعه مییابند، اغلب در محیطهای متنوع و چالشبرانگیز استحکام بیشتری نشان میدهند. آنها با تنوع و نویز دنیای واقعی بهتر کنار میآیند، زیرا در آموزش اولیه خود در معرض طیف گستردهای از سناریوها قرار گرفتهاند. این مدلها نتایج بهتری ارائه میدهند و با شرایط غیرقابل پیشبینی بهصورت انعطافپذیرتری سازگار میشوند.
استراتژیهای مختلف یادگیری انتقال چیست؟
استراتژیای که برای تسهیل یادگیری انتقال استفاده میکنید به حوزه مدل، وظیفهای که باید انجام دهد و دسترسی به دادههای آموزشی بستگی دارد.
یادگیری انتقال تراکنشی (Transductive Transfer Learning)
یادگیری انتقال تراکنشی شامل انتقال دانش از یک حوزه منبع خاص به یک حوزه هدف متفاوت اما مرتبط است، با تمرکز اصلی بر روی حوزه هدف. این روش بهویژه زمانی مفید است که دادههای برچسبدار از حوزه هدف کم یا وجود نداشته باشد.
یادگیری انتقال تراکنشی از مدل میخواهد که با استفاده از دانش بهدستآمده قبلی، پیشبینیهایی در دادههای هدف انجام دهد. از آنجا که دادههای هدف از نظر ریاضی شبیه دادههای منبع هستند، مدل الگوها را پیدا میکند و سریعتر عمل میکند.
برای مثال، فرض کنید یک مدل تحلیل احساسات که روی بررسیهای محصولات آموزش دیده است، برای تحلیل بررسیهای فیلمها تطبیق داده شود. حوزه منبع (بررسیهای محصولات) و حوزه هدف (بررسیهای فیلمها) از نظر زمینه و جزئیات متفاوت هستند اما در ساختار و استفاده از زبان شباهتهایی دارند. مدل بهسرعت یاد میگیرد که درک خود از احساسات در حوزه محصولات را به حوزه فیلمها اعمال کند.
یادگیری انتقال استقرایی (Inductive Transfer Learning)
یادگیری انتقال استقرایی زمانی است که حوزههای منبع و هدف یکسان هستند، اما وظایف مدل باید متفاوت باشند. مدل از پیش آموزشدیده با دادههای منبع آشنا است و برای توابع جدید سریعتر آموزش میبیند.
مثالی از یادگیری انتقال استقرایی در پردازش زبان طبیعی (NLP) است. مدلها روی مجموعه بزرگی از متون از پیش آموزش دیدهاند و سپس با استفاده از یادگیری انتقال استقرایی برای توابع خاص مانند تحلیل احساسات تنظیم دقیق میشوند. به همین ترتیب، مدلهای بینایی کامپیوتری مانند VGG روی مجموعه دادههای بزرگ تصویر از پیش آموزش دیدهاند و سپس برای توسعه تشخیص اشیا تنظیم دقیق میشوند.
یادگیری انتقال بدون نظارت (Unsupervised Transfer Learning)
یادگیری انتقال بدون نظارت از استراتژی مشابهی با یادگیری انتقال استقرایی برای توسعه تواناییهای جدید استفاده میکند. با این حال، این شکل از یادگیری انتقال زمانی استفاده میشود که فقط دادههای بدون برچسب در هر دو حوزه منبع و هدف دارید.
مدل ویژگیهای مشترک دادههای بدون برچسب را یاد میگیرد تا هنگام درخواست برای انجام یک وظیفه هدف، بهطور دقیقتری تعمیم دهد. این روش زمانی مفید است که بهدست آوردن دادههای برچسبدار منبع چالشبرانگیز یا پرهزینه باشد.
برای مثال، فرض کنید وظیفه شناسایی انواع مختلف موتورسیکلتها در تصاویر ترافیک باشد. ابتدا، مدل روی مجموعه بزرگی از تصاویر وسایل نقلیه بدون برچسب آموزش میبیند. در این حالت، مدل بهطور مستقل شباهتها و ویژگیهای متمایز بین انواع وسایل نقلیه مانند خودروها، اتوبوسها و موتورسیکلتها را تعیین میکند. سپس، مدل به مجموعه کوچکی از تصاویر خاص موتورسیکلت معرفی میشود. عملکرد مدل بهطور قابلتوجهی نسبت به قبل بهبود مییابد.
مراحل یادگیری انتقال چیست؟
سه مرحله اصلی در تنظیم دقیق یک مدل یادگیری ماشین برای یک وظیفه جدید وجود دارد.
انتخاب یک مدل از پیش آموزشدیده
ابتدا یک مدل از پیش آموزشدیده با دانش یا مهارتهای قبلی برای یک وظیفه مرتبط انتخاب کنید. زمینه مفیدی برای انتخاب مدل مناسب، تعیین وظیفه منبع هر مدل است. اگر وظایف اصلی که مدل انجام داده است را درک کنید، میتوانید مدلی را پیدا کنید که بهطور مؤثرتری به وظیفه جدید منتقل شود.
پیکربندی مدلهای از پیش آموزشدیده
پس از انتخاب مدل منبع، آن را پیکربندی کنید تا دانش را به مدلی برای انجام وظیفه مرتبط منتقل کند. دو روش اصلی برای انجام این کار وجود دارد:
- فریز کردن لایههای از پیش آموزشدیده: لایهها بلوکهای سازنده شبکههای عصبی هستند. هر لایه شامل مجموعهای از نورونها است و تبدیلهای خاصی را روی دادههای ورودی انجام میدهد. وزنها پارامترهایی هستند که شبکه برای تصمیمگیری استفاده میکند. در ابتدا به مقادیر تصادفی تنظیم میشوند، وزنها در طول فرآیند آموزش با یادگیری مدل از دادهها تنظیم میشوند. با فریز کردن وزنهای لایههای از پیش آموزشدیده، آنها را ثابت نگه میدارید و دانشی که مدل یادگیری عمیق از وظیفه منبع بهدست آورده است را حفظ میکنید.
- حذف لایه آخر: در برخی موارد استفاده، میتوانید لایههای آخر مدل از پیش آموزشدیده را حذف کنید. در اکثر معماریهای یادگیری ماشین، لایههای آخر مختص وظیفه هستند. حذف این لایههای نهایی به شما کمک میکند تا مدل را برای نیازهای وظیفه جدید بازپیکربندی کنید.
- معرفی لایههای جدید: افزودن لایههای جدید روی مدل از پیش آموزشدیده به شما کمک میکند تا با ماهیت تخصصی وظیفه جدید سازگار شوید. لایههای جدید مدل را با تفاوتها و توابع نیاز جدید تطبیق میدهند.
آموزش مدل برای حوزه هدف
مدل را روی دادههای وظیفه هدف آموزش میدهید تا خروجی استاندارد آن با وظیفه جدید همراستا شود. مدل از پیش آموزشدیده احتمالاً خروجیهای متفاوتی از آنچه مورد نظر است تولید میکند. پس از نظارت و ارزیابی عملکرد مدل در طول آموزش، میتوانید hyperparameters یا معماری شبکه عصبی پایه را تنظیم کنید تا خروجی را بیشتر بهبود دهید. برخلاف وزنها، hyperparameters از دادهها یاد گرفته نمیشوند. آنها از قبل تنظیم شدهاند و نقش مهمی در تعیین کارایی و اثربخشی فرآیند آموزش دارند. برای مثال، میتوانید پارامترهای منظمسازی یا نرخ یادگیری مدل را تنظیم کنید تا توانایی آن در رابطه با وظیفه هدف بهبود یابد.
استراتژیهای یادگیری انتقال در هوش مصنوعی مولد چیست؟
استراتژیهای یادگیری انتقال برای پذیرش هوش مصنوعی مولد در صنایع مختلف حیاتی هستند. سازمانها میتوانند مدلهای بنیادی موجود را بدون نیاز به آموزش مدلهای جدید روی میلیاردها پارامتر داده در مقیاس سفارشی کنند. در ادامه برخی از استراتژیهای یادگیری انتقال مورد استفاده در هوش مصنوعی مولد آورده شده است:
آموزش متخاصم حوزهای
آموزش متخاصم حوزهای شامل آموزش یک مدل بنیادی برای تولید دادههایی است که از دادههای واقعی در حوزه هدف قابل تشخیص نیستند. این تکنیک معمولاً از یک شبکه تمایزدهنده، مانند آنچه در شبکههای متخاصم مولد دیده میشود، استفاده میکند که سعی میکند بین دادههای واقعی و دادههای تولیدشده تمایز قائل شود. مولد یاد میگیرد که دادههای واقعیتری تولید کند.
برای مثال، در تولید تصویر، مدلی که روی عکسها آموزش دیده است ممکن است برای تولید آثار هنری تطبیق داده شود. تمایزدهنده کمک میکند تا آثار هنری تولیدشده از نظر سبک با حوزه هدف سازگار باشند.
یادگیری معلم-شاگرد
یادگیری معلم-شاگرد شامل یک مدل «معلم» بزرگتر و پیچیدهتر است که به یک مدل «شاگرد» کوچکتر و سادهتر آموزش میدهد. مدل شاگرد یاد میگیرد که رفتار مدل معلم را تقلید کند و بهطور مؤثری دانش را منتقل کند. این برای استقرار مدلهای مولد بزرگ در محیطهای محدود شده از نظر منابع مفید است.
برای مثال، یک مدل زبانی بزرگ (LLM) میتواند بهعنوان معلم برای یک مدل کوچکتر عمل کند و قابلیتهای تولید زبان خود را منتقل کند. این امکان را به مدل کوچکتر میدهد تا متن با کیفیتی بالا با سربار محاسباتی کمتری تولید کند.
تفکیک ویژگیها
تفکیک ویژگیها در مدلهای مولد شامل جداسازی جنبههای مختلف داده، مانند محتوا و سبک، به نمایشهای متمایز است. این به مدل امکان میدهد تا این جنبهها را بهصورت مستقل در فرآیند یادگیری انتقال دستکاری کند.
برای مثال، در وظیفه تولید چهره، یک مدل ممکن است یاد بگیرد که ویژگیهای صورت را از سبک هنری جدا کند. این امکان را به آن میدهد تا پرترههایی در سبکهای هنری مختلف تولید کند در حالی که شباهت سوژه را حفظ میکند.
یادگیری انتقال چندوجهی
یادگیری انتقال چندوجهی شامل انتقال دانش بین روشهای مختلف، مانند متن و تصاویر، است. مدلهای مولد میتوانند نمایشهایی را یاد بگیرند که در این روشها قابل اعمال باشند. مدلی که روی توضیحات متنی و تصاویر مربوطه آموزش دیده است ممکن است یاد بگیرد که تصاویر مرتبطی را از توضیحات متنی جدید تولید کند و بهطور مؤثری درک خود را از متن به تصویر منتقل کند.
یادگیری صفر-شات و چند-شات
در یادگیری صفر-شات و چند-شات، مدلهای مولد برای انجام وظایف یا تولید دادههایی که در طول آموزش تعداد کمی یا هیچ نمونهای از آنها دیدهاند، آموزش داده میشوند. این با یادگیری نمایشهای غنی که بهخوبی تعمیم مییابند به دست میآید. برای مثال، یک مدل مولد ممکن است برای ایجاد تصاویر حیوانات آموزش دیده باشد. با استفاده از یادگیری چند-شات، میتواند تصاویری از یک حیوان بهندرت دیدهشده را با درک و ترکیب ویژگیهایی از حیوانات دیگر تولید کند.