الشبكات العصبية التكرارية
Recurrent Neural Networks (RNN)
معالجة التسلسلات بحالة مخفية تنتقل عبر الزمن، وحدود الذاكرة القصيرة.
المعادلات
في كل خطوة زمنية \(t\):
$$\mathbf{h}_t = \tanh\left(W_{xh}\mathbf{x}_t + W_{hh}\mathbf{h}_{t-1} + \mathbf{b}_h\right), \qquad \mathbf{y}_t = W_{hy}\mathbf{h}_t + \mathbf{b}_y$$
الأوزان \(W_{xh}, W_{hh}, W_{hy}\) نفسها في كل خطوة.
أنماط المسائل
| النمط | مثال |
|---|---|
| متعدد ← واحد | تصنيف مشاعر جملة |
| واحد ← متعدد | توليد نص من بداية |
| متعدد ← متعدد (متزامن) | وسم أجزاء الكلام |
| متعدد ← متعدد (مشفر-مفكك) | الترجمة الآلية |
مثال في PyTorch
import torch, torch.nn as nn
class SeqClassifier(nn.Module):
def __init__(self, vocab=5000, emb=64, hidden=128, n_classes=2):
super().__init__()
self.emb = nn.Embedding(vocab, emb)
self.rnn = nn.RNN(emb, hidden, batch_first=True)
self.fc = nn.Linear(hidden, n_classes)
def forward(self, tokens): # (batch, seq_len)
out, h_n = self.rnn(self.emb(tokens)) # h_n: (1, batch, hidden)
return self.fc(h_n[-1])
print(SeqClassifier()(torch.randint(0, 5000, (8, 20))).shape) # (8, 2)مشكلة الذاكرة القصيرة
في BPTT يتضمن تدرج الخطوات البعيدة حاصل ضرب متكرر يشمل \(W_{hh}\). إذا كانت قيمه الذاتية أصغر من 1 يتلاشى التدرج، وإذا كانت أكبر ينفجر (Bengio et al., 1994). الحلول:
- قص التدرج للانفجار.
- معماريات ببوابات مثل LSTM وGRU للتلاشي.
- آلية الانتباه والمحوّلات التي تصل مباشرة إلى أي موقع في التسلسل.
مصطلحات الدرس
- الانتشار الخلفي عبر الزمن Backpropagation Through Time
- تطبيق الانتشار الخلفي على الشبكة التكرارية بعد «فردها» عبر خطوات التسلسل.
- الحالة المخفية Hidden State
- متجه يلخص المعلومات المستخلصة من عناصر التسلسل السابقة.
- الشبكة التكرارية Recurrent Neural Network
- شبكة تعالج التسلسلات بتمرير حالة مخفية من خطوة زمنية إلى التالية مع مشاركة الأوزان عبر الزمن.
الملخص
الشبكة التكرارية (RNN) تعالج التسلسل عنصراً بعد عنصر، محدّثة حالة مخفية تلخص ما سبق باستخدام الأوزان نفسها في كل خطوة زمنية. تُدرَّب بالانتشار الخلفي عبر الزمن (BPTT)، وتعاني من تلاشي التدرج أو انفجاره مع التسلسلات الطويلة، ما يحد من قدرتها على تذكر الاعتماديات البعيدة. هذا ما عالجته LSTM وGRU لاحقاً، ثم المحوّلات.
أسئلة مراجعة
-
لماذا تعاني RNN البسيطة مع التسلسلات الطويلة؟
لأن التدرج يُضرب مراراً في المصفوفة نفسها عبر الخطوات فيتلاشى أو ينفجر، فيصعب تعلم الاعتماديات البعيدة.
-
اذكر ثلاثة أنماط لمسائل التسلسل.
واحد إلى متعدد (توليد وصف صورة)، ومتعدد إلى واحد (تصنيف المشاعر)، ومتعدد إلى متعدد (الترجمة أو وسم الكلمات).
المصادر والمراجع
إكمال الدرس
أكملت كل دروس المسار! يمكنك الآن طلب شهادة إكمال المسار.
اطلب الشهادة