الـ sequence modeling
النص والـ time series والصوت والفيديو — كلها تسلسلية. الشبكات العادية بتنسى الزمن. والـ recurrent networks (الشبكات التكرارية) بتشيل hidden state بتعدّي الـ memory على كل خطوة. ده الـ sequence modeling (نمذجة التسلسل).
الترتيب بيفرق
لو لخبطت العناصر المعنى بيبوظ. والـ models لازم تحترم الترتيب وتمسك العلاقات البعيدة على مسافات عشوائية.
حجم ثابت، ومفيش memory
- محتاجة input حجمه ثابت — والـ sequences أطوالها مختلفة
- مفيش مشاركة parameters على الـ time steps — كل مكان ليه weights مستقلة
- الـ sliding window بيثبّت السياق — والعلاقات البعيدة مبتبانش
- لازم نفس الـ pattern يتعلّم في كل مكان لوحده
memory الـ hidden state
في كل خطوة t، نفس matrices الـ weights بتجمع الـ input الجديد مع الـ hidden state (الحالة المخفية) اللي فاتت — مشاركة الـ parameters على الزمن أوتوماتيك.
عمق في بُعد الزمن
- بنعيد كتابة الـ recurrence كـ graph مفيهوش دوائر: نسخة لكل time step
- الـ weights Wh وWx مربوطة على كل النسخ — نفس الـ parameters في كل حتة
- الـ backpropagation العادي بيتطبّق على الـ graph المفكوك
- الـ loss الكلية = مجموع losses كل خطوة؛ والـ gradients بتتراكم من كل الخطوات
الـ BPTT والقص
gradient الـ loss الكلية بالنسبة لـ Wh بيجمع على T خطوة. والـ BPTT الكامل مكلّف مع الـ sequences الطويلة — الـ truncated BPTT بيحدّ الانتشار لـ k خطوة لكل حتة.
الـ gradient بيختفي
- الـ gradient على k خطوة = حاصل ضرب k من Jacobian matrices مربوطة بـ Wh
- الـ spectral radius < 1 → تقلّص أُسّي — الماضي البعيد مبيبانش
- الـ spectral radius > 1 → نمو أُسّي — exploding gradients
- الـ gradient clipping بيروّض الانفجار؛ والتلاشي محتاج تغييرات في الـ architecture
ترويض الـ gradient
- الـ gradient clipping — إعادة قياس الـ gradient لو طوله عدّى الـ threshold θ
- initialization متعامدة/identity لـ Wh — بتحافظ على حجم الـ gradient في أول التدريب
- التدريب على sequences قصيرة — ابدأ بـ sequences قصيرة وزوّد الطول تدريجيًا
- LSTM / GRU — آليات gates بتعمل ممرات للـ gradient (الدرس 8.2)
أشكال الـ input والـ output
- one-to-many — صورة ← وصف (وصف الصور)
- many-to-one — جملة ← تصنيف (تحليل المشاعر)
- many-to-many — sequence ← sequence (الـ tagging، الـ language modeling)
- encoder–decoder — ضغط الـ input في context vector؛ والـ decoder بيولّد الـ output
اتعلّمت إيه
الـ recurrent networks بتحتفظ بـ hidden state بتتحدّث في كل خطوة: ht = tanh(Whht−1 + Wxxt + b). والـ BPTT بيدرّبها بالـ unfolding على الزمن. والـ vanishing gradients بتحدّ الـ memory البعيدة — الـ gradient clipping بيعالج الانفجار، والـ LSTM والـ GRU (الدرس الجاي) بيعالجوا التلاشي.