شبکه های عصبی مصنوعی (ANN) چه هستند و چه مفاهیمی را در بر میگیرند؟

شبکه های عصبی مصنوعی (ANN) یا Artificial Neural Networks و به عبارت دیگر سیستم های اتصالگر، سیستم های محاسبه کننده ای هستند که از شبکه های عصبی زیستی الهام گرفته شده اند.

این سیستم ها، با بررسی مثال ها، فعالیت ها را یادگیری می کنند (به عبارت دیگر عملکرد خود را در در انجام فعالیت ها به مرور بهبود می دهند) و عموماً این اتفاق بدون هیچ برنامه نویسی مختص به فعالیت انجام می شود.

برای مثال، در شناسایی تصویر، این شبکه ها می توانند یاد بگیرند که تصاویر شامل گربه را با تحلیل تصاویر مثالی که قبلاً بطور دستی به عنوان “با گربه” یا “بدون گربه” برچسب گذاری شدند، شناسایی کنند و از این نتایج برای  شناسایی گربه در تصاویر دیگر استفاده نمایند. شبکه های عصبی این عمل را بدون دانش قبلی در مورد گربه انجام می دهند؛ یعنی از مثلاً از مو، دم، سیبیل یا صورت گربه خبر ندارند. در عوض، خود مجموعه مشخصه های مرتبط را از مطالب آموزشی ای که پردازش می کنند، توسیع می دهند.

یک ANN بر مجموعه ای از واحدهای متصل یا گره، به نام نورون های مصنوعی، مبتنی است (مشابه نورون های زیستی در مغز حیوان). هر اتصال (سیناپس) میان نورون ها می تواند سیگنالی را از یک نورون به نورون دیگر انتقال دهد. نورون دریافت کننده (پُست سیناپتیک) می تواند سیگنال (ها) و سپس نورون های سیگنالی متصل به آن را پردازش کند.

در پیاده سازی های معمول ANN، سیگنال سیناپس یک عدد حقیقی است، و خروجی هر نورون توسط تابعی غیر خطی از ورودی های آن محاسبه می شود. نورون ها و سیناپس ها معمولاً دارای وزن هستند که توأم با پیشرفت یادگیری، تنظیم می شود. این وزن، قدرت سیگنالی را که به سیناپس می فرستد افزایش یا کاهش می دهد.  نورون ها می توانند آستانه ای داشته باشند که تنها اگر سیگنال مجموع از آن آستانه عبود کند، سیگنال فرستاده شود.

معمولاً، نورون ها در لایه ها سازماندهی می شوند. لایه های مختلف ممکن است تبدیلات مختلفی روی ورودی خود اِعمال کنند. سیگنال ها از اولین لایه (ورودی) به آخرین لایه (خروجی) سفر می کنند، و در این بین ممکن است لایه هایی را چند بار طی کنند.

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

شبکه های عصبی در فعالیت های متنوعی استفاده شده اند، از جمله بینایی ماشین، شناسایی گفتار، ترجمه ماشینی، فیلترینگ شبکه های اجتماعی، بازی های رومیزی و بازی های ویدیویی و تشخیص پزشکی.

نورون ها در شبکه عصبی مصنوعی - مدیاسافت

یک شبکه عصبی، گروهی از رئوس متصل است، شبیه شبکه بزرگ نورون ها در مغز. در اینجا، هر راس دایره ای نمایشگر یک نورون مصنوعی است و پیکان نمایشگر یک اتصال از خروجی یک نورون مصنوعی به ورودی نورون دیگری است.

تاریخچه شبکه های عصبی مصنوعی


وارن مک کولاچ و والتر پیتس(Warren McCulloch and Walter Pitts)  (۱۹۴۳) مدلی محاسباتی برای شبکه های عصبی، مبتنی بر ریاضیات و الگوریتم هایی به نام منطق آستانه، ابداع کردند. این مدل، مسیر را برای تقسیم پژوهش های شبکه های عصبی به دو روش، هموار کرد. یک روش، بر فرایندهای زیستی در مغز تمرکز کرد و دیگری بر کاربرد  شبکه های عصبی در هوش مصنوعی تمرکز داشت. این عمل، به شبکه های عصب محیطی (nerve networks) و ارتباط آن ها به ماشین های متناهی منجر شد.

یادگیری هبیَن

در اواخر دهه ۱۹۴۰، د. اُو هِب (D.O. Hebb) یک فرضیه یادگیری مبتنی بر مکانیزم انعطاف پذیری عصبی ابداع کرد که به عنوان یادگیری هبین شناخته شد. یادگیری هبین، یادگیری بی نظارت است. این مطلب به مدل هایی برای نیرومندسازی بلندمدت (long term potentiation) توسیع یافت. در سال ۱۹۴۸ محققان کاربرد این ایده ها را در مدل های محاسباتی با ماشین های نوع B تورینگ اغاز کردند.

فارلی و کلارک (۱۹۵۴) اولین افرادی بودند که از ماشین های محاسبه ای، که آن موقع “ماشین حساب” نام داشتند، برای شبیه سازی یک شبکه هیبین استفاده کردند. سایر ماشین ها محاسبه ای شبکه عصبی توسط روچستر، هولند، هبیت و دودا (۱۹۵۶) ساخته شدند.

روزنبلات (۱۹۵۸) پِرسِپترون را ابداع کرد؛ الگوریتمی برای شناسایی الگو. روزنبلات با نمادگذاری ریاضی، مدارهایی را که در پرسپترون پایه ای نبودند توصیف کرد، مثل مدار یای مانع جمع که توسط شبکه های عصبی آن زمان قابل پردازش نبود.

در ۱۹۵۹ دو برنده جایزه نوبل، هابل و ویزل مدلی زیست شناختی ارائه دادند که بر کشف آن ها از دو نوع سلول در قشر بینایی مغز مبتنی بود: سلول های ساده و سلول های پیچیده.

اولین شبکه های عملکردی با لایه های متعدد در ۱۹۶۵ توسط ایواخنکو و لاپا منتشر و به  روش گروهی مدیریت داده ها تبدیل شدند.

پژوهش در زمینه شبکه های عصبی پس از پژوهش یادگیری ماشین توسط مینسکی و پاپرت (۱۹۶۹) راکد شد. آن ها دو مسئله کلیدی را در ماشین های محاسباتی که شبکه های عصبی را پردازش می کردند، کشف نمودند. اولین مورد این بود که پرسپترون های اساسی توانایی پردازش مدارات یاء مانع جمع را نداشتند. مورد دوم این بود که کامپیوترها قدرت پردازش کافی برای اداره اثربخش  شبکه های عصبی بزرگ نداشتند. بنابراین تا زمانی که رایانه ها قدرت بسیار بیشتری یافتند، مطالعه شبکه های عصبی کند پیش رفت.

در آن زمان تمرکز عمده هوش مصنوعی بر مدل های (سمبولیک) سطح بالا بود که توسط الگوریتم ها پردازش می شد، که مشخصه آن، برای مثال، سیستم های خبره با دانش از قوانین اگر-آنگاه بود. تا اواخر دهه ۱۹۸۰ پژوهش به یادگیری ماشین سطح پایین (زیر-سمبولیک) گسترش یافت، که مشخصه آن دانش نهفته در پارامترهای یک مدل شناختی بود.

پس-نشر (backpropagation)

یک عامل کلیدی در اِحیاء شبکه های عصبی و یادگیری، الگوریتم پس-نشر وِربو (۱۹۷۵) بود که بطور اثربخش مسئله یاء مانع جمع را حل کرد و آموزش شبکه های چندلایه را به طور کلی تسریع کرد. پس-نشر، با تغییر ضرایب در هر گره، عبارت خطا را در لایه های قبلی (بالا) توزیع می کرد.

در اواسط دهه ۱۹۸۰ پردازش توزیع موازی، تحت عنوان اتصال گرایی محبوبیت یافت. رامِلهارت و مک کلِلَند  (۱۹۸۶) استفاده از اتصال گرایی را برای شبیه سازی شبکه های عصبی توصیف کردند.

ماشین های بردار پشتیبانی و روش های بسیار آسان تر دیگر مثل دسته بندهای خطی به تدریج از نظر مجبوبیت جای شبک های عصبی را در یادگیری ماشین گرفتند.

چالش های اولیه در آموزش دادن شبکه های عصبی عمیق توسط روش هایی از قبیل پیش-آموزش بدون نظارت با موفقیت پشت سر گذاشته شدند، در حالی که قدرت محاسباتی موجود با استفاده از GPU ها و رایانش توزیع شده افزایش یافته بود. شبکه های عصبی در ابعادی بزرگ مورد استفاده قرار گرفتند، به ویژه در مسائل تصویر پردازی و شناخت بصری. این زمینه تحت عنوان “یادگیری عمیق” شناخته شد، گرچه یادگیری عمیق دقیقاً مترادف شبکه های عصبی عمیق نیست.

در ۱۹۹۲ روش حداکثر تجمع (max pooling) جهت کمک به ناوردایی انتقال کمینه و تحمل دگردیسی برای کمک به شناسایی اشیاء سه بعُدی معرفی شد.

مسئله گرادیان صفر شونده، شبکه های پیش نگر (feedforward) پُر لایه را که از پس-نشر استفاده می کردند، و نیز شبکه های عصبی بازگشتی (RNN) را تحت تاثیر قرار می داد. با انتشار خطا از لایه ای به لایه دیگر، خطا به عنوان تابعی نمایی از تعداد لایه ها کوچک تر می شود، که این امر مانع به روز رسانی وزن های عصبی که به این خطاها وابسته هستند می شود و بطور قابل ملاحظه ای شبکه های عمیق را تحت تاثیر قرار می دهد.

برای حل این مسئله، اشمیدهوبر (Schmidhubeer) سلسله ای چند سطحی از شبکه ها را بکار گرفت (۱۹۹۲) که از پیش، مرحله به مرحله توسط یادگیری بدون نظارت آموزش داده و با پس-نشر تنظیم شده بود. بنکه (Behnke) (2003) تنها به علامت گرادیان (Rprop یا پس نشر ارتجاعی) در مسائلی مثل بازسازی تصویر و مکان دِهی (localization) چهره تکیه کرد.

هینتون و دیگران (۲۰۰۶) یادگیری یک نمایش سطح بالا را پیشنهاد کردند که از لایه های متوالی باینری یا متغیرهای حقیقی مقدار پنهان همراه با یک ماشین بولتزمن محدود شده جهت کنترل مدل سازی هر لایه استفاده می کرد. هنگاهی که تعداد کافی از لایه ها یادگیری شوند، با بازتولید داده ها هنگام نمونه گیری از فعال سازی های (activations) ویژگی های سطح بالای مدل ( یک “گذر نیایی”)، از معماری عمیق می توان به عنوان یک مدل مولد استفاده کرد. در سال ۲۰۱۲ نگ و دین (Ng and Dean) شبکه ای ساختند که یادگرفت مفاهیم سطح بالاتر، مثل گربه، را تنها با تماشای تصاویر بدون برچسب از ویدیوهای یوتیوب شناسایی کند.

طراحی های مبتنی بر سخت افزار

در CMOS، دستگاه های محاسباتی هم برای شبیه سازی های زیست فیزیکی و هم محاسبات نوروموفیک ساخته شدند. نانودستگاه ها برای پیچش و تحلیل مولفه های اصلی با مقیاس خیلی بزرگ می توانند کلاس جدیدی از محاسبات عصبی را ایجاد کنند زیرا این دستگاه ها اساساً آنالوگ هستند و نه دیجیتال (گرچه اولین پیاده سازی ها ممکن است از دستگاه های دیجیتال استفاده کنند). سیرزان (Ciresan) و همکاران او (۲۰۱۰) در گروه اشمیدهوبر نشان دادند که علی رغم وجود مسئله گرادیان صفرشونده، GPU ها پس نشر را برای شبکه های عصبی پیش نگر پُر لایه، امکان پذیر می کنند.

مخالفت ها

بین سال های ۲۰۰۹ تا ۲۰۱۲، شبکه های عصبی بازگشتی و شبکه های عصبی پیش نگر عمیق که در گروه تحقیقاتی اشمیدهوبر توسعه داده شدند، در هشت رقابت بین المللی در الگوشناسی و یادگیری ماشین پیروز شدند. برای مثال، حافطه کوتاه مدتِ بلند چند بُعدی (LSTM) و دو جهتی ساخته شده توسط گریوز (Graves) و دیگران، بدون هیج دانش قبلی درباره سه زبانی که قرار بود یاد بگیرد، برنده سه رقابت در شناسایی دست خط پیوسته در کنفرانس بین المللی شناسایی و تحلیل اسناد ۲۰۰۹ (ICDAR) شد.

سیرزان همراه همکاران خود برنده چند مسابقه الگوشناسی شد، از جمله مسابقه شناسایی علائم ترافیکی IJCNN 2011، قطعه قطعه کردن ساختارهای عصبی در چالش استک های میکروسکوپی الکترونی ISBI 2012 و چندین رقابت دیگر. شبکه های عصبی آن ها اولین الگوشناس هایی بودند که به عملکردی در سطح انسان یا حتی فراتر از انسان در معیارهایی از قبیل شناسایی علائم ترافیکی        (IJCNN 2012) یا مسئله ارقام دست نویس MINIST رسیدند.

محققان نشان دادند (۲۰۱۰) که شبکه های عصبی عمیق به یک مدل مارکوف پنهان با وضعیت های وابسته به موضوع مرتبط هستند که بیان می کنند لایه خروجی شبکه عصبی می تواند به میزان چشمگیری خطا را در فعالیت های شناسایی گفتار با فهرست لغات بزرگ، مثل جستجوی صوتی، کاهش دهد.

پیاده سازی های GPU-محور این روش، مسابقات الگوشناسی متعددی را برنده شد، از جمله مسابقه شناسایی علائم ترافیکی IJCNN 2011، قطعه بندی ساختارهای عصبی در چالش استک های میکروسکوپی الکترونی ISBI 2012، مسابقه ImageNet و بسیاری از مسابقات دیگر.

هینتون با روش های بدون نظارت، معماری های عصبی بسیار غیرخطی و عمیق، شبیه نئوکاگنیترون (neocognitron) و “معماری استاندارد بینایی” را با الهام از سلول های ساده و پیچیده، پیش-آموزش داد. گروهی از پژوهشگران آزمایشگاه او در سال ۲۰۱۲ برنده ای مسابقه ای شدند که اسپانسر آن کمپانی داروسازی Merck بود. هدف این مسابقه طراحی نرم افزاری بود که به یافتن مولکول هایی که ممکن است داروهای جدید را شناسایی کنند، کمک کند.

شبکه های پیچشی (Convolutional networks)

از سال ۲۰۱۱ به بعد، شبکه های مدرنِ پیش نگرِ یادگیریِ عمیق، لایه های پیچشی را با لایه های حداکثر تجمع جابه جا کرده اند، که بالای آنها چند لایه با اتصال کامل یا تُنُک، و در فوقانی ترین سطح یک لایه دسته بندی (classification layer) قرار می گیرد. یادگیری معمولاً بدون پیش-آموزش نظارت نشده انجام می شود.

این روش های یادگیری عمیق نظارت شده، اولین هایی بودند که در برخی فعالیت ها عملکردی قابلیت رقابت با انسان داشتند.

ANN ها برای کنترل اشیاء طبیعی کوچک و بزرگ در صحنه های بهم ریخته و شلوغ، قادر به تضمین ناوردایی جا به جایی (shift invariance) بودند، و تنها هنگامی که گسترش ناوردایی از جابه جایی فراتر می رفت، برای کنترل تمام مفاهیم ANN یادگیری شده از قبیل مکان، نوع (برچسب کلاس شیء)، مقیاس، نورپردزی و غیره این کار را انجام می دادند. این مطلب در شبکه های رشدی (DN) که مثال آن شبکه های کجا-چی WWN1   (۲۰۰۸) تا WWN7 (2013) هستند، در نظر گرفته شد.

مدل ها


یک شبکه عصبی (مصنوعی) شبکه ای است از عناصر ساده به نام نورون که ورودی را دریافت می کنند، وضعیت درونی آن را مطابق با همان ورودی تغییر می دهند (فعال سازی)، و خروجی را، مطابق با ورودی و فعال سازی، تولید می کنند. این شبکه از اتصال خروجی برخی نورون ها به ورودی برخی نورون های دیگر تشکیل می شود و گرافی جهت دار و وزن دار شکل می دهد. وزن ها و نیز توابعی که فعال سازی را محاسبه می کنند، تحت فرایندی به نام یادگیری که توسط یک قاعده یادگیری مدیریت می شود، قابل اصلاح هستند.

اجزای یک شبکه عصبی مصنوعی

نورون ها

یک نورون با برچسب j که ورودی pj(t) را از نورون های ماقبل خود دریافت می کند از اجزای زیر تشکیل می شود:

  • یک فعال ساز ، که به یک پارامتر گسسته زمان وابسته است،
  • احتمالاً یک آستانه θj ، که ثابت است مگر آنکه توسط یا تابع یادگیرنده تغییر کند،
  • یک تابع فعال سازی f که فعال ساز جدید را در زمان داده شده t+1 از θj ، aj(t) ،  و ورودی خالص pj حساب می کند و رابطه زیر را بدست می آورد:

aj(t+۱)=f(aj(t),pj(t),θj)

  • و یک تابع خروجی  که خروجی را از فعال ساز حساب می کند:

oj(t)=fout(aj(t))

تابع خروجی اغلب تابع همانی است.

نورون ورودی، نورون ماقبل ندارد اما برای کل شبکه نقش رابط ورودی را ایفا می کند. بطور مشابه نورون خروجی، تالی ندارد و لذا به عنوان رابط خروجی کل شبکه ایفای نقش می کند.

اتصالات و وزن ها

این شبکه از اتصالات تشکیل می شود، که هر اتصال خروجی نورون i را به ورودی نورون j منتقل می کند. به این ترتیب، i ماقبل j و j تالی i است. به هر اتصال یک وزن  اختصاص داده می شود.

تابع انتشار

تابع انتشار ورودی pj(t) به نورون j را از خروجی های  oi(t) از نورون های ماقبل حساب می کند و معمولاً دارای شکل زیر است:

pj(t)=ioj(t)wij

قاعده یادگیری

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

شبکه عصبی به عنوان تابع

مدل های شبکه عصبی را می توان به عنوان مدل های ساده ریاضی در نظر گرفت که یک تابع f:X→Y یا توزیعی روی X یا هر دوی X و Y تعریف می کند. گاهی اوقات مدل ها ارتباط تنگاتنگی با یک قاعده یادگیری دارند. یکی از کاربردهای رایج عبارت “مدل ANN” در حقیقت تعریف کلاس چنین توابعی است (که در آن اعضای کلاس با تغییر در پارامتر، وزن های اتصال یا ویژگی های معماری از قبیل تعداد نورون ها یا اتصالات آن ها بدست می آیند.)

از نظر ریاضی، تابع f(x) شبکه یک نورون به عنوان ترکیبی از توابع gi(x) دیگر  تعریف می شود که خود قابل تجزیه به توابع دیگری هستند. این عمل به شکل مطلوبی توسط یک ساختار شبکه ای قابل نمایش است، که در آن پیکان ها نشانگر وابستگی میان توابع است.

یک نوع ترکیب پرکاربرد، جمع وزندار غیر خطی f(x)=K(∑iwigi(x)) است که در آن K (که عموماً از آن به نام تابع فعال سازی یاد می شود) یک تابع پیشگو مثل تانژانت هذلولوی یا تابع سیگموئید یا تابع بیشینه هموار یا تابع یکسوسازاست. ویژگی مهم تابع فعال ساز این است که جابه جایی همواری را در اثر تغییر مقادیر ورودی ایجاد می کند، به عبارت دیگر، تغییری اندک در ورودی، باعث ایجاد تغییری اندک در خروجی می شود. در ادامه، به گردایه ای از توابع gi به عنوان یک بردار:

g=(g1,g2,…,gn)

نگاه میکنیم.

این تصویر چنین تجزیه ای را برای f نشان می دهد، که در آن وابستگی میان متغیرها توسط پیکان نشان داده شده است. این مطلب به دو طریق قابل تفسیر است.

اولین نگرش، دیدگاه تابعی است: ورودی x به یک بردار ۳-بُعدی h تبدیل می شود، که سپس یک بردار ۲-بعدی g تبدیل می شود و در نهایت به f تبدیل می شود. این نگرش بیشتر از هرجای دیگری، در چهارچوب بهینه سازی دیده می شود.

 

گراف وابستگی ANN - مدیاسافت

گراف وابستگی ANN

 

نگرش دوم، دیدگاه احتمالاتی است: متغیر تصادفی F=f(G) به متغیر تصادفی G=g(H) وابسته است، که این متغیر خود به H=h(X) وابسته است، و این متغیر به متغیر تصادفی X وابسته است. این نگرش بیشتر از هرجای دیگر در چهارچوب مدل های گرافیکی دیده می شود.

این دو دیدگاه به میزان زیادی معادل هستند. در هر مورد، برای این معماریِ به خصوص، اجزای لایه های مجزا، از یکدیگر مستقل هستند (مثلاً، با توجه به ورودی h، اجزای g از یکدیگر مستقل هستند) این موضوع بطور طبیعی درجه ای از توازی را در پیاده سازی بدست می دهد.

شبکه هایی مثل شبکه فوق را معمولاً پیش نگر می نامند، زیرا گراف آن ها یک گراف جهتدار بدون دور است. گراف های دور دار را اغلب بازگشتی می نامند. این شبکه ها را معمولاً به حالتی که در بالای شکل نشان داده شده نمایش می دهند، که در آن f وابسته به خودش دیده می شود. با این حال، وابستگی موقتی پنهان نشان داده نشده است.

 

دو شکل مجزا از گراف وابستگی ANN بازگشتی -مدیاسافت

دو شکل مجزا از گراف وابستگی ANN بازگشتی

یادگیری

امکان یادگیری، بیشترین توجه را در شبکه های عصبی به خود جلب کرده است. با داشتن یک کار (یا فعالیت) (task) برای انجام، و کلاسی از توابع به نام F، یادگیری به معنای استفاده از مجموعه ای از مشاهدات برای پیدا کردن f*∈F است که کار را نسبت به یک معیار بهینگی، انجام دهد.

این مطلب مستلزم تعریف یک تابع هزینه C:F→R است بطوریکه به ازای جواب بهینه *f داشته باشیم:

C(f*)C(f) fF

 یعنی، هیچ جوابی هزینه ای کمتر از هزینه جواب بهینه ندارد (بهینه سازی ریاضی را ببینید).

تابع هزینه C مفومی مهم در یادگیری است، زیرا معیاری است که نشان می دهد یک جواب خاص، چه اندازه از جواب بیهنه مسئله ای که باید حل شود دور است. الگوریتم های یادگیری در فضای جواب ها دنبال تابعی می گردند که کمترین هزینه ممکن را داشته باشد.

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

به عنوان مثالی ساده، مسئله پیدا کردن مدل f را در نظر بگیرید که C=E [ (f(x)-y)2 ] را برای زوج های مرتب داده (x,y) از یک توزیع D کمینه سازی می کند. در عمل تنها N نمونه از D را در اختیار داریم و لذا، برای مثال فوق، تنها عبارت زیر را کمینه سازی می کنیم:

C^=۱NiN(f(xi)yi)۲

بنابراین، هزینه روی نمونه ای از داده ها کمینه سازی می شود نه روی کل توزیع.

وقتی که ∞ → N شکلی از یادگیری ماشین برخط (online) باید استفاده شود، که در آن هزینه با مشاهده هر مثال جدید کاهش می یابد. در حالی که یادگیری ماشین برخط اغلب هنگامی استفاده می شود که D ثابت است، اما بیشترین اثربخشی را هنگامی دارد که توزیع با زمان به کُندی تغییر کند. در روش های شبکه های عصبی، اغلب نوعی از یادگیری ماشین برخط برای پایگاه های داده متناهی استفاده می شود.

انتخاب تابع هزینه

اگرچه می توان یک تابع هزینه اد هاک (تک کاره) تعریف نمود، اما اغلب یک (تابع) هزینه مخصوص مورد استفاده قرار می گیرد، چه به این خاطر که دارای خواص مطلوبی (مثل تحدب) است، چه به این دلیل که بطور طبیعی از فرمول بندی خاصی از مسئله بوجود می آید (مثلاً، در یک فرمول بندی احتمالاتی، احتمال پسینِ مدل را می توان به عنوان هزینه معکوس استفاده کرد). در نهایت، تابع هزینه به کار (task) مورد نظر بستگی دارد.

پس-نشر

DNN را می توان با الگوریتم پس-نشر استاندار بطور شرطی آموزش داد. پس-نشر روشی برای محاسبه گرادیان تابع هزینه (هزینه متناظر با یک وضعیت مشخص را بدست می دهد) نسبت به وزن های درون یک ANN است.

کلِی در ۱۹۶۰ و برایسون در ۱۹۶۱ با استفاده از اصول برنامه ریزی پویا مبانی پس-نشر پیوسته را در چهارچوب نظریه کنترل مطرح کردند. در ۱۹۶۲، دریفاس  نتایج مشابهی را که با استفاده از قانون زنجیری بدست آورده بود، منتشر کرد. برایسون و هو در ۱۹۶۹ آن را به عنوان یک روش بهینه سازی سیستم دینامیکی چند مرحله ای توصیف کردند. در ۱۹۷۰ لیناینما (Linnainmaa) بالاخره روش عمومی را برای مشتق گیری اتوماتیک (AD) از شبکه های همبند گسسته از توابع مشتق پذیر تودرتو منتشر کرد. این روش با نسخه مدرن پس-نشر که حتی برای شبکه های تُنُک اثربخش است، تطابق دارد. در ۱۹۷۳ دریفاس از پس-نشر برای تطبیق پارامترهای کنترلگرها متناسب با گرادیان های خطا استفاده کرد. در ۱۹۷۴ وربوس از امکان کاربرد این اصل در ANN ها صحبت کرد، و در ۱۹۸۲ مدل AD لیناینما را در شبکه های عصبی به کار بست؛ به همان شکلی که امروز بطور گسترده استفاده می شود. در ۱۹۸۶ راملهارت، هینتون و ویلیامز متوجه شدند که این روش می تواند نمایش های درونی مفیدی را از داده های واردشونده به لایه های پنهان شبکه عصبی تولید کند. در ۱۹۹۳ وَن اولین فردی بود که توانست در یک مسابقه بین المللی الگوشناسی به واسطه پس-نشر برنده شود.

با استفاده از فرمول زیر می توان به روز رسانی وزن های پس-نشر را توسط گرادیان کاهشی تصادفی انجام داد:

wij(t+۱)=wij(t)+ηCwij+ξ(t)

که در آن η نرخ یادگیری ، C تابع هزینه و ξ(t) d یک عبارت تصادفی است.

انتخاب تابع هزینه به عواملی از قبیل نوع یادگیری (با نظارت، بدون نظارت، تقویتی و غیره) و تابع فعال ساز بستگی دارد. برای مثال، هنگام انجام یادگیری نظارت شده در یک مسئله دسته بندی چند کلاسی، انتخاب های معمول برای توابع فعال ساز و هزینه، به ترتیب تابع بیشینه هموار و تابع آنتروپی متقابل (cross entropy) هستند.

تابع بیشینه هموار به شکل زیر تعریف می شود:

pj=exp(xj)kexp(xk)

که در آن pj نشانگر احتمال کلاس (خروجی واحد j) و xj و xk به ترتیب نشانگر ورودی کل به به واحد های j و k همان سطح هستند.

آنتروپی متقابل به شکل زیر تعریف می شود:

C=jdj log(pj)

که درآن dj نشانگر احتمال هدف برای واحد خروجی j و pj خروجی احتمال برای j پس از اِعمال تابع فعالساز است.

این توابع را می توان برای تولید جعبه های کران (bounding box) به شکل ماسک باینری استفاده کرد. همچنین از آن ها در رگرسیون چند مقیاسی برای افزایش دقت مکان دِهی (localization) استفاده می شود. رگرسیون DNN-محور علاوه بر ایفای نقش به عنوان یک دسته ساز (classifier) خوب می تواند خواصی را یاد بگیرد که اطلاعات هندسی را دربر داشته باشند. این خواص نیاز به مدل سازی صریح اجزا و ارتباط میان آن ها را از بین می برد و در نتیجه باعث توسیع گستره اشیاء قابل یادگیری می شود. این مدل از چند لایه تشکیل می شود، که هر کدام دارای یک واحد خطی یکسوساز به عنوان تابع فعال ساز برای تبدیل غیر غطی است. برخی لایه ها پیچشی و برخی دیگر کاملاً متصل هستند. هر لایه پیچشی دارای یک بیشینه تجمع اضافه است. به شبکه آموزش داده می شود که خطای L2 را برای پیش بینی ماسک روی کل مجموعه داده های آموزشی شامل جعبه های کران  نمایش داده شده به عنوان ماسک، کمینه کند.

برخی جایگزین های پس-نشر عبارت اند از ماشین های یادگیری فرین (extreme)، شبکه های “No-prop”، آموزش بدون پسگرد (backtracking)، شبکه های “بی وزن” و شبکه های عصبی غیر اتصالگر.

پارادایم های یادگیری

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

یادگیری نظارت شده مجموعه ای از زوج های مرتب مثال (X,y)  را که در آن x ∈ X , y ∈ Y ، مورد استفاده قرار می دهد و هدف آن یافتن تابع f:X→Y در کلاس توابع مجاز است بطوریکه این تابع با مثال ها تطابق داشته باشد. به عبارت دیگر، می خواهیم نگاشتی را که داده ها را نشان می دهد، استنباط کنیم؛ تابع هزینه، با عدم تطابق میان نگاشت ما و داده های اصلی متناظر است و بطور پنهان دانش قبلی درباره دامنه مسئله را در بر دارد.

هزینه ای که معمولاً در نظر گرفته می شود خطای میانگین مربعات است، که می خواهد خطای میانگین مربعات را بین خروجی شبکه، یعنی f(x) ، و مقدار هدف، یعنی y، در تمام مثال ها کمینه کند. کمینه سازی این هزینه با استفاده از گرادیان کاهشی برای کلاسی از شبکه های عصبی به نام پرسپترون های چند لایه (MLP)، الگوریتم پس-نشر را برای آموزش شبکه های عصبی تولید می کند.

فعالیت هایی که در پارادایم یادگیری نظارت شده قرار می گیرند شناسایی الگو (که به عنوان دسته بندی هم شناخته می شود) و رگرسیون (که به عنوان تقریب تابع هم شناخته می شود) هستند. پارادایم یادگیری نظارت شده را می توان روی داده های دنباله ای نیز استفاده کرد (مثلاً برای شناسایی دست خط، گفتار و ژست). این موضوع را می توان مثل یادگیری با “معلم” در نظر گرفت، که معلم به شکل تابعی است که بازخورد (feedback) پیوسته ای را نسبت به کیفیت جواب هایی که تاکنون پیدا شده اند بدست می دهد.

یادگیری بدون نظارت

در یادگیری بدون نظارت، داده x معلوم است و تابع هزینه که می تواند هر تابعی از داده x و خروجی شبکه، یعنی f باشد، باید کمینه شود.

تابع هزینه به فعالیت (دامنه مدل) و هر فرض پیشین (خواص پنهان مدل، پارامترهای آن و متغیرهای مشهود) بستگی دارد.

به عنوان مثالی بدیهی، مدل f(x) = a  را در نظر بگیرید که در آن a یک ثابت است و هزینه برابر است با C = E [ (x-f) )2 ] .

کمینه کردن این هزینه، مقدار a را برابر با متوسط داده ها بدست می دهد. تابع هزینه می تواند بسیار پیچیده تر باشد. شکل آن به کاربرد بستگی دارد: برای مثال، در فشرده سازی، تابع هزینه می تواند به اطلاعات متقابل x و f(x) مرتبط باشد، در حالیکه در مدل سازی  آماری می تواند به احتمال پسین مدل با در اختیار داشتن داده ها مرتبط باشد (توجه کنید که در هردوی این مثال ها، این کمیت ها به جای کمینه سازی، بیشینه می شوند).

فعالیت هایی که در پارادایم یادگیری بدون نظارت قرار می گیرند عموماً مسئله های تخمین هستند؛ کاربردهای آن عبارت اند از خوشه سازی (clustering)، تخمین توزیع های آماری، فشرده سازی و فیلترینگ.

یادگیری تقویتی

در یادگیری تقویتی، داده x معمولاً معلوم نیست، اما از تعاملات یک عامل با محیط تولید می شود.

در هر نقطه در زمان t، عامل، عمل yt را انجام می دهد و محیط، مشاهده xt و هزینه لحظه ای ct را مطابق با یک دینامیک (معمولاً نامعلوم) تولید می کند. هدف، یافتن یک ضابطه جهت انتخاب کارهایی است که معیاری از یک هزینه بلندمدت، مثل امید ریاضی هزینه تجمعی، را کمینه کند. دینامیک محیط و هزینه بلندمدت برای هر ضابطه معمولاً نامعلوم است، اما می توان آن ها را تخمین زد.

محیط به شکل صوری، به عنوان یک یک فرایند تصمیم مارکوف (MDP) با وضعیت های s1,s2,…sn ∈ S و اَعمال a1,…,a∈ A همراه با توزیع های احتمال زیر مدل می شود: توزیع هزینه لحظه ای P(ct|st) ، توزیع مشاهدات P(xt|st) و انتقال P(st+1|st,at) ، در حالی که یک ضابطه به عنوان توزیع شرطی روی اَعمال داده شده توسط مشاهدات تعریف می شود. هر دوی این موارد با هم، یک زنجیر مارکوف (MC) را تعریف می کنند. هدف، کشف ضابطه ای (یعنی MC) است که هزینه را کمینه کند.

ANN ها را اغلب در یادگیری تقویتی به عنوان بخشی از الگوریتم کُلی استفاده می کنند. برتسکاس و تسیتسکلیس (Bertsekas and Tsitsiklis) برنامه ریزی پویا را با ANN ها ادغام نمودند (و برنامه ریزی نورودینامیک بدست آمد) و به دلیل توانایی ANN ها در کم رنگ نمودن عدم دقت، حتی هنگام کاهش چگالی نقاط گسسته برای تقریب عددی جواب مسائل کنترل اصلی، این ادغام در مسائل چند بعدی غیرخطی شبیه آنچه در مسیریابی وسائل نقلیه، مدیریت منابع طبیعی یا پزشکی دیده می شود، مورد استفاده قرار گرفت.

فعالیت هایی که در پارادایم یادگیری تقویتی قرار می گیرند مسائل کنترل، بازی و سایر کارهای تصمیم گیری دنباله ای هستند.

الگوریتم یادگیری بازگشتی همگرا

این روش یادگیری بطور ویژه ای برای شبکه های عصبی کنترلگر مَفصل مدل مخچه (CMAC) طراحی شده است. در سال ۲۰۰۴ یک الگوریتم بازگشتی حداقل مربعات برای آموزش برخط شبکه عصبی CMAC معرفی شد. این الگوریتم می تواند در یک گام همگرا شود و تمام وزن ها را با هر داده ورودی جدیدی در یک گام به روز رسانی کند. در ابتدا این الگوریتم بازگشتی پیچیدگی محاسباتی O(N3) داشت. سپس بر مبنای تجزیه QR ساده سازی شد و به مرتبه O(N) رسید.

الگوریتم های یادگیری

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

بیشتر این موارد، شکلی از گرادیان کاهشی را استفاده می کنند، و از پس-نشر برای محاسبه گرادیان های واقعی بهره می گیرند. این کار تنها با مشتق گیری از تابع هزینه نسبت به پارامترهای شبکه و سپس تغییر آن پارامترها در یک جهت وابسته به گرادیان انجام می شود. الگوریتم های یادگیری پس-نشر به سه دسته تقسیم می شوند:

  • تندترین کاهش (که متغیر، سرعت و گشتاور را یادگیری می کند، پس-نشر بازگشتی ارتجاعی)
  • شبه نیوتن (روش بی اف جی اس، سکانت تک گامی)
  • لِونبرگ-مارکارد و گرادیان مزدوج (به روزرسانی فلچر-ریوز، به روزرسانی پولاک-ریبیر، باز آغازی پاول-بیل، گرادیان مزدوج مقیاس شده).

روش های تکاملی، برنامه ریزی عبارت ژن، تبرید شبیه سازی شده، بیشینه سازی امید ریاضی، روش های غیر پارامتریک و بهینه سازی ازدحام ذرات، روش های دیگری برای آموزش شبکه های عصبی هستند.

شکل های دیگر


روش گروهی مدیریت داده

روش گروهی مدیریت داده (GMDH)، بهینه سازی مدل پارامتریک و بهینه سازی ساختاری تمام اتوماتیک را دربر می گیرد. توابع فعال سازی رأسی، چندجمله ای های کولموگروف-گابور هستند که جمع و ضرب را ممکن می سازند. این مدل از یک پرسپترون چند لایه پیش نگر با هشت لایه استفاده می کند و در حقیقت یک شبکه یادگیری نظارت شده است که لایه به لایه رشد می کند، و هر لایه توسط تحلیل رگرسیون آموزش داده می شود. آیتم های بی مصرف توسط یک تست اعتبار سنجی شناسایی می شوند، و با منظم سازی (regularization) موارد زائد حذف می شوند. اندازه و عمق شبکه حاصل، به فعالیت مورد نظر بستگی دارد.

شبکه های عصبی پیچشی

شبکه عصبی پیچشی (CNN) کلاسی از شبکه های عصبی پیش نگر و عمیق است که از یک یا چند لایه پیچشی که لایه های فوقانی آن کاملاً متصل (مطابق ANN های معمولی) هستند، تشکیل می شود. این نوع شبکه از وزن های مقید (tied weights) و لایه های تجمعی استفاده می کند. به ویژه، بیشنه تجمع اغلب توسط معماری پیچشی فوکوشیما ساخته می شود. این معماری به CNN ها اجازه می دهند که از ساختار ۲D داده های ورودی بهره بگیرند.

CNN ها برای پردازش تصاویر و سایر داده های دو بعدی مناسب هستند و نتایج برتری را هم در کاربردهای تصویر و هم در گفتار نشان داده اند. می توان آن ها را با پس-نشر استاندارد آموزش داد. آموزش CNN ها از سایر شبکه های عصبی منظم، پیش نگر و عمیق آسان تر است و در آن پارامترهای بسیار کمتری نیاز به تخمین زدن دارند. از جمله کاربردهای CNN در بینایی ماشین می توان به نرم افزار Deep Dream اشاره کرد.

حافظه کوتاه مدت بلند

شبکه های حافظه کوتاه مدت بلند (LSTM)، RNN هایی هستند که از مسئله گرادیان های صفر شونده اجتناب می کنند. LSTM معمولاً توسط دروازه های بازگشتی که دروازه های فراموشی نام دارند، افزوده می شوند. شبکه های LSTM  جلوی صفر شدن یا رشد انفجاری خطای پس-نشر را می گیرند. در عوض، خطا می تواند در تعداد نامحدودی از لایه های مجازی در LSTM ناگشوده در فضا، رو به عقب شار کند. به عبارت دیگر، LSTM می تواند فعالیت های “بسیار عمیق یادگیری” را که به حافظه ای از حوادث اتفاق افتاده در هزاران یا حتی شاید میلیون ها گامِ زمانیِ گسستهِ پیشین نیاز دارند، فرا بگیرد. می توان توپولوژی های LSTM -مانندی مختص هر مسئله بدست آورد. LSTM می تواند تاخیر زیاد و سیگنال هایی که ترکیبی از مولفه های فرکانسی کوتاه و بلند دارند را مدیریت کند.

بسته های LSTM RNN که توسط دسته بندی موقت اتصالگرا (CTC) آموزش داده شده اند می توانند ماتریس وزن RNN ای پیدا کنند که احتمال رشته های برچسب (label sequences) را در یک مجموعه آموزشی، با داشتن رشته های ورودی متناظر با آن ها، بیشینه کنند. به این ترتیب CTC به همراستایی و شناخت دست می یابد.

در سال ۲۰۰۳، LTSM به رقیبی برای گفتار شناس های سنتی تبدیل شد. در ۲۰۰۷ ترکیب آن با CTC اولین نتایج مثبت را در زمینه داده های گفتار نشان داد. در ۲۰۰۹ یک LSTM آموزش داده شده توسط CTC به اولین RNN ای تبدیل شد که در رقابت های الگوشناسی به پیروزی می رسید و در چندین مسابقه شناسایی دست خطِ پیوسته برنده شد. در ۲۰۱۴ بدیو (Badiu) با استفاده از RNN های آموزش دیده توسط CTC و بدون استفاده از روش های کلاسیک پردازش گفتار، رکورد شناسایی گفتار سوییچ بُرد Hub5’۰۰ را شکست. LSTM همچنین شناسایی گفتار با لغت نامه بزرگ و تبدیل نوشته به گفتار را برای گوگل اندروید و نیز نرم افزارهای شبیه سازی صحبت انسان (photo-real talking heads) را بهبود بخشید. در ۲۰۱۵ شناسایی گفتار گوگل با استفاده از LSTM آموزش دیده توسط CTC بهبود ۴۹ درصدی را تجربه کرد.

LSTM در پردازش زبان طبیعی نیز محبوبیت یافته است. بر خلاف مدل های قبلی مبتنی بر HMM و مفاهیم مشابه آن، LSTM می تواند زبان های حساس به متن را یاد بگیرد. LSTM ترجمه ماشینی، مدل سازی زبان و پردازش چند زبانی را بهبود داده است. LSTM در ترکیب با CNN ها، ضبط خودکار تصویر را بهبود داده است.

محاسبات مخزن عمیق و شبکه های حالت اکوی عمیق (ESN های عمیق) چهارچوبی را برای مدل های اثربخش آموزش دیده جهت پردازش مرتبه ای داده های موقت درست می کنند، و در عین حال بررسی نقش ذاتی ترکیب لایه ای RNN را ممکن می سازند.

شبکه های باور عمیق  (Deep Believe Network)

شبکه باور عمیق (DBN)، یک مدل تولیدی و احتمالاتی است که از لایه های چندگانه ای از واحدهای پنهان ساخته می شود. می توان آن را به عنوان ترکیبی از مُدول های یادگیرنده ساده در نظر گفت که هر لایه را تشکیل می دهند.

با استفاده از وزن های DBN یاد گیری شده به عنوان وزن های اولیه DNN، DBN را میتوان برای پیش-آموزش تولیدی DNN استفاده کرد. آنگاه پس-نشر یا سایر الگوریتم های شرطی می توانند این وزن ها را تنظیم کنند. این کار به ویژه زمانی که داده های آموزشی محدود هستند مفید است، زیرا وزن هایی که مقدار اولیه ضعیفی دارند می توانند بطور چشمگیری عملکرد مدل را کُند کنند. این وزن های پیش-آموزش دیده در ناحیه ای از فضای وزن ها قرار دارند که نسبت به حالتی که بطور تصادفی انتخاب شوند، به وزن های بهینه نزدیک تر هستند. این حقیقت، مدل سازی بهبود یافته را ممکن می کند و نیز همگرایی سریع تر فاز تنظیم دقیق را در پی دارد.

حافظه ذخیره سازی بزرگ و شبکه های عصبی بازیافتی

حافظه ذخیره سازی بزرگ و شبکه های عصبی بازیافتی (LAMSTAR)، شبکه های عصبی یادگیریِ عمیقِ سریعی با لایه های متعدد هستند که می توانند از چندیدن فیلتر بطور همزمان استفاده کنند. این فیلترها می توانند غیر خطی، تصادفی، منطقی، غیر ایستا یا حتی غیر تحلیلی باشند. همچنین این فیلترها خاستگاهی زیستی دارند و یادگیری را بطور پیوسته انجام می دهند.

شبکه عصبی LAMSTAR می تواند نقش یک شبکه عصبی پویا را در حوزه فضا یا زمان یا هر دو ایفا کند. سرعت آن توسط وزن های لینک هبین تامین می شود که فیلترهای متعدد و معمولاً متفاوت (تابع های پیش پردازش کننده) را در لایه های پر شمار خود یکپارچه سازی می کند و اعتبار لایه های مختلف و توابع را نسبت به یک فعالیت یادگیری مفروض، بطور پویا رتبه بندی می کند. این روند تا حد زیادی شبیه یادگیری زیستی است؛ از این نظر که یادگیری زیستی، پیش پردازنده های متعدد (حلزون گوش، شبکیه چشم و غیره)، قشرها (شنوایی، بینایی و غیره) و نواحی مختلف آن ها را یکپارچه سازی می کند. قابلیت یادگیری عمیق آن با استفاده از بازداری، همبستگی و توانایی آن در ایجاد سازگاری با داده های ناقص، یا نورون ها یا لایه های “از دست رفته”، حتی حین یک فعالیت، تقویت می شود. این شبکه به سبب وزن های پیوندی خود کاملاً شفاف است. وزن های پیوندی، بطور پویا، تعیین نوآوری (innovation) و فزونگی (redundancy) را ممکن می کنند، و رتبه بندی لایه ها، فیلترها یا نورون های منحصر به فرد را نسبت به یک فعالیت آسان می کنند.

LAMSTAR در بسیاری از حوزه ها کاربرد یافته است، از جمله پیش بینی های پزشکی و اقتصادی، فیلترینگ تطابقی گفتار نویزدار در نویز نامعلوم، شناخت تصاویر ثابت، شناخت تصاویر ویدیویی، امنیت نرم افزار و کنترل تطبیقی سیستم های غیر خطی. LAMSTAR در ۲۰ مطالعه مقایسه ای، سرعت یادگیری بسیار بیشتر و نرخ خطای نسبتاً کمتری در مقایسه با فیلترهای تابع ReLU مبتنی بر CNN و بیشینه تجمع داشته است.

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

LAMSTAR در ۱۹۹۶ معرفی شد (A U.S. Patent 5,920,852 A) و از ۱۹۹۷ تا ۲۰۰۲ توسط گراوپ و کوردیلفسکی توسیع داده شد. یک نسخه اصلاح شده از آن، به نام LAMSTAR 2 توسط اشنایدر و گراوپ در ۲۰۰۸ ساخته شد.

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

ایده خود رمزنگار از مفهوم یک نمایش خوب گرفته شده است. برای مثال، برای یک دسته بند، یک نمایش خوب می تواند به عنوان نمایشی تعریف شود که دسته بندی با عملکر بهتری تولید کند.

رمزنگار، یک نگاشت قطعی ƒθ  است که بردار ورودی x را به نمایش پنهان y تبدیل می کند، جایی که θ={W,b} می باشد W ماتریس وزن و b یک بردار متنافر (اُریب) است. یک رمزگشا، نمایش پنهان y را توسط gθ به ورودی بازسازی شده z برمی گرداند. تمام فرایند رمزنگاری خودکار، در مقایسه این ورودی بازسازی شده با ورودی اصلی و سعی در کمینه سازی خطا جهت نزدیک کردن مقدار بازسازی شده به مقدار اصلی، خلاصه می شود.

در خود رمزنگارهای انباشته، خروجیD جزئاً معیوب پاک می شود (نویز آن حذف می شود). این ایده در سال ۲۰۱۰ توسط وینسنت و دیگران با روشی صریح برای بدست آوردن نمایش خوب مطرح شد، یک نمایش خوب نمایش است که بتوان آن را بطور استوار از یک ورودی معیوب بدست آورد و برای بازیابی ورودی سالم متناظر با آن، استفاده شود. در این تعریف، ایده های زیر پنهان هستند:

  • نمایش های سطح بالاتر نسبتاً پایدار و نسبت به انحراف ورودی استوار هستند؛
  • لازم است که ویژگی هایی که برای نمایش توزیع ورودی مفید هستند، استخراج شوند.

الگوریتم با یک نگاشت تصادفی از به آغاز می شود که این گام تحریف است. آنگاه ورودی تحریف شده  از یک فرایند پایه ای خود رمزنگار عبور می کند و به یک نمایش پنهان به صورت ذیل نگاشته می شود:

 

y=fθ(x~)=s(Wx~+b)

از این نمایش پنهان، می توانیم z=gθ(y) را بازسازی کنیم. در مرحله آخر، یک الگوریتم کمینه سازی اجرا می شود تا z را تا حد ممکن به ورودی سالم x نزدیک کند. خطای بازسازی LH (x,y) می تواند کراس-آنتروپی همراه با یک رمزگشای آفین سیگمویید، یا خطای مربعات با یک رمزگشای آفین باشد.

خود رمزنگارها برای ایجاد یک معماری عمیق، جمع (stack) می شوند. وقتی که تابع رمزنگار fθ  اولین خود رمزنگار کاهنده نویز، یادگیری، و برای اصلاح ورودی منحرف استفاده شود، سطح دوم را می توان آموزش داد.

هنگامی که خود رمزنگار تجمعی آموزش داده شود، خروجی آن را می توان به عنوان ورودیِ یک الگوریتم یادگیریِ نظارت شده، مثل کلاسیفایر (دسته بند) ماشین بردارد پشتیبانی یا یک رگرسیون لجستیک چند کلاسی استفاده کرد.

شبکه های تجمعی عمیق

یک شبکه تجمعی عمیق (شبکه محدب عمیق) (DSN) بر سلسه ای از بلوک های مُدول ساده شده شبکه عصبی مبتنی است. این مفهوم در سال ۲۰۱۱ توسط دِنگ و دُنگ معرفی شد و یادگیری را به عنوان یک مسائه بهینه سازی محدب با جوابی به شکل بسته، فرمول بندی می کند؛ چیزی که بر شباهت ماشین به تعمیم تجمعی (stacked generalization) تاکید می کند. هر بلوک DSN یک مُدول ساده است که به آسانی می تواند خود را به شکلی نظارت شده و بدون پس-نشر برای کل بلوک ها، آموزش دهد.

هر بلوک از یک پرسپترون چند لایه (MLP) ساده شده همراه با یک لایه پنهان تشکیل می شود.  لایه پنهان h دارای واحدهای لجستیک سیگموییدی است، و لایه خروجی واحدهای خطی دارد. اتصالات میان این لایه ها توسط ماتریس وزن U نمایش داده می شود؛ اتصالات ورودی به لایه های پنهان دارای ماتریس وزن W هستند. بردارهای هدف t ستون های ماتریس T را تشکیل می دهند، و بردارهای داده ورودی x ستون های ماتریس X را تشکیل می دهند. ماتریس واحدهای پنهان به شکل زیر است:

H=σ(WTX)

مدول ها به ترتیب آموزش داده می شوند، لذا وزن های لایه های پایین تر در هر مرحله معلوم هستند. تابع، عملیات سیگمویید لجستیک عنصر به عنصر را انجام می دهد. هر بلوک، کلاس برچسب نهایی یکسان y را تخمین می زند و تخمین آن با ورودی اصلی X ادغام می شود تا ورودی گسترش یافته بلوک بعدی را تشکیل دهد. لذا، ورودی اولین بلوک تنها شامل داده های اصلی است، در حالی که به ورودی بلوک های پایین دست، خروجی بلوک های پیشین اضافه می شود. آنگاه یادگیریِ ماتریس وزن U لایه فوقانی را با داشتن سایر وزن ها در شبکه می توان به شکل یک مسئله بهینه سازی محدب فرمول بندی کرد:

minfUT = ||UTH  T||۲F,

که جوابی به شکل بسته دارد.

برخلاف سایر معماری های عمیق، مثل DBN ها، هدف، یافتن نمایش ویژگی انتقال یافته نیست. ساختار سلسه ای این نوع معماری، یادگیری موازی را به عنوان یک مسئله بهینه سازی دسته ای، آسان می کند. در فعالیت های توصیفی صِرف، DSN ها عملکرد بهتری نسبت به DBN های عادی دارند.

شبکه های تجمعی عمیق تانسوری

این معماری توسیعی بر DSN است و دو پیشرفت مهم را ارائه می کند: از اطلاعات مراتب بالاتر آمار کوواریانس استفاده می کند، و مسئله غیر محدب یک لایه پایین تر را به یک زیر-مسئله محدب در لایه ای بالاتر تبدیل می کند. TDSN ها از طریق یک تانسور مرتبه سه، از آمار کوواریانس در یک نگاشت دوخطی که دامنه آن هر یک از دو مجموعه مجزای واحد های پنهان در یک لایه، و بُرد آن مجموعه پیش بینی هاست، استفاده می کنند.

اگرچه موازی سازی و مقیاس پذیری در DNN های عادی، جدی گرفته نمی شود، اما تمام یادگیری ها برای DSN ها و TDSN ها در حالت دسته ای انجام می شود تا موازی سازی ممکن شود. موازی سازی، تغییر مقیاس طرح را به معماری های بزرگتر (عمیق تر) و مجموعه داده های بزرگتر، ممکن می سازد.

معماری اساسی، برای فعالیت های متنوعی مثل دسته بندی و رگرسیون مناسب است.

RBM های اسپایک و اسلب (spike-and-slab)

نیاز به یادگیری عمیق با ورودی های حقیقی مقدار، مثل ماشین های بولتزمن محدود شده گوسی، منجر به ساخت شبکه RBM اسپایک و اسلب (ssRBM) شد، که ورودی های پیوسته-مقدار را با متغیر های اکیداً باینریِ پنهان، مدل می کند. مشابه RBM های پایه ای و واریانت های آن، یک RBM اسپایک و اسلب، گرافی دو بخشی است، در حالی که مشابه GRBM ها، واحدهای قابل روئیت (ورودی) حقیقی مقدار هستند. تفاوت در لایه پنهان است، که در آن هر واحد پنهان یک متغیر اسپایک باینری و یک متغیر اسلب حقیقی مقدار دارد. اسپایک یک جرم احتمال گسسته در صفر است، در حالی که اسلب یک چگالی روی دامنه پیوسته است؛ ادغام آنها یک احتمال پیشین تشکیل می دهد.

مدل های عمیق سلسله وار ترکیبی

مدل های عمیق سلسله وار ترکیبی، شبکه های عمیق را توسط مدل های بیزی غیر پارامتریک می سازند. با استفاده از معماری های عمیق مثل DBN، DBM، خود رمزنگارهای عمیق، واریانت های پیچشی، ssRBM ها، شبکه های کدگذاری عمیق، DBN های با یادگیری نمایش تنک، RNN ها، DBN های شرطی و خود رمزنگارهای کاهنده نویز، ویژگی ها را می توان یاد گرفت. این عمل نمایش بهتری را بدست می دهد، که یادگیری سریع تر و دسته بندی دقیق تری را با داده های بعُد بالا ممکن می سازد. با این حال، این معماری ها در یادگیری کلاس های جدید با مثال های اندک، ضعیف هستند، زیرا تمام واحدهای شبکه درگیر نمایش ورودی هستند (یک نمایش توزیع شده) و باید با یکدیگر تنظیم شوند (درجه آزادی بالا). محدود کردن درجه آزادی، تعداد پارامترهای مورد یادگیری را کاهش می دهد، و به یادگیری کلاس های جدید از مثال های اندک کمک می کند. مدل های بیزی سلسله وار (HB) یادگیری از مثال های اندک را ممکن می کنند، برای مثال برای بینایی کامپیوتر، آمار و علوم شناختی.

معماری های HD ترکیبی، هدف در یکپارچه سازی ویژگی های HB و شبکه های عصبی دارند. معماری ترکیبی HDP-DBM یک فرایند سلسله وار دیریکله (HDP) است و مدلی سلسله وار است که با معماری DBM تلفیق شده است. این مدل، یک مدل تولیدی کامل است که از مفاهیم مجردی که در لایه های مدل جریان دارند تعمیم گرفته است، و توانایی ترکیب کردن مثال های جدید را در کلاس های جدیدی که ” به میزان معقولی” طبیعی باشند، دارد. تمام ترازها با بیشینه سازیِ امتیازِ لُگاریتمِ احتمالِ توأم، همزمان یادگیری می شوند.

در یک DBM با سه لایه پنهان، احتمال یک ورودی قابل مشاهده v عبارت است از:

p(v,ψ)=۱Zehij Wij(۱)vihj۱+ilWjl(۲)hj۱h۱۲+lmWlm(۳)hl۲hm۳

که در آن h = {h(1),h(2),h(3)} مجموعه  واحدهای پنهان است و  ψ = {w(1),w(2),W(3)}  پارامترهای مدل هستند که عبارت های تعاملی متقارن قابل مشاهده-پنهان و پنهان-پنهان را نمایش می دهند.

مدل DBM یادگیری شده، یک مدل بدون جهت است که توزیع توأم p (v,h1,h2,h3) را تعریف می کند. یک راه برای بیان چیزی که یادگیری شده، مدل شرطی p (v,h1,h2|h3) و عبارت پیشین p(h3) است.

در اینجا p (v,h1,h2|h3) یک مدل DBM شرطی را نمایش می دهد، که می توان آن را به عنوان یک DBM دو لایه در نظر گرفت که عبارت های اُریب آن توسط وضعیت های h3 داده شده اند:

P(v,h۱,h۲|h۳) = ۱Z(ψ,h۳)eijWij(۱)vihj۱+jlWjl(۲)hj۱hl۲+lmWlm(۳)hl۲hm۳

شبکه های کدگذاری پیش گویانه عمیق

شبکه کدگذاری پیش گویانه عمیق (DPCN) یک طرح کدگذاری پیش گویانه است که از اطلاعات بالا به پایین جهت تنظیم تجربیِ احتمالاتِ پیشینِ مورد نیاز برای فرایند استنباطِ پایین به بالا توسط یک مدل تولیدی موضعاً متصل، استفاده می کند.  این کار با استخراج ویژگی های تُنُک از مشاهداتِ متغیر با زمان توسط یک مدل خطی دینامیکی انجام می شود. سپس، یک استراتژی تجمعی برای یادگیری نمایش ویژگی های ناوردا استفاده می شود. این واحدها برای تشکیل یک معماری عمیق ترکیب می شوند و توسط یادگیری بدون نظارتِ حریصانه لایه به لایه آموزش داده می شوند. این لایه ها نوعی زنجیر مارکوف تشکیل می دهند بطوریکه حالت ها در هر لایه تنها به لایه های قبلی و بعدی بستگی داشته باشند.

DPCN ها توسط یک روش بالا به پایین که از اطلاعات لایه بالایی و وابستگی های موقت وضعیت های قبلی بهره می برد، نمایش لایه را پیش بینی می کنند.

DPCN ها را می توان به یک شبکه پیچشی توسیع داد.

شبکه های دارای ساختار حافظه مجزا

یکپارچه سازی حافظه خارجی با ANN ها در پژوهش های اولیه در زمینه نمایش های توزیع یافته و نگاشت های خودسازمان-دِه کوهونن (Kohonen) ریشه دارد. برای مثال، در حافظه توزیع یافته تُنُک یا حافظه موقت سلسله وار، الگوهای رمزنگاری شده توسط شبکه های عصبی به عنوان آدرسی برای حافظه محتوای آدرس پذیر استفاده می شوند، که در آن نورون ها لزوماً نقش رمزگشا و رمزنگار آدرس ها را ایفا می کنند. با این حال، اولین کنترلر های این حافظه ها مشتق پذیر نبودند.

ساختارهای حافظه مشتق پذیر وابسته به LSTM

به غیر از حافظه کوتاه مدت بلند (LSTM)، روش های دیگری نیز حافظه مشتق پذیر را به توابع بازگشتی اضافه نمودند. برای مثال:

  • اَعمال پوش و پاپ (push and pop) مشتق پذیر برای شبکه های حافظه متناوب که ماشین های تجمعی عصبی نام دارند
  • شبکه های حافظه ای که در آن حافظه مشتق پذیرِ بیرونیِ شبکهِ کنترل، در وزن های سریع یک شبکه دیگر قرار دارد
  • گیت های فراموشی LSTM
  • RNN های خود-ارجاع دِه با واحدهای خروجی ویژه برای آدرس دهی و برزیدن (manipulate) سریع وزن های خود RNN به شکل مشتق پذیر (حافظه آغازین)
  • یادگیری ترانزدیوس (transduce) با حافظه نامحدود

ماشین های تورینگ عصبی

ماشین های تورینگ عصبی شبکه های LSTM را به منابع حافظه بیرونی که با آن ها می توانند توسط فرایندهای تمرکزی (attentional)  تعامل داشته باشند، ملحق می کنند. این سیستم ترکیب شده شبیه ماشین تورینگ است اما انتها-به-انتها مشتق پذیر است، که امکان آموزش اثربخش آن را توسط گرادیان کاهشی فراهم می کند. نتایج مقدماتی نشان می دهند که ماشین های عصبی تورینگ می توانند الگوریتم های ساده از قبیل کپی کردین، ذخیره سازی و فراخوانی انجمنی از مثال های ورودی و خروجی را استنباط کنند.

آمیزش معنایی

روش هایی که تجربه های پیشین را مستقیماً نمایش می دهند و از تحربه ای مشابه برای تشکیل یک مدل موضعی استفاده می کنند، اغلب به روش های نزدیک ترین همسایه، یا k-نزدیک ترین همسایه موسوم هستند. یادگیری عمیق در آمیزش معنایی مفید است؛ جایی که در آن یک مدل گرافیکی عمیق از بردارهای شمارش لغت از یک مجموعه بزرگ اسناد بدست می آید. اسناد بطوری در آدرس های حافظه نگاشته می شوند که اسنادِ از نظر معنایی مشابه، در آدرس های نزدیک بهم قرار گیرند. سپس اسنادِ مشابه سند مورد جستار را با دسترسی به تمام آدرس هایی که تنها چند بیت با آدرس سند مورد جستار اختلاف دارند، می توان پیدا کرد. برخلاف حافظه توزیع شده تنک که روی آدرس های ۱۰۰۰ بیتی عمل می کند، آمیزش معنایی روی آدرس های ۳۲ یا ۶۴ بیتی موجود در معماری کامپیوترهای عادی کار می کند.

شبکه های حافظه

شبکه های حافظه، توسیع دیگری به شبکه های عصبی با تلفیق حافظه بلند مدت هستند. حافظه بلند مدت با هدف استفاده برای پیش بینی، قابل خواندن است و می توان روی آن نوشت. این مدل ها در چهارچوب پاسخ به سوال (QA) که درآن حافظه بلند مدت عملاً به عنوان پایه (پویا) دانش عمل می کند و خروجی یک پاسخ متنی است، به کار بسته شده اند.

شبکه های اشاره گر

شبکه های عصبی عمیق را می توان با عمیق سازی و کاهش پارامتر، با حفظ آموزش پذیری، بطور بلقوه بهبود داد. اگرچه شاید آموزش شبکه های عصبیِ بشدت عمیق (مثلاً ۱ میلیون لایه) عَمَلی نباشد، اما معماری های شبیه CPU، مثل شبکه های اشاره گر و ماشین های دسترسی تصادفی عصبی، با استفاده از حافظه دسترسی تصادفی و اجزای دیگری که معمولاً به معماری های کامپیوتری مثل رجیسترها، ALU و اشاره گرها تعلق دارند، این محدودیت را از بین برده اند.

چنین سیستم هایی روی بردارهای توزیع احتمالِ ذخیره شده در سلول های حافظه و رجیسترها عمل می کنند. بنابراین، مدل کاملاً مشتق پذیر است و انتها-به-انتها آموزش می گیرد. ویژگی کلیدی این مدل ها این است که عمق آن ها، اندازه حافظه کوتاه مدت ان ها، و تعداد پارامترهای آن ها را می توان بطور مستقل تغییرداد – برخلاف مدل هایی شبیه LSTM، که تعداد پارامترهای آن نسبت به اندازه حافظه، بطور درجه دو رشد می کند.

شبکه های رمزنگار-رمزگشا

قالب های رمزنگار-رمزگشا بر شبکه های عصبی ای مبتنی هستند که ورودی های با ساختار بالا را به خروجی های با ساختار بالا تصویر می کنند. این روش در چهارچوب ترجمه ماشینی متولد شد، که در آن ورودی و خروجی جمله های نوشته شده به دو زبان مختلف هستند. در این عمل، یک LSTM RNN یا CNN به عنوان رمزنگار برای خلاصه کردن جمله منبع استفاده می شود، و این خلاصه توسط یک مدل زبان RNN جهت تولید ترجمه کدگشایی می شود. این سیستم ها بلوک های سازنده را به اشتراک می گذارند: CNN و RNN های گیت شده و مکانیزم های تَوَجهی آموزش دیده.

ماشین هسته چندلایه

ماشین های هسته چندلایه (MKM) راهی برای یادگیری توابع بسیار غیرخطی، از طریق کاربرد مکرر هستههای خیرخطی ضعیف است. این ماشین ها از تحلیل مولفه اصلی هسته (KPCA) به عنوان روشی برای مرحله “پیش-آموزش لایه به لایه حریصانه بدون نظارت” در معماری یادگیری عمیق استفاده می کنند.

لایه l+1 نمایش لایه l قبلی را یاد می گیرد، و  nمولفه اصلی (PC)  لایه افکنش l را که در دامنه ویژگی القایی هسته قرار گرفته اند، استخراج می کند. به منظور کاهش بُعد نمایشِ به روز رسانی شده در هر لایه، یک استراتژی نظارت شده جهت انتخاب مفیدترین ویژگی ها میان ویژگی های استخراجی توسط KPCA پیشنهاد می شود. این فرایند عبارت است از:

  • nlویژگی را طبق اطلاعات متقابل آن ها با برچسب های کلاس رتبه بندی کنید؛
  • به ازای مقادی مختلف K و ml ∈ {۱,…,nl} ، نرخ خطای دسته بندی  دسته ساز k-نزدیکترین همسایه (K-NN) را تنها با استفاده از mlعدد از مفیدترین ویژگی ها روی یک مجموعه اعتبارسنجی محاسبه کنید.
  • آن مقدار mlکه دسته ساز با آن به کمترین نرخ خطا رسیده است، تعداد ویژگی هایی را که باید نگه داشته شوند تعیین می کند.

برخی اشکلات در KPCA به عنوان سلول های سازنده MKM وجود دارند.

روش ساده تری در استفاده از ماشین های هسته برای یادگیری عمیق در فهم زبان گفتاری توسعه داده شده است. ایده اصلی این است که از ماشین هسته برای تقریب زدن یک نِت عصبی کم عمق که بی نهایت واحد پنهان دارد، استفاده کنیم و سپس با تجمع سازی (stacking)، خروجی ماشین هسته، و ورودی خام در ساخت سطح بعدی و بالاتر ماشین هسته را با هم پیوند برنیم. تعداد سطح ها در شبکه عمیق محدب یک اَبَر پارامتر از سیستم کلی است و باید توسط اعتبارسنجی متقابل (cross validation) تعیین شود.

موارد مصرف شبکه های عصبی


استفاده از ANN ها مستلزم فهم ویژگی های آن هاست.

  • انتخاب مدل: به نمایش داده ها و کاربرد مورد نظر بستگی دارد. مدل های بیش از حد پیچیده یادگیری را کند می کنند.
  • الگوریتم یادگیری: بده-بستان های متعددی میان میان الگوریتم های یادگیری وجود دارد. تقریباً هر الگوریتمی با ابر پارامترهای مناسب برای آموزش روی یک مجموعه داده به خصوص، عملکرد خوبی از خود نشان می دهد. با این حال، انتخاب و تنظیم یک الگوریتم برای آموزش روی داده های دیده نشده نیازمند آزمایش های معتبر است.
  • اُستواری: اگر مدل، تابع هزینه و الگوریتم یادگیری به درستی انتخاب شوند، ANN حاصل می تواند استوار باشد.

توانایی های ANN در دسته های وسیع زیر تقسیم می شوند:

  • تقریب تابع، یا تحلیل رگرسیون، که پیش بینی سری های زمانی، تقریب برازندگی (fitness approximation) و مدل سازی را شامل می شود.
  • دسته بندی، که شناسایی الگو و دنباله، کشف ویژگی جدید و تصمیم گیری دنباله ای را در بر می گیرد.
  • پردازش داده، که فیلترینگ، خوشه سازی، جداسازی منبع کور و فشرده سازی را در بر می گیرد.
  • رُباتیک، که مانیپولاتورهای هدایتی و اندام های ساختگی را در بر می گیرد.
  • کنترل، که کنترل عددی کامپیوتری را شامل می شود.

کاربردهای شبکه های عصبی


ANN ها به دلیل توانایی در بازتولید و مدل سازی فرایندهای غیر خطی در رشته های مختلفی کاربرد یافته اند.

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

ANN ها در شناسایی سرطان، از جمله سرطان های ریه، پروستات، روده بزرگ و نیز تشخیص خطوط سلول های سرطانی تهاجمی از خطوطی که کمتر تهاجمی هستند تنها با استفاده از اطلاعات شکل سلول، مورد کاربرد قرار گرفته اند.

ANN ها همچنین برای ساختن مدل های جعبه سیاه در علوم زمین شناسی استفاده شده اند: هیدرولوژی، مدل سازی اقیانوس و مهندسی سواحل، و ژئوموفولوژی تنها چند مثال از این نوع هستند.

علوم اعصاب

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

برای بدست آوردن درکی از این موضوع، دانشمندان اعصاب سعی دارند میان فرایندهای زیستی مشاهده شده (داده ها)، مکانیزم های پذیرفتنی زیست شناختی برای پردازش عصبی و یادگیری (مدل های شبکه عصبی زیستی) و تئوری (نظریه یادگیری آماری و نظریه اطلاعات) پیوند ایجاد کنند.

پژوهش در حوزه مغز مکرراً منجر به ایجاد روش های نوین ANN شده است، مثلاً استفاده از ارتباطات برای متصل کردن نورون های لایه های دیگر به جای نورون های مجاور در یک لایه. روش های دیگری استفاده از انواع سیگنال های چندگانه، یا کنترل ظریف تر نسبت به متغیر های بولی (روشن/خاموش) را مورد کاوش قرار داده اند. شبکه های عصبی پویا می توانند بطور پویا اتصالات جدید و حتی واحدهای عصبی جدیدی را حین غیر فعال سازی بقیه واحدها ایجاد کنند.

انواع مدل ها

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

شبکه های با حافظه

یکپارچه سازی اجزای حافظه بیرونی با شبکه های عصبی مصنوعی در پژوهش های آغازین حوزه نمایش های توزیع یافته و نگاشت های خود سازمان دِه ریشه دارد. برای مثال، در حافظه توزیع یافته تُنُک الگوهای رمزنگاری شده توسط شبکه های عصبی به عنوان آدرس حافظه برای محتوای آدرس پذیر استفاده می شوند، که در ان “نورون ها” الزاماً نقش رمزنگاری و رمزگشایی آدرس ها را بر عهده دارند.

اخیراً نشان داده شده است که یادگیری عمیق در آمیزش معنایی مفید است، که در آن مدل گرافیکی عمیقی از بردارهای شمارش لغت از یک مجموعه بزرگ سند بدست می آید. اسناد به شکلی در آدرس های حافظه نگاشته می شوند که اسنادی که از نظر معنایی مشابه هستند، در آدرس های نزدیک بهم قرار گیرند. سپس اسناد مشابه سند مورد جستار، با دسترسی به تمام آدرس هایی که تنها چند بیت با آدرس سند مورد جستار اختلاف دارند به آسانی پیدا می شوند.

شبکه های حافظه توسیع دیگری به شبکه های عصبی با تلفیق حافظه بلند مدت هستند. حافظه بلند مدت با هدف استفاده برای پیش بینی قابل خواندن است و می توان روی آن نوشت. این مدل ها در چهارچوب پاسخ به سوال (QA) که درآن حافظه بلند مدت عملاً به عنوان پایه دانش عمل می کند و خروجی یک پاسخ متنی است،  به کار بسته شده است.

ماشین های تورینگ عصبی (NTM) توانایی های شبکه های عصبی عمیق را با الحاق آن ها به منابع حافظه بیرونی که با آن ها می توانند توسط فرایندهای تمرکزی (attentional)  تعامل داشته باشند، گشترش می دهند. این سیستم ترکیب شده شبیه ماشین تورینگ است اما انتها-به-انتها مشتق پذیر است، که امکان آموزش اثربخش آن را توسط گرادیان کاهشی فراهم می کند. نتایج مقدماتی نشان می دهند که ماشین های عصبی تورینگ می توانند الگوریتم های ساده از قبیل کپی کردین، ذخیره سازی و فراخوانی انجمنی از مثال های ورودی و خروجی را استنباط کنند.

کامپیوترهای عصبی مشتق پذیر (DNC) توسیع NTM هستند. این کامپیوترها عملکرد بهتری نسبت به ماشین های تورینگ عصبی، سیستم های حافظه کوتاه مدت بلند و شبکه های حافظه در کارهای پردازش دنباله ای داشته اند.

ویژگی های تئوری


قدرت محاسباتی

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

یک معماری بازگشتی ویژه با وزن هایی که مقادیر گویا دارند (در مقابل وزن های حقیقی مقداری که دقت کامل دارند)، با استفاده از تعدادی متناهی نورون و اتصالات خطی استاندارد، قدرت کامل یک ماشین جهانی تورنگ را دارد. علاوه بر این، استفاده از مقادیر گنگ برای وزن ها منجر به یک ماشین با قدرت ابر-تورینگ می شود.

ظرفیت

خاصیت “ظرفیت” مدل ها تقریباً متناظر است با توانایی آن ها در مدل کردن هر تابع داده شده ای و مرتبط است با مفهوم پیچیدگی و نیز میزان اطلاعاتی که می توان در شبکه ذخیره کرد.

همگرایی

ممکن است مدل ها بطور پایدار به یک جواب همگرا نشوند، اولاً به این دلیل که ممکن است مینمم های موضعی فراوانی وجود داشته باشند، بسته به تابع هزینه و خود مدل؛ دوماً، روش بهینه سازی مورد استفاده ممکن است هنگامی که دور از مینمم های موضعی کار را آغاز کنیم، همگرایی را تضمین نکند. سوماً، برای داده ها یا پارامترهای بقدر کافی بزرگ، ممکن است برخی روش ها غیر عملی شوند. با این حال، برای آموزش شبکه عصبی CMAC، یک الگوریتم کمترین مربعات بازگشتی معرفی شده است، و می توان تضمین کرد که این الگوریتم در یک گام همگرا می شود.

تعمیم دهی و آمار

کاربردهایی که هدف آن ها ساختن سیستمی است که به مثال های دیده نشده تعیمم مناسبی داشته باشند، ممکن است با بیش-آموزش دِهی رو به رو شوند. این موضوع در سیستم های بیش-تصریح شده یا پیچشی، هنگامی که ظرفیت شبکه بطور چشمگیری از نیاز به پارامترهای آزاد پیشی می گیرد، به وجود می آید. دو روش برای مقابله با بیش-آموزش دهی وجود دارد. اولین روش، استفاده از اعتبارسنجی متقابل و تکنیک های مشابه برای چک کردن وجود بیش-آموزش دهی و انتخاب بهینه ابرپارامترها برای کمینه سازی خطای تعمیم دهی است. روش دوم استفاده از نوعی  منظم سازی (regularization) است. این مفهوم در یک چهارچوب بیزی (احتمالاتی) به وجود می آید، که در آن منظم سازی را می توان با انتخاب احتمال پیشین بزرگتری روی مدل های ساده تر اجرا کرد؛ و نیز در چهارچوب نظریه یادگیری آماری، که در آن هدف کمینه سازی روی دو کمیت است: “ریسک تجربی” و “ریسک ساختاری”، که تقریباً متناظر است با خطا روی مجموعه آموزش و خطای پیش بینی شده در داده های دیده نشده به دلیل انجام بیش-برازش (overfitting).

شبکه های عصبی نظارت شده ای که از یک تابع هزینه خطای کمترین مربعات (MSE) استفاده می کنند، می توانند از روش های آماری صوری برای تعیین اطمینان مدل آموزش دیده استفاده کنند. روی یک مجموعه اعتبار سنجی، MSE را می توان به عنوان تخمینی برای واریانس استفاده کرد. سپس از این مقدار می توان در محاسبه بازه اطمینان خروجی شبکه استفاده کرد، با این فرض که توزیع نرمال باشد. تحلیل اطمینانی که به این طریق انجام شود، به شرطی که توزیع احتمال خروجی تغییر و شبکه دستخوش تحول نشود، از نظر آماری معتبر است.

با فرض گرفتن تابع فعال سازی بیشینه هموار (که تعمیمی بر تابع لجستیک است) روی لایه خروجی شبکه عصبی (یا یک مولفه بیشینه هموار در یک شبکه عصبی مبتنی بر مولفه) برای متغیرهای هدف قطعی، خروجی ها را می توان به عنوان احتمال پسین تعبیر کرد. این کار در دسته بندی بسیار مفید است زیرا یک اندازه قطعی روی دسته بندی ها به دست می دهد.

تابع فعال سازی بیشینه فعال عبارت است از:

yi=exij=۱cexj

انتقادات


مشکلات آموزش

انتقادی که معمولاً به شبکه های عصبی وارد است، به ویژه در رباتیک، این است که برای عمل در دنیای واقعی به آموزش زیادی نیاز دارند. برخی راه حل های بالقوه عبارت اند از بُر زدن تصادفی مثال های آموزشی توسط یک الگوریتم بهینه سازی عددی که هنگام تغییر دادن اتصالات شبکه به دنبال یک مثال، گام های زیادی را بر ندارد، و نیز روش معروف گروه بندی مثال ها در دسته های کوچک. بهبود کارایی آموزش و توانایی همگرایی همواره زمینه پژوهشی فعالی برای شبکه های عصبی بوده است. برای مثال، با معرفی یگ الگوریتم بازگشتی کمترین مربعات برای شبکه عصبی CMAC، فرایند آموزش تنها با یک گام به همگرایی می رسد.

مسائل نظری

هیچ شبکه عصبی ای مسائل محاسباتی دشوار مثل مسأله چند وزیر، فروشنده دوره گرد یا تجزیه اعداد صحیح بزرگ را حل نکرده است.

یک انتقاد اساسی این است این شبکه واقعاً نحوه عملکرد نورون ها را منعکس نمی کنند. پس-نشر بخشی مهم در اکثر شبکه های عصبی است، اما چنین مکانیزمی در شبکه های عصبی زیستی وجود ندارد. چگونگی رمزنگاری اطلاعات توسط نورون های واقعی ناشناخته است. نورون های حسگر با فعال سازی حسگر، پتانسیل های عمل را با تکرر بیشتری شلیک می کنند و سلول های عضله ای هنگامی که نورون های حرکتی متناظرشان پتانسیل های عمل را با تکرر بیشتری دریافت کنند، با قدرت بیشتری کشش ایجاد می کنند. به جز مورد انتقال اطلاعات از نورون حسگر به نورون حرکتی، تقریباً هیچ چیز درباره اصول مدیریت اطلاعات توسط شبکه های عصبی زیستی شناخته شده نیست.

انگیزه پشت ANN ها لزوماً تکرار نمودن عملکرد عصبی نیست، بلکه استفاده از شبکه های عصبی زیستی به عنوان مفهومی الهام بخش است. بنابراین ادعای اصلی ANN ها این است که این شبکه ها دربرگیرنده اصول کلی جدید و قدرتمندتری برای پردازش اطلاعات است. متاسفانه، این اصول کلی، بد-نعریف هستند. اغلب ادعا می شود که این اصول ناشی از خود شبکه هستند. این مطلب، توصیف ارتباط آماری ساده را (تابع اساسی شبکه های عصبی مصنوعی) به عنوان یادگیری یا شناخت ممکن می سازد. الکساندر دیودنی (Dewdney) بیان کرد که در نتیجه این امر، شبکه های عصبی مصنوعی دارای “یک خاصیت چیزی-برای-هیچ چیز هستند، خاصیتی که هاله ای عجیب از تنبلی و عدم کنجکاوی  درباره خوب بودن این سیستم های محاسباتی تلقین می کند. دست (یا ذهن) انسان دخالت نمی کند؛ راه حل ها انگار با جادو پیدا می شوند؛ و به نظر هیچ کسی چیزی نفهمیده است. ”

آنطور که آناتومی مغز گزارش می دهد، مغزهای زیستی هم از مدارهای کم عمق و هم از مدارهای عمیق استفاده می کنند، که تنوع وسیعی از ناوردایی را نمایش می دهد. وِنگ (Weng) استدلال کرد که مغز خود را به میزان زیادی بر آمار سیگنال منطبق می کند و لذا، یک آبشار سریالی نمی تواند تمام وابستگی های آماری اصلی را دریابد.

مسائل سخت افزاری

شبکه های عصبی بزرگ و اثربخش به منابع محاسباتی قابل ملاحظه ای نیاز دارند. در حالیکه مغز توسط گرافی از نورون ها، سخت افزاری را بر فعالیت پردازش سیگنال منطبق کرده است، حتی شبیه سازی یک نورون ساده شده روی معماری ون نویمن (von Neumann) ممکن است یک طراح شبکه عصبی را وادار به پُر کردن میلیون ها سطر پایگاه داده برای اتصالات آن کند – چیزی که می تواند میزان زیادی حافظه و ذخیره سازی به خود اختصاص دهد. علاوه بر آن، طراح اغلب باید سیگنال ها را در بسیاری از این اتصالات و نورون های مربوطه منتقل کند – چیزی که معمولاً قدرت و زمان محاسباتی زیادی از CPU طلب می کند.

اشمیدهوبر بیان کرد که احیاء شبکه های عصبی در قرن ۲۱ به میزان زیادی مرهون پیشرفت در سخت افزار است: از ۱۹۹۱ تا ۲۰۱۵ قدرت محاسباتی، به ویژه قدرت ایجاد شده توسط GPGPU ها (روی GPU ها) تقریباً یک میلیون برابر افزایش یافته است، و الگوریتم پس-نشر استاندارد را برای آموزش شبکه هایی که چندین لایه از قبل عمیق تر هستند، ممکن ساخته است. استفاده از GPU های موازی می تواند زمان محاسباتی را از چند ماه به چند روز کاهش دهد.

مهندسی نورومورفیک مستقیماً مسأله دشواری سخت افزار را هدف می گیرید، و برای پیاده سازی مستقیم شبکه های عصبی در مدار، چیپ های غیر ون نیومنی می سازد. چیپ بهینه دیگری که برای پردازش شبکه های عصبی در نظر گرفته می شود، واحد پردازش تانسوری یا TPU نامیده می شود.

مثال های نقض عَمَلی بر انتقادات

پاسخی که به موضع گیری انتقادی دیودنی مطرح می شود این است که شبکه های عصبی با موفقیت در حل مسائل پیچیده و پراکنده بسیاری استفاده شده اند، از هواپیماهای خودکار گرفته تا شناسایی کلاه برداری های کارت اعتباری تا پیدا کردن مهارت در بازی گو.

راجر بریجمن، مقاله نویس حوزه فناوری اطلاعات می گوید:

“برای مثال، دیدگاه منفی ای که در مورد شبکه های عصبی وجود دارد نه تنها به این دلیل است که در مورد آن ها اغراق شده (در مورد چه چیزی اغراق نشده؟) بلکه به این علت است که شما می توانید شبکه ای موفق را ایجاد کنید بدون اینکه درک کنید چگونه کار می کند: اعداد متعددی که رفتار این شبکه را  توصیف می کنند به احتمال زیاد “یک جدول مبهم و غیر قابل خواندن را تشکیل می دهد که به عنوان یک منبع علمی بی ارزش است.”

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

اگرچه این حقیقت دارد که تحلیل آنچه که توسط شبکه عصبی یادگیری شده دشوار است، اما این کار در مقایسه تحلیل چیزی که توسط شبکه های عصبی زیستی یادگیری می شود، بسیار آسان تر است. برای مثال، یادگیری موضعی در مقابل یادگیری غیر موضعی، و معماری کم عمق در برابر معماری عمیق.

روش های ترکیبی

طرفداران روش های ترکیبی (ترکیب شبکه های عصبی و روش های سمبلیک) ادعا می کنند که چنین آمیزشی می تواند مکانیزم های ذهن انسان را بهتر توصیف کند.

انواع


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

گالری

شبکه عصبی مصنوعی تَک-لایه پیش نگر - مدیاسافت

یک شبکه عصبی مصنوعی تَک-لایه پیش نگر. پیکان هایی که از x2 شروع می شوند برای وضوح بیشتر حذف شده اند. به این شبکه p ورودی داخل می شود و q خروجی از آن خارج می شوند. در این سیستم، مقدار q-اُمین خروجی، yq توسط رابطه زیر محاسبه می شود: yq=K*(∑(xi*wiq)-bq)

 

 

شبکه عصبی مصنوعی پیش نگر دو لایه - مدیاسافت

یک شبکه عصبی مصنوعی پیش نگر با دو لایه

 

 

شبکه عصبی مصنوعی - مدیاسافت

یک شبکه عصبی مصنوعی

 

 

گراف وابستگی ANN - مدیاسافت

گراف وابستگی ANN

 

شبکه عصبی مصنوعی پیش نگر تک-لایه - مدیاسافت

یک شبکه عصبی مصنوعی پیش نگر تک-لایه با ۴ ورودی، ۶ راس پنهان و ۲ خروجی. حالت موقعیت و جهت داده شده مقادیر کنترلی چرخ-مبنا را به خروجی می برد.

 

 

شبکه عصبی مصنوعی پیش نگر دو لایه - مدیاسافت

یک شبکه عصبی مصنوعی پیش نگر دو لایه با ۸ ورودی، ۲*۸ راس پنهان و ۲ خروجی. حالت موقعیت، جهت و سایر مقادیر محیطی مقادیر کنترلی پیشران را به خروجی می برد.

 

 

خط لوله موازی شبکه عصبی CMAC - مدیاسافت

ساختار خط لوله موازی شبکه عصبی CMAC. این الگوریتم یادگیری می تواند در یک گام به همگرایی برسد.

نوشته شبکه های عصبی مصنوعی (ANN) چه هستند و چه مفاهیمی را در بر میگیرند؟ اولین بار در مدیاسافت پدیدار شد.

Powered by WPeMatico