freeCodeCamp/guide/arabic/machine-learning/backpropagation/index.md

3.4 KiB

title localeTitle
Backpropagation العكسي

العكسي

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

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

حساب

يمكن تفسير عملية backpropagation في ثلاث خطوات.

وبالنظر إلى ما يلي

  • أمثلة تدريب m (x، y) على شبكة عصبية من الطبقات L
  • g = وظيفة السيني
  • ثيتا (ط) = مصفوفة الانتقال من إيث إلى طبقة i + 1th
  • a (l) = g (z (l))؛ صفيف من قيم العقد في الطبقة l استناداً إلى مثال تدريب واحد
  • z (l) = Theta (l-1) a (l-1)
  • دلتا مجموعة من L matricies تمثل التحولات بين طبقة i و i + 1th
  • d (l) = مصفوفة التدرجات للطبقة l من أجل مثال تدريب واحد
  • D مجموعة من matricies L مع التدرجات النهائية لكل عقدة
  • lambda مصطلح regualrization للشبكة

في هذه الحالة ، بالنسبة للمصفوفة M ، سوف تشير M إلى تحويل المصفوفة M

  1. تعيين كافة إدخالات Delta (i) ، لـ i من 1 إلى L ، صفر.
  2. لكل مثال تدريب t من 1 إلى m ، قم بإجراء ما يلي:
  • إجراء الانتشار إلى الأمام على كل مثال لحساب (l) و z (l) لكل طبقة
  • الحوسبة d (L) = a (L) - y (t)
  • compute d (l) = (Theta (l) '• d (l + 1)) • g (z (l)) لـ l من L-1 إلى 1
  • زيادة دلتا (l) بواسطة دلتا (l + 1) • a (l) '
  1. سد Matrichies دلتا في matricies المشتقة الجزئية لدينا D (l) = 1 \ m (Delta (l) + lambda • Theta (l))؛ إذا ل ل ≠ 0 D (l) = 1 \ m • Delta (l)؛ إذا ل = 0

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

معلومات اكثر: