هِشَام الطَيِّب ✈️🇸🇦
هِشَام الطَيِّب ✈️🇸🇦

@Hisham__Ibrahim

18 تغريدة 37 قراءة Jan 07, 2022
GANs تقنية جديدة احدثت ثورة في عالم الذكاء الاصطناعي وعلم البيانات وتعني Generative Adversarial Networks
وهي تقنية تستخدم لتوليد بيانات واقعية بشتى انواعها، وتتكون من شبكتين عصبية كل وحدة تحاول انها تخدع الثانية وتتنافس معاها"Adversarial system".
اغلب تطبيقاتها حتى الآن في الصور ومن الأمثلة عليها StackGAN model الي ياخذ وصف نصي لصورة وخلينا نقول طير على سبيل المثال وبعد كدا بحاول يولد صورة عالية الدقة ما قد أحد شافها يعني تخيلية 100% تتماشى مع هذا الوصف.
وهنا لازم نفرق بين المودل الي بيعمل بحث في Database فيها صور طيور وبين المودل الي في الواقع قاعد يرسم لك صورة طير وتكون عبارة عن تبسيط لتوزيع الاحتمالات الصور الافتراضية
بطريقة ابسط ياخذ اوتبوت وبعد كدا نقول للمودل نبا زي دا الاوت بوت ونعطيه صور وبعد كدا بيحاول يحاكيها عشان
to generate more samples تتناسب هذا الوصف
من الامثلة برضو tool اسمها iGAN طورتها شركة Adobe وBerkeley لمساعدة الرسامين، فكرتها انو كل ما حاول اليوزر يرسم سكتش باستخدام الماوس تحاول الاداة انها تبحث عن أقرب صورة واقعية للرسمة وتحولها لها
يعني بتسوي IMAGE TO IMAGE TRANSLATION على سبيل المثال لو كان عندك رسومات ومخططات بلوبرنت لمبنى ممكن تتحول الصورة لمبنى مكتمل ممكن برضو خرابيش لبسة تتحول لرسمة مكتملة واقعية، المودل في هاذي الحالة بيتعملو unsupervised learning، وتقدرو تشوفو تاق #EDGES2CAT عشان توضح الفكرة.
زي خبراء فيسبوك لمن حاولو تحويل صورة الاشخاص الى رسومات كرتونية بس بدون اي ترابط بينهم يعني مو على شكل Pairs، للتبسيط المودل اتدرب على صور الاشخاص والصور الكرتونية كل وحدة على حدة وقدر انو يربطهم بالتشابه الي بينهم.
ومن الامثلة المثيرة للاهتمام NVIDIA استخدمو الـ GANs في انهم يحولو بعض الصور من النهار لليل.
ونجي الان للجزء الممتع برضو في Berkeley طورو مودل تحت مسمى CycleGAN وتم تدريبو بطريقة غير موجهة ايضاً واعطوه مقطع فيديو لحصان في مزرعة وحولها لحمار وحشي وعشان التعليم كان غير موجه "Unsupervised" ما حول بس صورة الحصان، ولكن بسبب اختلاف بيئات الاحصنة والحمير لو تلاحظو
حتى الخلفية في الفيديو المتحول تشابه الاراضي الافريقية "موطن الحمير الوحشية" وتتعدى استخدامات الـ GANs الصور والمقاطع الى استخدامات علمية زي المختبرات والتجارب الفيزيائة حيث ممكن انها تولد وتتوقع كميات الطاقة الصادرة من تجربة فيزيائية على سبيل المثال.
طيب الفكرة ببساطة وبرضو خلونا ناخذ مثال MNIST database الي بتحتوي على ارقام مكتوبة بخط اليد و الـMNIST classifier بيحاول انو يلاقي الفرق بين الرقم الواقعي و الرقم الي اتعملو بريدكت، يعني لو كان الرقم 2 والكلاسيفير اتوقع 8 راح يعرف انو خطا ويرجع ثاني من اول وجديد ويتدرب.
طيب هاذي وظيفة الكلاسيفير العادي ما قلت لنا شي جديد يا هشام، الان اقلكم الكلاسيفير العادي ما تقدر تقلو ارسم ليا صورة جديدة مو موجودة في MNIST databse
هنا نجي للـ GANs الي راح تتعلم الهيكل الاساسي للـ training data وتعرف ايش اللون وايش الشكل الي يكونو لنا رقم 8 على سبيل المثال ويحاول يستخدم المعلومات دي عشان تنتج صور جديدة كليا "Adversarial Training".
الفكرة زي ما ذكرنا في بداية الثريد راح يكون فيه شبكتين عصبية وحدة اسمها generator و الثانية discriminator.
-
الدسكريمنيتور شبكة عصبية عادية جدا تحاول تصنف الصور اما صور حقيقة وصحيحة من الـ training data او اونها fake
اما generator بحاول انو يخدع discriminator وينتج صور تشابه الي في الـ training data setفيقعد يحاول انو
يولد صور ويفشل ويرجع ثاني يحاول ويغير طريقة الانتاج الين يقدر يخدع discriminator ويسوي صور تشابه الي موجودة في Training set.
وفي نفس الوقت مو بس الـ generator بيتعلم حتى الـdiscriminator بيتعلم، لانو صار يشوف كل شوية صور FAKE ويقارنها فتزيد دقة التصنيف مع كثرة العينات الي بينتجها الـ generator ولكن في النهاية ما راح يقدر يفرق بين الصورة الـFAKE والصورة الموجودة في قاعدة البيانات.
خلينا نشبهها بمجرمين بيحاولو يسوو نسخ مطبوعة من النقود وفي البداية راح تكون النسخ الأولية سهل انها تنكشف من الشرطة فكل مرة بيتحسن مستواهم في الطباعة والنسخ ونفس الوقت الشرطة راح يتحسن مستواهم في اكتشاف الأنواع الغير حقيقة لأنهم شافو أنواع مغشوشة كثير.

جاري تحميل الاقتراحات...