توضیح الگوریتم GRU (Gated Recurrent Unit) در هوش مصنوعی
GRU یکی از انواع RNN است که به منظور بهبود و رفع مشکلات مدلهای RNN سنتی مانند گم شدن گرادیان (Vanishing Gradient) و فراموشی اطلاعات بلندمدت طراحی شده است.
GRU به عنوان یک نسخه بهینهشده و سادهشده از LSTM (Long Short-Term Memory) معرفی شد. هدف اصلی از ایجاد GRU این بود که پیچیدگیهای LSTM کاهش یابد و همچنان عملکرد خوبی در یادگیری روابط بلندمدت و دنبالهای در دادهها داشته باشد.
GRU شامل دو گیت اصلی است که باعث بهبود عملکرد آن نسبت به مدلهای RNN سنتی میشود:
گیت فراموشی به مدل کمک میکند که مشخص کند چه مقدار از وضعیت قبلی باید فراموش شود و چه مقدار باید در وضعیت فعلی لحاظ شود. در واقع، این گیت تصمیم میگیرد که اطلاعاتی که به مدل وارد میشود چقدر باید از وضعیت قبلی تاثیر بگیرد.
گیت آپدیت مسئول این است که چه مقدار از وضعیت قبلی باید در وضعیت فعلی حفظ شود. در واقع، این گیت برای یادگیری روابط بلندمدت در دادهها استفاده میشود و مقدار اطلاعات قبلی را با ورودی جدید ترکیب میکند.
در هر گام زمانی، GRU با استفاده از این دو گیت تصمیم میگیرد که:
به طور خلاصه، گیت فراموشی و آپدیت به مدل کمک میکنند تا اطلاعات مهم را از دنبالههای زمانی طولانیتر بهخوبی حفظ کند و از فراموشی اطلاعات جلوگیری کند.
برای هر گام زمانی tt t ، وضعیت مخفی hth_t h t به این صورت محاسبه میشود:
گیت آپدیت:
که در آن:
گیت فراموشی:
rt=σ(Wrxt+Urht−1)r_t = \sigma(W_r x_t + U_r h_{t-1}) r t = σ ( W r x t + U r h t − 1 )
که در آن:
محاسبه وضعیت جدید:
که در آن:
وضعیت مخفی نهایی:
که در آن:
GRU نسبت به LSTM سادهتر است و عملکرد مشابهی در بسیاری از وظایف دارد. از مزایای آن میتوان به موارد زیر اشاره کرد:
GRU در بسیاری از کاربردها به خصوص در پردازش دادههای دنبالهای مانند موارد زیر استفاده میشود:
GRU یک نوع بهینهشده از RNN است که با استفاده از دو گیت (گیت فراموشی و گیت آپدیت) توانایی حفظ اطلاعات بلندمدت را دارد و نسبت به LSTM سادهتر و سریعتر است. این ویژگیها باعث میشود که GRU در بسیاری از کاربردهای یادگیری عمیق مانند پردازش زبان طبیعی و پیشبینی سریهای زمانی بسیار مفید باشد.