GRU (Gated Recurrent Unit)

آوریل 15, 2025 21 mins read

توضیح الگوریتم GRU (Gated Recurrent Unit) در هوش مصنوعی 

GRU یکی از انواع RNN است که به منظور بهبود و رفع مشکلات مدل‌های RNN سنتی مانند گم شدن گرادیان (Vanishing Gradient) و فراموشی اطلاعات بلندمدت طراحی شده است.

1. معرفی GRU

GRU به عنوان یک نسخه بهینه‌شده و ساده‌شده از LSTM (Long Short-Term Memory) معرفی شد. هدف اصلی از ایجاد GRU این بود که پیچیدگی‌های LSTM کاهش یابد و همچنان عملکرد خوبی در یادگیری روابط بلندمدت و دنباله‌ای در داده‌ها داشته باشد.

2. ساختار داخلی GRU

GRU شامل دو گیت اصلی است که باعث بهبود عملکرد آن نسبت به مدل‌های RNN سنتی می‌شود:

1. گیت فراموشی (Reset Gate)

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

2. گیت آپدیت (Update Gate)

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

3. عملکرد GRU

در هر گام زمانی، GRU با استفاده از این دو گیت تصمیم می‌گیرد که:

  • چه مقدار از وضعیت قبلی باید فراموش شود (گیت فراموشی).
  • چه مقدار از وضعیت قبلی باید به وضعیت جدید منتقل شود (گیت آپدیت).

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

فرمول‌های ریاضی GRU:

برای هر گام زمانی tt t ، وضعیت مخفی hth_t h t به این صورت محاسبه می‌شود:

output
 

  • گیت آپدیت:

    که در آن:

    • ztz_t z t : گیت آپدیت
    • σ\sigma σ : تابع سیگموید
    • WzW_z W z و UzU_z U z : وزن‌ها
    • xtx_t x t : ورودی در گام زمانی tt t
    • ht−1h_{t-1} h t 1 : وضعیت قبلی
  • گیت فراموشی:

    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 )

    که در آن:

    • rtr_t r t : گیت فراموشی
    • WrW_r W r و UrU_r U r : وزن‌ها
  • محاسبه وضعیت جدید:

    که در آن:

    • ht^\hat{h_t} h t ^ : وضعیت کاندید جدید (محتویات جدیدی که به وضعیت فعلی اضافه می‌شود)
    • ∘\circ : ضرب عنصر به عنصر
  • وضعیت مخفی نهایی:

    که در آن:

    • hth_t h t : وضعیت مخفی نهایی که ترکیبی از وضعیت قبلی و وضعیت جدید است.

4. مزایای GRU نسبت به LSTM

GRU نسبت به LSTM ساده‌تر است و عملکرد مشابهی در بسیاری از وظایف دارد. از مزایای آن می‌توان به موارد زیر اشاره کرد:

  • ساده‌تر بودن: GRU فقط از دو گیت استفاده می‌کند، در حالی که LSTM از سه گیت استفاده می‌کند. این سادگی باعث می‌شود که GRU نسبت به LSTM کارایی بیشتری در پردازش‌های سریع و بهینه داشته باشد.
  • میزان کمتر پارامترها: به دلیل ساده‌تر بودن ساختار، تعداد پارامترهای GRU نسبت به LSTM کمتر است.
  • عملکرد مشابه: در بسیاری از کاربردها، GRU عملکرد مشابه با LSTM دارد و حتی در برخی از آن‌ها بهتر عمل می‌کند.

5. مقایسه با RNN و LSTM

  • RNN ساده: در RNNهای ساده، فقط یک گیت برای انتقال اطلاعات از گام‌های قبلی به گام‌های فعلی وجود دارد. این می‌تواند باعث از دست رفتن اطلاعات در دنباله‌های طولانی شود.
  • LSTM: LSTM از سه گیت برای ذخیره و فراموش کردن اطلاعات استفاده می‌کند و می‌تواند یادگیری بلندمدت بهتری داشته باشد.
  • GRU: GRU با استفاده از دو گیت (گیت فراموشی و گیت آپدیت)، سادگی بیشتری نسبت به LSTM دارد ولی همچنان توانایی یادگیری روابط بلندمدت را به‌خوبی حفظ می‌کند.

6. کاربردهای GRU

GRU در بسیاری از کاربردها به خصوص در پردازش داده‌های دنباله‌ای مانند موارد زیر استفاده می‌شود:

  • پیش‌بینی سری‌های زمانی: مثل پیش‌بینی قیمت ارز دیجیتال یا پیش‌بینی‌های مالی.
  • پردازش زبان طبیعی (NLP): در کارهایی مثل ترجمه ماشینی، تولید متن و تحلیل احساسات.
  • تشخیص صدا و گفتار: در کاربردهایی مثل شناسایی کلمات و جملات در داده‌های صوتی.

نتیجه‌گیری:

GRU یک نوع بهینه‌شده از RNN است که با استفاده از دو گیت (گیت فراموشی و گیت آپدیت) توانایی حفظ اطلاعات بلندمدت را دارد و نسبت به LSTM ساده‌تر و سریع‌تر است. این ویژگی‌ها باعث می‌شود که GRU در بسیاری از کاربردهای یادگیری عمیق مانند پردازش زبان طبیعی و پیش‌بینی سری‌های زمانی بسیار مفید باشد.

Image NewsLetter
Icon primary
Newsletter

در خبرنامه آرتا رسانه عضو شوید

با آخرین اخبار و تخفیف های ما آگاه شوید