خوارزمية الإنتشار العكسي Backpropagation هي خوارزمية تعلم خاضعة للإشراف تستخدم لتدريب الشبكات العصبية . حيث أنها تعتبر طريقة لحساب التدرج الإشتقاقي Gradient لدالة الفقد التي تأخذ بعين الإعتبار أوزان الشبكة ، مما يسمح بتحسين هذه الأوزان لتقليل الفقد.
تعمل خوارزمية الإنتشار العكسي عن طريق نشر الخطأ الناتج من طبقة الإخراج مرة أخرى عبر الشبكة. حيث يتم يتم توزيعة على كل طبقة ، وتحديث الأوزان لتقليل هذا الخطأ. تتكون الخوارزمية من مرحلتين: التمرير الأمامي والتمرير الخلفي.
التمرير الأمامي هي عملية حساب ناتج الشبكة عند إدخال أحد المدخلات. في هذه المرحلة ، يتم تمرير المدخلات عبر الشبكة ، ويتم حساب تنشيط كل عقدة في كل طبقة بناءً على الأوزان وعمليات تنشيط الطبقة السابقة. تتم مقارنة الناتج النهائي للشبكة بالمخرجات المستهدفة ، ويتم حساب الخطأ.
بينما التمرير الخلفي يعرف بأنه عملية حساب التتدرجات الإشتقاقية لدالة الفقد فيما يتعلق بأوزان الشبكة. حيث أنه في هذه المرحلة ، يتم حساب التدرجات عن طريق إعادة نشر الخطأ عبر الشبكة. لكل عقدة ، يتم حساب التدرج الإشتقاقي بالنسبة للأوزان باستخدام قاعدة سلسلة التمايز. ثم يتم استخدام التدرج الإشتقاقي لتحديث أوزان الشبكة لتقليل نسبة الخطأ.
يتم تكرار خوارزمية الإنتشار العكسي Backpropagation عدة مرات على بيانات التدريب ، مع الإشارة إلى كل تكرار على أنه دورة Epoch. حيث يتم تحديث الأوزان بعد كل دورة Epoch ، وتتكرر العملية حتى يتقارب الخطأ أو يتم الوصول إلى عدد محدد من الدورات Epochs.
خوارزمية الإنتشار العكسي Backpropagation تعتبر خوارزمية فعالة ومستخدمة على نطاق واسع لتدريب الشبكات العصبية ، وهي عنصر أساسي في التعلم العميق. ومع ذلك ، يمكن أن يكون لاختيار معدل التعلم learning rate ، تأثير على عملية التحسين التي يمكن أن تواجه مشاكل في إيجاد النقاط الحدية local minimum. و لمعالجة هذه المشكلات ، تم تطوير أنواع مختلفة من خوارزمية الإنتشار العكسي backpropagation مثل Momentum و Adagrad و Adadelta.