Generative Adversarial Networks (GAN): Sebuah Pengantar
Diterbitkan: 2022-08-16Jaringan permusuhan generatif (GAN) adalah salah satu teknologi modern yang menawarkan banyak potensi dalam banyak kasus penggunaan, mulai dari membuat gambar lama Anda dan menambah suara Anda hingga menyediakan berbagai aplikasi di industri medis dan lainnya.
Teknologi canggih ini dapat membantu Anda membentuk produk dan layanan Anda. Hal ini juga dapat digunakan untuk meningkatkan kualitas gambar untuk melestarikan kenangan.
Sementara GAN adalah anugerah bagi banyak orang, beberapa menganggapnya mengkhawatirkan.
Tapi apa sebenarnya teknologi ini?
Pada artikel ini, saya akan membahas apa itu GAN, cara kerjanya, dan aplikasinya.
Jadi, mari selami!
Apa itu Jaringan Permusuhan Generatif?
Generative Adversarial Network (GAN) adalah kerangka kerja pembelajaran mesin yang terdiri dari dua jaringan saraf yang bersaing untuk menghasilkan prediksi yang lebih akurat seperti gambar, musik unik, gambar, dan sebagainya.
GAN dirancang pada tahun 2014 oleh seorang ilmuwan dan insinyur komputer, Ian Goodfellow, dan beberapa rekannya. Mereka adalah jaringan saraf dalam yang unik yang mampu menghasilkan data baru yang mirip dengan yang mereka latih. Mereka bersaing dalam permainan zero-sum yang mengakibatkan satu agen kalah dalam permainan sementara yang lain memenangkannya.

Awalnya, GAN diusulkan sebagai model generatif untuk pembelajaran mesin, terutama pembelajaran tanpa pengawasan. Tetapi GAN juga berguna untuk pembelajaran dengan pengawasan penuh, pembelajaran semi-diawasi, dan pembelajaran penguatan.
Dua blok dalam kompetisi di GAN adalah:
Generator: Ini adalah jaringan saraf convolutional yang secara artifisial menghasilkan output yang mirip dengan data aktual.
Diskriminator: Ini adalah jaringan saraf dekonvolusi yang dapat mengidentifikasi keluaran yang dibuat secara artifisial.
Konsep Kunci
Untuk memahami konsep GAN lebih baik, mari kita cepat memahami beberapa konsep penting terkait.
Pembelajaran mesin (ML)

Pembelajaran mesin adalah bagian dari kecerdasan buatan (AI) yang melibatkan pembelajaran dan pembuatan model yang memanfaatkan data untuk meningkatkan kinerja dan akurasi saat melakukan tugas atau membuat keputusan atau prediksi.
Algoritme ML membuat model berdasarkan data pelatihan, ditingkatkan dengan pembelajaran berkelanjutan. Mereka digunakan di berbagai bidang, termasuk visi komputer, pengambilan keputusan otomatis, penyaringan email, kedokteran, perbankan, kualitas data, keamanan siber, pengenalan suara, sistem rekomendasi, dan banyak lagi.
Model Diskriminatif

Dalam pembelajaran mendalam dan pembelajaran mesin, model pembeda berfungsi sebagai pengklasifikasi untuk membedakan antara satu set level atau dua kelas.
Misalnya, membedakan antara buah atau hewan yang berbeda.
Model Generatif
Dalam model generatif, sampel acak dianggap membuat gambar realistis baru. Ia belajar dari gambar nyata dari beberapa objek atau makhluk hidup untuk menghasilkan ide-idenya sendiri yang realistis namun ditiru. Model ini terdiri dari dua jenis:
Autoencoder variasi: Mereka menggunakan encoder dan decoder yang merupakan jaringan saraf terpisah. Ini berfungsi karena gambar realistis yang diberikan melewati encoder untuk mewakili gambar-gambar ini sebagai vektor dalam ruang laten.
Selanjutnya, decoder digunakan untuk mengambil interpretasi ini untuk menghasilkan beberapa salinan realistis dari gambar-gambar ini. Pada awalnya, kualitas gambarnya mungkin rendah, tetapi akan meningkat setelah dekoder berfungsi penuh, dan Anda dapat mengabaikan enkoder.
Jaringan permusuhan generatif (GAN): Seperti dibahas di atas, GAN adalah jaringan saraf dalam yang mampu menghasilkan data baru yang serupa dari input data yang diberikannya. Itu berada di bawah pembelajaran mesin tanpa pengawasan, yang merupakan salah satu jenis pembelajaran mesin yang dibahas di bawah ini.
Pembelajaran yang diawasi

Dalam pelatihan yang diawasi, mesin dilatih menggunakan data yang diberi label dengan baik. Ini berarti beberapa data sudah akan ditandai dengan jawaban yang benar. Di sini, mesin diberikan beberapa data atau contoh untuk memungkinkan algoritma pembelajaran yang diawasi untuk menganalisis data pelatihan dan menghasilkan hasil yang akurat dari data berlabel ini.
Pembelajaran tanpa pengawasan
Pembelajaran tanpa pengawasan melibatkan pelatihan mesin dengan bantuan data yang tidak diberi label atau diklasifikasikan. Ini memungkinkan algoritme pembelajaran mesin untuk mengerjakan data itu tanpa panduan. Dalam jenis pembelajaran ini, tugas mesin adalah mengkategorikan data yang tidak disortir berdasarkan pola, persamaan, dan perbedaan tanpa pelatihan data sebelumnya.
Jadi, GAN dikaitkan dengan melakukan pembelajaran tanpa pengawasan di ML. Ini memiliki dua model yang secara otomatis dapat mengungkap dan mempelajari pola dari data input. Kedua model tersebut adalah generator dan diskriminator.
Mari kita memahami mereka sedikit lebih.
Bagian dari GAN
Istilah "permusuhan" termasuk dalam GAN karena memiliki dua bagian – generator dan penyebut yang bersaing. Ini dilakukan untuk menangkap, meneliti, dan mereplikasi variasi data dalam kumpulan data. Mari kita memiliki pemahaman yang lebih baik tentang dua bagian GAN ini.
Generator

Generator adalah jaringan saraf yang mampu mempelajari dan menghasilkan titik data palsu seperti gambar dan audio yang terlihat realistis. Ini digunakan dalam pelatihan dan menjadi lebih baik dengan pembelajaran berkelanjutan.
Data yang dihasilkan oleh generator digunakan sebagai contoh negatif untuk bagian lain – penyebut yang akan kita lihat selanjutnya. Generator mengambil vektor panjang tetap acak sebagai input untuk menghasilkan output sampel. Hal ini bertujuan untuk mempresentasikan output di hadapan diskriminator sehingga dapat mengklasifikasikan apakah itu asli atau palsu.
Generator dilatih dengan komponen-komponen ini:
- Vektor masukan bising
- Jaringan generator untuk mengubah input acak menjadi instance data
- Jaringan diskriminator untuk mengklasifikasikan data yang dihasilkan
- Generator rugi untuk menghukum generator karena gagal mengelabui diskriminator
Generator bekerja seperti pencuri untuk mereplikasi dan membuat data realistis untuk mengelabui diskriminator. Hal ini bertujuan untuk mem-bypass beberapa pemeriksaan yang dilakukan. Meskipun bisa sangat gagal pada tahap awal, itu terus meningkat hingga menghasilkan banyak data yang realistis dan berkualitas tinggi dan dapat menghindari pengujian. Setelah kemampuan ini tercapai, Anda dapat menggunakan generator saja tanpa memerlukan diskriminator terpisah.
Diskriminator

Diskriminator juga merupakan jaringan saraf yang dapat membedakan antara gambar palsu dan asli atau tipe data lainnya. Seperti generator, ia memainkan peran penting selama fase pelatihan.
Ini bertindak seperti polisi untuk menangkap pencuri (data palsu oleh generator). Ini bertujuan untuk mendeteksi gambar palsu dan kelainan dalam contoh data.
Seperti yang telah dibahas sebelumnya, generator belajar dan terus berkembang untuk mencapai titik di mana ia menjadi mandiri untuk menghasilkan gambar berkualitas tinggi yang tidak memerlukan diskriminator. Ketika data berkualitas tinggi dari generator dilewatkan melalui diskriminator, itu tidak dapat lagi membedakan antara gambar asli dan palsu. Jadi, Anda baik-baik saja hanya dengan generator.
Bagaimana Cara Kerja GAN?
Dalam jaringan permusuhan generatif (GAN), tiga hal melibatkan:
- Model generatif untuk menggambarkan cara data dihasilkan.
- Pengaturan permusuhan di mana seorang model dilatih.
- Jaringan saraf dalam sebagai algoritme AI untuk pelatihan.
Dua jaringan saraf GAN - generator dan diskriminator - digunakan untuk memainkan permainan permusuhan. Generator mengambil data input, seperti file audio, gambar, dll., untuk menghasilkan instance data serupa sementara diskriminator memvalidasi keaslian instance data tersebut. Yang terakhir akan menentukan apakah contoh data yang telah ditinjau itu nyata atau tidak.

Misalnya, Anda ingin memverifikasi apakah gambar yang diberikan asli atau palsu. Anda dapat menggunakan input data yang dibuat dengan tangan untuk diumpankan ke generator. Ini akan membuat gambar baru yang direplikasi sebagai output.
Saat melakukannya, generator bertujuan agar semua gambar yang dihasilkannya akan dianggap asli, meskipun palsu. Ia ingin menciptakan hasil yang lumayan untuk berbohong dan menghindari tertangkap.
Selanjutnya output ini akan menuju ke diskriminator beserta sekumpulan gambar dari data nyata untuk mendeteksi apakah gambar tersebut asli atau tidak. Ini bekerja buruk pada generator tidak peduli seberapa keras mencoba meniru; diskriminator akan membantu membedakan data faktual dari yang palsu.

Diskriminator akan mengambil data palsu dan asli untuk mengembalikan probabilitas 0 atau 1. Di sini, 1 mewakili keaslian sedangkan 0 mewakili palsu.
Ada dua loop umpan balik dalam proses ini:
- Generator bergabung dengan loop umpan balik dengan diskriminator
- Diskriminator bergabung dengan loop umpan balik lain dengan satu set gambar nyata
Pelatihan GAN berfungsi karena generator dan diskriminator sedang dalam pelatihan. Generator terus belajar dengan melewatkan input yang salah, sedangkan diskriminator akan belajar untuk meningkatkan deteksi. Di sini, keduanya dinamis.
Diskriminator adalah jaringan konvolusi yang mampu mengkategorikan gambar yang diberikan padanya. Ini berfungsi sebagai pengklasifikasi binomial untuk memberi label gambar sebagai palsu atau nyata.
Di sisi lain, generator seperti jaringan konvolusi terbalik mengambil sampel data acak untuk menghasilkan gambar. Namun, diskriminator memverifikasi data dengan bantuan teknik downsampling seperti max-pooling.
Kedua jaringan mencoba mengoptimalkan fungsi kerugian atau tujuan yang berlawanan dan berbeda dalam permainan permusuhan. Kerugian mereka memungkinkan mereka untuk mendorong satu sama lain lebih keras.
Jenis GAN

Jaringan permusuhan generatif memiliki tipe yang berbeda berdasarkan implementasi. Berikut adalah jenis GAN utama yang digunakan secara aktif:
- Conditional GAN (CGAN): Ini adalah teknik pembelajaran mendalam yang melibatkan parameter kondisional khusus untuk membantu membedakan antara data asli dan palsu. Ini juga mencakup parameter tambahan – “y” dalam fase generator untuk menghasilkan data yang sesuai. Juga, label ditambahkan ke input ini dan diumpankan ke diskriminator untuk memungkinkannya memverifikasi apakah data itu asli atau palsu.
- Vanilla GAN: Ini adalah tipe GAN sederhana di mana diskriminator dan generator adalah perceptron yang lebih sederhana dan berlapis-lapis. Algoritmenya sederhana, mengoptimalkan persamaan matematika dengan bantuan penurunan gradien stokastik.
- Deep convolutional GAN (DCGAN): Ini populer dan dianggap sebagai implementasi GAN yang paling sukses. DCGAN terdiri dari ConvNets daripada multi-layer perceptrons. ConvNet ini diterapkan tanpa menggunakan teknik seperti max-pooling atau sepenuhnya menghubungkan lapisan.
- Super Resolution GAN (SRGAN): Ini adalah implementasi GAN yang menggunakan jaringan saraf dalam di samping jaringan permusuhan untuk membantu menghasilkan gambar berkualitas tinggi. SRGAN sangat berguna dalam meningkatkan gambar asli beresolusi rendah secara efisien sehingga detailnya ditingkatkan, dan kesalahan diminimalkan.
- Laplacian Pyramid GAN (LAPGAN): Ini adalah representasi linier dan dapat dibalik yang mencakup beberapa gambar band-pass yang ditempatkan delapan ruang terpisah dengan residu frekuensi rendah. LAPGAN menggunakan beberapa jaringan diskriminator dan generator dan beberapa tingkat Piramida Laplacian.
LAPGAN digunakan secara luas karena menghasilkan kualitas gambar terbaik. Gambar-gambar ini di-down-sampling di setiap lapisan piramida terlebih dahulu dan kemudian ditingkatkan skalanya di setiap lapisan, di mana ide-ide diberi beberapa noise hingga mendapatkan ukuran aslinya.
Aplikasi GAN
Jaringan permusuhan generatif digunakan di berbagai bidang, seperti:
Sains

GAN dapat memberikan cara yang akurat dan lebih cepat untuk memodelkan pembentukan jet energi tinggi dan melakukan eksperimen fisika. Jaringan ini juga dapat dilatih untuk memperkirakan kemacetan dalam melakukan simulasi untuk fisika partikel yang mengkonsumsi sumber daya yang berat.
GAN dapat mempercepat simulasi dan meningkatkan fidelitas simulasi. Selain itu, GAN dapat membantu mempelajari materi gelap dengan mensimulasikan lensa gravitasi dan meningkatkan gambar astronomi.
Video game

Dunia video game juga telah memanfaatkan GAN untuk meningkatkan data 2 dimensi resolusi rendah yang digunakan dalam video game lama. Ini akan membantu Anda membuat ulang data tersebut menjadi resolusi 4k atau bahkan lebih tinggi melalui pelatihan gambar. Selanjutnya, Anda dapat menurunkan sampel data atau gambar agar sesuai dengan resolusi nyata video game.
Berikan pelatihan yang tepat untuk model GAN Anda. Mereka dapat menawarkan gambar 2D yang lebih tajam dan lebih jelas dengan kualitas yang mengesankan dibandingkan dengan data asli sambil mempertahankan detail gambar yang sebenarnya, seperti warna.
Video game yang telah memanfaatkan GAN termasuk Resident Evil Remake, Final Fantasy VIII dan IX, dan banyak lagi.
Seni dan Mode
Anda dapat menggunakan GAN untuk menghasilkan karya seni, seperti membuat gambar individu yang tidak pernah ada, foto dalam lukisan, menghasilkan gambar model fesyen yang tidak nyata, dan banyak lagi. Ini juga digunakan dalam gambar yang menghasilkan bayangan dan sketsa virtual.
Periklanan

Menggunakan GAN untuk membuat dan memproduksi iklan Anda akan menghemat waktu dan sumber daya. Seperti yang terlihat di atas, jika Anda ingin menjual perhiasan Anda, Anda dapat membuat model imajiner yang terlihat seperti manusia sebenarnya dengan bantuan GAN.
Dengan cara ini, Anda dapat membuat model memakai perhiasan Anda dan memamerkannya kepada pelanggan Anda. Ini akan menyelamatkan Anda dari menyewa model dan membayarnya. Anda bahkan dapat menghilangkan biaya tambahan seperti membayar transportasi, menyewa studio, mengatur fotografer, penata rias, dll.
Ini akan sangat membantu jika Anda adalah bisnis yang sedang berkembang dan tidak mampu menyewa model atau membangun infrastruktur untuk pemotretan iklan.
Sintesis Audio
Anda dapat membuat file audio dari satu set klip audio dengan bantuan GAN. Ini juga dikenal sebagai audio generatif. Tolong jangan bingung ini dengan Amazon Alexa, Apple Siri, atau suara AI lainnya di mana fragmen suara dijahit dengan baik dan diproduksi sesuai permintaan.
Sebaliknya, audio generatif menggunakan jaringan saraf untuk mempelajari properti statistik sumber audio. Selanjutnya, secara langsung mereproduksi properti tersebut dalam konteks tertentu. Di sini, pemodelan mewakili cara ucapan berubah setelah setiap milidetik.
Pindah Belajar

Studi pembelajaran transfer lanjutan memanfaatkan GAN dalam menyelaraskan ruang fitur terbaru seperti pembelajaran penguatan mendalam. Untuk ini, embeddings sumber dan tugas yang ditujukan diumpankan ke diskriminator untuk menentukan konteksnya. Selanjutnya, hasilnya disebarkan kembali melalui encoder. Dengan cara ini, model terus belajar.
Aplikasi lain dari GAN meliputi:
- Diagnosis kehilangan penglihatan total atau sebagian dengan mendeteksi gambar glaukoma
- Visualisasikan desain industri, desain interior, item pakaian, sepatu, tas, dan lainnya
- merekonstruksi fitur wajah forensik dari orang yang sakit
- membuat model 3D item dari gambar, menghasilkan objek baru sebagai awan titik 3D, memodelkan pola gerakan dalam video
- Pamerkan penampilan seseorang dengan perubahan usia
- Augmentasi data seperti meningkatkan pengklasifikasi DNN
- Melukis fitur yang hilang di peta, meningkatkan tampilan jalan, mentransfer gaya pemetaan, dan banyak lagi
- Menghasilkan gambar, mengganti sistem pencarian gambar, dll.
- Hasilkan input kontrol ke sistem dinamis non-linier dengan menggunakan variasi GAN
- Menganalisis efek perubahan iklim pada rumah
- Buat wajah seseorang dengan mengambil suara mereka sebagai input
- Buat molekul baru untuk beberapa target protein pada kanker, fibrosis, dan peradangan
- Animasikan gif dari gambar biasa
Ada banyak lagi aplikasi GAN di berbagai bidang, dan penggunaannya semakin meluas. Namun, ada beberapa contoh penyalahgunaannya juga. Gambar manusia berbasis GAN telah digunakan untuk kasus penggunaan jahat seperti memproduksi video dan gambar palsu.
GAN juga dapat digunakan untuk membuat foto dan profil realistis orang-orang di media sosial yang belum pernah ada di muka bumi. Terkait penyalahgunaan GNA lainnya adalah pembuatan pornografi palsu tanpa persetujuan dari individu unggulan, distribusi video palsu kandidat politik, dan sebagainya.
Meskipun GNA bisa menjadi keuntungan di banyak bidang, penyalahgunaannya juga bisa menjadi bencana. Oleh karena itu, pedoman yang tepat harus ditegakkan untuk penggunaannya.
Kesimpulan
GAN adalah salah satu contoh luar biasa dari teknologi modern. Ini menyediakan cara yang unik dan lebih baik untuk menghasilkan data dan membantu dalam fungsi seperti diagnosis visual, sintesis gambar, penelitian, augmentasi data, seni dan sains, dan banyak lagi.
Anda mungkin juga tertarik dengan platform pembelajaran mesin kode rendah dan tanpa kode untuk membangun aplikasi inovatif.
