ماهي الشبكات العصبونية المتكررة؟


الشبكات العصبونية المتكررة Recurrent Neural Network هي نوع خاص من الشبكات العصبية الاصطناعية التي تتكيف مع بيانات السلاسل الزمنية أو البيانات التي تتضمن تسلسلات حيث يتم تغذية الاخراج من الخطوة السابقة كمدخل إلى الخطوة الحالية.

في الشبكات العصبية التقليدية تكون جميع المدخلات والمخرجات مستقلة عن بعضها البعض ولكن في حالات مثل عندما يكون مطلوباً التنبؤ بالكلمة التالية من الجملة تكون الكلمات السابقة مهمة وبالتالي هناك حاجة لتذكر الكلمات السابقة.

وهكذا ظهرت شبكات RNN والتي حلت هذه المشكلة بمساعدة الطبقات المخفية. تمتلك RNNs مفهوم الذاكرة الذي يساعد على تخزين حالات أو معلومات المدخلات السابقة لتوليد المخرجات التالية من التسلسل وهذا يجعلها قابلة للتطبيق على مهام مثل التعرف على خط اليد غير المقسم و المتصل أو التعرف على الكلام.


مشاكل نواجهها الـ RNNs:

  1. تلاشي التدرجات
  1. انفجار التدرجات

أحد أسباب استخدام الـ RNNs هو ميزة تذكر المعلومات السابقة. ومع ذلك، قد تفشل RNN بسيطة في حفظ المعلومات لفترة طويلة دون بعض الحيل.

مثال لمشكلة التدرجات المتلاشية:

تمثل المدخلات رموزًا من برنامج بلغة C. سيحدد النظام ما إذا كان برنامجًا صحيحًا نحويًا أم لا. يجب أن يحتوي البرنامج الصحيح نحويًا على عدد صالح من الأقواس. و بالتالي، يجب أن تتذكر الشبكة عدد الأقواس والأقواس المفتوحة التي يجب التحقق منها، و ما إذا كنا قد أغلقناها جميعًها. يجب أيضا على الشبكة تخزين هذه المعلومات في حالات مخفية مثل العداد. ومع ذلك، و بسبب التدرجات المتلاشية، فإنها ستفشل في الحفاظ على هذه المعلومات في برنامج لمدة طويلة.