Long short-term memory (LSTM) ، یک شبکه عصبی مصنوعی است که در حوزه های موضوعی هوش مصنوعی[1] و یادگیری عمیق[2] به کار گرفته می شود. بر خلاف شبکه عصبی پیشخور[3]، LSTM دارای اتصالات بازخوردی است . LSTM مانند شبکه عصبی بازگشتی ، نه تنها به پردازش داده های مفرد مثل تصاویر، می پردازد، بلکه آن می تواند داده های متوالی مثل سخنرانی یا فیلم را هم پردازش کند. برای مثال LSTM برای کارهایی مثل شناسایی دست خط ، شناسایی سخنرانی ، ترجمه ماشینی ، کنترل ربات ، بازی های ویدیویی و مراقبت های بهداشتی کاربرد دارد. LSTM در قرن بیستم به عنوان بهترین نوع شبکه عصبی شناخته شده است .
LSTM توسط Yoshua Bengio و دیگران در سال 1994 در مقاله ای با عنوان Learning long tern Dependencies with gradient descent is difficult مطرح شد .
تعریف LSTM به زبان ساده
LSTM به زبان ساده یعنی مدلی که برای دنباله های طولانی به کار می رود. LSTM لایه پیشرفته تری نسبت به simple RNN است. برخی اوقات برای داشتن خروجی مناسب باید به ورودی های اخیر نگاه کرد .
LSTM می تواند هر دنباله ای با طول طولانی را پردازش کند . برای مثال در شکل زیر قابلیت LSTM نشان داده می شود. مثلا اطلاعاتی در قسمت اول وجود دارد که در قسمت آخر استفاده خواهد شد . T=1 بازه زمانی اول است و اطلاعات پردازش شده قرار است در بازه زمانی 500 استفاده شود. پس LSTM بازه زمانی اول را یادگیری می کند و آن را تا بازه زمانی 500 که برایش در نظر گرفته شده ذخیره می کند تا در صورت آن نیاز آن اطلاعات استفاده شود .
برخی از کاربردهای LSTM
زمانی که می خواهیم یک مدل زبانی پیش بینی کلمات طراحی کنیم تا به صورت خودکار کلمه بعدی را با استفاده از کلمات قبلی پیش بینی کند. برای مثال برای پیش بینی این جمله ، این جمله لازم است به دو یا سه جمله قبل باز گردیم.
مثال: ابرها در آسمان و انتظار داریم مدل کلمه هستند را به صورت خودکار شناسایی کند که سیستم با شناسایی چند کلمه قبلی این امکان وجود دارد. در این مثال وابستگی کوتاه مدت وجود دارد .
اما مواردی وجود دارد که نیاز است برای پیش بینی به چند مرحله قبل باز گردیم. مثال :زمانی که یک زندگی نامه را می نویسیم و متن طولانی است و جمله دوم بعد از ا»دن مطالب زیادی نظیر کارها و خاطرات فرد باید پیش بینی شود . جمله دوم یعنی تعیین اینکه شما به چه زبانی مسلط هستید باید به خیلی قبل تر باز گردد تا پیش بینی صورت بگیرد .
جمله : من در ایران به دنیا امدم متن طولانی ...، به همین دلیل مسلط بر زبان فارسی هستم.
پس در این مثال خروجی بر اساس ورودی که خیلی قبل تر به سیستم وارد شده صوت می گیرد . به این اصطلاح Long term dependendencies گفته می شود .
پیاده سازی LSTM در پایتون
برای پیاده سازی LSTM در پایتون مراحل زیر را انجام دهید .
فیلمی از قابلیت دستیار گوگل برای هماهنگ کردن یک قرار
[1] artificial intelligence
[3] feedforward neural networks