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