Skip to content

Latest commit

 

History

History
100 lines (56 loc) · 11.5 KB

File metadata and controls

100 lines (56 loc) · 11.5 KB

الشبكات العصبية التلقائية (Autoencoders)

عند تدريب الشبكات العصبية الالتفافية (CNNs)، واحدة من المشاكل هي أننا نحتاج إلى كمية كبيرة من البيانات الموصوفة. في حالة تصنيف الصور، نحتاج إلى فصل الصور إلى فئات مختلفة، وهو جهد يدوي.

ومع ذلك، قد نرغب في استخدام البيانات الخام (غير الموصوفة) لتدريب مستخلصات ميزات CNN، وهو ما يسمى التعلم الذاتي الإشراف. بدلاً من استخدام التصنيفات، سنستخدم صور التدريب كمدخلات ومخرجات للشبكة. الفكرة الرئيسية لـ الشبكة العصبية التلقائية هي أننا سنمتلك شبكة تشفير تقوم بتحويل الصورة المدخلة إلى فضاء كامن (عادةً ما يكون مجرد متجه بحجم أصغر)، ثم شبكة فك التشفير، التي يكون هدفها إعادة بناء الصورة الأصلية.

الشبكة العصبية التلقائية هي "نوع من الشبكات العصبية الاصطناعية تُستخدم لتعلم ترميز فعال للبيانات غير الموصوفة."

بما أننا نقوم بتدريب الشبكة العصبية التلقائية لالتقاط أكبر قدر ممكن من المعلومات من الصورة الأصلية لإعادة البناء بدقة، تحاول الشبكة العثور على أفضل تمثيل للصور المدخلة لالتقاط المعنى.

مخطط الشبكة العصبية التلقائية

الصورة من مدونة Keras

سيناريوهات استخدام الشبكات العصبية التلقائية

بينما قد لا يبدو إعادة بناء الصور الأصلية مفيدًا بحد ذاته، هناك بعض السيناريوهات التي تكون فيها الشبكات العصبية التلقائية مفيدة بشكل خاص:

  • تقليل أبعاد الصور للتصور أو تدريب تمثيلات الصور. عادةً ما تقدم الشبكات العصبية التلقائية نتائج أفضل من تحليل المكونات الرئيسية (PCA)، لأنها تأخذ في الاعتبار الطبيعة المكانية للصور والميزات الهرمية.
  • إزالة الضوضاء، أي إزالة الضوضاء من الصورة. نظرًا لأن الضوضاء تحمل الكثير من المعلومات غير المفيدة، فإن الشبكة العصبية التلقائية لا يمكنها استيعابها بالكامل في الفضاء الكامن الصغير نسبيًا، وبالتالي تلتقط فقط الجزء المهم من الصورة. عند تدريب أدوات إزالة الضوضاء، نبدأ بالصور الأصلية، ونستخدم الصور التي أُضيفت إليها ضوضاء بشكل مصطنع كمدخلات للشبكة العصبية التلقائية.
  • زيادة دقة الصور، أي تحسين دقة الصورة. نبدأ بالصور عالية الدقة، ونستخدم الصورة ذات الدقة المنخفضة كمدخلات للشبكة العصبية التلقائية.
  • النماذج التوليدية. بمجرد تدريب الشبكة العصبية التلقائية، يمكن استخدام جزء فك التشفير لإنشاء كائنات جديدة بدءًا من متجهات كامنة عشوائية.

الشبكات العصبية التلقائية التباينية (VAE)

الشبكات العصبية التلقائية التقليدية تقلل أبعاد البيانات المدخلة بطريقة ما، وتحدد الميزات المهمة للصور المدخلة. ومع ذلك، غالبًا ما تكون المتجهات الكامنة غير مفهومة. بمعنى آخر، إذا أخذنا مجموعة بيانات MNIST كمثال، فإن تحديد الأرقام التي تتوافق مع المتجهات الكامنة المختلفة ليس مهمة سهلة، لأن المتجهات الكامنة القريبة قد لا تتوافق بالضرورة مع نفس الأرقام.

من ناحية أخرى، لتدريب النماذج التوليدية، من الأفضل أن يكون لدينا فهم للفضاء الكامن. هذه الفكرة تقودنا إلى الشبكة العصبية التلقائية التباينية (VAE).

VAE هي شبكة تلقائية تتعلم التنبؤ بـ التوزيع الإحصائي للمعلمات الكامنة، ما يسمى بـ التوزيع الكامن. على سبيل المثال، قد نرغب في أن تكون المتجهات الكامنة موزعة بشكل طبيعي مع متوسط zmean وانحراف معياري zsigma (كلاهما متجهات ذات أبعاد معينة d). يتعلم المشفر في VAE التنبؤ بهذه المعلمات، ثم يأخذ فك التشفير متجهًا عشوائيًا من هذا التوزيع لإعادة بناء الكائن.

لتلخيص:

  • من المتجه المدخل، نتنبأ بـ z_mean و z_log_sigma (بدلاً من التنبؤ بالانحراف المعياري نفسه، نتنبأ باللوغاريتم الخاص به)
  • نأخذ عينة sample من التوزيع N(zmean,exp(zlog_sigma))
  • يحاول فك التشفير فك تشفير الصورة الأصلية باستخدام sample كمتجه مدخل

الصورة من هذه المدونة بواسطة Isaak Dykeman

تستخدم الشبكات العصبية التلقائية التباينية وظيفة خسارة معقدة تتكون من جزئين:

  • خسارة إعادة البناء هي وظيفة الخسارة التي تظهر مدى قرب الصورة المعاد بناؤها من الهدف (يمكن أن تكون متوسط الخطأ التربيعي، أو MSE). وهي نفس وظيفة الخسارة المستخدمة في الشبكات التلقائية العادية.
  • خسارة KL، التي تضمن أن تظل توزيعات المتغيرات الكامنة قريبة من التوزيع الطبيعي. وهي تعتمد على مفهوم تباعد كولباك-ليبلر - وهو مقياس لتقدير مدى تشابه توزيعين إحصائيين.

ميزة مهمة للشبكات العصبية التلقائية التباينية هي أنها تتيح لنا إنشاء صور جديدة بسهولة نسبية، لأننا نعرف التوزيع الذي يمكننا أخذ عينات منه للمتجهات الكامنة. على سبيل المثال، إذا قمنا بتدريب VAE مع متجه كامن ثنائي الأبعاد على MNIST، يمكننا بعد ذلك تغيير مكونات المتجه الكامن للحصول على أرقام مختلفة:

vaemnist

الصورة بواسطة Dmitry Soshnikov

لاحظ كيف تمتزج الصور مع بعضها البعض، حيث نبدأ في الحصول على متجهات كامنة من أجزاء مختلفة من فضاء المعلمات الكامنة. يمكننا أيضًا تصور هذا الفضاء في بعدين:

vaemnist cluster

الصورة بواسطة Dmitry Soshnikov

✍️ تمارين: الشبكات العصبية التلقائية

تعرف على المزيد حول الشبكات العصبية التلقائية في دفاتر الملاحظات التالية:

خصائص الشبكات العصبية التلقائية

  • محددة البيانات - تعمل بشكل جيد فقط مع نوع الصور التي تم تدريبها عليها. على سبيل المثال، إذا قمنا بتدريب شبكة لتحسين الدقة على صور الزهور، فلن تعمل بشكل جيد على صور الأشخاص. السبب هو أن الشبكة يمكنها إنتاج صورة ذات دقة أعلى من خلال أخذ التفاصيل الدقيقة من الميزات التي تعلمتها من مجموعة البيانات التدريبية.
  • فقدان البيانات - الصورة المعاد بناؤها ليست مطابقة للصورة الأصلية. طبيعة الفقد تُحدد بواسطة وظيفة الخسارة المستخدمة أثناء التدريب.
  • تعمل على البيانات غير الموصوفة

الخاتمة

في هذه الدرس، تعلمت عن الأنواع المختلفة من الشبكات العصبية التلقائية المتاحة للعلماء في مجال الذكاء الاصطناعي. تعلمت كيفية بنائها، وكيفية استخدامها لإعادة بناء الصور. كما تعلمت عن VAE وكيفية استخدامها لإنشاء صور جديدة.

🚀 تحدي

في هذا الدرس، تعلمت عن استخدام الشبكات العصبية التلقائية للصور. ولكن يمكن استخدامها أيضًا للموسيقى! تحقق من مشروع Magenta MusicVAE، الذي يستخدم الشبكات العصبية التلقائية لتعلم إعادة بناء الموسيقى. قم ببعض التجارب باستخدام هذه المكتبة لترى ما يمكنك إنشاؤه.

المراجعة والدراسة الذاتية

للمراجعة، اقرأ المزيد عن الشبكات العصبية التلقائية في هذه الموارد:

الواجب

في نهاية دفتر الملاحظات باستخدام TensorFlow، ستجد "مهمة" - استخدمها كواجبك.