یادگیری ویژگی (Feature Learning) نظارت نشده — به زبان ساده
«یادگیری ویژگی» (Feature Learning) یا «یادگیری ارائه» (Representation Learning)، در علم «یادگیری ماشین» (Machine Learning)، به مجموعهای از روشها گفته میشود که به سیستم امکان اکتشاف خودکار ارائههای مورد نیاز برای «تشخیص ویژگی» (Feature Detection) یا «دستهبندی» (Classification) بر اساس دادههای خام را میدهند. این روشها، جایگزین روشهای دستی «مهندسی ویژگیها» میشوند و به ماشین امکان یادگیری ویژگیها و استفاده از آنها برای انجام یک کار مشخص را میدهند.
وظایف یادگیری ماشینی مانند «دستهبندی» (Classification) اغلب نیازمند ورودیهایی هستند که به لحاظ ریاضیاتی و محاسباتی پردازش آنها آسان باشد. با توجه به اینکه، روشهای پردازش دادههای جهان واقعی، شامل تصاویر، ویدئوها و دادههای حسگرها، هنوز به موفقیتهای قابل توجهی برای تعیین ویژگیها با بهرهگیری از الگوریتمها دست پیدا نکردهاند، یک راهکار مناسب کشف این ویژگیها یا ارائهها، بررسی دادهها بدون تکیه بر الگوریتمهایی است که صراحتا برای این کار تعبیه شدهاند.
یادگیری ویژگی میتواند به صورت نظارت شده یا نظارت نشده باشد. در «یادگیری ویژگی نظارت شده» (Supervised Feature Learning)، ویژگیها با استفاده از دادههای ورودی برچسبدار یاد گرفته میشوند. «شبکههای عصبی نظارت شده» (Supervised Neural Networks)، «پرسپترون چند لایه» (Multilayer Perceptron) و «یادگیری دیکشنری نظارت شده» (Supervised Dictionary Learning) از این جمله هستند.
در «یادگیری ویژگی نظارت نشده» (Unsupervised Feature Learning)، ویژگیها از طریق ورودیهای داده فاقد برچسب یاد گرفته میشوند. یادگیری دیکشنری، «تحلیل مولفه مستقل» (Independent Component Analysis)، «تجزیه ماتریس» (Matrix decomposition) و «خودرمزگذار» (Autoencoder) از جمله روشهای یادگیری ویژگی نظارت نشده هستند.
یادگیری ویژگی نظارت نشده
«شبکههای عصبی پیچشی» (Deep Convolutional Networks)، در وظایف مربوط به کار با تصاویر مانند «پردازش تصویر» (Image)، «ماتریسهای تصویر» (Image Matrices) را از ورودی دریافت (ارتفاع x عرض x کانالها) و آنها را در فضای ویژگی با ابعاد کم از طریق یک سری تابعهای پارامتری پردازش میکند. «یادگیری نظارت شده» (Supervised Learning) و «یادگیری نظارت نشده» (Unsupervised Learning) هر دو در پی این هدف هستند که به لحاظ معنایی یک ارائه معنادار از ویژگیها را بر اساس دادههای خام فراهم کنند.
آموزش دادن مدلهای یادگیری نظارت شده عمیق، نیازمند حجم انبوهی از دادههای دارای جفت برچسبهای (x,y) است. یادگیری نظارت نشده نیاز به برچسبهای متناظر y ندارد. یکی از مثالهای متداول در این رابطه، «خودررمزگذارها» (Auto-encoders) است. خودررمزگذارها x را از ورودی دریافت میکنند و آن را از طریق یک مجموعه از لایهها برای فشردهسازی ابعاد انتقال میدهند و سپس به بررسی اینکه چقدر خوب میتوانند x را بازسازی کنند میپردازند. این ویژگیها برای یادگیری نظارت شده یا وظایف «تمایزی» (Discriminative) خیلی مفید نیستند.
یک راهکار دیگر برای یادگیری ویژگی نظارت نشده، بهرهگیری از رمزنگارهای خودکار رفع نویز (De-noising Auto-encoders) است. این رمزنگارها یک تصویر ورودی آسیب دیده (تصویر ورودی که به آن ماتریس تصادفی افزوده شده) را دریافت میکنند و تصویر اصلی را میسازند.
این ویژگیها برای وظایف متمایزسازی خیلی مفید نیستند، اگرچه، خوشبختانه این دو مثال توضیح مناسبی از این موضوع هستند که چگونه یادگیری ویژگی نظارت نشده قابل انجام است.
«دوسوویتسکی» (Dosovitskiy) و همکاران در مقالهای [+]، یک روش یادگیری نظارت نشده ویژگیها ارائه کردهاند که از تقویت فوقالعاده دادهها برای ساخت دستههای جایگزین برای یادگیری نظارت نشده استفاده میکند. روش مذکور، تکههای ۳۲x۳۲ از دادهها را میبُرد و آنها را با استفاده از مجموعهای از تبدیلها، مطابق با پارامتر اندازه نمونهگیری شده تبدیل میکند. در مقاله ارائه شده توسط دوسوویتسکی و همکاران، یک مدل شبکه عصبی پیچشی عمیق برای دستهبندی این تکهها مطابق با دستههای جایگزین افزوده شده آموزش داده شده است.
تصویر بالا، سمت چپ، یک تکه ۳۲x۳۲ دریافت شده از مجموعه داده STL-10 است. دوسوویتسکی و همکاران تلاش کردهاند که همه تصاویر دیگر را با نمونهبرداری از یک بردار پارامتر که مجموعهای از تبدیلها را تعریف میکند بسازند. هر یک از تصویرهای حاصل شده متعلق به یک کلاس جایگزین هستند. یک مدل یادگیری عمیق، تصاویر را مطابق با این کلاسها، دستهبندی میکند.
در روش ارائه شده توسط دوسوویتسکی، از شش تبدیل استفاده شده است که عبارتند از: «ترجمه» (translation)، «مقیاسدهی» (scaling)، «چرخاندن» (rotation)، «کنتراست ۱» (contrast 1)، «کنتراست ۲» (contrast 2) و «افزودن رنگ» (color additions). هر یک از این تبدیلها، با پارامتری میآیند که اندازه جایگزین را تعیین میکند.
برای مثال، (((translate → (vertical, 0.1 (of patch size. پارامترهای اندازه قابل ذخیرهسازی در یک بردار یکتا هستند. این بردارها، از توزیع کلی پارامترها برای تبدیل تکهها نمونهبرداری شده محسوب میشوند.
این پارامترهای اندازه به صورتی تقسیم شدهاند که فضای محدودی از مقادیر، بین مرزهای پارامترها وجود داشته باشد. برای مثال، اندازه ترجمه بین [0.2, 0.1, 0, -0.1, -0.2] است. پالایش نتایج گسستهسازی منجر به تعداد زیادی از دستههای جایگزین ساخته شده به صورت کلی میشود. برای مثال، اگر پنج مقدار برای ترجمه، ۵ مقدار برای مقیاسدهی، ۵ مقدار برای چرخاندن، ۵ مقدار مقدار برای کنتراست ۱، ۵ مقدار برای کنتراست ۲ و ۵ مقدار برای افزودن رنگ وجود داشته باشد، 15,625 = 5۶ کلاس نتیجه حاصل میشود. بدین ترتیب، دوسوویتسکی و همکاران در تلاش برای پاسخ به این پرسش بودهاند که: «چه تعداد کلاس جایگزین مورد نیاز است؟».
تعداد کلاسهای جایگزین ساخته شده
توجه به این نکته لازم است که محور y در سمت چپ، متناظر با کارایی دستهبندی با استفاده از یادگیری ویژگی نظارت نشده در وظیفه متمایزسازی STL-10 نظارت شده است و محور y در سمت راست متناظر با خطای دستهبند روی کلاسهای جایگزین متفاوت است (نرخ بسیار پایین برای ۵۰-۲۰۰۰ کلاس جایگزین).
این نمودار نشان میدهد که کارایی بعد از ۲۰۰۰ کلاس جایگزین کاهش پیدا میکند. بدین ترتیب، فاصلههای زیادی بین اغلب افزایشها وجود ندارد. دیگر پرسش جالب توجهی که در این وهله مطرح میشود این است که: «چه تعداد نمونه جایگزین باید برای هر کلاس جایگزین استفاده شود؟»
نمونههای افزوده استفاده شده برای کلاسهای جایگزین
نمودار بالا نشان میدهد که با ۲۰۰۰ جایگزین، کلاسها از نمودار قبلی بهینهتر هستند. کارایی از ۳۲ تا ۶۴ نمونه برای هر کلاس، شروع به کاهش میکند.
132x32x3 patches → 2,000 surrogate classes → 64 samples per class
2(32x32x3) x 2000 x 64 = 393,216,000 pixels
همانطور که مشهود است، حجم تنها حدود ۳۹۵ مگابات شده است که برای کامپیوترهای مدرن امروزی مساله بزرگی نیست. اگرچه، اگر رویکرد از تکههای ۳۲x۳۲ به یک تصویر کامل تغییر کند، این مقدار ممکن است افزایش قابل توجهی بیابد، که ضرورت استفاده از روشهای افزودن داده برخط (Online) را یادآور میشود.
تنوع تبدیلها
در مقاله دوسوویتسکی، استفاده از تبدیلهای متفاوت برای ساخت کلاسهای جایگزین مورد بررسی قرار گرفت. همانطور که در نمودار بالا نشان داده شده است، تنوعی بین مجموع داده و افزایشهای مورد استفاده به ویژه به صورت آشکارا در مجموعه داده تصاویر دیجیتال Caltech-101 هنگامی که فقط از رنگ و کنتراست استفاده میشود وجود دارد. این امر نشانگر آن است که نتایج ممکن است در ادامه با افزودن تبدیلهای بیشتر به ترکیب، بهبود پیدا کنند.
جمعبندی
در این مطلب، «یادگیری ویژگی نظارت نشده» مورد بررسی قرار گرفت. همچنین، به این مساله که شبکههای عصبی عمیق چگونه میتوانند ویژگیها را در یک وظیفه بیاموزند پرداخته شد. استفاده از ویژگیهای عمیق آموزش داده شده در وظایفی مانند Exemplar-CNN (که در این مطلب به آن پرداخته شد) میتواند برای وظایف متمایزسازی نیز مفید باشد.
اگر نوشته بالا برای شما مفید بوده است، آموزشهای زیر نیز به شما پیشنهاد میشوند:
- مجموعه آموزشهای آمار، احتمالات و دادهکاوی
- آموزش تناظریابی در تصاویر دیجیتال با استفاده از ویژگیهای محلی
- مجموعه آموزشهای یادگیری ماشین و بازشناسی الگو
- دادهکاوی (Data Mining) — از صفر تا صد
- الگوریتم کاهش ابعاد t-SNE با مثالهای پایتون — آموزش کاربردی
- انتخاب ویژگی (Feature Selection) در دادههای ابعاد بالا — خودآموز ساده
^^