اتو انکدر ها(بخش اول)

قصد داریم تا در این پست و پست بعدی شما را با یکی از روش های هیجان انگیز و موثر استخراج ویژگی آشنا کنیم. همانطور که حدس می زنید اتوانکدرها موضوع آتی بحث ما خواهند بود.

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

بیشتر بخوانید: نمونه‌هایی از هوش مصنوعی در ایران

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

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

اتوانکدر چیست ؟

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

اتوانکدرها در قالب یادگیری بدون نظارت دسته‌بندی می‌شوند. در این دسته مسایل برچسبی برای توصیف داده‌ها وجود ندارد(بر خلاف یادگیری بانظارت که در آن‌ها از برچسب‌هایی برای توصیف داده‌ها استفاده می‌کنیم.) اتوانکدر یک شبکه‌ی عصبی است که مجموعه‌ای از داده‌های بدون برچسب را دریافت می‌کند و با رمزکردن آن‌ها ‎( encoding)‎ سعی در بازنمایی مجدد ورودی‌ها در خروجی می‌کند به صورتی که کمترین اختلاف ممکن را با مقدار ورودی داشته باشند.

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

ساختار دو بخشی اتوانکدر

ساختار اتوانکدر به دو بخش رمزگذاری (encoding‎) و رمزگشایی ‎(decoding)‎ تقسیم می‌شود. در بخش رمزگذاری داده‌های ورودی به فضای ویژگی‌ها نگاشت می‌شوند و در بخش رمزگشایی از فضای ویژگی مجددا به حالت ابتدایی خود تبدیل می‌شوند. در واقع بخش اصلی یک اتوانکدر لایه‌ی پنهان میانی است که به عنوان ویژگی استخراج شده برای دسته‌بندی استفاده می‌شود.(مثلا در تصویر بالا خروجی های لایه L2 )

تصویر زیر این دو بخشی بودن را به خوبی نشان می دهد.

در پست بعدی به بررسی ریاضیات اتوانکدر ها و انواع آن خواهیم پرداخت. در پست بعد با ما همراه باشید تا شناخت بیشتری از اتوانکدر های بدست آورید.