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

با این قسمت از مجله هم رویش همراه باشید.

فهرست مطالب

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

تاریخچه شبکه عصبی و یادگیری عمیق ___ (قسمت اول)

شبکه های عصبی چیست __ تاریخچه شبکه عصبی و یادگیری ماشین (قسمت سوم)

یادگیری عمیق از دهه‌ 2000 تا 2010 میلادی __ قسمت آخر تاریخچه شبکه عصبی

شبکه عصبی بازگشتی چیست ؟ آشنایی با شبکه‌های عصبی بازگشتی (RNN) و (LSTM)

شبکه عصبی کانولوشن یا Convolutional چیست ؟ __ راهنمای جامع به روش ELI5

شبکه عصبی چیست ؟ ___ آشنایی با شبکه های عصبی مصنوعی

دیپ لرنینگ چیست؟ — کاربرد یادگیری عمیق (Deep learning)

 

شبکه‌های عصبی بینا می‌شوند

با پرده‌برداری از راز آموزش شبکه‌های عصبی چند لایه، این موضوع بار دیگر داغ شد و به نظر می‌رسید که بلندپروازی‌های روزنبلات (Rosenblatt) شاید در دسترس باشد. تنها تا سال 1989 طول کشید تا یکی دیگر از یافته‌های کلیدی که هم اکنون در کتاب‌ها و سخنرانی‌ها به طور جهانی مورد استناد قرار می­گیرد، منتشر شود:

“شبکه‌های پیشخور چند لایه، تخمین­گرهای جهانی هستند”.

اساساً، از نظر ریاضی ثابت شد که لایه‌های متعدد به شبکه‌های عصبی اجازه می‌دهد تا هر تابع را از نظر تئوری پیاده‌سازی کنند، حتی تابع XOR.

اما، این ریاضیات است؛ جایی که می‌توانید تصور کنید دارای حافظه و قدرت محاسباتی بی‌پایان هستید. اما آیا انتشار رو به عقب (backpropagation)، اجازه داد از شبکه‌های عصبی برای هر چیزی در دنیای واقعی استفاده شود؟ آه، بله!

همچنین در سال 1989، یان لکان (Yann LeCun) و همکارانش، در آزمایشگاه هایAT&T Bell  یک کاربرد واقعی مهم از انتشار رو به عقب را در مقاله “استفاده از انتشار رو به عقب برای تشخیص کد پستی دست نویس” (Backpropagation Applied to Handwritten Zip Code Recognition) نشان دادند.

 

 

 

هم رویش منتشر کرده است:

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

 

 

 

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

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

 

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

ویژگی‌های متمایز یک شیء می‌تواند در مکان‌های مختلف روی تصویر ورودی ظاهر شود. بنابراین داشتن مجموعه‌ای از آشکارسازهای ویژگی که بتوانند نمونه خاصی از یک ویژگی را در هر نقطه از محل ورودی تشخیص دهند، منطقی به نظر می‌رسد. از آنجا که مکان دقیق یک ویژگی ربطی به دسته‌بندی ندارد، می‌توانیم برخی از اطلاعات موقعیت را در این فرایند از دست بدهیم. با این وجود، اطلاعات تقریبی موقعیت باید حفظ شود تا سطوح بعدی بتوانند ویژگی‌های پیچیده‌تر و درجه بالاتر را تشخیص دهند (فوکوشیما (Fukushima) 1980؛ موزر (Mozer) 1987).

 

شکل9: توضیحی پیرامون شبکه‌های باور

 

یا به طور واضح‌تر  اولین لایه مخفی شبکه عصبی، کانولوشنی (convolutional) بود؛ به جای اینکه هر نورون برای هر پیکسل تصویر ورودی، وزن متفاوتی داشته باشد (40×60 = 2400 وزن)، نورون‌ها فقط دارای مجموعه کوچکی از وزن‌ها هستند (5×5 = 25) که به دسته‌ای از زیر مجموعه‌های کوچک تصویر با همان اندازه اعمال شده‌اند.

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

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

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

روشی که در این مقاله مربوط به سال 1989 پیشنهاد شد، اساس سیستم‌های چک خوان ملی شد که توسط لکان در این جواهر ویدئویی نشان داده شده است:

برای تماشای این فیلم تاریخی در YouTube کلیک کنید (+)

 

دلیل مفید بودن آن، هرچند از نظر ریاضی روشن نباشد، اما بصورت شهودی مشخص است: بدون چنین محدودیت‌هایی، شبکه باید همان چیزهای ساده (مانند تشخیص خطوط 45 درجه، دایره‌های کوچک و …) را برای هر قسمت از تصویر چندین بار بیاموزد. اما با وجود محدودیت، صرفا یک نورون باید هر ویژگی ساده را یاد بگیرد؛ و با وزن‌های بسیار کمتر در کل، می‌تواند خیلی سریع‌تر انجام شود!

علاوه بر این، از آنجا که مکان دقیق پیکسل چنین ویژگی‌هایی اهمیت ندارد، نورون اساسا می‌تواند هنگام اعمال وزن‌ها، از زیر مجموعه‌های مجاور در تصویر صرف نظر کند – یعنی زیرنمونه­‌گیری (subsampling)، که اکنون یک نوع جمع‌آوری (پولینگ یا pooling) به حساب می‌آید – که زمان آموزش را بیشتر کاهش می‌دهد.

افزودن این دو نوع لایه – یعنی لایه‌های کانولوشنی و پولینگ – تمایز اصلی شبکه‌های عصبی کانولوشنی (CNNs/ConvNets) از شبکه‌های عصبی ساده قدیمی است.

 

تاریخچه-شبکه-عصبی-هم-رویش
شکل2: تصویری مناسب از عملکرد شبکه عصبی کانولوشنی

 

در همین زمان، ایده کانولوشن، “اشتراک وزن” نامیده شد و در واقع در تحلیل گسترده توسط روملهارت (Rumelhart)، هینتون (Hinton) و ویلیامز (Williams) پیرامون انتشار رو به عقب در سال 1986 مورد بحث قرار گرفت.

در واقع، اعتبار آن حتی به عقب‌تر برمی­گردد – تحلیل مینسکی (Minsky) و پاپرت (Papert) در سال 1969 از پرسپترون‌ها به اندازه کافی کامل بود تا مسئله‌ای را ایجاد کند که این ایده را برانگیزد. اما، همانند گذشته، دیگران نیز به طور مستقل این مفهوم را مورد بررسی قرار داده‌اند: می‌توان از کاناهیکو فوکوشیما (Kunihiko Fukushima) نام برد که در سال 1980 به بیان خود از نوروکاگنیترون (Neurocognitron) پرداخت.

و مانند گذشته، ایده‌های پشت آن، از مطالعات پیرامون مغز الهام گرفت:

 

” بر اساس مدل سلسله مراتبی هوبل و ویزل (Hubel and Wiesel)، شبکه عصبی در قشر بینایی، دارای یک ساختار سلسله مراتبی است: LGB (جسم زانویی جانبی)-> سلول‌های ساده-> سلول‌های پیچیده-> سلول­های فوق پیچیده مرتبه پایین‌تر > سلول­های فوق پیچیده مرتبه بالاتر.

همچنین پیشنهاد می‌شود که شبکه عصبی بین سلول‌های فوق پیچیده مرتبه پایین‌تر و سلول‌های فوق پیچیده مرتبه بالاتر دارای ساختاری شبیه به شبکه بین سلول‌های ساده و سلولهای پیچیده باشد.

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

 

لکان، همچنان یکی از حامیان اصلی CNN‌ها در آزمایشگاه Bell بود و کار او بر روی آن‌ها منجر به استفاده تجاری سیستم چک خوانی در اواسط دهه 90 شد؛ صحبت‌ها و مصاحبه‌های او اغلب شامل این واقعیت است که “در مقطعی در اواخر دهه 1990، یکی از این سیستم‌ها، 10 تا 20 درصد از کل چک‌های ایالات متحده را می‌خواند”.

پیش از این در هم‌رویش فیلم شبکه عصبی کانولوشنی به زبان ساده منتشر شد. برای دیدن فیلم معرفی این آموزش بر روی این لینک (+) و یا پخش کننده پایین کلیک کنید:

 

 

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

شبکه عصبی کانولوشن به زبان ساده

 

شبکه‌های عصبی بدون نظارت می‌شوند

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

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

 

تاریخچه-یادگیری-عمیق-هم-رویش
شکل3: یک شبکه عصبی خودرمزنگار

 

این یک شبکه عصبی خودرمزنگار (autoencoder) و روشی برای یادگیری فشرده‌سازی است: داده‌ها را به صورت مؤثر به یک قالب فشرده، ترجمه (رمزنگاری یا رمزگذاری) می‌کند و به خودش (auto) برمی­گرداند.

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

 

شبکه-عصبی-چیست-هم-رویش
شکل4: نمایی واضح‌تر از فشرده‌سازی خودرمزنگار

 

در اینجا به یک نکته ظریف توجه کنید: تنها چیزی که برای آموزش نیاز داریم، یکسری داده‌های ورودی است. این امر برخلاف الزامات یادگیری ماشین تحت نظارت است که برای تخمین یک تابع که بتواند خروجی‌ها را بر اساس ورودی‌ها محاسبه کند، به مجموعه‌ای از زوج‌های ورودی-خروجی (داده‌های دارای برچسب) نیاز دارد.

و در واقع، خودرمزنگارها، نوعی یادگیری تحت نظارت نیستند. آن‌ها نوعی یادگیری بدون نظارت (unsupervised learning) هستند که فقط به مجموعه‌ای از داده‌های ورودی (داده‌های بدون برچسب) برای یافتن ساختار پنهان درون آن داده‌ها نیاز دارند.

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

 

ماشین-بولتزمن-هم-رویش
شکل5: خوشه‌بندی، یک کاربرد بسیار رایج یادگیری بدون نظارت

 

کاربردهای بدون نظارت دیگری از شبکه‌های عصبی، قبل و بعد از کشف انتشار رو به عقب (backpropagation) مورد بررسی قرار گرفتند. مهم‌ترین آن‌ها، نگاشت‌های خودسازماندهی (Self Organizing Maps) است که یک بازنمایی با بُعد کم از داده‌ها را ارائه می‌دهد که برای تجسم خوب است. و تئوری رزونانس تطبیقی ​، که می‌تواند دسته‌بندی داده‌های ورودی دلخواه را یاد بگیرد، بدون اینکه دسته‌بندی های صحیح به آن گفته شده باشد.

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

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

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

 

شبکه-عصبی-کانولوشن-هم-رویش
شکل6: نگاشت‌های خود سازماندهی – نگاشت یک بردار بزرگ از ورودی‌ها به شبکه‌ای از خروجی‌های نورون، که هر خروجی یک خوشه است. نورون‌های نزدیک به هم، نشان دهنده خوشه‌های مشابه هستند.

 

همانند اشتراک وزن، ایده خودرمزنگارها برای اولین بار در تحلیل ذکر شده در سال 1986 در مورد انتشار رو به عقب مورد بحث قرار گرفت و مانند اشتراک وزن، مجدداً در سال‌های بعد در تحقیقات بیشتری ظاهر شد، از جمله توسط خود هینتون.

این مقاله، با عنوان جالب “خودرمزنگارها، حداقل طول توصیف و انرژی آزاد هلمهولتز” (Autoencoders, Minimum Description Length, and Helmholts Free Energy)، بیان می‌کند که “یک رویکرد طبیعی برای یادگیری بدون نظارت، استفاده از مدلی است که توزیع احتمال را بر بردارهای رؤیت پذیر تعریف می‌کند” و از یک شبکه عصبی برای یادگیری چنین مدلی استفاده می‌کند. بنابراین در اینجا یک کار تمیز دیگر وجود دارد که می‌توانید با شبکه‌های عصبی انجام دهید: تخمین توزیع‌های احتمال.

پیش از این آموزش شبکه عصبی با پایتون در هم‌رویش آپلود شده است. فیلم معرفی این آموزش در پایین آپلود شده است.

 

 

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

آموزش ساخت شبکه عصبی با پایتون (و دیگر زبان‌ها) از صفر

 

شبکه‌های عصبی، باورها را جلب می‌کنند

در واقع، هینتون، قبل از همکاری در نوشتن مقاله سال 1986 در مورد الگوریتم یادگیری انتشار رو به عقب، بر روی یک رویکرد شبکه عصبی برای یادگیری توزیع احتمال در 1985 تحت عنوان “یک الگوریتم یادگیری برای ماشین‌های بولتزمن” (A Learning Algorithm for Boltzmann Machines) کار کرد.

ماشین‌های بولتزمن، شبکه‌هایی مشابه شبکه‌های عصبی هستند و واحدهایی دارند که بسیار شبیه به پرسپترون‌ها است، اما به جای محاسبه خروجی بر اساس ورودی‌ها و وزن‌ها، هر واحد در شبکه می‌تواند احتمال آن را با یک مقدار 1 یا 0، با توجه به مقادیر واحدهای بهم متصل و وزن‌ها، محاسبه کند.

بنابراین واحدها تصادفی (stochastic) هستند؛ یعنی بر اساس توزیع احتمال رفتار می‌کنند، نه با یک روش قطعی شناخته شده.‌ بخش بولتزمن به یک توزیع احتمال (a probability distribution) اشاره دارد که مربوط به وضعیت ذرات در یک سیستم بر اساس انرژی ذرات و بر اساس دمای ترمودینامیکی آن سیستم است.

این توزیع نه تنها ریاضیات ماشین‌های بولتزمن، بلکه نحوه تفسیر آن را نیز تعریف می‌کند: واحدهای موجود در شبکه، خود دارای انرژی و وضعیت هستند و یادگیری با به حداقل رساندن انرژی سیستم انجام می‌شود؛ یک الهام مستقیم از ترمودینامیک.

اگرچه این تفسیر مبتنی بر انرژی، کمی غیرشهودی است، اما در واقع تنها یک مثال از یک مدل مبتنی بر انرژی است و در چارچوب تئوری یادگیری مبتنی بر انرژی (energy-based learning) جای می‌گیرد که با آن می‌توان بسیاری از الگوریتم‌های یادگیری را بیان کرد.

 

شکل7: یک شبکه باور یا شبکه بیزین ساده – یک ماشین بولتزمن اساساً همین است اما با اتصالات بدون جهت یا متقارن و وزن‌های قابل آموزش برای یادگیری احتمالات به یک شیوه خاص.

 

برگردیم به ماشین‌های بولتزمن. هنگامی که چنین واحدهایی با هم در یک شبکه قرار می‌گیرند، یک گراف ایجاد می‌کنند، و بنابراین یک مدل گرافیکی از داده‌ها هستند. در اصل، آن‌ها می‌توانند کاری شبیه شبکه‌های عصبی معمولی انجام دهند: چند واحد مخفی (hidden units)، احتمال چند متغیر پنهان (خروجی‌ها – دسته‌بندی ها یا ویژگی‌های داده)  را محاسبه می‌کنند. این کار با توجه به مقادیر شناخته شده واحدهای قابل مشاهده (visible units) که متغیرهای قابل مشاهده (ورودی‌ها – پیکسل‌های تصاویر، کاراکترهای متن و غیره) را نشان می‌دهند، انجام می‌شود.

در مثال کلاسیک ما برای طبقه‌بندی تصاویر ارقام، متغیرهای پنهان (hidden variables)، مقادیر واقعی رقم و متغیرهای قابل مشاهده (visible variables)، پیکسل‌های تصویر هستند. با داشتن یک تصویر از رقم “1” به عنوان ورودی، مقدار واحدهای قابل مشاهده مشخص است و واحد مخفی که احتمال تصویر نشان دهنده “1” را مدل‌سازی می‌کند، باید دارای احتمال خروجی بالایی باشد.

 

ماشین-بولتزمن-هم-رویش
شکل8: یک نمونه ماشین بولتزمن. هر خط، وزن مربوط به خود را دارد، درست مشابه یک شبکه عصبی. توجه کنید که هیچ لایه‌ای در اینجا وجود ندارد؛ همه چیز به نوعی می‌تواند به همه چیز متصل شود. ما کمی در مورد این تنوع در شبکه عصبی صحبت خواهیم کرد …

 

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

این موضوع از معادلات احتمالاتی ناشی می‌شود – شبکه، نه تنها احتمالات مقادیر متغیرهای پنهان را با توجه به مقادیر شناخته شده متغیرهای قابل مشاهده یاد می‌گیرد، بلکه معکوس آن را نیز می‌آموزد – احتمالات قابل مشاهده با توجه به مقادیر پنهان شناخته شده.

بنابراین، اگر بخواهیم یک تصویر از رقم “1” ایجاد کنیم، واحدهای مربوط به متغیرهای پیکسل، احتمالات خروجی 1 را شناخته‌اند و یک تصویر را می‌توان به صورت احتمالاتی تولید کرد. این شبکه‌ها، مدل‌های گرافیکی مولد (generative graphical models) هستند.

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

بیشتر این‌ موارد چندان جدید نبودند، اما الگوریتم یادگیری ارائه شده و فرمول خاصی که آن را توانمند می‌ساخت، در خود مقاله به این صورت بیان شده است:

 

“شاید جالب‌ترین جنبه در فرمول‌بندی ماشین بولتزمن این باشد که به یک الگوریتم یادگیری مستقل از دامنه منجر می‌شود که قدرت اتصال بین واحدها را به گونه‌ای اصلاح می‌کند که کل شبکه یک مدل داخلی ایجاد می‌کند که ساختار زیرین محیط خود را ضبط می‌کند.

شکست‌های زیادی در طول جستجوی چنین الگوریتم‌هایی رخ داده است (نیول، 1982)، و بسیاری از مردم (به ویژه در هوش مصنوعی) اکنون معتقدند که چنین الگوریتم‌هایی وجود ندارد.”

 

بدون پرداختن به جزئیات کامل الگوریتم، در اینجا به برخی از نکات برجسته اشاره می‌کنیم: این الگوریتم، گونه‌ای از الگوریتم‌های حداکثر درست نمایی (maximum-likelihood) است. به زبان ساده، یعنی به دنبال حداکثر احتمال مقادیر واحد قابل مشاهده شبکه، در تطابق با مقادیر صحیح شناخته شده آن‌ها است.

محاسبه بیشترین مقدار محتمل واقعی برای هر واحد، همگی بصورت همزمان، از نظر محاسباتی بسیار هزینه بر می‌شود. بنابراین در آموزش، از نمونه‌برداری گیبز (Gibbs Sampling) – شروع شبکه با مقادیر تصادفی واحدها و تخصیص مجدد مقادیر به واحدها با توجه به مقادیر اتصالات آن‌ها بصورت مکرر – برای دادن برخی مقادیر شناخته شده واقعی استفاده می‌شود.

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

 

 

 

هم رویش منتشر کرده است:

آموزش یادگیری ماشین از صفر --- یادگیری سریع و آسان

 

 

 

همانند شبکه عصبی، این الگوریتم را می‌توان هم به شیوه تحت نظارت (با مقادیر شناخته شده برای واحدهای مخفی) و هم به شیوه بدون نظارت انجام داد.

اگرچه این الگوریتم نشان داد که کار می‌کند (به ویژه، با همان مسئله “رمزگذاری” که شبکه‌های عصبی خودرمزنگار حل کردند)، اما به زودی مشخص شد که این الگوریتم خیلی خوب کار نمی‌کند – مقاله ردفورد نیل (Redford M. Neal) در سال 1992 با عنوان “یادگیری ارتباطی شبکه‌های باور” (Connectionist learning of belief networks) نیاز به یک رویکرد سریع‌تر را با بیان این مطلب تصدیق کرد:

“این قابلیت‌ها باعث می‌شود ماشین بولتزمن در بسیاری از کاربردها جذاب باشد، جز اینکه روش یادگیری آن عموماً به طرز دردناکی کُند به نظر می‌رسد.”

و بنابراین نیل، یک ایده مشابه در شبکه باور (belief net) مطرح کرد، که اساسا شبیه یک ماشین بولتزمن با اتصالات جهت­‌دار و رو به جلو است (به طوری که دوباره لایه‌هایی وجود دارند، مانند شبکه‌های عصبی که قبلا مشاهده کردیم، و برخلاف تصویر ماشین بولتزمن در بالا).

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

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

 

شکل9: توضیحی پیرامون شبکه‌های باور

 

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

و بنابراین هینتون، به همراه نیل و دو نویسنده دیگر، به زودی ترفندهای اضافی را در مقاله “الگوریتم خواب و بیداری برای شبکه‌های عصبی بدون نظارت” (The wake-sleep algorithm for unsupervised neural networks) در سال 1995 ارائه کردند. این ترفندها به یک راه اندازی متفاوت شبکه باور نیاز داشتند که در آن زمان با عنوان “ماشین هلمهولتز” (The Helmholtz Machine) شناخته می‌شدند.

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

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

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

+ پیش از این آموزش شبکه عصبی LSTM برای پیش بینی قیمت بازار در هم‌رویش منتشر شد. برای دیدن فیلم معرفی این بسته بر روی این لینک (+) و یا پخش کننده پایین کلیک کنید:

 

 

برای دریافت بسته کامل آموزش اینجا(+) کلیک کنید.

 

 

کلیدواژگان

تاریخچه یادگیری ماشین – تاریخچه یادگیری ماشینی – یادگیری ماشین – یادگیری ماشینی – مبانی یادگیری ماشین – تاریخچه شبکه عصبی – تاریخچه شبکه های عصبی – تاریخچه شبکه عصبی کانولوشن – شبکه عصبی چیست – شبکه عصبی – شبکه های عصبی – شبکه عصبی مصنوعی چیست – شبکه عصبی فازی چیست – شبکه عصبی عمیق چیست – شبکه های عصبی چیست – شبکه عصبی کانولوشن – شبکه های عصبی کانولوشن – تاریخچه شبکه عصبی کانولوشن – شبکه های عصبی کانولوشنی – شبکه عصبی کانولوشن چیست – شبکه عصبی کانولوشنال – شبکه عصبی کانولوشن عمیق – شبکه عصبی کانولوشن به زبان ساده – ماشین بولتزمن – ماشین بولتزمن چیست – ماشین بولتزمن محدود – ماشین بولتزمن محدود چیست – ماشین های بولتزمن – یادگیری ماشین بولتزمن – تاریخچه یادگیری عمیق – تاریخچه شبکه عصبی چیست – تاریخچه شبکه عصبی – شبکه عصبی چیست

 

 

منبع

neural-net-history-part2

دوره های آموزشی مرتبط

نویسنده :

سئو و ویراستاری :

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

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

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

Search

مطالب مرتبط

دسته بندی مطالب