این آموزش شبکه عصبی GAN (شبکه های عصبی مولد متخاصم) در واقع یک کارگاه ۲ ساعتی است. این کارگاه نخستین بار در دانشگاه صنعتی همدان برگزار و سپس برای انتشار در همرویش ضبط شد. در بخش اول و دوم این کارگاه به بیان مفهوم شبکههای عصبی، ابزارهای ساخت آنها مانند تنسورفلو و پایتورچ میپردازیم. در بخش سوم و چهارم نیز مفهوم شبکه های عصبی GAN و سپس کدنویسی شبکه GAN را با تنسورفلو آموزش میدهیم. در پایان شبکهای که ساختید میتواند تصاویر خیالی از کشتیها تولید کند.
از زبان مدرس
اگر علاقهمند به شبکههای عصبی عمیق باشید حتما نام شبکههای مولد یا شاید نام هوش مصنوعی مولد (Gerative AI) را شنیده باشید. شبکههای مولد وظیفه تولید داده بر اساس یک سری شرایط یا ویژگی را دارند. کاربردهای هوش مصنوعی بر پایه چنین شبکههای روزافزون است.
شبکههای مولد زیرمجموعه یادگیری بدون نظارت هستند. به زبان ساده یعنی در هنگام یادگیری دادهها برچسب یا label ندارند و شبکه باید خودش الگوهای درون دادهها را کشف کند. از این رو آموزش چنین شبکههای نیازمند پردازش و حجم داده زبادی است.
در سال ۲۰۱۴ شبکههای مولد متخاصم (GAN) توسط یان گودفلو (Ian J. Goodfellow) و نویسندگان همکار وی معرفی شد. این نوع شبکهها با استفاده از شبکههای متمایزگر (Discriminator) که در اینجا آن را مخرب میگویند، راهکاری جالب برای تعلیم یک شبکه مولد (Generator) معرفی کردهاند. با ترکیب یک شبکه مولد که ورودی آن بردار داده تصادفی یا نویز میباشد و یک شبکه متمایزگر، توانایی یادگیری با استفاده از یادگیری بانظارت در شبکههای مولد ایجاد شده است. به این ترتیب توان یادگیری در این ساختار بالاتر و حجم پردازش و داده لازم کمتر خواهد بود.
این آموزش در یک نگاه
در این آموزش ابتداجایگاه یادگیری ماشین در هوش مصنوعی و مفهوم یادگیری بانظارت و بدون نظارت را مرور میکنیم. سپس ساختار شبکههای عصبی پیشخور و شبکههای عصبی پیچشی یا Convolutional NN را مرور میکنیم. آنگاه به معرفی کوتاه کتابخانههای پایتونی مرتبط با GAN شامل نامپای (Numpy)، پانداس(Pandas)، پولارس (Polars)، اسپارک برای کلان داده (Spark)، تنسورفلو (ُTensorFlow) و پایتورچ (PyTorch) میپردازیم.
در گام دوم کارگاه به معرفی ساختار شبکه عصبی GAN میپردازیم. سپس با استفاده از TensorFlow یک مثال از این شبکه را از صفر پیادهسازی میکنیم. توجه کنید که این یک کارگاه و نه یک دوره آموزش گام به گام است و درک آن برای کسانی مناسب است که یا همه پیشنیازهای ذکر شده در زیر را دارند یا توان جستجوی همزمان با تماشا (یا پس از تماشا هنگام اجرا) برای درک مفاهیم و کلاسهای مورد استفاده را به دلیل تجربه مشابه دارند. سورس کدهای آموزشی و تمرینی کارگاه نیز در دسترس فراگیران قرار دارند.
پیشنیازها
- آموزش پایتون از صفر تا شی گرایی و تست نویسی
- آموزش مفاهیم شبکه عصبی از صفر
- آموزش کدنویسی شبکه عصبی با پایتون
- آموزش مفاهیم شبکه عصبی کانولوشن به زبان ساده
- آموزش سریع تنسورفلو
- آموزش کدنویسی شبکه کانولوشن
این آموزش بینظیر است زیرا:
- به صورت کارگاهی و سریع ارائه شده است.
- سورس کدهای تمرینی به آن پیوست شده است.
- با وجود ماهیت کارگاهی بسیاری مفاهیم در کنار کدها مرور شده است.
کلیدواژگان:
آموزش شبکه GAN | آموزش شبکه مولد متخاصم | شبکه عصبی GAN | آموزش شبکه عصبی گن |
مصطفی آصفی –
کارگاه بسیار خوبیه دست مریزاد آقای کریمپور عزیز. امیدوارم دوستان با پیشنیاز کافی وارد این کارگاه بشن و از پیاده سازی خوب شما در مدت زمان کوتاه لذت ببرن.
متین زارعی کریم پور –
خیلی ممنون آقای آصفی عزیز
از حمایتهای شما در تهیه این کارگاه خیلی ممنونم
امیدوارم برای دوستان مفید باشه و استفاده کنند