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

Recurrent Neural Network (RNN)

تعالج الشبكة العصبية المتكررة (RNN) التسلسل خطوةً تلو الأخرى، مع تمرير حالة مخفية إلى الأمام. وتغطي التكرار والتدريب والمتغيرات، مع أمثلة برمجية.

الشبكة العصبية المتكررة (RNN) هي شبكة عصبية تعالج التسلسل عنصرًا تلو الآخر، مع تمرير حالة خفية من كل خطوة إلى التالية، بحيث يمكن أن يعتمد خرجها في أي خطوة على كل ما قرأته حتى تلك اللحظة. تُطبّق الأوزان نفسها في كل خطوة، ما يتيح لشبكة واحدة التعامل مع تسلسلات بأي طول، من جملة إلى ساعات من قراءات المستشعرات. كانت RNNs البنية الأساسية لـمعالجة اللغة الطبيعية (NLP) والتعرّف على الكلام وتحليل السلاسل الزمنية، حتى حلّت المحوّلات محلها في معظم مهام اللغة في أواخر العقد الثاني من القرن الحادي والعشرين. وما زالت متغيراتها ذات البوابات شائعة في النماذج المتدفقة والنماذج العاملة على الجهاز، كما عادت البنى التكرارية في نماذج فضاء الحالة (SSMs) مثل Mamba.

كيف تعمل RNN#

تحدّث RNN بسيطة، تُسمّى أيضًا شبكة إلمان نسبةً إلى ورقة جيفري إلمان لعام 1990، حالتها الخفية وفق المعادلة hₜ = tanh(Wxₜ + Uhₜ₋₁ + b)، ويمكنها إصدار خرج yₜ = Vhₜ + c عند كل خطوة. والحالة الخفية متجه ثابت الحجم يلخّص التسلسل حتى تلك اللحظة، وتحصر tanh قيمه بين −1 و1 عندما يُعاد إدخاله. وعند رسم نسخة من الشبكة لكل خطوة، تُفك الحلقة إلى شبكة عميقة مغذية للأمام تتشارك طبقاتها الأوزان نفسها:

يشغّل المقتطف أدناه الدالة nn.RNN في PyTorch على تسلسل، ويكرّر عملية التكرار نفسها ضمن حلقة عادية:

import torch
from torch import nn

torch.manual_seed(0)
rnn = nn.RNN(input_size=3, hidden_size=4, batch_first=True)
x = torch.randn(1, 6, 3)  # one sequence: 6 time steps, 3 features each

# PyTorch runs the whole sequence; output holds the hidden state after every step
output, h_n = rnn(x)

# The same recurrence by hand, reusing one set of weights at every step
h = torch.zeros(1, 4)
for t in range(x.shape[1]):
    h = torch.tanh(x[:, t] @ rnn.weight_ih_l0.T + rnn.bias_ih_l0 + h @ rnn.weight_hh_l0.T + rnn.bias_hh_l0)

print(f"Output shape: {tuple(output.shape)}, final state shape: {tuple(h_n.shape)}")
print(f"Hand-written loop matches nn.RNN: {torch.allclose(h, h_n[0], atol=1e-6)}")

يطبع Output shape: (1, 6, 4), final state shape: (1, 1, 4) وHand-written loop matches nn.RNN: True. يحتوي الخرج على حالة خفية واحدة بأربعة أبعاد لكل خطوة زمنية، وتعيد الحلقة إنتاج الحالة النهائية باستخدام مصفوفة أوزان واحدة للمدخلات وأخرى للحالة السابقة.

مهام التسلسلات#

تناسب عملية التكرار نفسها مهامًا ذات أطوال مختلفة للمدخلات والمخرجات:

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

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

التدريب باستخدام الانتشار العكسي عبر الزمن#

تُدرّب RNN باستخدام الانتشار العكسي عبر الزمن (BPTT): تُفك الشبكة على امتداد التسلسل، ويُجمع فقدان الخطوات، ثم يُطبّق الانتشار العكسي على الرسم البياني المفكوك. يمر التدرّج الذي يصل إلى الخطوة t انطلاقًا من الخطوة T عبر T − t نسخة من الطبقة المتكررة، ويُضرب في U ومشتقة tanh في كل مرة. عندما تكون هذه العوامل أصغر من 1 في الغالب، يتناقص التدرّج هندسيًا، وهي مشكلة تلاشي التدرّج التي حللها يوشوا بنجيو وباتريس سيمار وباولو فراسكوني عام 1994. وعندما تكون أكبر من 1، يزداد التدرّج هندسيًا، وهي مشكلة انفجار التدرّج. يقيس المقتطف أدناه مقدار تأثير كل مدخل في تسلسل من 50 خطوة على الحالة الخفية النهائية:

import torch
from torch import nn

torch.manual_seed(0)
rnn = nn.RNN(input_size=8, hidden_size=32, batch_first=True)
x = torch.randn(1, 50, 8, requires_grad=True)  # one 50-step sequence

# Backpropagate from the final hidden state to the input at every step
output, h_n = rnn(x)
h_n.sum().backward()
grad_norms = x.grad[0].norm(dim=1)

for distance in [0, 10, 20, 30, 40]:
    print(f"Input {distance:>2} steps before the end: gradient {grad_norms[-1 - distance]:.1e}")

يعرض تدرجات 1.6e+00 و3.4e-03 و6.2e-06 و1.2e-08 و1.1e-11 للمدخلات عند 0 و10 و20 و30 و40 خطوة قبل النهاية. تكلّف كل عشر خطوات نحو ثلاثة أوامر مقدار، لذا بالكاد يستطيع التدريب تعديل الأوزان للاستفادة من مدخل يعود إلى بضع عشرات من الخطوات. يحدّ قصّ التدرجات، الذي حلّله رازفان باسكانو وزملاؤه في سياق RNNs عام 2013، من التدرجات المتفجرة، كما يحدّ BPTT المبتور من الانتشار العكسي إلى نافذة ثابتة لضبط استهلاك الذاكرة. تتطلب التدرجات المتلاشية تغييرًا في البنية، وهذا ما توفره بوابات LSTM وGRU.

  • LSTM وGRU: شبكات RNN ذات بوابات، مع تحديث إضافي للحالة يتيح للمعلومات والتدرجات المرور عبر خطوات عديدة. عمليًا، يشير مصطلح "RNN" غالبًا إلى إحداهما، وكذلك إلى شبكة RNN البسيطة.
  • Transformer: ينتبه مباشرةً إلى كل موضع سابق بدلًا من ضغط السجل في حالة واحدة، ويتدرب على جميع المواضع بالتوازي. تزداد كلفة الانتباه مع طول التسلسل، بينما تستهلك RNN القدر نفسه من الحوسبة والذاكرة مع كل خطوة جديدة.
  • الشبكة العصبية الالتفافية (CNN): تمزج المواضع المتجاورة باستخدام مرشحات ثابتة الحجم، عبر المكان في الصور أو عبر الزمن باستخدام الالتفافات أحادية البعد، ويتحدد المجال الاستقبالي بعمقها.
  • نماذج فضاء الحالة: تتدرب التكرارات الخطية، مثل Mamba، بالتوازي باستخدام المسح، وتعمل خطوة بخطوة مثل RNN عند الاستدلال. أما الشبكات العصبية السائلة فهي شبكات RNN مستمرة الزمن، تتبع عصبوناتها معادلات تفاضلية.

التطبيقات#

  • التنبؤ بلوحة المفاتيح: كان نموذج الكلمات التالية في Gboard عبارة عن LSTM ببوابة إدخال ونسيان مقترنتين، وهو نوع أخف من LSTM، دُرّب باستخدام التعلّم الاتحادي على هواتف المستخدمين، كما وصف باحثو Google عام 2018.
  • التنبؤ بالطلب: تدرّب DeepAR من Amazon شبكة RNN ذاتية الانحدار واحدة على العديد من السلاسل الزمنية المرتبطة، وتُخرج توزيعًا احتماليًا لكل قيمة مستقبلية.
  • الصوت المتدفق: تعالج كواشف كلمات التنبيه ومثبطات الضوضاء الصوت إطارًا تلو الآخر باستخدام طبقات تكرارية صغيرة، ما يحافظ على ثبات الذاكرة وزمن الاستجابة في الهواتف وسماعات الأذن.
  • تتبّع الكائنات: يحتفظ المتتبّع بحالة لكل كائن من إطار إلى آخر، وهو الدور الذي تؤديه الحالة المخفية في RNN. ويحدّث كل متتبّع مدمج في وضع التتبّع في YOLO26، من ByteTrack وBoT-SORT إلى TrackTrack الافتراضي، تلك الحالة باستخدام مرشح كالمان، وهو تكرار خطي بمعادلات سرعة ثابتة محددة يدويًا بدلًا من الأوزان المتعلّمة.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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