LSTM چیست؟
LSTM یا Long Short Term Memory به معنی حافظه بلند مدت، حافظه کوتاه مدت میباشد. با RNN ها در پست قبلی آشنا شدهاید. این مدل یکی از شاخههای RNN میباشد و مانند آن زیرمجموعه دیپ لرنینگ میباشد. در این مدل مانند مدلهای RNN خروجی به ورودی فیدبک میدهد. به این مدلها مدل فیدبک دار نیز میگویند. در این مدل خروجی با یک سری وزن به ورودی کمک میکند تا مدل تحلیل بهتری بر روی دادهها انجام دهد.
کاربرد lstm چیست؟
کاربردهای این مدل بیشتر برای دادههای دنبالهایی و چندتایی میباشد و عموما از دادههای تکی استفاده نمیشود. به عنوان مثال از تصویر تک در مدل LSTM استفاده نمیشود. ولی در پردازش متن، ویدئو، گفتار، در بحث انفورماتیک و عموما دادههایی که سریهای زمانی مختلف را دنبال میکنند مانند سریهای زمانی در دادههای مالی و تحلیلهای اقتصادی کاربرد بسیار زیادی دارد.
چرا ازlstm استفاده میکنیم؟
وقتی مدل RNN را بزرگ میکنیم، که در واقع فلسفه دیپ لرنینگ همین بزرگ کردن مدلها میباشد. زمانی که از روش Back propagation استفاده میکنیم که در آن از لایه آخر به لایه اول حرکت میکنیم، اتفاقی که میافتد این هست که چون تعداد لایهها زیاد بوده این حرکت به لایههای اول دیگر نمیرسید و مشتق تابع ارور صفر میشد. به این مشکل Vanishing Gradient Problem میگویند. در این صورت وزنهای شبکه دیگر آپدیت نمیشود.
برای حل این مشکل در سال 1997 آقای Jürgen Schmidhuber مدل LSTM را معرفی کردند. و میتواند به راحتی دادههای بزرگ و دادههای کوچک را حل کند. دلیل نام گذاری این مدل به Long Short Term Memory نیز به همین دلیل میباشد که این مدل همه نوع داده را میتواند بررسی کند. این مدلها در تحلیل و پیشبینی دادههای سری زمانی بسیار پرکاربرد هستند.
برای آشنایی بیشتر با مبحث LSTM و نحوه کار با آن میتوانید به دوره جامع آموزش یادگیری عمیق در پایتون آکادمی رسا مراجعه کنید.