potongan Apa itu Generative Adversarial Network (GAN)? - Bersatu.AI
Terhubung dengan kami

AI 101

Apa itu Generative Adversarial Network (GAN)?

mm
Updated on

Jaringan Permusuhan Generatif (GAN) adalah jenis arsitektur jaringan saraf mampu menghasilkan data baru yang sesuai dengan pola yang dipelajari. GAN dapat digunakan untuk menghasilkan gambar wajah manusia atau objek lain, untuk menerjemahkan teks ke gambar, untuk mengubah satu jenis gambar ke gambar lainnya, dan untuk meningkatkan resolusi gambar (resolusi super) di antara aplikasi lainnya. Karena GAN dapat menghasilkan data yang sama sekali baru, GAN berada di kepala banyak sistem, aplikasi, dan penelitian AI mutakhir. Namun bagaimana tepatnya cara kerja GAN? Mari jelajahi bagaimana GAN berfungsi dan lihat beberapa kegunaan utamanya.

Mendefinisikan Model Generatif dan GAN

GAN adalah contoh model generatif. Sebagian besar model AI dapat dibagi menjadi salah satu dari dua kategori: model yang diawasi dan tidak diawasi. Model pembelajaran yang diawasi biasanya digunakan untuk membedakan antara berbagai kategori input, untuk mengklasifikasikan. Sebaliknya, model tanpa pengawasan biasanya digunakan untuk meringkas distribusi data, seringkali pembelajaran distribusi Gaussian dari data. Karena mereka mempelajari distribusi kumpulan data, mereka dapat menarik sampel dari distribusi yang dipelajari ini dan menghasilkan data baru.

Model generatif yang berbeda memiliki metode yang berbeda dalam menghasilkan data dan menghitung distribusi probabilitas. Misalnya, Model Naif Bayes beroperasi dengan menghitung distribusi probabilitas untuk berbagai fitur masukan dan kelas generatif. Saat model Naive Bayes membuat prediksi, ia menghitung kelas yang paling mungkin dengan mengambil probabilitas dari berbagai variabel dan menggabungkannya bersama. Model generatif pembelajaran non-dalam lainnya termasuk Model Campuran Gaussian dan Alokasi Dirichlet Laten (LDA). Model generatif berbasis kemiringan yang dalam memasukkan Mesin Boltzmann Terbatas (RBM), Autoencoder Variasi (VAE), dan tentu saja, GAN.

Jaringan Adversarial Generatif adalah pertama kali diusulkan oleh Ian Goodfellow pada tahun 2014, dan diperbaiki oleh Alec Redford dan peneliti lainnya pada tahun 2015, yang mengarah ke arsitektur standar untuk GAN. GAN sebenarnya adalah dua jaringan berbeda yang digabungkan menjadi satu. GAN adalah terdiri dari dua bagian: model generasi dan model diskriminasi, juga disebut sebagai generator dan diskriminator.

Arsitektur GAN

Jaringan Adversarial Generatif adalah dibangun dari model generator dan model diskriminator disatukan. Tugas model generator adalah membuat contoh data baru, berdasarkan pola yang telah dipelajari model dari data pelatihan. Tugas model diskriminator adalah menganalisis gambar (dengan asumsi dilatih pada gambar) dan menentukan apakah gambar tersebut dihasilkan/palsu atau asli.

Kedua model diadu satu sama lain, dilatih dengan gaya teori permainan. Tujuan model generator adalah menghasilkan gambar yang menipu musuhnya – model diskriminator. Sementara itu, tugas model diskriminator adalah mengatasi musuhnya, model generator, dan menangkap gambar palsu yang dihasilkan oleh generator. Fakta bahwa model diadu satu sama lain menghasilkan perlombaan senjata di mana kedua model meningkat. Diskriminator mendapat umpan balik tentang gambar mana yang asli dan gambar mana yang diproduksi oleh generator, sedangkan generator diberi informasi tentang gambar mana yang ditandai sebagai salah oleh diskriminator. Kedua model meningkat selama pelatihan, dengan tujuan melatih model generasi yang dapat menghasilkan data palsu yang pada dasarnya tidak dapat dibedakan dari data asli dan asli.

Setelah distribusi data Gaussian dibuat selama pelatihan, model generatif dapat digunakan. Model generator awalnya diberi vektor acak, yang ditransformasikan berdasarkan distribusi Gaussian. Dengan kata lain, vektor menyemai generasi. Saat model dilatih, ruang vektor akan menjadi versi terkompresi, atau representasi, dari distribusi Gaussian data. Versi terkompresi dari distribusi data disebut sebagai ruang laten, atau variabel laten. Nantinya, model GAN ​​kemudian dapat mengambil representasi ruang laten dan menarik poin darinya, yang dapat diberikan ke model generasi dan digunakan untuk menghasilkan data baru yang sangat mirip dengan data pelatihan.

Model diskriminator diberi contoh dari seluruh domain pelatihan, yang terdiri dari contoh data nyata dan yang dihasilkan. Contoh nyata terkandung dalam dataset pelatihan, sedangkan data palsu dihasilkan oleh model generatif. Proses pelatihan model diskriminator persis sama dengan pelatihan model klasifikasi biner dasar.

Proses Pelatihan GAN

Mari kita lihat secara keseluruhan latihan proses untuk tugas pembuatan gambar hipotetis.

Pertama-tama, GAN dilatih menggunakan gambar asli dan nyata sebagai bagian dari kumpulan data pelatihan. Ini mengatur model diskriminator untuk membedakan antara gambar yang dihasilkan dan gambar nyata. 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 ini, bersama beberapa gambar asli dari kumpulan data pelatihan, dimasukkan ke dalam model diskriminator. Diskriminator akan memberikan prediksi probabilistik tentang sifat gambar yang diterimanya, menghasilkan nilai antara 0 dan 1, di mana 1 biasanya adalah gambar asli dan 0 adalah gambar palsu.

Ada putaran umpan balik ganda yang dimainkan, karena diskriminator dasar diberi kebenaran dasar dari gambar, sementara generator diberi umpan balik tentang kinerjanya oleh diskriminator.

Model generatif dan diskriminasi memainkan permainan zero-sum satu sama lain. Permainan zero-sum adalah salah satu di mana keuntungan di satu sisi datang dengan mengorbankan sisi lain (jumlahnya adalah kedua tindakan adalah nol ex). Ketika model diskriminator berhasil membedakan antara contoh nyata dan palsu, tidak ada perubahan yang dilakukan pada parameter diskriminator. Namun, pembaruan besar dilakukan pada parameter model saat gagal membedakan antara gambar asli dan palsu. Kebalikannya benar untuk model generatif, itu dihukum (dan parameternya diperbarui) ketika gagal menipu model diskriminatif, tetapi sebaliknya parameternya tidak berubah (atau dihargai).

Idealnya, generator mampu meningkatkan kinerjanya ke titik di mana pembeda tidak dapat membedakan antara gambar palsu dan nyata. Ini berarti bahwa pembeda akan selalu memberikan probabilitas %50 untuk gambar asli dan palsu, artinya gambar yang dihasilkan harus tidak dapat dibedakan dari gambar aslinya. Dalam praktiknya, GAN biasanya tidak akan mencapai titik ini. Namun, model generatif tidak perlu membuat gambar yang sangat mirip agar tetap berguna untuk banyak tugas yang digunakan GAN.

Aplikasi GAN

GAN memiliki sejumlah aplikasi yang berbeda, sebagian besar berputar di sekitar pembuatan gambar dan komponen gambar. GAN umumnya digunakan dalam tugas-tugas di mana data gambar yang diperlukan tidak ada atau kapasitasnya terbatas, sebagai metode menghasilkan data yang diperlukan. Mari kita periksa beberapa kasus penggunaan umum untuk GAN.

Menghasilkan Contoh Baru Untuk Kumpulan Data

GAN dapat digunakan untuk menghasilkan contoh baru untuk kumpulan data gambar sederhana. Jika Anda hanya memiliki sedikit contoh pelatihan dan membutuhkan lebih banyak, GAN dapat digunakan untuk menghasilkan data pelatihan baru untuk pengklasifikasi gambar, menghasilkan contoh pelatihan baru pada orientasi dan sudut yang berbeda.

Menghasilkan Wajah Manusia yang Unik

Wanita di foto ini tidak ada. Gambar dihasilkan oleh StyleGAN. Foto: Owlsmcgee melalui Wikimedia Commons, Domain Publik (https://commons.wikimedia.org/wiki/File:Woman_1.jpg)

Ketika cukup terlatih, GAN dapat digunakan menghasilkan gambar wajah manusia yang sangat realistis. Gambar yang dihasilkan ini dapat digunakan untuk membantu melatih sistem pengenalan wajah.

Terjemahan Gambar-ke-Gambar

GAN unggul dalam terjemahan gambar. GAN dapat digunakan untuk mewarnai 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 adalah mungkin melalui penggunaan GAN. Jika dilengkapi dengan teks yang mendeskripsikan gambar dan gambar yang menyertainya, GAN dapat melakukannya dilatih untuk membuat gambar baru ketika diberikan dengan deskripsi gambar yang diinginkan.

Mengedit Dan Memperbaiki Gambar

GAN dapat digunakan untuk mengedit foto yang ada. GAN menghapus elemen seperti hujan atau salju dari sebuah gambar, tetapi mereka juga dapat digunakan untuk memperbaiki gambar lama yang rusak atau gambar yang rusak. 

Resolusi Super

Resolusi super adalah proses mengambil gambar beresolusi rendah dan memasukkan lebih banyak piksel ke dalam gambar, meningkatkan resolusi gambar tersebut. GAN dapat dilatih untuk mengambil gambar dan menghasilkan versi resolusi yang lebih tinggi dari gambar itu. 

Blogger dan programmer dengan spesialisasi di Pembelajaran mesin dan Belajar mendalam topik. Daniel berharap dapat membantu orang lain menggunakan kekuatan AI untuk kebaikan sosial.