در دروس قبلیِ دورهی جاری با شبکههای عصبی بازگشتی (RNN) ساده و LSTMها آشنا شدیم. شبکههای RNN ساده، مشکل محوشدگی گرادیان را داشتند و شبکههای LSTM نیز با این مشکل محوشدگی گرادیان را برطرف میکردند، ولی از لحاظ محاسبات سنگین و پیچیده بودند. شبکههای عصبی واحد بازگشتیِ دروازهدار یا همان Gated Recurrent Unit که به اختصار GRU گفته میشود، مشکل محوشدگی گرادیان را ندارند و از لحاظ محاسبات نیز ساده و سبک هستند.
در GRU مانند LSTM فقط محتوای داخلی بلوکهای RNN تغییر میکند. در واقع GRU یک نوع شبکهی بازگشتی است که بلوکها (Units) در آن به شکل زیر تغییر کرده است:
همانطور که از شکل بالا مشخص است، در شبکههای GRU هر بلوک، مانند RNN ساده، دو ورودی x و h را دریافت کرده و محاسبات را بر اساس این دو خروجی انجام میدهد.
برای درکِ بهتر میتوان شبکههای GRU را به دو بخش تفکیک کرد. بخش اول که به آن «دورازهی آپدیت (update gate)» میگویند به صورت زیر است:
وظیفهی «دورازهی آپدیت (update gate)» مدیریت اطلاعات گذشته است و اینکه چه مقدار از این اطلاعات در توالیهای قبلی برای ارسال به توالیِ بعدی مفید هستند.
بخش دوم از شبکههای GRU «دروازهی ریست (reset gate)» نام دارد که به صورت شکل زیر است:
«دروازهی ریست (reset gate)» مشخص میکند که چقدر از اطلاعات گذشته میتواند به فراموشی سپرده شود.
مانند RNN و LSTM، شبکههای GRU نیز از وزنهایی که به صورت شبکههای عصبی کوچک درونی در بلوک تعریف شدهاند برای یادگیری و آپدیت وزنها استفاده میکند. همچنین همانند شبکههای بازگشتی، «وضعیت پنهان (h)» یک بردار است که تعداد آن توسط کاربر تعیین میشود.
در تصویر متحرک زیر نحوهی کاربرد شبکههای GRU نمایش داده شده است:
همانطور که گفته شد این شبکهها از لحاظ محاسبات نسبت به شبکههای LSTM سادهتر و سبکتر هستند. همچنین مشکل محوشدگی گرادیان را ندارند و میتوان در توالیهای بلند نیز از این شبکهها بهره جست.
- ۱ » یادگیری عمیق (Deep Learning) چیست؟
- ۲ » تفاوت یادگیری عمیق (Deep Learning) با یادگیری ماشین کلاسیک
- ۳ » تفاوت شبکههای عصبی (Neural Networks) با یادگیری عمیق (Deep Learning) چیست؟
- ۴ » مشکل محوشدگی گرادیان (Gradient Vanishing) در شبکههای عصبی عمیق
- ۵ » مشکل انفجار گرادیان (Exploding Gradients) در شبکههای عصبی عمیق
- ۶ » توابع فعالسازی (Activation Functions) در شبکههای عصبی عمیق
- ۷ » شبکه عصبی پیچشی (Convolutional Neural Network) در یادگیری عمیق
- ۸ » شبکه عصبی بازگشتی (Recurrent Neural Network)
- ۹ » انواع شبکههای عصبی بازگشتی (RNN) و کاربرد آنها
- ۱۰ » شبکه عصبی بازگشتی با حافظهی طولانی کوتاه مدت (LSTM)
- ۱۱ » شبکه عصبی واحد بازگشتی دروازهدار (GRU)
- ۱۲ » شبکههای عصبی عمیق توالی به توالی (Seq2Seq)