LSTM مخفف Long Short-Term Memory یک نوع شبکه عصبی بازگشتی (RNN) است که در هوش مصنوعی و به خصوص برای پردازش دادههای ترتیبی مانند سریهای زمانی، متن و گفتار استفاده میشود.
مشکل اصلی شبکههای عصبی بازگشتی ساده این است که در حفظ و یادآوری اطلاعات طولانی مدت دچار مشکل میشوند، به این معنی که به راحتی اطلاعات قبلی را فراموش میکنند.
این مشکل به نام نابودی گرادیان شناخته میشود.
LSTM در هوش مصنوعی شبکه عصبی
LSTM برای حل این مشکل در هوش مصنوعی طراحی شده و به شبکه اجازه میدهد که اطلاعات مهم را در طول زمان به خاطر بسپارد و اطلاعات غیرضروری را فراموش کند.
ساختار اصلی LSTM از سلولها تشکیل شده است که دارای دروازههای حافظه (memory gates) هستند.
دروازه ورودی (Input Gate): تعیین میکند که چقدر از ورودی جدید وارد حافظه شود.
دروازه فراموشی (Forget Gate): مشخص میکند که چه اطلاعاتی از حافظه حذف شود.
دروازه خروجی (Output Gate): مشخص میکند که چه مقداری از حافظه به خروجی ارسال شود.
این دروازهها به LSTM کمک میکنند تا اطلاعات مربوط به ارتباطات طولانی مدت در دادههای ترتیبی را به خوبی مدیریت کند.
بنابراین، LSTM بهویژه در پردازش زبان طبیعی (NLP)، ترجمه ماشینی، تحلیل احساسات، پیشبینی سریهای زمانی و دیگر مسائل مشابه مفید است.
تاریخچه LSTM
تاریخچه LSTM به اوایل دهه 1990 بازمیگردد.
این مدل برای اولین بار در سال 1997 توسط سیپ هُخریتر (Sepp Hochreiter) و یورگن اشمیدهوبر (Jürgen Schmidhuber) معرفی شد.
آنها LSTM را به عنوان راهحلی برای غلبه بر مشکلات شبکههای عصبی بازگشتی (RNNs) از جمله نابودی گرادیان (vanishing gradient problem) که باعث میشد RNN نتواند اطلاعات دوردست در توالی را به خوبی مدیریت کند، پیشنهاد کردند.
RNN به عنوان یکی از اولین معماریهای شبکه عصبی برای پردازش دادههای ترتیبی معرفی شد.
با این حال، این مدلها در یادگیری روابط طولانیمدت بین دادهها دچار مشکل بودند.
شبکههای RNN به دلیل کاهش سریع گرادیانها هنگام استفاده از الگوریتم بازگشت به عقب (Backpropagation Through Time)، قادر نبودند اطلاعات طولانی مدت را به درستی به خاطر بسپارند.
هُخریتر و اشمیدهوبر LSTM را طراحی کردند تا مشکل نابودی گرادیان را حل کنند.
معماری LSTM با اضافه کردن حافظه سلولی و دروازههای ورودی، خروجی و فراموشی امکان نگهداری اطلاعات مهم در طول زمانهای طولانی را فراهم کرد.
در دهه 2000 ، پژوهشگران به بهبود کارایی و توسعه معماریهای LSTM ادامه دادند.
اضافه شدن مفاهیم مانند دروازههای بهبود یافته و گرادیانهای اصلاحشده باعث شد تا LSTM به تدریج جای خود را در پروژههای علمی و کاربردهای واقعی باز کند.
در سال 2010 با گسترش محاسبات موازی و در دسترس بودن سختافزار قدرتمندتر، مانند واحدهای پردازش گرافیکی (GPU)، LSTM به یک انتخاب اصلی در زمینههای مختلف تبدیل شد.
از کاربردهای LSTM میتوان به:
- پردازش زبان طبیعی (NLP): ترجمه ماشینی، تحلیل احساسات، تشخیص گفتار
- سریهای زمانی: پیشبینی مالی، تحلیل دادههای بازار
- بینایی کامپیوتر: شناسایی ویدیو و تحلیل حرکات در ویدیوها
در سال 2014 یکی از تحولات مهم در این دوره، معرفی GRU بود که به عنوان جایگزینی سبکتر و سادهتر برای LSTM پیشنهاد شد.
GRU مشابه LSTM عمل میکند اما پیچیدگی کمتری دارد.
این مدل نیز به محبوبیت قابل توجهی دست یافت و در برخی مسائل بهتر از LSTM عمل کرد.
در سال 2020 با ظهور مدلهای Transformer و معماریهایی مانند BERT و GPT، که به جای استفاده از بازگشت به عقب در زمان، از توجه (attention) استفاده میکنند، LSTM در برخی زمینهها کنار گذاشته شد.
با این حال، LSTM همچنان در بسیاری از کاربردها، بهویژه در دادههای ترتیبی و سری زمانی، به کار میرود و جایگاه خود را حفظ کرده است.
اگرچه LSTM با معرفی مدلهای جدیدتر مثل Transformer تا حدی تحتالشعاع قرار گرفته، اما همچنان به عنوان یکی از روشهای اصلی برای کار با دادههای ترتیبی، به ویژه در مواردی که حافظه طولانیمدت و یادگیری ترتیبی اهمیت دارد، کاربرد دارد.
شناخت الگوریتم های LSTM
الگوریتمهای اصلی LSTM شامل چهار بخش کلیدی هستند که در فرآیند بهروزرسانی و محاسبه وضعیت سلولهای حافظه و خروجی استفاده میشوند.
دروازه فراموشی (Forget Gate
در این مرحله، مشخص میشود که چه مقدار از اطلاعات حافظه قبلی باید فراموش شود.
دروازه ورودی (Input Gate)
این مرحله تعیین میکند که چه مقدار از ورودی جدید وارد حافظه شود.
کاندیدای وضعیت جدید سلول حافظه
این معادله کاندیدای جدید برای بهروزرسانی وضعیت حافظه را محاسبه میکند.
بهروزرسانی وضعیت نهایی سلول حافظه
این معادله ترکیبی از وضعیت قبلی سلول حافظه و ورودی جدید است که وضعیت نهایی حافظه را بهروزرسانی میکند.
دروازه خروجی (Output Gate)
این معادله مشخص میکند که چه مقدار از اطلاعات سلول حافظه برای تولید خروجی استفاده شود.
این الگوریتمها هسته اصلی محاسبات LSTM هستند و با استفاده از این دروازهها، LSTM میتواند اطلاعات طولانیمدت را نگهداری یا فراموش کند و در هر مرحله خروجی مناسب تولید کند.