الترميز العصبي والفلسفة المشتركة
القطعة الأخيرة: ضغطٌ بشبكة تتعلّم "قاموس" أصوات فتهزم MP3 بربع المعدّل. ثم نرتفع ونرى أن مسار الصوت كلّه يطيع القوانين نفسها التي تحكم الصور والفيديو.
الضغط الكلاسيكي (MP3) يستعمل تحويلاً ثابتاً (MDCT) ونموذجاً يدوياً للأذن. عرفنا أن الشبكة تتعلّم نموذجاً أدقّ. فلنبنِ ضاغطاً عصبياً: encoder يضغط الصوت لتمثيل صغير، decoder يعيده.
المشكلة: مخرج الـencoder أعدادٌ مستمرّة (continuous) — لا يمكن تخزينها بعدد بِتّات محدود مباشرة. تحتاج تكميمها لرموز منفصلة (كي يحصدها مرمّز إنتروبي). لكن تكميماً واحداً خشناً يخسر كثيراً. كيف تكمّم تمثيلاً متّجهاً بدقّة عالية وبعدد رموز محدود؟ فكّر: ماذا لو كمّمت، ثم كمّمت الخطأ المتبقّي مرّة أخرى، ثم خطأ ذلك… (يبدو مألوفاً من مسار الصوت؟)
الترميز العصبي — SoundStream / EnCodec
البنية: encoder التفافيّ يضغط الموجة لتمثيل زمنيّ مكثّف → تكميم لرموز → decoder يعيد الموجة. يُدرَّب الكلّ معاً (end-to-end) بخسارة تجمع الدقّة + خسارة إدراكية + خصم تمييزي (adversarial) ليبدو طبيعياً. النتيجة: جودة MP3 عند ~٦ كيلوبِت/ث (مقابل ~٦٤+).
RVQ — حلّ اللغز
Residual Vector Quantization: كمّم المتّجه بأقرب مدخل في "قاموس" (codebook) متعلَّم؛ ثمّ خذ الخطأ المتبقّي وكمّمه بقاموس ثانٍ؛ ثم خطأ ذلك بقاموس ثالث… كل طبقة تنقّح. عدد الطبقات يضبط المعدّل. هذا بالضبط منطق "كمّم الـresidual" المتكرّر — صدى مباشر لـFLAC (تنبّؤ ثمّ ترميز الباقي) و لـtranscoding في مسار الصور.
حتى الترميز العصبي = نموذج (encoder/decoder متعلَّم) × مرمّز (RVQ + إنتروبي) × حاوية. المكسب جاء من نموذج أذكى (متعلَّم بدل يدوي)، تماماً كما يتوقّع القانون من مسار الصور: المرمّز قارب حدّه، والمعركة في النموذج.
الفلسفة المشتركة — صوت = نموذج × مرمّز × حاوية
| الطبقة | الكلاسيكي | العصبي |
|---|---|---|
| النموذج (يخفض الإنتروبي) | MDCT + نموذج نفسي / تنبّؤ خطّي | encoder متعلَّم |
| المرمّز (يبلغ H) | Huffman / Rice | RVQ + ترميز حسابي |
| استغلال الحاسّة | الإخفاء (masking) | خسارة إدراكية مُتعلَّمة |
القوانين نفسها حرفياً: (١) وسيط = نموذج × مرمّز × حاوية، فوق سقف الإنتروبي. (٢) الخسارة = استغلال عمى الحاسّة (الأذن هنا، العين في الصور). (٣) المرمّز بلغ سقفه، والمعركة القادمة في النموذج (العصبي). (٤) الأدوات مشتركة: فورييه↔DCT، mel↔YCbCr، MDCT↔DCT، تنبّؤ FLAC↔مرشّحات PNG. وفي مسار الفيديو سترى البُعد الرابع: الزمن.
- فكّك كوديكاً لم ندرسه: اختر Opus أو Vorbis أو ALAC. فكّكه إلى (نموذج × مرمّز × حاوية). أين يقع؟ أيّ حاسّة يستغلّ؟
- درّب ترميزاً عصبياً مصغّراً: autoencoder التفافيّ على صوت قصير، أضِف VQ بسيطاً على الاختناق (bottleneck). قِس (حجم الرموز مقابل خطأ إعادة البناء) = منحنى rate-distortion عصبيّ.
- اربط الوسائط: اكتب صفحة تتتبّع كل أداة في مسار الصوت لنظيرها في الصور: فورييه↔؟ mel/log↔؟ masking↔؟ تنبّؤ FLAC↔؟ ترميز Rice↔؟
من الموجة (٠٠) إلى الترميز العصبي (١٠)، الصوت = نموذج × مرمّز × حاوية يستغلّ الأذن. الأدوات هي ذاتها التي رأيتها في الصور، بإضافة بُعد الزمن. الآن لديك عدسة تفكّك بها أي كوديك صوتيّ، وتبني فلاتر، وتدرّب نماذج. عُد للبوابة لتربط هذا بمساري الصور والفيديو.