Ultralytics YOLO27: انضم إلى قائمة الانتظار.
ترخيص YOLO
العودة إلى مسرد Ultralytics

Backpropagation

يطبّق الانتشار العكسي قاعدة السلسلة عكسيًا عبر شبكة عصبية للحصول على تدرج كل وزن في مرور واحد. الرياضيات والتكلفة والشيفرة.

الانتشار العكسي، اختصارًا لعبارة «الانتشار الخلفي للأخطاء»، هو خوارزمية تحسب مدى مساهمة كل وزن في الشبكة العصبية في خطأ أحد التنبؤات. وانطلاقًا من دالة الخسارة، تطبّق الخوارزمية قاعدة السلسلة طبقةً تلو أخرى باتجاه المدخلات، وتعيد استخدام كل نتيجة وسيطة، بحيث تنتج جولة عكسية واحدة التدرج لكل وزن، سواء احتوى النموذج على آلاف المعلمات أو ملياراتها. ثم يستخدم المحسّن هذه التدرجات لتحديث الأوزان، ما يجعل الانتشار العكسي خطوة التعلّم في كل نماذج التعلّم العميق تقريبًا. وقد ذاع استخدامه في الشبكات العصبية على يد روميلهارت وهينتون وويليامز في بحثهم المنشور في مجلة Nature عام 1986 بعنوان تعلّم التمثيلات عبر الانتشار العكسي للأخطاء.

آلية عمل الانتشار العكسي#

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

بما أن كل طبقة لا تحتاج إلا إلى التدرج الوارد والتنشيطات المخزنة، فلا يُحسب أي مشتق مرتين. وبلغة التفاضل الآلي، فإن الانتشار العكسي هو تفاضل النمط العكسي في الرسم البياني الحسابي للشبكة، ويبني PyTorch هذا الرسم البياني أثناء التمرير الأمامي، ثم يجتازه عكسيًا عند استدعاء loss.backward(). وفي شبكة ذات وزنين، يمكن التحقق من نتيجة التفاضل التلقائي في PyTorch بمقارنتها بقاعدة السلسلة المكتوبة يدويًا:

import torch

# A two-weight network: prediction = w2 * tanh(w1 * x)
x, target = torch.tensor(1.5), torch.tensor(0.5)
w1 = torch.tensor(0.8, requires_grad=True)
w2 = torch.tensor(-1.2, requires_grad=True)

# Forward pass, keeping the hidden activation h for the backward pass
h = torch.tanh(w1 * x)
loss = (w2 * h - target) ** 2

# Backward pass: autograd applies the chain rule from the loss back to each weight
loss.backward()

# The same chain rule by hand, reusing the upstream gradient dL/dy for both weights
dL_dy = 2 * (w2 * h - target)
dL_dw2 = dL_dy * h
dL_dw1 = dL_dy * w2 * (1 - h**2) * x
print(f"autograd: dL/dw1 = {w1.grad:.4f}, dL/dw2 = {w2.grad:.4f}")
print(f"by hand:  dL/dw1 = {dL_dw1:.4f}, dL/dw2 = {dL_dw2:.4f}")

يطبع السطران dL/dw1 = 1.6475, dL/dw2 = -2.5016. وتحسب النسخة المكتوبة يدويًا dL_dy مرة واحدة وتعيد استخدامها للوزنين، وهو مبدأ إعادة الاستخدام نفسه الذي يتيح للتفاضل التلقائي التعامل مع شبكات تضم مليارات الأوزان. والانتشار العكسي عبر الزمن (BPTT) هو الخوارزمية نفسها مطبقةً على شبكة عصبية متكررة مفككة عبر خطواتها الزمنية.

الانتشار العكسي مقابل المحسّن#

لا يحسب الانتشار العكسي إلا التدرجات، ولا يغيّر أي أوزان. وتحول خوارزمية تحسين، مثل الانحدار المتدرج العشوائي (SGD) أو Adam، هذه التدرجات إلى تحديثات للأوزان، بعد تحجيمها وفق معدل التعلّم. ويضيف PyTorch نتيجة كل تمرير عكسي إلى التدرجات المخزنة بالفعل للأوزان، لذا يمكن لخطوة واحدة للمحسّن أن تجمع عدة دفعات:

يستخدم تدريب Ultralytics YOLO هذا الأسلوب، أي تراكم التدرجات، للوصول إلى حجم دفعة اسمي يبلغ 64 صورة (nbs=64): بعد الإحماء، تنفّذ عملية التشغيل batch=16 الانتشار العكسي لكل دفعة، لكنها تنفّذ خطوة بالمحسّن عند كل دفعة رابعة، بعد قصّ التدرج المجمّع بحيث لا يتجاوز معياره 10.

تلاشي التدرجات وانفجارها#

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

تكلفة الحوسبة والذاكرة#

يجب أن يبقى كل تنشيط يحتاج إليه مشتق محلي في الذاكرة من مرحلة الانتشار الأمامي حتى تصل إليه مرحلة الانتشار العكسي، لذا تزداد ذاكرة التدريب مع حجم الدفعة ودقة الإدخال والعمق، ويتطلب التدريب ذاكرة أكبر بكثير من الاستدلال. يخزّن نقاط التحقق للتدرج بعض التنشيطات فقط ويعيد حساب الباقي أثناء الانتشار العكسي، ما يوازن بين زيادة الحوسبة وخفض استهلاك الذاكرة، بينما يحتفظ الاستدلال بدقة مختلطة بمعظم التنشيطات بتنسيقات 16 بت تشغل نصف مساحة الأعداد العشرية ذات 32 بت. ومن ناحية الحوسبة، تكلف مرحلة الانتشار العكسي نحو ضعف مرحلة الانتشار الأمامي، لأن كل طبقة تحسب التدرجات لأوزانها ومدخلاتها معًا؛ ولهذا تحتسب تقديرات قوانين القياس نحو 6 عمليات فاصلة عائمة لكل معلمة في كل رمز تدريبي: 2 في الانتشار الأمامي و4 في الانتشار العكسي.

استكشف الحلول

الرؤية الحاسوبية في الرياضة

الرؤية الحاسوبية في الرياضة

اكتشف كيف يعزّز Ultralytics YOLO الرؤية الحاسوبية الرياضية عبر تتبّع اللاعبين والكرة، وتحليلات الأداء، ورؤى التدريب، وإعادة تأهيل الرياضيين.
معرفة المزيد
الرؤية الحاسوبية للصور الجوية

الرؤية الحاسوبية للصور الجوية

حوّل صور الطائرات المسيّرة والصور الجوية إلى رؤى آنية للزراعة وتربية الأحياء المائية والحفاظ على البيئة والتحليل الجغرافي المكاني باستخدام Ultralytics YOLO.
معرفة المزيد
الرؤية الحاسوبية في قطاع الطيران والفضاء

الرؤية الحاسوبية في قطاع الطيران والفضاء

طبّق الرؤية الحاسوبية في مجال الطيران والفضاء باستخدام Ultralytics YOLO لفحص الطائرات، واكتشاف الأجسام الغريبة على المدارج (FOD)، والعمليات الأرضية في المطارات، واكتشاف عيوب المواد المركّبة.
معرفة المزيد
الرؤية الحاسوبية في مجال الأمن

الرؤية الحاسوبية في مجال الأمن

احمِ كل موقع باستخدام نماذج Ultralytics YOLO. يدعم الذكاء الاصطناعي البصري مراقبة المحيط، واكتشاف التهديدات، والتعرف على لوحات المركبات، والسلامة في مكان العمل.
معرفة المزيد
الرؤية الحاسوبية في الروبوتات

الرؤية الحاسوبية في الروبوتات

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

الرؤية الحاسوبية في الخدمات اللوجستية

بسّط العمليات اللوجستية باستخدام نماذج Ultralytics YOLO. يتيح الذكاء الاصطناعي البصري فحص الطرود وفرزها وتتبع المركبات ومراقبة سلامة المستودعات في الوقت الفعلي.
معرفة المزيد
الرؤية الحاسوبية في تجارة التجزئة

الرؤية الحاسوبية في تجارة التجزئة

أعِد تصور تجارة التجزئة باستخدام نماذج Ultralytics YOLO. يتيح الذكاء الاصطناعي البصري تتبع المخزون ومراقبة الرفوف وإدارة الطوابير واستخلاص رؤى أذكى عن العملاء.
معرفة المزيد
الرؤية الحاسوبية في الرعاية الصحية

الرؤية الحاسوبية في الرعاية الصحية

أنشئ حلولًا للرعاية الصحية باستخدام نماذج Ultralytics YOLO. يعزز الذكاء الاصطناعي البصري في الرعاية الصحية سرعة التصوير الطبي، وكفاءة التشخيص، ومراقبة المرضى.
معرفة المزيد
الرؤية الحاسوبية في التصنيع

الرؤية الحاسوبية في التصنيع

حسّن التصنيع باستخدام نماذج Ultralytics YOLO. يعزز الذكاء الاصطناعي للرؤية مراقبة الجودة واكتشاف العيوب والالتزام بمعدات الوقاية الشخصية وأتمتة خطوط التجميع.
معرفة المزيد
الرؤية الحاسوبية في قطاع السيارات

الرؤية الحاسوبية في قطاع السيارات

طبّق الرؤية الحاسوبية في قطاع السيارات باستخدام نماذج Ultralytics YOLO. يعزز الذكاء الاصطناعي للرؤية سلامة الطرق ومساعدة السائق وأتمتة المركبات لإنشاء طرق أكثر ذكاءً.
معرفة المزيد
الرؤية الحاسوبية في الزراعة

الرؤية الحاسوبية في الزراعة

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

لنبنِ مستقبل الذكاء الاصطناعي معًا!

ابدأ رحلتك نحو مستقبل تعلّم الآلة