مدونتنا

Blog Thumbnail
تعلم الآلة

الشبكة العصبية التكرارية:محاكاة لدماغ الإنسان|SHAI

تشبه الشبكة العصبية التكرارية في تصميمها الشبكة العصبية عند الإنسان، وتعد من أهم الخوارزميات في التعلم العميق وتعليم الآلة، تعرف عليها في هذا المقال.

3/4/2025 - 9 دقائق

الشبكة العصبية التكرارية (RNN): دليلك الشامل, مفهومها, هكلها وتطبيقاتها  

تعتبر الشبكة العصبية التكرارية أحد تطبيقات الذكاء الاصطناعي والتعلم العميق المستخدم لتحسين أداء الآلات إذ يتم تطويرها بطريقة فريدة تحاكي عمل الجهاز العصبي للإنسان، ولكن ما هي وكيف تعمل، وهذا ما سنتناوله في هذا المقال.


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


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



مفهوم الشبكة العصبية التكرارية(RNN)


هي نوع من الشبكات العصبية الاصطناعية, والتي صممت خصيصا للتعرف على الأنماط في مجموعات البيانات المتتالية أو المتسلسلة ( وهي بيانات تحمل معلومات تتغير عبر الزمان أو المكان) . يمكن استخدام هذا النوع من الشبكات في مهام متنوعة مثل التعرف على الكلام, والترجمة الآلية, والتعرف على الصور, وتحليل اللغة، والتشخيص الطبي, والتنبؤ بالأحداث, وغيرها من التطبيقات الذكية.


لفهم الشبكات التكرارية, أولا يجب أن نفهم أساسيات الشبكة العصبية ذات تغذية أمامية.

تتكون الشبكات العصبية بشكل عام من عقد شبكية وهي الوحدة الأساسية لعمل الشبكة، حيث تستقبل هذه العقد البيانات (المدخلات) ثم معالجتها وإجراء عمليات حسابية محددة عليها ثم إخراج نتيجة, وتتصل هذه العقد مع بعضها لتشكيل الشبكة. [1]


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


بينما في الشبكة العصبية التكرارية, تدور البيانات داخل الشبكة بشكل دائري أي أنها تأخذ مدخلات وتمرر البيانات إلى العقد السابقة. وبالتالي تتميز الشبكة العصبية التكرارية بالذاكرة حيث تستخدم البيانات من المدخلات السابقة للتأثير على مدخلات والمخرجات الحالية. 


هيكلة الشبكة العصبية التكرارية


تمر البيانات في الشبكة العصبية المتكررة بعدة خطوات حتى نحصل على مخرجات ذات معنى, ولفهم كيف تعمل لابد من معرفة بعض المصطلحات المتعلقة بها: [2]


 1. الدورة الزمنية (Time Step):  تعالج الشبكة العصبية المتكررة البيانات بشكل تسلسلي أي خطوة بخطوة, كل خطوة تعتبر دورة زمنية تمثل وحدة زمنية معينة.


2. المدخلات (Inputs):  في كل دورة زمنية, تستلم RNN إشارة مدخلة (input) من البيانات التسلسلية, يمكن أن تكون هذه الإشارة مثلا كلمة في جملة إذا كنا نعمل على تحليل نص.


3. الحالة الداخلية (Hidden State): تعرف أيضا بالذاكرة المخفية, وتحتوي هذه الحالة على ملخص للمعلومات من الدورات الزمنية السابقة.


4. المعالجة (Processing): يتم معالجة الإشارة المدخلة والحالة الداخلية السابقة معا لإنتاج مخرج (output) وحالة داخلية جديدة.


5. التغذية الراجعة (Feedback): بعد إنتاج المخرج في كل دورة زمنية, يتم استخدام هذا المخرج كمدخل للدورة الزمنية التالية, هذا يسمح للشبكة بتعلم العلاقات الزمنية والاعتماد على المعرفة السابقة.


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


رابعا, يتم معالجة الإشارة المدخلة والحالة الداخلية السابقة معا لإنتاج مخرج وحالة داخلية جديدة. وأخيرا, بعد إنتاج المخرج في كل دورة زمنية يتم استخدام هذا المخرج كمدخل للدورة الزمنية التالية.


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


كيف تصمم الشبكة العصبية التكرارية؟

يتم تصميم الشبكة التكرارية بطرق مختلفة تلبية لتحديات واستخدامات مختلفة ومن الأمثلة على هذه التصاميم:[3]

1.ذاكرة قصيرة وطويلة الأجل (LSTM): هي نوع من الشبكات العصبية تم تصميمها لحل مشكلة تلاشي المعلومات في الشبكات العصبية التقليدية, و تتميز بوجود ذاكرة داخلية تستطيع تخزين البيانات والتفاعل معها عبر فترات زمنية طويلة دون فقدانها, هذا يجعلها مناسبة لمهام تتطلب فهم العلاقات بين البيانات على المدى الزمني الطويل, مما يجعلها مفيدة في تطبيقات مثل تعلم اللغة الطبيعية وتتبع السلاسل الزمنية مثل الأفلام والصوتيات.

2.وحدة التحكم ذات البوابات المتعددة (GRU): هي نوع آخر من الشبكات العصبية المستخدمة في معالجة البيانات السلسلية مثل النصوص أو الصوت, و تشبه وحدات GRU وحدات LSTM في القدرة على التعامل مع مشكلة تلاشي المعلومات في الشبكات العصبية التكرارية, ولكنها تتميز ببنية مبسطة أقل تعقيدا و تحتوي على عدد أقل من البوابات. وتعتبر وحدات GRU أقل تكلفة حسابيا من وحدات LSTM, مما يعني أنها تتطلب وقتا أقل للتدريب والتشغيل. ومع ذلك, فإنها لا تفقد الأداء, بل على العكس, تظهر أداء جيدا في مجموعة متنوعة من المهام المتعلقة بنمذجة التسلسلات, مثل ترجمة الآلة واعتراف الكلام.


 3.الشبكات العصبية التكرارية ذات الاتجاهين (Bidirectional RNNs): في الشبكات العصبية التكرارية التقليدية يتم تدفق المعلومات من الماضي إلى المستقبل, بينما تقوم الشبكات العصبية التكرارية ذات الاتجاهين بمعالجة البيانات في كلا الاتجاهين, من الماضي إلى المستقبل ومن المستقبل إلى الماضي في نفس الوقت. وهذا يسمح لها بالتقاط السياق من كلا الجانبين للتسلسل, وهذا يكون مفيدا جدا في مهام تتطلب فهم السياق بشكل شامل. على سبيل المثال, في مهمة اعتراف الكلام, يمكن للشبكة العصبية التكرارية ذات الاتجاهين استخدام المعلومات من الأجزاء السابقة واللاحقة من النص لزيادة دقتها في التعرف على الكلمات المنطوقة. كما يمكن استخدامها أيضا في مهام تحليل المشاعر لاستخلاص العواطف من النصوص بشكل أفضل من الشبكات التقليدية.


تطبيقات على الشبكة العصبية التكرارية

من تطبيقات الشبكة العصبية التكرارية: [4]

  • مشكلات التنبؤ: مثل التنبؤ بالطقس وحركة الأسواق المالية.


  • معالجة اللغة الطبيعية (NLP): يمكن استخدامها في ترجمة اللغة, واستخراج المعلومات من النصوص, وتوليد النصوص, وأكثر من ذلك مثل Google Translate, Siri , Voice Search.


  • اكتشاف الوجوه وتطبيقات التعرف على النصوص في الصور.


  • تطبيقات أخرى مثل تأليف الموسيقى.


التحديات التي تعيق تطورها

صحيح أن الشبكات العصبية التكرارية توفر العديد من الفوائد الكبيرة في معالجة البيانات الزمنية والسلاسل, مثل النصوص والصوتيات, ولكن لديها أيضا تحديات تحتاج إلى التغلب عليها مثل: [5]

  • مشكلة اختفاء التدريجات (Vanishing Gradients): هي مشكلة تحدث عندما تصبح قيم التدريجات (gradients) في عملية تدريب الشبكات العصبية التكرارية صغيرة جدا بمرور الوقت, والمقصود بالتدريجات (هي إشارة إلى كمية واتجاه التغيير الذي يجب أن يجرى على معاملات الشبكة للحصول على أفضل أداء ممكن). هذا يعني أنه عندما تنتقل البيانات عبر الزمن في الشبكة, قد تصبح التدريجات المنتجة خلال هذا التحرك صغيرة لدرجة أنها لا تؤدي إلى تغيير ملحوظ في معاملات الشبكة. هذا يؤدي إلى مشكلة خاصة عندما تكون الشبكة عميقة (تحتوي على العديد من الطبقات) وتستخدم في معالجة البيانات الزمنية الطويلة. في هذه الحالة, قد تكون التدريجات في الطبقات السفلية من الشبكة مستمرة في الانخفاض بشكل كبير, مما يجعلها تعجز عن تعلم العلاقات البعيدة بين البيانات في السلاسل الزمنية.

هذا الأمر يجعل التدريب صعبا للغاية وقد يؤدي إلى تدهور أداء الشبكة. لحل هذه المشكلة, تم تطوير تقنيات مثل LSTM وGRU, والتي تساعد في الحفاظ على تدريجات مستقرة خلال التدريب, مما يجعلها قادرة على تعلم العلاقات في السلاسل الزمنية بشكل فعال.


  • مشكلة الانفجار العظيم (Exploding Gradients): هي مشكلة تحدث عندما تزيد قيم التدريجات (gradients) بشكل كبير جدا أثناء عملية تدريب الشبكات العصبية. هذا يعني أن التغييرات التي يجب أن تتم على معاملات الشبكة تكون مفرطة وتزيد عن الحد الذي يمكن للنموذج تحمله. نتيجة لذلك, يمكن أن تؤدي هذه الزيادة المفرطة في قيم التدريجات إلى تقلبات كبيرة وغير مستقرة في عملية التدريب, وهذا يجعل من الصعب تحقيق تقدم ملموس أثناء التدريب, وقد يؤدي إلى تدهور أداء الشبكة أو حتى فشل عملية التدريب بشكل كامل.



الخاتمة 

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

 

المصادر 

  1. Recurrent neural network - Wikipedia
  2. Introduction to Recurrent Neural Network - GeeksforGeeks
  3. https://deeplearningofpython.blogspot.com/2023/05/TypesofRNn-deeplearning-keras-architectures.html
  4. Recurrent Neural Network: Working, Applications, Challenges | by Ambika | 𝐀𝐈 𝐦𝐨𝐧𝐤𝐬.𝐢𝐨 | Medium
  5. Recurrent Neural Networks | RNN Complete Overview 2023.


لايوجد تعليقات بعد!

سجل الدخول ﻹضافة تعليق

العلامات
الشبكات العصبية