0Pricing
Python Academy · درس

خوارزمية الانتشار العكسي

مفاهيم التعلم والتحسين

خوارزمية الانتشار العكسي درس مجاني في Python Academy على CoddyKit. هذا هو الدرس 4 من أصل 5. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Python Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Python Academy 5 دروس في المجموع.

ما الانتشار العكسي؟

خوارزمية الانتشار العكسي

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

خوارزمية الانتشار العكسي — رسم توضيحي 1

الخطوات الأساسية في الانتشار العكسي

الخطوات الأساسية في الانتشار العكسي

تتضمن عملية الانتشار العكسي ما يلي:

  1. التمرير الأمامي: حساب الناتج والخسارة.
  2. التمرير الخلفي: حساب تدرج دالة الخسارة بالنسبة إلى الأوزان والانحيازات.
  3. تحديث الأوزان: ضبط الأوزان باستخدام خوارزمية تحسين مثل الانحدار المتدرج.

دالة الخسارة

دالة الخسارة

تقيس دالة الخسارة الفرق بين القيم المتوقعة والقيم الفعلية. وتشمل دوال الخسارة الشائعة ما يلي:

  • متوسط مربع الخطأ (MSE): لمهام الانحدار.
  • خسارة الانتروبيا المتقاطعة: لمهام التصنيف.

الانحدار المتدرج

الانحدار المتدرج

الانحدار المتدرج خوارزمية تحسين تُستخدم لتقليل دالة الخسارة. فهي تحدّث الأوزان والانحيازات عبر اتخاذ خطوات صغيرة في اتجاه التدرج السالب.

قاعدة التحديث:

Weight = Weight - Learning_Rate * Gradient

قاعدة السلسلة في الانتشار العكسي

قاعدة السلسلة في الانتشار العكسي

تُستخدم قاعدة السلسلة لحساب تدرج دالة الخسارة لكل طبقة. وتتيح نشر الخطأ إلى الخلف عبر الشبكة.

على سبيل المثال، يكون تدرج الخسارة بالنسبة إلى وزن ما كما يلي:

∂L/∂W = ∂L/∂O * ∂O/∂Z * ∂Z/∂W

مثال على الانتشار العكسي

مثال على الانتشار العكسي

لنفترض وجود شبكة عصبية بسيطة تتكون من طبقة إدخال واحدة وطبقة مخفية واحدة وطبقة إخراج واحدة:

باستخدام التمريرين الأمامي والخلفي، نضبط الأوزان لتقليل الخطأ عبر عصور تدريبية متعددة.

import numpy as np

# Example: Simple backpropagation setup
weights = np.array([0.5, -0.5])
inputs = np.array([2, 3])
target = 1
learning_rate = 0.01

# Forward pass
output = np.dot(inputs, weights)
loss = (target - output) ** 2

# Backward pass
error = 2 * (output - target)
gradients = error * inputs

# Weight update
weights -= learning_rate * gradients
print("Updated Weights:", weights)

تحديات الانتشار العكسي

تحديات الانتشار العكسي

تشمل المشكلات الشائعة ما يلي:

  • تلاشي التدرجات: تصبح التدرجات صغيرة جدًا، مما يبطئ التعلّم.
  • انفجار التدرجات: تصبح التدرجات كبيرة جدًا، مما يسبب عدم الاستقرار.
  • النقاط الدنيا المحلية: قد تعلق الخوارزمية في حلول غير مثالية.

تحسينات الانتشار العكسي

تحسينات الانتشار العكسي

لمعالجة هذه التحديات، تشمل التقنيات الحديثة ما يلي:

  • دوال التنشيط: تساعد ReLU على الحد من تلاشي التدرجات.
  • خوارزميات التحسين: تحسّن خوارزميات مثل Adam وRMSProp التقارب.
  • التنظيم: يمنع فرط التكيّف من خلال معاقبة الأوزان الكبيرة.

الملخص والخطوات التالية

الملخص والخطوات التالية

في هذا الدرس، قمنا بما يلي:

  • استكشفنا خوارزمية الانتشار العكسي ودورها في تدريب الشبكات العصبية.
  • تعلّمنا الانحدار المتدرج وقاعدة السلسلة.
  • ناقشنا تحديات الانتشار العكسي والتحسينات الحديثة عليه.

بعد ذلك، سننفّذ أول شبكة عصبية لنا باستخدام TensorFlow لنرى الانتشار العكسي أثناء عمله.

خوارزمية الانتشار العكسي — رسم توضيحي 10

الأسئلة الشائعة

هل درس «خوارزمية الانتشار العكسي» مجاني؟

نعم — نص درس «خوارزمية الانتشار العكسي» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Python Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Python Academy 5 دروس في المجموع.

ماذا ستتعلم في «خوارزمية الانتشار العكسي»؟

مفاهيم التعلم والتحسين تتمرن على Python Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Python Academy؟

لا تُشترط خبرة سابقة. Python Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 5.

كم من الوقت يستغرق درس «خوارزمية الانتشار العكسي»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Python Academy هذا؟

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

جميع الدروس في هذه الدورة

  1. مقدمة إلى الشبكات العصبية
  2. دوال التفعيل
  3. الشبكات العصبية أمامية التغذية
  4. خوارزمية الانتشار العكسي
  5. أول شبكة عصبية باستخدام TensorFlow
← العودة إلى Python Academy