پیشرفت یادگیری خود نظارت شده و نیمه نظارت شده با SimCLR

منتشر‌شده در: وبلاگ هوش مصنوعی گوگل به تاریخ ۸ آپریل ۲۰۲۰لینک منبع: Advancing Self-Supervised and Semi-Supervised Learning with SimCLRاخیرا، مدل‌های پردازش زبان طبیعی، مانند برت و T5، نشان داده‌اند که دستیابی به نتایج خوب با چند برچسب کلاس با پیش آموزش اولیه بر روی یک مجموعه داده بدون برچسب بزرگ و سپس تنظیم دقیق بر روی مجموعه داده با برچسب کوچک‌تر امکان پذیر است. به طور مشابه، همانطور که توسط Exemplar-CNN، Instance Discrimination , CPC , AMDIM , CMC , MoCo و غیره نشان داده شد، پیش آموزش بر روی مجموعه داده‌های تصویر بدون برچسب بزرگ، پتانسیل بهبود عملکرد در وظایف بینایی ماشین را دارد. این روش‌ها زیر چتر یادگیری خود-نظارت قرار می‌گیرند، که یک خانواده از تکنیک‌ها برای تبدیل یک مشکل یادگیری بدون نظارت به یک مشکل یادگیری تحت نظارت با ایجاد برچسب‌های جایگزین از مجموعه داده برچسب نخورده است. با این حال، تکنیک‌های خود-نظارت شده فعلی برای داده‌های تصویر پیچیده هستند، نیاز به تغییرات قابل‌توجه در معماری یا روش آموزش دارند، و استفاده گسترده از آن‌ها دیده نشده است.در «یک چارچوب ساده برای یادگیری کنتراست نمایش بصری»، ما روشی را مطرح می‌کنیم که نه تنها روش‌های قبلی را ساده می‌کند بلکه روش‌های قبلی را برای یادگیری نمایش تحت نظارت خود بر روی تصاویر بهبود می‌بخشد.چارچوب پیشنهادی ما، به نام SimCLR، به طور قابل‌توجهی وضعیت جاری در یادگیری نظارت شده و نیمه نظارت شده را پیشرفت می‌دهد و رکورد جدیدی برای طبقه‌بندی تصویر با مقدار محدودی از داده‌های برچسب دار کلاس (۸۵.۸٪ دقت بالا-۵ با استفاده از ۱٪ از تصاویر برچسب دار بر روی مجموعه دادهImageNet) به دست می‌آورد.سادگی روش ما به این معنی است که می‌تواند به راحتی در خطوط لوله یادگیری نظارت شده موجود گنجانده شود. در ادامه، ابتدا چارچوب SimCLR را معرفی می‌کنیم، سپس در مورد سه چیزی که در حین توسعه SimCLR کشف کردیم بحث می‌کنیم.چارچوب SimCLRچارچوب SimCLR ابتدا نمایش‌های عمومی تصاویر بر روی یک مجموعه داده برچسب نخورده را یاد می‌گیرد، و سپس می‌تواند به خوبی با مقدار کمی از تصاویر برچسب دار تنظیم شود تا عملکرد خوبی برای یک وظیفه طبقه‌بندی داده‌شده داشته باشد. نمایش‌های عمومی با به حداکثر رساندن توافق بین دیدگاه‌های مختلف تبدیل‌شده از یک تصویر یک‌سان و به حداقل رساندن توافق بین دیدگاه‌های تبدیل‌شده از تصاویر مختلف، در پی روشی به نام یادگیری تطبیقی، آموزش داده می‌شوند. به روز رسانی پارامترهای یک شبکه عصبی با استفاده از این هدف تطبیقی باعث نمایش دیدگاه‌های متناظر برای «جذب» یکدیگر می‌شود، در حالی که نمایش دیدگاه‌های غیر متناظر «دفع» یکدیگر می‌شوند.برای شروع، SimCLR به طور تصادفی مثال‌هایی را از مجموعه داده اصلی بیرون می‌کشد، و هر مثال را دو بار با استفاده از ترکیبی از افزایش‌های ساده (کراپ تصادفی، انحراف رنگ تصادفی، و تاری گاوسی) تبدیل می‌کند، و دو مجموعه از نماهای متناظر ایجاد می‌کند. دلیل این تغییرات ساده این است که (۱) ما می‌خواهیم نمایش «سازگار» همان تصویر را تحت تبدیل تشویق کنیم، (۲) از آنجا که داده‌های پیش آموزشی فاقد برچسب هستند، ما نمی‌توانیم دلیل قبلی را بدانیم که کدام تصویر شامل کدام طبقه شی است، و (۳) متوجه شدیم که این تحولات ساده برای شبکه عصبی برای یادگیری نمایش‌های خوب کافی هستند، هرچند سیاست تبدیل پیچیده‌تری را نیز می توان به کار برد.SimCLR سپس نمایش تصویر را با استفاده از یک متغیر شبکه عصبی کانولوشنی براساس معماری ResNet محاسبه می‌کند. سپس SimCLR یک تصویر غیر خطی از نمایش تصویر را با استفاده از یک شبکه کاملا متصل (به عنوان مثال MLP) محاسبه می‌کند، که ویژگی‌های نامتغیر را تقویت کرده و توانایی شبکه را برای شناسایی تبدیلات مختلف یک تصویر یک‌سان به حداکثر می‌رساند. ما از نزول گرادیان تصادفی برای به روز رسانی CNN و MLP به منظور به حداقل رساندن تابع اتلاف هدف مقابله‌ای استفاده می‌کنیم. پس از پیش‌آموزش بر روی تصاویر برچسب نخورده، یا می‌توانیم مستقیما از خروجی CNN به عنوان نمایش یک تصویر استفاده کنیم، یا می‌توانیم آن را با تصاویر برچسب دار تنظیم کنیم تا عملکرد خوبی برای کارهای پایین‌دست داشته باشیم.شکل ۱:تصویری از چارچوب SimCLR پیشنهادی. لایه‌های CNN و MLP به طور همزمان آموزش داده می‌شوند تا تصاویری را به دست دهند که مشابه نسخه‌های تقویت‌شده یک تصویر هستند، در حالی که برای تصاویر مختلف متفاوت هستند، حتی اگر آن تصاویر از طبقه مشابهی از شی باشند. مدل آموزش‌دیده نه تنها به خوبی تغییر شکل‌های مختلف یک تصویر را شناسایی می‌کند، بلکه بازنمایی‌های مفاهیم مشابه را نیز یاد می‌گیرد (به عنوان مثال، صندلی در مقابل سگ) ، که بعدا می‌تواند از طریق تنظیم دقیق با برچسب‌ها مرتبط شود.عملکردچارچوب SimCLR، با وجود سادگی اش، به شدت وضعیت جاری را در یادگیری خود نظارت شده و نیمه نظارت شده بر روی تصویر برداری اینترنت پیشرفت می‌دهد. یک طبقه‌بندی کننده خطی آموزش‌دیده در بالای نمایش‌های خود-نظارت شده که توسط SimCLR یاد گرفته شده‌است، در مقایسه با ۷۱.۵٪ / ۹۰.۱٪ از بهترین CPC قبلی (نسخه v2) ، با عملکرد یادگیری نظارت شده در یک مدل کوچک‌تر، ResNet-50، مطابق با شکل زیر، به دقت ۹۳.۲٪ / ۹۳.۲٪ دست می‌یابد.شکل ۲:دقت طبقه‌بندی کننده‌های خطی آموزش‌دیده بر روی تصاویر با روش‌های مختلف نظارت شده (از پیش آموزش‌دیده بر روی تصویر نت). صلیب خاکستری نشانگر ResNet-50 تحت نظارت است.هنگامی که خوب تنظیم شود تنها ۱٪ از برچسب‌ها، SimCLR به ۶۳.۰٪ / ۸۵.۸٪ بالا-۱ / بالا-۵ می‌رسد، در مقایسه با ۵۲.۷٪ / ۷۷.۹٪ از بهترین CPC قبلی (CPC v2). شاید عجیب باشد که وقتی که ۱۰۰٪ از برچسب‌ها خوب تنظیم شوند، مدل‌های SimCLR از پیش آموزش‌دیده هنوز هم می‌توانند به طور قابل‌توجهی بهتر از خطوط پایه تحت نظارت آموزش‌دیده از ابتدا عمل کنند، به عنوان مثال، تنظیمات خوب SimCLR رزنت-۵۰ از پیش آموزش‌دیده (۴ x) در ۳۰ دوره به دقت ۸۰.۱٪ بالا-۱ دست می‌یابد، در حالی که آموزش از نو ۷۸.۴٪ در ۹۰ دوره به دست می‌آید.درک یادگیری تطبیقی بازنمایی‌هابهبود SimCLR در روش‌های قبلی به خاطر هیچ انتخاب طراحی واحد نیست، بلکه به خاطر ترکیب آن‌ها است. چندین یافته مهم در زیر خلاصه شده‌اند.یافته ۱: ترکیبات تبدیل تصویر مورد استفاده برای تولید نماهای متناظر بسیار مهم هستند. همانطور که SimCLR از طریق به حداکثر رساندن توافق دیدگاه‌های مختلف یک تصویر، یاد می‌گیرد، تشکیل تبدیلات تصویر برای جلوگیری از اشکال جزیی توافق، مانند توافق هیستوگرام رنگ، مهم است. برای درک بهتر این موضوع، انواع مختلف تبدیل نشان‌داده‌شده در شکل زیر را بررسی کردیم. شکل ۳: مثال‌های تصادفی از تبدیل‌ها به تصویر اصلی اعمال می‌شوند. ما دریافتیم که در حالی که هیچ تبدیل واحدی (که مورد مطالعه قرار دادیم) برای تعریف وظیفه پیش‌بینی که بهترین نمایش را ارایه می‌دهد کفایت نمی‌کند، دو تبدیل برجسته می‌شوند: برش تصادفی و تغییر رنگ تصادفی. اگر چه نه تغییر رنگ و نه برش منجر به عملکرد بالا به خودی خود نمی‌شود، ترکیب این دو تبدیل منجر به نتایج مناسب بر اساس وضعیت جاری می‌شود. برای درک این که چرا ترکیب کشت تصادفی با انحراف رنگ تصادفی مهم است، فرآیند به حداکثر رساندن توافق بین دو محصول از یک تصویر را در نظر بگیرید. این به طور طبیعی شامل دو نوع وظیفه پیش‌بینی است که یادگیری نمایش موثر را ممکن می‌سازند: (الف) پیش‌بینی نماهای محلی (به عنوان مثال، محصول A در تصویر زیر) از دید بزرگ‌تر «کلی» (محصول B) ، و (ب) پیش‌بینی نماهای همسایه (به عنوان مثال، بین محصول C و محصول D). شکل ۴: به حداکثر رساندن توافق بین محصولات مختلف منجر به دو وظیفه پیش‌بینی می‌شود. چپ: نماهای عمومی در مقابل نماهای محلی. راست: نماهای مجاور. با این حال، برش‌های مختلف یک تصویر معمولا در فضای رنگ بسیار شبیه به هم به نظر می‌رسند. اگر رنگ‌ها دست‌نخورده باقی بمانند، یک مدل می‌تواند توافق بین محصولات را صرفا با تطبیق هیستوگرام رنگ به حداکثر برساند. در این مورد، مدل ممکن است تنها بر روی رنگ تمرکز کرده و دیگر ویژگی‌های تعمیم‌پذیرتر را نادیده بگیرد. با تغییر مستقل رنگ‌های هر محصول، این نشانه‌های سطحی را می توان حذف کرد و مدل تنها می‌تواند با یادگیری نمایش‌های مفید و قابل تعمیم به توافق برسد. یافته ۲: تصویر غیر خطی مهم است. در SimCLR، یک تصویر غیر خطی مبتنی بر MLP قبل از محاسبه تابع تلفات برای هدف یادگیری مقابله‌ای به کار می‌رود، که به شناسایی ویژگی‌های ثابت هر تصویر ورودی و حداکثر کردن توانایی شبکه برای شناسایی تبدیلات مختلف یک تصویر یک‌سان کمک می‌کند. ما در آزمایش‌های خود دریافتیم که استفاده از چنین تصویر غیر خطی به بهبود کیفیت نمایش و بهبود عملکرد طبقه‌بندی کننده خطی آموزش‌دیده بر روی نمایش آموخته‌شده SimCLR تا بیش از ۱۰٪ کمک می‌کند. به طور جالب توجهی، مقایسه بین نمایش‌های استفاده‌شده به عنوان ورودی برای مدول تصویر MLP و خروجی از تصویر نشان می‌دهد که نمایش مرحله قبلی هنگامی که توسط طبقه‌بندی کننده خطی اندازه‌گیری می‌شود عملکرد بهتری دارد. از آنجا که تابع زیان برای اهداف مقایسه‌ای مبتنی بر خروجی افکنش است، تا حدی عجیب است که نمایش قبل از افکنش بهتر باشد. ما حدس می‌زنیم که هدف ما منجر به لایهی نهایی شبکه می‌شود تا نسبت به ویژگی‌هایی مانند رنگی که ممکن است برای کارهای پایین‌دست مفید باشد، نامتغیر شود. با هد افکنش غیر خطی اضافی، لایه نمایش قبل از این که سر افکنش قادر به حفظ اطلاعات مفیدتر در مورد تصویر باشد. یافته ۳: بزرگ شدن به طور قابل‌توجهی عملکرد را بهبود می‌بخشد. ما متوجه شدیم که (۱) پردازش مثال‌های بیشتر در همان دسته، (۲) استفاده از شبکه‌های بزرگ‌تر، و (۳) آموزش برای مدت طولانی منجر به بهبود قابل‌توجه می‌شود. در حالی که اینها ممکن است تا حدی مشاهدات بدیهی به نظر برسند، این پیشرفت‌ها برای SimCLR بیشتر از یادگیری تحت نظارت به نظر می‌رسند. برای مثال، ما مشاهده می‌کنیم که عملکرد یک رزونت تحت نظارت بین ۹۰ تا ۳۰۰ دوره آموزشی (در تصویر نت) به اوج خود رسید، اما SimCLR می‌تواند حتی پس از ۸۰۰ دوره آموزش به بهبود خود ادامه دهد. همچنین به نظر می‌رسد زمانی که عمق یا عرض شبکه را افزایش می‌دهیم، بهره SimCLR ادامه می‌یابد، در حالی که برای یادگیری تحت نظارت شروع به اشباع می‌کند. به منظور بهینه‌سازی بازده افزایش آموزش ما، ما استفاده گسترده‌ای را از Cloud TPU در آزمایش‌های خود انجام دادیم. کد و مدل‌های از پیش آموزش‌دیدهبرای تسریع تحقیقات در یادگیری تحت نظارت خود و نیمه نظارت، ما هیجان‌زده هستیم که کد و مدل‌های از پیش آموزش‌دیده SimCLR را با جامعه دانشگاهی بزرگ‌تر به اشتراک بگذاریم. آن‌ها را می توان در مخزن گیت‌هاب ما یافت.این متن با استفاده از ربات ترجمه مقاله یادگیری ماشین ترجمه شده و به صورت محدود مورد بازبینی انسانی قرار گرفته است.در نتیجه می‌تواند دارای برخی اشکالات ترجمه باشد.مقالات لینک‌شده در این متن می‌توانند به صورت رایگان با استفاده از مقاله‌خوان ترجمیار به فارسی مطالعه شوند.