Apa itu GAN?
Jaringan adversarial generatif (GAN) adalah sebuah arsitektur deep learning. Arsitektur ini melatih dua jaringan neural untuk saling bersaing agar dapat menghasilkan data baru yang lebih autentik dari set data pelatihan yang diberikan. Misalnya, Anda dapat menghasilkan gambar baru dari basis data gambar yang ada atau musik asli dari basis data lagu. GAN disebut adversarial karena melatih dua jaringan yang berbeda dan mengadu keduanya. Jaringan pertama menghasilkan data baru dengan mengambil sampel data input dan memodifikasinya semaksimal mungkin. Di sisi lain, jaringan kedua mencoba memprediksi apakah output data yang dihasilkan termasuk dalam set data asli. Dengan kata lain, jaringan prediksi menentukan keaslian data yang dihasilkan. Sistem menghasilkan versi nilai data palsu yang lebih baru dan lebih baik hingga jaringan prediksi tidak lagi dapat membedakan antara yang palsu dan asli.
Apa saja kasus penggunaan jaringan adversarial generatif?
Arsitektur GAN memiliki beberapa aplikasi di berbagai industri. Berikutnya, kami akan berikan beberapa contoh.
Menghasilkan gambar
Jaringan adversarial generatif membuat gambar realistis melalui petunjuk berbasis teks atau dengan memodifikasi gambar yang ada. Jaringan-jaringan ini dapat membantu menciptakan pengalaman visual yang realistis dan imersif dalam game video serta hiburan digital.
GAN juga dapat mengedit gambar—seperti mengubah gambar beresolusi rendah menjadi beresolusi tinggi atau mengubah gambar hitam-putih menjadi berwarna. Arsitektur ini juga dapat membuat wajah, karakter, dan hewan yang realistis untuk animasi serta video.
Menghasilkan data pelatihan untuk model lain
Dalam machine learning (ML), augmentasi data meningkatkan set pelatihan secara artifisial dengan membuat salinan set data yang dimodifikasi menggunakan data yang ada.
Anda dapat menggunakan model generatif untuk augmentasi data guna membuat data sintetis dengan semua atribut data dunia nyata. Misalnya, augmentasi ini dapat menghasilkan data transaksi curang yang selanjutnya dapat Anda gunakan untuk melatih sistem ML deteksi kecurangan lainnya. Data ini dapat mengajarkan sistem untuk secara akurat membedakan antara transaksi yang mencurigakan dan yang asli.
Melengkapi informasi yang hilang
Terkadang, Anda mungkin ingin agar model generatif dapat secara akurat menebak dan melengkapi beberapa informasi yang hilang dalam suatu set data.
Misalnya, Anda dapat melatih GAN untuk menghasilkan gambar permukaan di bawah tanah (bawah permukaan) dengan memahami korelasi antara data permukaan dan struktur bawah tanah. Dengan mempelajari gambar bawah permukaan yang diketahui, GAN dapat membuat gambar bawah permukaan baru menggunakan peta topografi untuk aplikasi energi seperti pemetaan panas bumi atau penangkapan dan penyimpanan karbon.
Menghasilkan model 3D dari data 2D
GAN dapat menghasilkan model 3D dari foto 2D atau gambar yang dipindai. Misalnya, dalam layanan kesehatan, GAN menggabungkan sinar-X dan pemindaian tubuh lainnya untuk membuat gambar organ yang realistis untuk perencanaan dan simulasi bedah.
Bagaimana cara kerja jaringan adversarial generatif?
Sistem jaringan adversarial generatif terdiri dari dua jaringan deep neural—jaringan generator dan jaringan diskriminator. Kedua jaringan ini berlatih dalam permainan adversarial, yaitu satu jaringan mencoba menghasilkan data baru dan jaringan lainnya mencoba memprediksi apakah output itu merupakan data palsu atau nyata.
Secara teknis, cara kerja GAN adalah sebagai berikut. Dasar dari seluruh proses komputasi dibentuk oleh persamaan matematika yang kompleks, tetapi berikut adalah gambaran sederhananya:
- Jaringan neural generator menganalisis set pelatihan dan mengidentifikasi atribut data
- Jaringan neural diskriminator juga menganalisis data pelatihan awal dan membedakan antara berbagai atribut secara independen
- Generator memodifikasi beberapa atribut data dengan menambahkan derau (atau perubahan acak) ke atribut tertentu
- Generator meneruskan data yang dimodifikasi ke diskriminator
- Diskriminator menghitung kemungkinan bahwa output yang dihasilkan merupakan milik set data asli
- Diskriminator memberikan beberapa panduan pada generator untuk mengurangi pengacakan vektor derau dalam siklus berikutnya
Generator mencoba memaksimalkan kemungkinan kesalahan diskriminator, tetapi diskriminator akan berupaya meminimalkan kemungkinan kesalahan. Dalam iterasi pelatihan, baik generator maupun diskriminator berkembang dan saling berkonfrontasi secara terus menerus sampai keduanya mencapai keadaan kesetimbangan. Dalam keadaan setimbang, diskriminator tidak dapat lagi mengenali data yang disintesis. Pada titik ini, proses pelatihan telah selesai.
Contoh pelatihan GAN
Kita akan mengontekstualisasikan hal di atas dengan contoh model GAN dalam terjemahan gambar-ke-gambar.
Asumsikan bahwa gambar input adalah wajah manusia yang akan coba dimodifikasi oleh GAN. Misalnya, atributnya dapat berupa bentuk mata atau telinga. Katakanlah, generator mengubah gambar wajah asli dengan menambahkan kacamata hitam ke dalam gambar. Diskriminator menerima set gambar, yaitu beberapa gambar orang asli dengan kacamata hitam dan beberapa gambar hasil modifikasi yang menyertakan kacamata hitam.
Jika diskriminator dapat membedakan antara yang palsu dan asli, generator akan memperbarui parameternya untuk menghasilkan gambar palsu yang lebih baik. Jika generator menghasilkan gambar yang dapat menipu diskriminator, parameter akan diperbarui oleh diskriminator. Persaingan akan meningkatkan kedua jaringan hingga tercapai kesetimbangan.
Apa saja tipe jaringan adversarial generatif?
Terdapat berbagai tipe model GAN tergantung rumus matematika yang digunakan dan perbedaan cara generator serta diskriminator berinteraksi satu sama lain.
Selanjutnya, kami akan memberikan beberapa model yang umum digunakan, tetapi daftar tersebut tidak mencakup seluruhnya. Terdapat banyak tipe GAN lainnya—seperti StyleGAN, CycleGAN, dan DiscoGAN—yang dapat memecahkan berbagai jenis masalah.
Vanilla GAN
Ini merupakan model GAN dasar yang menghasilkan variasi data dengan sedikit atau tanpa umpan balik dari jaringan diskriminator. Vanilla GAN biasanya membutuhkan peningkatan untuk sebagian besar kasus penggunaan dunia nyata.
Conditional GAN
Conditional GAN (cGAN) memperkenalkan konsep kondisionalitas, yang memungkinkan pembuatan data bertarget. Generator dan diskriminator menerima informasi tambahan, yang biasanya berupa label kelas atau beberapa bentuk data pengondisian lainnya.
Misalnya, jika menghasilkan gambar, kondisi dapat berupa label yang mendeskripsikan konten gambar. Pengondisian memungkinkan generator menghasilkan data yang memenuhi kondisi tertentu.
Deep convolutional GAN
Sadar akan kekuatan convolutional neural network (CNN) dalam pemrosesan gambar, Deep convolutional GAN (DCGAN) mengintegrasikan arsitektur CNN ke dalam GAN.
Dengan DCGAN, generator menggunakan konvolusi yang ditransposisikan untuk meningkatkan skala distribusi data, dan diskriminator juga menggunakan lapisan konvolusi untuk mengklasifikasikan data. DCGAN juga menggunakan pedoman arsitektur agar pelatihan lebih stabil.
Super-resolution GAN
Super-resolution GAN (SRGAN) berfokus pada peningkatan gambar beresolusi rendah menjadi beresolusi tinggi. Tujuannya adalah untuk meningkatkan gambar ke resolusi yang lebih tinggi sambil mempertahankan kualitas dan detail gambar.
Laplacian Pyramid GAN (LAPGAN) mengatasi tantangan dalam menghasilkan gambar resolusi tinggi dengan memecah masalah menjadi beberapa tahap. GAN ini menggunakan pendekatan hierarkis, dengan beberapa generator dan diskriminator yang bekerja pada skala atau resolusi gambar yang berbeda. Proses dimulai dengan menghasilkan gambar resolusi rendah yang kualitasnya akan meningkat melalui tahap GAN progresif.
Bagaimana cara AWS mendukung kebutuhan jaringan adversarial generatif Anda?
Amazon Web Services (AWS) menawarkan banyak layanan untuk mendukung kebutuhan GAN Anda.
Amazon SageMaker adalah layanan terkelola penuh yang dapat Anda gunakan untuk menyiapkan data dan membangun, melatih, serta melakukan deployment model machine learning. Model ini dapat digunakan dalam banyak skenario, dan SageMaker dilengkapi dengan infrastruktur, alat, dan alur kerja yang dikelola sepenuhnya. Layanan ini memiliki berbagai fitur untuk mempercepat pengembangan dan pelatihan GAN untuk aplikasi apa pun.
Amazon Bedrock adalah layanan terkelola penuh. Anda dapat menggunakannya untuk mengakses model fondasi (FM), atau jaringan deep neural yang terlatih, dari Amazon dan perusahaan rintisan kecerdasan buatan (AI) terkemuka. FM ini tersedia melalui API sehingga Anda dapat memilih berbagai opsi untuk menemukan model terbaik untuk kebutuhan Anda. Anda dapat menggunakan model ini dalam aplikasi GAN Anda sendiri. Dengan Amazon Bedrock, Anda dapat mengembangkan dan melakukan deployment aplikasi AI generatif yang dapat diskalakan, andal, dan aman dengan lebih cepat. Selain itu, Anda tidak perlu mengelola infrastruktur.
AWS DeepComposer memberi Anda cara kreatif untuk memulai dengan ML. Anda dapat praktik langsung dengan keyboard musikal dan teknik ML terbaru yang didesain untuk mengembangkan keterampilan ML Anda. Terlepas dari latar belakangnya dalam ML atau musik, developer Anda dapat mulai menggunakan GAN. Selain itu, mereka dapat melatih dan mengoptimalkan model GAN untuk membuat musik orisinal.
Mulai menggunakan jaringan adversarial generatif di AWS dengan membuat akun sekarang juga.