lstm1

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

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

این شبکه دارای اجزای مختلفی است که عبارت‌اند از:

  • بلوک ورودی: رابطه اعمال‌‌شده در این بلوک به‌صورت زیر است.

در رابطه بالا x_{t} ، y_{t-1}،  b_{z} و  g ورودی در لحظه t، خروجی در لحظه t-1، بایاس و تابع فعالساز هستند. ابعاد وزنها در این بلوک دلخواه است.

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

در رابطه بالا    x_{t},  y_{t-1},b_{z} و σ به ترتیب ورودی در لحظه t،  خروجی در لحظه t-1، بایاس، سلول حافظه در t-1 و تابع فعالساز هستند. پارامتری که به‌وسیله آن بر روی مقدار خواندن سلول حافظه کنترل داریم p_{i} است.

  • سلول حافظه: همان‌گونه که در شکل مشخص است این سلول دارای یک فیدبک به خودش است. رابطه این سلول به‌صورت زیر است.

در رابطه بالا i_{t} ، z_{t}،  c_{t-1}  ، f_{t} خروجی گیت ورودی در لحظه t، خروجی بلوک ورودی در لحظه t، سلول حافظه در t-1 و خروجی گیت پاک‌کننده هستند. تمام نوآوری LSTM مربوط به این سلول است. برای کنترل کردن مقدار خواندن، نوشتن و پاک کردن این سلول 3 گیت قرار داده شده‌است.

  • گیت پاک‌کننده: رابطه اعمال‌شده در این گیت به‌صورت زیر است.

در رابطه بالا    x_{t},  y_{t-1},b_{f} و σ  ورودی در لحظه t، خروجی در لحظه t-1، بایاس، سلول حافظه در t-1 و تابع فعال‌سازی هستند. پارامتری که به‌وسیله آن بر روی مقدار پاک‌شدن سلول حافظه کنترل داریم p_f است.

  • بلوک خروجی: رابطه اعمال‌شده در این بلوک به‌صورت زیر است.

در رابطه بالا c_{t},o_{t} خروجی گیت خروجی و مقدار سلول حافظه در لحظه t است. در شبکه‌های عصبی بازگشتی خروجی تابعی از حالت بود ولی در LSTM خروجی تابعی از مقدار سلول حافظه است.

  • گیت خروجی: رابطه اعمال‌شده در این بلوک به‌صورت زیر است.

در رابطه بالا c_{t-1},b_{f},y_{t-1},x_{t} و σ ورودی در لحظه خروجی در لحظه t-1، بایاس، سلول حافظه در t و تابع فعالساز هستند. پارامتری که به‌وسیله آن بر روی مقدار خواندن سلول حافظه کنترل داریم p_{0}  است.

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

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

پست را به اشتراک بگذارید

در facebook به اشتراک بگذارید
در linkedin به اشتراک بگذارید
در twitter به اشتراک بگذارید
در email به اشتراک بگذارید

پست های مرتبط

ماشین بردار پشتیبان (SVM)

در اﯾﻦ اﻟﮕﻮرﯾﺘﻢ دسته‌بندی، دو ابرﺻﻔﺤﻪ در ﻣﺮز دو ﮐﻼس داده‌ها ﻗﺮار ﮔﺮﻓﺘﻪ می‌شود و ﻣﺴﺌﻠﻪ، ﯾﺎﻓﺘﻦ ﻣﺮز ﺣﺪاﮐﺜﺮي ﺑﯿﻦ اﯾﻦ دو ابرﺻﻔﺤﻪ و درنتیجه

شبکه‌های عصبی بازگشتی

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

جنگل تصادفی

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

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