Model GAN Stabil degan Custom Neural Network MNIST

Ragil Saputri

Sosial Media


0 orang menyukai ini
Suka

Summary

Generative Adversarial Network (GAN) merupakan salah satu algoritma deep learning yang terdiri dari dua jaringan saraf tiruan (neural network) yang saling bersaing untuk mencapai tujuan berbeda. Jaringan pertama, yang disebut generator, bertugas menghasilkan data yang menyerupai data pelatihan. Sedangkan jaringan kedua, yang dikenal sebagai discriminator, bertugas membedakan antara data yang dihasilkan oleh generator dan data asli dari pelatihan.

Description

Proses kerja GAN dimulai dengan generator menciptakan sampel data yang kemudian diberikan kepada discriminator. Discriminator akan mencoba menentukan apakah data tersebut palsu (hasil dari generator) atau asli (data pelatihan). Proses ini berlangsung secara iteratif hingga generator mampu menghasilkan data yang sangat mirip dengan data pelatihan, sehingga discriminator kesulitan untuk membedakannya.

 

Berikut langkah-langkah pengerjaanya:

# Dataset dan Dataloader

Untuk memuat dan mengelola data. Di PyTorch, dataset didefinisikan menggunakan class torch.utils.data.Dataset.

 

#  Install Library

library penting: torch untuk operasi tensor dan pelatihan model, torch.nn untuk mendefinisikan arsitektur jaringan saraf, torch.optim untuk mengelola optimizer, torchvision.datasets dan transforms untuk memuat dataset standar dan menerapkan transformasi, serta matplotlib.pyplot untuk visualisasi data dan hasil model.

 

#  Setup Dataset

 

#  teknik baru : Wasserstein GAN (WGAN)

Menggunakan loss function yang berbeda (wasserstein loss) untuk stabilitas.

 

#  Generator

Generator: Membuat data palsu (contoh gambar) yang menyerupai data asli.

 

#  Discriminator

Discriminator: Membedakan antara data asli dan data palsu yang dibuat oleh Generator.

 

#  Optimizers dan Loss Function

Optimizers: Mengatur pembaruan bobot model untuk meminimalkan loss selama pelatihan. Loss Function: Mengukur seberapa baik model memprediksi output yang diinginkan.

 

#  Proses Training

Proses training melatih Generator untuk menghasilkan data realistis dan Discriminator untuk membedakan data palsu dari data asli, hingga keduanya mencapai keseimbangan.

 

 

 

#  Visualisasi

Visualisasi digunakan untuk memantau perkembangan hasil yang dihasilkan oleh model, seperti gambar yang dibuat oleh Generator selama pelatihan.

 

Kesimpulan : pengerjaan ini bertujuan untuk memahami cara membuat Generative Adversarial Networks (GAN) menggunakan dataset MNIST untuk menghasilkan gambar digit tulisan tangan. Dalam tugas ini, kita belajar cara menstabilkan pelatihan GAN dengan teknik baru seperti Wasserstein GAN, yang membantu mencegah masalah dalam pelatihan. Selain itu terdapat cara membuat dan mengubah arsitektur model menggunakan custom class, sehingga bisa mengatur sendiri dengan berbagai lapisan dan fungsi untuk meningkatkan kualitas gambar yang dihasilkan.

Informasi Course Terkait
  Kategori: Computer Vision
  Course: Generative Adversarial Networks dengan Pytorch