النماذج العصبية للفيديو
كل لبنة بنيناها يدوياً (تعويض حركة، تحويل، فلاتر) لها الآن نظيرٌ متعلَّم. الشبكة تتعلّم التنبّؤ والتحويل والقيود من البيانات — فتضغط وتفهم وتولّد الفيديو. وكلّها تعود لنفس انقسام نموذج/مرمّز.
الكوديك التقليدي = تعويض حركة (٠٢) + تحويل الباقي (٠٣) + ترميز (٠٥)، كلّها يدوية ومنفصلة. كلٌّ مُحسَّن وحده، لا معاً.
تريد كوديكاً عصبياً. كيف تجعل شبكة واحدة تتعلّم كل ذلك معاً (end-to-end)، مع أن "تخصيص البِتّات" (التكميم) عملية غير قابلة للاشتقاق (تقريب لعدد صحيح — مشتقّته صفر، فلا تتعلّم منها الشبكة بالـbackprop)؟ وكيف تجعل دالّة الخسارة تعاقب على الحجم والتشويه معاً (تذكّر J=D+λR)؟
الضغط المتعلَّم — نظير عصبيّ لكل لبنة
| اللبنة التقليدية | النظير العصبيّ |
|---|---|
| تعويض الحركة (بحث بلوكات) | شبكة تدفّق (flow net) تتنبّأ بالحركة الكثيفة |
| تحويل الباقي (DCT) | autoencoder التفافيّ متعلَّم للباقي |
| التكميم | تكميم + ضجيج محاكٍ أثناء التدريب (حلّ اللازماشتقاق) |
| الترميز الحسابي | نموذج إنتروبيّ متعلَّم يتنبّأ باحتمالات الرموز |
| معيار J=D+λR | دالّة الخسارة L = D + λ·R̂ مباشرةً |
(١) التكميم غير القابل للاشتقاق: أثناء التدريب نستبدله بإضافة
ضجيج منتظم (uniform noise) يحاكي خطأ التكميم لكنه قابل للاشتقاق، فيمرّ
التدرّج. (٢) معاقبة الحجم: نموذج إنتروبيّ متعلَّم يقدّر
R̂ = عدد البِتّات المتوقّع (= −log₂ احتمال)، وندخله في الخسارة
L=D+λR̂ مباشرةً. هكذا تتعلّم الشبكة تقليل الحجم والتشويه معاً — تجسيد
عصبيّ لمعيار لاجرانج (العقدة ٠٥).
الفهم والتوليد
| المهمّة | البنية | الفكرة |
|---|---|---|
| الفهم (تصنيف/كشف أحداث) | 3D CNN، Video Transformers | الالتفاف/الانتباه عبر المكان والزمن معاً |
| التوليد | Diffusion / Transformers على رموز | إزالة ضوضاء تدريجية، أو تنبّؤ بالرمز التالي (نظير الصوت/اللغة) |
| التحرير/الإكمال | نماذج شرطية | inpainting زمنيّ، تغيير محتوى متّسق عبر الإطارات |
ما يميّز نماذج الفيديو عن الصور والصوت: يجب أن تكون متّسقة زمنياً (لا ترتعش، لا تتناقض بين الإطارات). هذا يضاعف الكلفة الحسابية وصعوبة الاتّساق. لهذا كثيرٌ من نماذج توليد الفيديو تعمل على رموز مضغوطة (من ترميز عصبيّ شبيه بـRVQ في الصوت) بدل البِكسلات — لتقليل البُعد الزمنيّ-المكانيّ الهائل.
- autoencoder للباقي: درّب autoencoder التفافيّ صغير (PyTorch) يضغط بلوكات الباقي من تمرين ٠٣. قارن إنتروبي تمثيله المضغوط بـDCT+تكميم. أيّهما أصغر لنفس التشويه؟
- التكميم القابل للتدريب: أضِف ضجيجاً منتظماً على الاختناق أثناء التدريب، وكمّمه فعلياً وقت الاختبار. لاحظ كيف يسمح ذلك بالـbackprop.
- خسارة RD: أضِف حدّ
λ·R̂(قدّر R̂ بإنتروبي الرموز) وغيّرλ. ارسم منحنى rate-distortion العصبيّ — قارنه بمنحنى DCT (العقدة ٠٥). - فهم: درّب 3D-CNN صغيراً يصنّف حركتين بسيطتين (يمين/يسار) من مقاطع قصيرة. أنت تستعمل البُعد الزمنيّ كميزة.
الكوديك العصبيّ = نفس بنية الهجين (حركة → باقٍ → ترميز) لكن كل لبنة شبكة،
مُدرَّبة معاً بـL=D+λR̂ (مع حيلتَي ضجيج التكميم والنموذج الإنتروبيّ).
والفهم/التوليد يضيفان البُعد الزمنيّ ويتطلّبان اتّساقاً. لاحظ: القانون يصمد —
المكسب من نموذج أذكى. بقي أن نرتفع ونربط الوسائط الثلاث.