شبکهی Long Short-Term Memory یا به اختصار LSTM، اولین بار در سال ۱۹۹۷ توسط Hochreiter و Schmidhuber معرفی شد. این شبکه اگرچه یک شبکهی عصبی نسبتاً قدیمی است اما در گذر زمان میزان استفاده از آن رشد کرده و در طیف وسیعی از مسائل از آن استفاده میشود.
بسیاری از معماریهای شبکههای عصبی، مثل ماشین بولتزمن محدود شده، پرسپترون چندلایه، Autoencoder و شبکههای عصبی پیشرو برای دادههای چندبعدی طراحی شدهاند که در آنها ویژگیها تا حد زیادی از یکدیگر مستقل هستند. البته در شبکهی کانولوشن وابستگیهای فضایی نقاط داده مورد توجه قرار گرفته، اما در این شبکهها به مولفهی زمان توجه نشده است. این در حالی است که دادههایی مثل سری زمانی (time series)، متن و دادههای بیولوژیکی شامل وابستگیهای ترتیبی در بین صفاتشان هستند.
شبکههای هاپفیلد در سال ۱۹۸۰ میلادی توسط John Hopfield معرفی شدند. وی تحقیقاتی در زمینهی مسألهی خود انجمنی داشته و تجزیه و تحلیلهای عمیقی روی شبکههای عصبی انجام داده است. همین پژوهشها او را در عرصهی هوش مصنوعی و یادگیری ماشین به چهرهای شناخته شده بدل کرده. در شکل ۱ و شکل ۲ دو نمایش از معماری شبکهی هاپفیلد نشان داده شده است. همانگونه که در این شکلها دیده میشود هر شبکهی هاپفیلد از تعدادی گره تشکیل شده و در آن هر گره به تمام گرههای دیگر متصل است. به عبارت دیگر هر گره ورودی خود را از همهی گرههای دیگر دریافت کرده و خروجی هر گره به عنوان ورودی به همهی گرههای دیگر ارسال میشود.
شبکهی پرسپترون که در دههی ۱۹۶۰ توسط روزنبلات ارائه شد یک لایهی ورودی و یک لایهی خروجی داشت. در این شبکه فقط لایهی خروجی، لایهی محاسباتی بود و لایهی ورودی تنها به انتقال دادههای ورودی به لایهی خروجی میپرداخت. در لایهی خروجی نیز پس از انجام محاسبات، خروجیهای شبکه بدست میآمدند. گرچه این یک دستاورد چشمگیر بود که میتوانست یاد بگیرد اما مینسکی و پاپرت در کتاب خود (Minsky and Papert, 1969) در سال ۱۹۶۹ نشان دادند که شبکهی پرسپترون مسائل غیر خطی مانند XOR را نمیتواند حل کند. راه حل آن هم استفاده از لایههای بیشتر در این شبکه عصبی است که به آن پرسپترون چند لایه (Multilayer Perceptron یا به اختصار MLP) میگویند. با وجود اینکه راه حل مشخص بود اما سالها طول کشید تا بتواند عملیاتی شود و در شبکههای عصبی به صورت عملی مورد استفاده قرار گیرد. پس از آن نیز با وجود آنکه این شبکه در عمل تواناییهای خود را نشان داد، آنچه که به صورت ریاضی و نظری در مورد آن اثبات شده بود عملاً تحقق نیافت و در کاربردهای یادگیری عمیق با چالشهایی مواجه شد.
در یادداشت قبلی به چیستی یادگیری عمیق پرداختیم. یادگیری عمیق نوع خاصی از یادگیری ماشین است (Goodfellow et al., 2016) که درواقع به شبکههای عصبی عمیق اشاره دارد. انواع مخلفی از معماریهای شبکههای عصبی برای یادگیری عمیق ارائه شده. در نوشتار حاضر قصد داریم انواع معماریهای اصلی شبکههای عصبی عمیق را به صورت مختصر معرفی نماییم. در یادداشتهای بعدی همین وبلاگ جزئیات بیشتری از این معماریها ارائه خواهد شد.