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

در پست قبلی ( اتوانکدر ها(بخش اول)) به بررسی اهمیت اتوانکدر ها به عنوان ابزار استخراج ویژگی پرداختیم و کلیات مربوط به اتوانکدر ها را بررسی کردیم. در این پست به ادامه بحث مربوط خواهیم پرداخت. با ما همراه باشید تا متخصص استخراج ویژگی شوید. فرم دیگری که برای نمایش شبکه‌ی عصبی اتوانکدر وجود دارد ساختار پشته‌ای است. در این فرم نمایش که در تصویرپایین قابل مشاهده است، لایه‌ی ورودی پایین‌ترین لایه‌ی پشته و آخرین لایه‌ی پشته نقش خروجی را ایفا می‌کند. برای بیان مفهوم از نمادهای ∆,X,B,A,G,F,m,p,n‎ استفاده می‌کنیم که به ترتیب برابرند با:در این تصویر می‌بینید که F بیانگر مجموعه داده های ورودی و در نتیجه خروجی است. G نیز به عنوان مجموعه ویژگی ها شناخته می‌شود.همچنین {n} و {p} اعداد طبیعی مثبت می‎باشند.در این تصویر {A} کلاسی از توابع است که مجموعه Gp‎ را به مجموعه Fn نگاشت می‌کند.در این تصویر {B} کلاسی از توابع است که مجموعه Fn را به مجموعه Gp نگاشت می‌کند. ∆ پارامتر اعوجاج یا تفاوت نامیده می‌شود که بیانگر میزان تفاوت داده‌ی ورودی با داده‌ی خروجی است. این تابع بسته به ماهیت مساله متفاوت خواهد بود که معمولا از فاصله‌ی همینگ یا Lp‎ نُرم استفاده می‌شود. به ازای هر ‎ a ϵA ‎ و به ازای هر ‎ b ϵ B‎ اتوانکدر بردار ورودی xϵFn‎ را به یک بردار خروجی ‎ a.b(xt) ϵ Fn می‌برد. در نتیجه مساله‌ی اتوانکدر به یافتن پارامترهای ‎ a ϵA و ‎ b ϵ B که تابع اعوجاج زیر را کمینه سازد متناظر می‌شود.یک مثال تصویر زیر ویژگی‌های استخراج شده از مجموعه داده‌ی ‎MNIST‎ را نشان می‌دهد. این مجموعه از اعداد انگلیسی تشکیل شده‌است که شامل ‎6000‎ داده برای تمرین و ‎10000‎ برای مجموعه آزمایشی می‌باشد. تصاویر این مجموعه از ماتریس‌های ‎28‎ در ‎28‎ تشکیل شده‌اند. برای رمزگذاری این مجموعه از یک شبکه‌عصبی با یک لایه‌ی مخفی استفاده شده است. لایه‌ی مخفی از ‎100‎ نورون ساخته شده‌است. هر سلول تصویر بالا نشان می‌دهد هریک از نورون‌های لایه‌ی پنهان به چه ویژگی‌ای حساسند و با دیدن کدام ویژگی فعال می‌شود. همان‌طور که از تصویر مشخص است اتوانکدر در اولین لایه‌ی خود همانند یک تشخیص‌دهنده‌ی لبه رفتار می‌کند و نسبت به لبه‌های موجود در تصویر حساسیت نشان می‌دهد.گفتنی است یک اتوانکدر که تعداد نورون‌های لایه‌ی مخفی آن کمتر از تعداد ورودی‌ها باشد برای کاهش بعد استفاده می‌شود. اتوانکدر با لایه‌ی میانی بزرگ در این دسته از اتوانکدرها تعداد نورون‌های لایه‌ی میانی بیشتر از تعداد ورودی‌هاست. تابع هدف تعریف‌شده برای این نوع اتوانکدر و تعاریف مربوط به آن در جدول زیر آمده است. در روابط بالا ‎KL‎ دیورژانس ‎ (kullback divergence) ‎ نشان‌دهنده‌ی میزان اختلاف دو توزیع متفاوت می‌باشد. هر چه اختلاف دو توزیع بیشتر باشد ‎KL‎ دیورژانس نیز بیشتر خواهد بود.اتوانکدر عمیقهمانطور که می‌دانید در حال حاضر به راحتی می‌توان شبکه های بسیار عمیق را بوسیله پردازنده های گرافیکی آموزش داد برخی از این شبکه ها از جنس اتوانکدر های عمیق هستند. اگر شبکه‌ی عصبی سازنده‌ی یک اتوانکدر، شبکه‌ای عمیق باشد آن را اتوانکدر عمیق گوییم. در این معماری تعداد لایه‌های پنهان شبکه بیش از یک می‌باشد. تصویر شماره شش ساختار یک اتوانکدر عمیق را نشان می‌دهد. در این ساختار از هفت لایه‌ی میانی برای شبکه استفاده شده‌است. لایه‌ی پنهان اول از ‎1000‎ نورون، لایه‌ی پنهان دوم از ‎500‎ نورون و به همین ترتیب در لایه‌ی چهارم پنهان از ‎30‎ نورون استفاده شده‌است. و سپس تا لایه‌ی آخر بخش رمزگشایی نیز به نمایش درآمده‌است. برای مجموعه‌ی داده‌ی تشخیص صورت اگر از یک اتوانکدر عمیق استفاده کنیم نتیجه‌ی نهایی به صورت تصاویر زیر خواهد بود. همان‌طور که بیان شد اتوانکدر تک لایه شبیه به یک تشخیص‌دهنده لبه عمل می‌کند.در تصویر بالا بازنمایی ویژگی‌های استخراج شده برای لایه‌ی اول نشان دهنده همین نکته است. گفتنی است این مفهوم برای اولین بار در مطالعه‌ی چشم گربه‌ها مشاهده شده است و مغز انسان نیز با استفاده از ورودی‌هایی که توسط چشم به نورون‌ها می‌رسد همین‌گونه برخورد می‌کند. در لایه‌ی پنهان دوم، یک اتوانکدر عمیق قادر به تشخیص جزییات بیش‌تری از تصویر ورودی شبیه به فرم چشم‌ها و بینی شده‌است و در بازنمایی لایه‌ی پنهان سوم، شبکه‌ی عصبی توانسته‌است تصویر صورت انسان را تشخیص دهد.stacked autoencoder فرض کنیم اتوانکدری با ابعاد لایه‌های ‎n/p1/p/p1/n‎ داریم که در آن اندازه لایه‌ها به صورت ‎n>p1>p‎ است. در روش stacked autoencoder شبکه به صورت دو بخش در می آید که عبارت است از n/p1/n و بخش p1/p/p1 و این دو شبکه آموزش داده می‌شود. به این صورت که خروجی شبکه قبلی برای آموزش شبکه بعدی استفاده میشود. شکل زیر به خوبی این مسئله را نشان می‌دهد.ترکیب عمودی اتوانکدرهادر مفهوم ترکیب اتوانکدرها دسته‌ی دیگری از این نوع شبکه‌ها وجود دارند که به صورت افقی ترکیب می‌شوند و لایه‌ی پنهان بزرگتری را برای بازنمایی داده‌ها می‌سازند. اگر دو اتوانکدر با سایزهای ‎n/p1/nو ‎n/p2/nداشته باشیم از ترکیب افقی این دو یک اتوانکدر با سایز لایه‌ی پنهان ‎p1‎ + ‎p2‎ خواهیم داشت. این مفهوم در تصویر زیر به نمایش درآمده‌است.شکل های کلی اتوانکدر های توضیح داده شدند. امیدواریم که از مطالعه این نوشتار لذت برده باشید.