مقدمه
شبکه‌های عصبی به دلیل قابلیت یادگیری ویژگی‌های ترکیبی و جدید در لایه‌ها به طور گسترده در همه زمینه‌های دسته‌بندی مورد استفاده قرار گرفته‌اند. مدل‌‌های شبکه عمیق توسعه یافته مدل‌های شبکه عصبی برای یادگیری تبدیل غیرخطی روی داده‌ها هستند. این مدل‌ها در سال‌های اخیر در همه زمینه‌ها از جمله پردازش تصاویر ماهواری و پزشکی، پردازش متن و ... مورد توجه فراوان قرار گرفته‌اند. در این مدل‌ها علاوه بر کدگذار در هر لایه یک کدگشا نیز وجود دارد . برای مثال در مدل کدگذار خودکار پشته‌ای در هر لایه یک تبدیل خطی همراه با یک تابع فعالیت روی آن برای بردن به نمایش جدید و یک تبدیل با همین مشخصات برای بازسازی داده داریم. مدل‌های مبتنی بر RBM در هر لایه یک مدل احتمالی مولد دارند، که به صورت خودکار نقش کدگشا را بازی می‌کند.

1

 لایه کدگذار خودکار در مدل شبکه عصبی عمیق

 
به عبارت دیگر تفاوت اساسی مدل‌های شبکه عمیق با شبکه عصبی این است که در هر لایه سعی می‌کنند قابلیت بازسازی داده را حفظ کنند یا شبیه مدل‌های RBM با مدل کردن توزیع داده‌ها در هر لایه، اطلاعات فضای ویژگی را حفظ کنند. این نکته اساسی در مدل‌های شبکه عمیق باعث می‌شود که جلوی بیش‌برازش مدل در شبکه عصبی گرفته شود و باعث می‌شود مدل قابلیت تعمیم بیشتری روی داده‌های آزمون داشته باشد. در واقع مدل‌های شبکه عصبی سنتی می‌توانند در تعداد لایه‌های زیاد، به راحتی وزن‌ها را به گونه‌ای تنظیم کنند که اطلاعات نظارتی توجیه شود درحالی‌که روی داده‌های آزمون نتیجه بسیار ناامید کننده به‌دست آید. در واقع در مدل‌های شبکه عمیق این تضمین وجود دارد که فقط نمایش داده‌ها به منظور رسیدن به برچسب یا توجیه اطلاعات نظارتی تغییر کرده است و در واقع فقط این اطلاعات حفظ شود در حالی‌که قابلیت تعمیم چندانی وجود نداشته باشد. به مدل‌های شبکه عمیق مبتنی بر RBM معمولا نام شبکه باور عمیق و به مدل‌های مبتنی بر انکدر-دیکدر شبکه عصبی عمیق یا مدل کدگذار خودکار پشته‌ای می‌گویند. مدل‌های شبکه عمیق در دو نسخه غیرنظارتی و نظارتی (مثل برچسب دسته‌ها) وجود دارند. مدل‌های غیرنظارتی به منظور انتقال فضای ویژگی و رسیدن به یک فضای بدون همبستگی در داده‌های با ابعاد بالا کاربد دارند. مدل‌های نظارتی معمولا به منظور دسته‌بندی یا رگرسیون همانند شبکه عصبی به صورت نظارتی آموزش می‌بینند.
مدل‌های شبکه عمیق توسعه‌یافته مدل‌های شبکه عصبی می‌باشند که امکان بالابردن تعداد لایه‌ها برای یادگیری ویژگی‌های سطح بالای جدید را دارند. در این نوشتار به معرفی مدل RBM و نحوه آموزش آن می‌پردازیم. مدل RBM و Auto-encoder دو مدل معروف به عنوان لایه‌های شبکه عمیق می‌باشند.
مدل‌‌های شبکه عمیق توسعه یافته مدل‌های شبکه عصبی برای یادگیری تبدیل غیرخطی روی داده‌ها هستند. این مدل‌ها در سال‌های اخیر مورد توجه فراوان قرار گرفته‌اند. در این مدل‌ها علاوه بر کدگذار در هر لایه یک کدگشا نیز وجود دارد. برای مثال در مدل کدگذار خودکار پشته‌ای در هر لایه یک تبدیل خطی همراه با یک تابع فعالیت روی آن برای بردن به نمایش جدید و یک تبدیل با همین مشخصات برای بازسازی داده داریم. مدل‌های مبتنی بر RBM در هر لایه یک مدل احتمالی مولد دارند، که به صورت خودکار نقش کدگشا را بازی می‌کند.
به عبارت دیگر تفاوت اساسی مدل‌های شبکه عمیق با شبکه عصبی این است که در هر لایه سعی می‌کنند قابلیت بازسازی داده را حفظ کنند یا شبیه مدل‌های RBM با مدل کردن توزیع داده‌ها در هر لایه، اطلاعات فضای ویژگی را حفظ کنند. این نکته اساسی در مدل‌های شبکه عمیق باعث می‌شود که جلوی بیش‌برازش مدل در شبکه عصبی گرفته شود. در واقع مدل‌های شبکه عصبی سنتی می‌توانند در تعداد لایه‌های زیاد، به راحتی وزن‌ها را به گونه‌ای تنظیم کنند که اطلاعات نظارتی توجیه شود درحالی‌که روی داده‌های آزمون نتیجه بسیار ناامید کننده به‌دست آید. در واقع در مدل‌های شبکه عمیق این تضمین وجود دارد که فقط نمایش داده‌ها به منظور رسیدن به برچسب یا توجیه اطلاعات نظارتی تغییر کرده است و در واقع فقط این اطلاعات حفظ شود در حالی‌که قابلیت تعمیم چندانی وجود نداشته باشد.
مدل کدگذار خودکار پشته‌ای:

2

مدل کدگذار خودکار پشته‌ای.


معرفی مدل RBM
مدل شبکه عصبی ماشین بولتزمان محدودشده (RBM) یک شبکه دولایه شامل یک لایه آشکار و یک لایه نهان است که مبتنی بر مدل هارمونیوم ابداع شد. یکی از پیچیدگی‌های مدل RBM، آموزش این مدل‌ است، که پس از ابداع الگوریتم مناسب برای آموزش آن توسط هینتون این مدل به‌شدت موردتوجه واقع شد و در حال حاضر مدل پایه‌ای در شبکه‌های باور عمیق است. در نوع استاندارد RBM معمولاً لایه داده آشکار و لایه نهان به‌صورت متغیرهای تصادفی دودویی مدل می‌شوند و توزیع شرطی متغیرها به‌صورت برنولی است. پارامترهای مدل RBM به‌گونه‌ای پیدا می‌شود که احتمال تولید داده‌ها را بیشینه کند و می‌توان آن را از دسته مدل‌های تولیدکننده برشمرد که مقدار درست نمایی را حداکثر می‌کنند. مدل گرافیکی مدل RBM را در شکل مشاهده می‌کنید. لایه ورودی x است. همان‌طور که مشاهده می‌شود مدل گرافیکی RBM بدون جهت است و بین هر متغیر در لایه نهان و لایه ورودی پیوند وجود دارد (گراف دوبخشی کامل است). مدل‌ RBM را می‌توان یک مدل گرافیکی MRF دانست.

3

4

مدل گرافیکی مدل‌ RBM

در مدل احتمالی RBM فرض‌های زیر برقرار است:
فرض 1) در مدل MRF هر متغیر به شرط همسایگانش از بقیه متغیرها مستقل است. در RBM همسایه‌های متغیرهای یک ‌لایه تمام گره‌های لایه مقابل است. بنابراین داریم:

5

W_i^k برهم‌کنش بین ویژگی i-ام از گونه x و متغیر –kام لایه نهان را مدل می‌کند. با توجه به مفهوم پیوند در مدل‌های MRF می‌توان این پارامترها را نشان‌دهنده همبستگی بین متغیرها دانست.
توجه شود که اگر نوع یکی از متغیرها را برنولی فرض کنیم در این صورت تابع توزیع شرطی مدل RBM استاندارد سیگموید خواهد بود. این توزیع‌های شرطی با فرض برنولی بودن متغیرها به شکل زیر به دست می‌آید:

6

از توزیع زیر برای آموزش مدل استفاده خواهیم کرد که به تابع E تابع انرژی توزیع گیبس گفته می‌شود:

7

آموزش مدل‌های RBM با استفاده از روش بیشینه کردن لگاریتم درست نمایی (Contrastive Divergence)
مدل RBM یک مدل احتمالی مولد (Generative) است. این مدل در حالت پایه هیچ استفاده‌ای از اطلاعات نظارتی فاصله‌ای نمی‌کند و فقط توزیع توأم ویژگی‌ها را تخمین می‌زند. برای آموزش مدل‌های مولد با رویکرد بیشینه کردن احتمال درست نمایی (Maximum Likelihood) داده‌ها، پارامترهای مدل را به‌گونه‌ای فرامی‌گیرند، که احتمال دیدن داده‌ها به‌شرط پارامترها حداکثر شود. برای آموزش مدل RBM، باید مسئله بهینه‌سازی زیر را حل کرد که معادل با بیشینه کردن درست نمایی مشاهده داده‌ها (لایه Visible) است:

8

برای یک نمونه خاص ('x)^i=(x) مقدار درست نمایی به‌صورت زیر به دست می آید:

9

که پارامتر Z ثابت نرمال ساز را مشخص می‌کند. برای حل این مسئله بهینه‌سازی از کاهش گرادیان استفاده می‌شود. با گرفتن گرادیان از لگاریتم دو طرف رابطه خواهیم داشت:

10

 انتگرال موجود در رابطه بالا تأثیر Z در مسئله بهینه‌سازی را نشان می‌دهد و محاسبه‌ی دقیق آن می‌تواند بسیار زمان‌بر باشد. ازآنجاکه توزیع‌های شرطی را داریم می‌توان برای تخمین انتگرال بالا از نمونه‌برداری گیبس استفاده کرد . با توجه به اینکه تعداد گام‌های نمونه‌برداری گیبس برای رسیدن به یک تخمین بدون بایاس زیاد است در عمل نمی‌توان از آن بهره برد. بنابراین هینتون روش نمونه‌برداری گیبس را تحت عنوان حداقل کردن واگرایی مقابله (CD)، برای حل تقریبی این مسئله ساده کردند. ایده آن به این صورت است که به‌جای نمونه‌برداری از توزیع مدل از یک نمونه آموزش شروع کنیم و به‌صورت متناوب از لایه نهان و آشکار نمونه‌برداری کنیم (CD-K). آن‌ها نشان دادند که حتی با یک گام در این الگوریتم می‌توان به نتایج خوبی رسید (CD-1). الگوریتم نمونه‌برداری گیبس CD با K قدم:
یک نمونه آموزش انتخاب کن x^0=x^i
برای {l={1,…,K تکرار کن:

11

ازآنجا که روش آموزش این مدل، بر پایه کاهش گرادیان است، کاملاً مقیاس‌پذیر است. به‌صورت خلاصه می‌توان تغییر گرادیان پارامترها را به‌صورت زیر بیان کرد:

12

که در آن منظور از E_Data برآوردی است که با استفاده از مجموعه داده‌های آموزش به دست می‌آید و در مقابل E_Model برآوردی را مشخص می‌کند که با استفاده از مدل با پارامترهای θ به دست می‌آید. برای تخمین E_Model از داده‌های نمونه‌برداری شده توسط مدل با توجه به پارامترهای جاری (که توسط الگوریتم CD-1 با شروع از داده‌های آموزش به‌دست‌آمده‌اند) استفاده می‌شود. با توجه به توزیع توأم مفروض روابط مربوط به گرادیان نسبت به پارامترها برای مدل RBM به‌صورت زیر به دست می‌آید:

13

تعداد متغیرهای هر لایه در شبکه‌های عمیق

14   15

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

 منابع

[1] Schmidhuber, Jürgen. "Deep learning in neural networks: An overview." Neural Networks 61 (2015): 85-117.
[2] Deng, Li, and Dong Yu. "Deep learning: methods and applications."Foundations and Trends in Signal Processing 7, no. 3–4 (2014): 197-387.
[3] Seyyedsalehi, Seyyede Zohreh, and Seyyed Ali Seyyedsalehi. "A fast and efficient pre-training method based on layer-by-layer maximum discrimination for deep neural networks." Neurocomputing (2015).
[4] Hinton, Geoffrey E. "A practical guide to training restricted boltzmann machines." In Neural Networks: Tricks of the Trade, pp. 599-619. Springer Berlin Heidelberg, 2012.
[5] Salakhutdinov, Ruslan, and Geoffrey E. Hinton. "Deep boltzmann machines." In International Conference on Artificial Intelligence and Statistics, pp. 448-455. 2009.
[6] Fischer, Asja, and Christian Igel. "Training restricted Boltzmann machines: an introduction." Pattern Recognition 47, no. 1 (2014): 25-39.