تفاصيل العمل

Variational Autoencoder (VAE) for Handwritten Digit Generation

Project Overview

هذا المشروع عبارة عن تنفيذ عملي لنموذج Variational Autoencoder (VAE) باستخدام مكتبة Keras مع Backend من TensorFlow.

النموذج تم تدريبه على بيانات الأرقام المكتوبة يدويًا من قاعدة بيانات MNIST، بهدف تعلم تمثيل كامن (Latent Representation) ثنائي الأبعاد يمكن من خلاله توليد أرقام جديدة لم تكن موجودة في البيانات الأصلية.

Architecture Details

Encoder

Convolutional Neural Network (CNN)

يقوم بتحويل الصورة (28×28) إلى:

z_mean

z_log_var

استخدام Reparameterization Trick عبر طبقة Sampling

Latent Space

أبعاد الـ Latent Space = 2

يسمح بتصور التمثيل الكامن بصريًا وفهم كيفية توزيع الأرقام

? Decoder

يستخدم Dense + Conv2DTranspose

يعيد بناء الصورة من المتجه الكامن

Activation: Sigmoid لإخراج صورة بقيم بين 0 و1

Loss Function

تم استخدام:

Reconstruction Loss (Binary Crossentropy)

KL Divergence Loss

المعادلة النهائية:

Total Loss = Reconstruction Loss + KL Divergence

وده بيخلي النموذج:

يعيد بناء الصورة بدقة

ويجبر التوزيع الكامن يكون قريب من التوزيع الطبيعي Gaussian

Results

النموذج تعلم توزيع الأرقام بنجاح

يمكن توليد أرقام جديدة عبر التحرك داخل الـ Latent Space

تم عمل:

Visualization لشبكة التوليد

رسم توزيع الأرقام داخل الـ Latent Space

Skills Demonstrated

Deep Learning

Generative Models

CNN Architecture

Custom Training Loop في Keras

KL Divergence Implementation

Latent Space Visualization

بطاقة العمل

اسم المستقل
عدد الإعجابات
0
عدد المشاهدات
3
تاريخ الإضافة
تاريخ الإنجاز
المهارات