المشفّرات التلقائية (Autoencoders)
إذا جينا ندرّب الشبكات العصبية الالتفافية (CNNs)، بنواجه مشكلة واضحة: نحتاج كمية كبيرة من البيانات المعلَّمة. وفي مهمة تصنيف الصور (Image classification) تحديدًا، وهي من مسائل التصنيف (Classification)، لازم نفرز الصور يدويًا على فئات مختلفة، وهالشغل ياخذ وقت وجهد.
لكن نقدر ندرّب مستخرجات السمات في CNN على بيانات خام ما عليها علامات. هالأسلوب يسمّى التعلّم ذاتي الإشراف (Self-supervised learning). بدال ما نعتمد على علامات جاهزة، نستخدم صور التدريب نفسها مدخلات للشبكة ومخرجات مطلوبة منها. فكرة المشفّر التلقائي (Autoencoder) إن عندنا شبكة ترميز (Encoder) تحوّل الصورة المدخلة إلى فضاء كامن (Latent space)، وغالبًا يكون متجهًا أصغر حجمًا. بعدها تجي شبكة فك الترميز (Decoder) وتحاول تعيد بناء الصورة الأصلية من هالتمثيل المختصر.
✅ المشفّر التلقائي نوع من الشبكات العصبية الاصطناعية يتعلّم ترميزًا فعّالًا للبيانات غير المعلَّمة.
ولأننا ندرّب المشفّر التلقائي على الاحتفاظ بأكبر قدر ممكن من معلومات الصورة عشان يعيد بناءها بدقة، فالشبكة تحاول تلقى أفضل تضمين (Embedding) يمثّل معنى الصورة المدخلة.

وين نستخدم المشفّرات التلقائية؟
إعادة بناء الصورة الأصلية لحالها يمكن ما تبدو مفيدة، لكن المشفّرات التلقائية تنفعنا في أكثر من حالة:
- تقليل أبعاد الصور لعرضها بصريًا أو تدريب تضمينات الصور. غالبًا تعطينا المشفّرات التلقائية نتائج أفضل من تحليل المكونات الرئيسية (PCA)، لأنها تراعي الترتيب المكاني داخل الصورة والسمات الهرمية.
- إزالة التشويش (Denoising) من الصورة. التشويش يحمل معلومات كثيرة ما تفيدنا، والمشفّر التلقائي ما يقدر يحشرها كلها في فضاء كامن صغير؛ لذلك يركّز على الأجزاء المهمة. ولما ندرّب نموذج إزالة التشويش، تكون الصور الأصلية هي الهدف، وندخل له نسخًا أضفنا عليها تشويشًا صناعيًا.
- رفع الدقة (Super-resolution). نبدأ بصور عالية الدقة، ونستخدم نسخها الأقل دقة مدخلات للمشفّر التلقائي.
- النماذج التوليدية. بعد ما ندرّب المشفّر التلقائي، نقدر نستخدم جزء فك الترميز عشان ننشئ عناصر جديدة انطلاقًا من متجهات كامنة عشوائية.
المشفّرات التلقائية التغايرية (Variational Autoencoders — VAE)
المشفّر التلقائي التقليدي يقلّل أبعاد بيانات الإدخال بطريقة تخلّيه يكتشف أهم السمات في الصور. لكن المتجهات الكامنة الناتجة غالبًا تكون مب واضحة المعنى. خذوا مجموعة البيانات (Dataset) MNIST مثالًا: مو سهل نعرف أي رقم يقابله كل متجه كامن، وحتى المتجهات المتقاربة مو لازم تمثّل الرقم نفسه.
أما إذا كنا بندرّب نموذجًا توليديًا، فنحتاج نفهم شكل الفضاء الكامن وترتيبه بشكل أفضل. ومن هنا تجي فكرة المشفّر التلقائي التغايري (VAE).
يتعلّم VAE يتنبأ بـ توزيع إحصائي للمعلمات الكامنة، وهذا اللي نسمّيه التوزيع الكامن. مثلًا، نقدر نخلي المتجهات الكامنة تتبع توزيعًا طبيعيًا بمتوسط zmean وانحراف معياري zsigma؛ وكل واحد فيهم متجه أبعاده d. يتعلّم المشفّر في VAE يتنبأ بهالمعلمات، ثم يأخذ فاكّ الترميز متجهًا عشوائيًا من التوزيع ويحاول يعيد بناء العنصر الأصلي.
خلّونا نلخّص الخطوات:
- من متجه الإدخال نتنبأ بـ
z_mean وz_log_sigma؛ يعني نتنبأ بلوغاريتم الانحراف المعياري بدال الانحراف نفسه.
- نسحب المتجه
sample من التوزيع N(zmean,exp(zlog_sigma)).
- يحاول فاكّ الترميز يعيد بناء الصورة الأصلية باستخدام
sample متجهَ إدخال.
وصف الشكل: حُذف الأصل لأن حقوق إعادة استخدامه غير موثّقة.
الصورة مأخوذة من هالتدوينة لـ Isaak Dykeman
تستخدم المشفّرات التلقائية التغايرية دالة خسارة مركّبة من جزأين:
- خسارة إعادة البناء (Reconstruction loss) تقيس قرب الصورة المعاد بناؤها من الصورة المطلوبة. ممكن تكون متوسط مربعات الخطأ (MSE)، وهي نفس دالة الخسارة المستخدمة في المشفّر التلقائي العادي.
- خسارة KL تخلي توزيعات المتغيرات الكامنة قريبة من التوزيع الطبيعي. وتعتمد على تباعد كولباك–ليبلر، وهو مقياس يقدّر مدى التشابه بين توزيعين إحصائيين.
من أهم مزايا VAE إن إنشاء صور جديدة يصير أسهل؛ لأننا نعرف التوزيع اللي نسحب منه المتجهات الكامنة. مثلًا، لو درّبنا VAE بمتجه كامن ثنائي الأبعاد على MNIST، نقدر نغيّر مكوّنات المتجه ونحصل على أرقام مختلفة:
وصف الشكل: أرقام MNIST مولّدة من فضاء كامن
لاحظوا كيف تندمج الصور ببعض كل ما أخذنا متجهات من مناطق مختلفة في فضاء المعلمات الكامنة. ونقدر بعد نعرض هالفضاء ببعدين:
وصف الشكل: تجمّعات MNIST داخل الفضاء الكامن
✍️ تمارين: المشفّرات التلقائية
تعمّقوا أكثر في المشفّرات التلقائية من خلال هالدفترين:
خصائص المشفّرات التلقائية
- مرتبطة بنوع البيانات: تشتغل زين على نوع الصور اللي تدرّبت عليه. لو درّبنا شبكة رفع دقة على صور زهور، غالبًا ما بتعطي نتيجة زينة على صور الوجوه؛ لأنها تبني التفاصيل الدقيقة من السمات اللي تعلّمتها في بيانات التدريب.
- تسبّب فقدًا للمعلومات: الصورة المعاد بناؤها ما تكون مطابقة للأصل، ونوع الفقد تحدده دالة الخسارة المستخدمة وقت التدريب.
- تشتغل على بيانات غير معلَّمة.
الخلاصة
بهالدرس تعرّفنا على أنواع المشفّرات التلقائية اللي يستخدمها مختصو الذكاء الاصطناعي، وشفنا كيف نبنيها ونستخدمها لإعادة بناء الصور. وتعلّمنا بعد وش يميّز VAE وكيف نستخدمه لتوليد صور جديدة.
🚀 التحدي
ركّزنا هنا على المشفّرات التلقائية للصور، لكنها تشتغل مع الموسيقى بعد. شوفوا مشروع MusicVAE من Magenta، اللي يستخدم المشفّرات التلقائية عشان يتعلّم إعادة بناء الموسيقى. جرّبوا هالمكتبة في دفتر Colab، وشوفوا وش تقدرون تسوّون بها.
المراجعة والدراسة الذاتية
إذا ودّكم تتوسّعون، هذي مراجع إضافية عن المشفّرات التلقائية:
الواجب
في نهاية دفتر TensorFlow بتلقون مهمة؛ اعتبروها واجب هالدرس.