Dasar-dasar AI
Apa itu Jaringan Adversarial Generatif (GAN)?
Jaringan Adversarial Generatif (GANs) adalah jenis arsitektur jaringan saraf yang mampu menghasilkan data baru yang sesuai dengan pola yang dipelajari. GANs dapat digunakan untuk menghasilkan gambar wajah manusia atau objek lain, melakukan terjemahan teks-ke-gambar, mengubah satu jenis gambar ke jenis lain, dan meningkatkan resolusi gambar (super resolusi) di antara aplikasi lain. Karena GANs dapat menghasilkan data baru sepenuhnya, mereka berada di garis depan banyak sistem, aplikasi, dan penelitian AI canggih. Namun, bagaimana GANs bekerja secara tepat? Mari kita jelajahi bagaimana GANs berfungsi dan melihat beberapa aplikasi utama mereka.
Definisi Model Generatif dan GANs
GAN adalah contoh model generatif. Sebagian besar model AI dapat dibagi menjadi dua kategori: model pembelajaran terawasi dan model pembelajaran tak terawasi. Model pembelajaran terawasi biasanya digunakan untuk membedakan antara kategori input yang berbeda, untuk mengklasifikasikan. Di sisi lain, model pembelajaran tak terawasi biasanya digunakan untuk merangkum distribusi data, sering kali mempelajari distribusi Gaussian dari data. Karena mereka mempelajari distribusi dataset, mereka dapat menarik sampel dari distribusi yang dipelajari dan menghasilkan data baru.
Model generatif yang berbeda memiliki metode yang berbeda untuk menghasilkan data dan menghitung distribusi probabilitas. Misalnya, model Naive Bayes bekerja dengan menghitung distribusi probabilitas untuk fitur input yang berbeda dan kelas generatif. Ketika model Naive Bayes membuat prediksi, itu menghitung kelas yang paling mungkin dengan mengambil probabilitas dari variabel yang berbeda dan menggabungkannya bersama. Model generatif non-pembelajaran dalam yang lain termasuk Gaussian Mixture Models dan Latent Dirichlet Allocation (LDA). Model generatif berbasis pembelajaran dalam termasuk Restricted Boltzmann Machines (RBMs), Variational Autoencoders (VAEs), dan tentu saja, GANs.
Jaringan Adversarial Generatif pertama kali diusulkan oleh Ian Goodfellow pada tahun 2014, dan mereka diperbarui oleh Alec Redford dan peneliti lain pada tahun 2015, yang mengarah pada arsitektur standar untuk GANs. GANs sebenarnya adalah dua jaringan yang berbeda yang digabungkan bersama. GANs terdiri dari dua bagian: model generatif dan model diskriminatif, juga disebut generator dan diskriminator.
Arsitektur GAN
Jaringan Adversarial Generatif dibangun dari model generator dan model diskriminator yang digabungkan. Tugas model generator adalah membuat contoh data baru berdasarkan pola yang dipelajari dari data pelatihan. Tugas model diskriminator adalah menganalisis gambar (dengan asumsi bahwa itu dilatih pada gambar) dan menentukan apakah gambar tersebut dihasilkan/palsu atau asli.

Kedua model saling berlawanan, dilatih dalam gaya teoretis permainan. Tujuan model generator adalah menghasilkan gambar yang menipu lawannya – model diskriminator. Sementara itu, tugas model diskriminator adalah mengalahkan lawannya, model generator, dan menangkap gambar palsu yang dihasilkan oleh generator. Fakta bahwa model-model tersebut saling berlawanan menghasilkan perlombaan senjata di mana kedua model meningkat. Model diskriminator mendapatkan umpan balik tentang gambar mana yang asli dan mana yang dihasilkan oleh generator, sedangkan generator diberi informasi tentang gambar mana yang ditandai sebagai palsu oleh diskriminator. Kedua model meningkat selama pelatihan, dengan tujuan melatih model generatif yang dapat menghasilkan data palsu yang hampir tidak dapat dibedakan dari data asli.
Setelah distribusi Gaussian dari data telah dibuat selama pelatihan, model generatif dapat digunakan. Model generator awalnya diberi vektor acak, yang kemudian diubah berdasarkan distribusi Gaussian. Dengan kata lain, vektor tersebut memulai proses generasi. Ketika model dilatih, ruang vektor akan menjadi versi kompres, atau representasi, dari distribusi Gaussian data. Versi kompres dari distribusi data disebut ruang laten, atau variabel laten. Kemudian, model GAN dapat mengambil representasi ruang laten dan menggambar titik dari itu, yang dapat diberikan kepada model generatif dan digunakan untuk menghasilkan data baru yang sangat mirip dengan data pelatihan.
Model diskriminator diberi contoh dari domain pelatihan keseluruhan, yang terdiri dari contoh data asli dan contoh data yang dihasilkan. Contoh asli terdapat dalam dataset pelatihan, sedangkan data palsu dihasilkan oleh model generatif. Proses pelatihan model diskriminator sama dengan pelatihan model klasifikasi biner dasar.
Proses Pelatihan GAN
Mari kita lihat proses pelatihan keseluruhan untuk tugas penghasilan gambar hipotetis.
Untuk memulai, GAN dilatih menggunakan gambar asli sebagai bagian dari dataset pelatihan. Ini mempersiapkan model diskriminator untuk membedakan antara gambar yang dihasilkan dan gambar asli. Ini juga menghasilkan distribusi data yang akan digunakan generator untuk menghasilkan data baru.
Generator mengambil vektor data numerik acak dan mengubahnya berdasarkan distribusi Gaussian, mengembalikan gambar. Gambar yang dihasilkan, bersama dengan beberapa gambar asli dari dataset pelatihan, diberikan kepada model diskriminator. Model diskriminator akan membuat prediksi probabilistik tentang sifat gambar yang diterimanya, mengeluarkan nilai antara 0 dan 1, di mana 1 biasanya gambar asli dan 0 adalah gambar palsu.

Ada umpan balik ganda yang bermain, karena diskriminator diberi kebenaran dasar dari gambar, sedangkan generator diberi umpan balik tentang kinerjanya oleh diskriminator.
Model generatif dan diskriminatif bermain dalam permainan zero-sum. Permainan zero-sum adalah permainan di mana keuntungan satu pihak datang dengan biaya pihak lain (jumlahnya adalah nol). Ketika model diskriminator berhasil membedakan antara contoh asli dan contoh palsu, tidak ada perubahan yang dilakukan pada parameter diskriminator. Namun, pembaruan besar dilakukan pada parameter model ketika gagal membedakan antara contoh asli dan contoh palsu. Sebaliknya, model generatif dihukum (dan parameter diupdate) ketika gagal menipu model diskriminatif, tetapi tidak ada perubahan (atau diberi penghargaan) jika berhasil.
Ideally, generator dapat meningkatkan kinerjanya ke titik di mana diskriminator tidak dapat membedakan antara gambar palsu dan gambar asli. Ini berarti bahwa diskriminator akan selalu mengeluarkan probabilitas 50% untuk gambar asli dan gambar palsu, yang berarti gambar yang dihasilkan harus tidak dapat dibedakan dari gambar asli. Dalam prakteknya, GANs biasanya tidak mencapai titik ini. Namun, model generatif tidak perlu menghasilkan gambar yang sangat mirip untuk masih berguna untuk banyak tugas yang GANs digunakan.
Aplikasi GAN
GANs memiliki sejumlah aplikasi yang berbeda, sebagian besar berkaitan dengan penghasilan gambar dan komponen gambar. GANs umumnya digunakan dalam tugas di mana data gambar yang diperlukan hilang atau terbatas dalam beberapa kapasitas, sebagai metode untuk menghasilkan data yang diperlukan. Mari kita lihat beberapa kasus penggunaan umum untuk GANs.
Menghasilkan Contoh Baru untuk Dataset
GANs dapat digunakan untuk menghasilkan contoh baru untuk dataset gambar sederhana. Jika Anda hanya memiliki beberapa contoh pelatihan dan memerlukan lebih banyak, GANs dapat digunakan untuk menghasilkan data pelatihan baru untuk klasifikasi gambar, menghasilkan contoh pelatihan baru pada orientasi dan sudut yang berbeda.
Menghasilkan Wajah Manusia Unik

Wanita dalam foto ini tidak ada. Gambar ini dihasilkan oleh StyleGAN. Foto: Owlsmcgee via Wikimedia Commons, Domain Publik (https://commons.wikimedia.org/wiki/File:Woman_1.jpg)
Ketika dilatih dengan cukup, GANs dapat digunakan untuk menghasilkan gambar wajah manusia yang sangat realistis. Gambar yang dihasilkan dapat digunakan untuk membantu melatih sistem pengenalan wajah.
Terjemahan Gambar-ke-Gambar
GANs unggul dalam terjemahan gambar. GANs dapat digunakan untuk mengwarnai gambar hitam-putih, menerjemahkan sketsa atau gambar menjadi gambar fotografi, atau mengubah gambar dari siang ke malam.
Terjemahan Teks-ke-Gambar
Terjemahan teks-ke-gambar memungkinkan melalui penggunaan GANs. Ketika diberikan teks yang menjelaskan gambar dan gambar yang menyertainya, GAN dapat dilatih untuk membuat gambar baru ketika diberikan deskripsi gambar yang diinginkan.
Mengedit dan Memperbaiki Gambar
GANs dapat digunakan untuk mengedit gambar yang ada. GANs menghilangkan elemen seperti hujan atau salju dari gambar, tetapi mereka juga dapat digunakan untuk memperbaiki gambar lama, rusak, atau gambar yang rusak.
Super Resolusi
Super resolusi adalah proses mengambil gambar dengan resolusi rendah dan menyisipkan lebih banyak piksel ke dalam gambar, meningkatkan resolusi gambar. GANs dapat dilatih untuk mengambil gambar dan menghasilkan versi dengan resolusi lebih tinggi dari gambar tersebut.
juga dapat digunakan untuk memperbaiki gambar lama, rusak, atau gambar yang rusak. Super Resolusi Super resolusi adalah proses mengambil gambar dengan resolusi rendah dan menyisipkan lebih banyak piksel ke dalam gambar, meningkatkan resolusi gambar. GANs dapat dilatih untuk mengambil gambar dan menghasilkan versi dengan resolusi lebih tinggi dari gambar tersebut.












