استكشف شبكات الذاكرة الطويلة قصيرة المدى (LSTM). تعرف على كيفية حل شبكات LSTM لمشكلة التدرج المتلاشي في شبكات RNN لمهام السلاسل الزمنية ومعالجة اللغة الطبيعية وتحليل الفيديو.
الذاكرة الطويلة المدى (LSTM) هي نوع متخصص من الشبكات العصبية المتكررة (RNN) القادرة على تعلم التبعية الترتيبية في مشاكل التنبؤ بالتسلسل. على عكس الشبكات العصبية التغذية الأمامية القياسية ، تتمتع شبكات LSTM بوصلات تغذية مرتدة تسمح لها بمعالجة ليس فقط نقاط بيانات فردية (مثل الصور)، بل تسلسلات كاملة من البيانات (مثل الكلام أو الفيديو). هذه القدرة تجعلها مناسبة بشكل فريد للمهام التي يكون فيها السياق من المدخلات السابقة أمرًا حاسمًا لفهم البيانات الحالية، ومعالجة قيود "الذاكرة قصيرة المدى" للشبكات العصبية التكرارية التقليدية.
لفهم ابتكار LSTMs، من المفيد النظر إلى التحديات التي تواجهها الشبكات العصبية المتكررة الأساسية. في حين أن RNNs مصممة للتعامل مع المعلومات المتسلسلة، فإنها تواجه صعوبة في التعامل مع تسلسلات البيانات الطويلة بسبب مشكلة التدرج المتلاشي. مع تتراجع عبر الزمن، يمكن أن تصبح التدرجات — القيم المستخدمة لتحديث أوزان الشبكة — أصغر بشكل أسي ، مما يمنع الشبكة بشكل فعال من تعلم الروابط بين الأحداث البعيدة. وهذا يعني أن شبكة RNN القياسية قد تتذكر كلمة من الجملة السابقة ولكنها تنسى السياق الذي تم إنشاؤه قبل ثلاثة فقرات. تم تصميم شبكات LSTM بشكل صريح لحل هذه المشكلة من خلال إدخال بنية داخلية أكثر تعقيدًا يمكنها الحفاظ على نافذة سياق لفترات أطول بكثير.
المفهوم الأساسي وراء LSTM هو حالة الخلية، التي غالبًا ما توصف بأنها حزام ناقل يمر عبر سلسلة الشبكة بأكملها. تسمح هذه الحالة بتدفق المعلومات دون تغيير، مع الحفاظ على التبعيات طويلة المدى. تتخذ الشبكة قرارات بشأن ما يجب تخزينه أو تحديثه أو حذفه من حالة الخلية هذه باستخدام هياكل تسمى البوابات.
من خلال تنظيم تدفق المعلومات هذا، يمكن لـ LSTMs سد الفجوات الزمنية التي تزيد عن 1000 خطوة، متفوقةً بذلك بكثير على شبكات RNN التقليدية في المهام التي تتطلب تحليل السلاسل الزمنية.
لقد ساهمت شبكات LSTM في تحقيق العديد من الإنجازات الهامة في مجال التعلم العميق خلال العقد الماضي. وفيما يلي مثالان بارزان على تطبيقاتها:
في الرؤية الحاسوبية الحديثة، غالبًا ما تُستخدم شبكات LSTM جنبًا إلى جنب مع مستخلصات الميزات القوية. على سبيل المثال، يمكنك استخدام YOLO detect في الإطارات الفردية واستخدام شبكة LSTM track أو توقع حركتها المستقبلية.
فيما يلي مثال مفاهيمي باستخدام torch لتعريف LSTM بسيط يمكنه معالجة تسلسل متجهات الميزات
المستخرجة من دفق فيديو:
import torch
import torch.nn as nn
# Define an LSTM model for processing sequential video features
# Input size: 512 (e.g., features from a CNN), Hidden size: 128
lstm_model = nn.LSTM(input_size=512, hidden_size=128, num_layers=2, batch_first=True)
# Simulate a batch of video sequences: 8 videos, 10 frames each, 512 features per frame
video_features = torch.randn(8, 10, 512)
# Pass the sequence through the LSTM
output, (hidden_state, cell_state) = lstm_model(video_features)
print(f"Output shape: {output.shape}") # Shape: [8, 10, 128]
print("LSTM successfully processed the temporal sequence.")
من المفيد التمييز بين LSTMs وبين هياكل معالجة التسلسل الأخرى:
بينما احتلت آلية الانتباه مركز الصدارة في مجال الذكاء الاصطناعي التوليدي، لا تزال شبكات LSTM خيارًا قويًا للتطبيقات الأخف وزنًا، لا سيما في بيئات الذكاء الاصطناعي المتطورة حيث الموارد الحاسوبية محدودة. يواصل الباحثون استكشاف البنى الهجينة التي تجمع بين كفاءة ذاكرة شبكات LSTM و القدرة التمثيلية لأنظمة الكشف عن الأجسام الحديثة .
بالنسبة لأولئك الذين يسعون إلى إدارة مجموعات البيانات لتدريب نماذج التسلسل أو مهام الرؤية المعقدة، توفر Ultralytics أدوات شاملة للتعليق وإدارة مجموعات البيانات. علاوة على ذلك، فإن فهم كيفية عمل LSTMs يوفر أساسًا قويًا لفهم النماذج الزمنية الأكثر تقدمًا المستخدمة في المركبات ذاتية القيادة والروبوتات.