Mengenal Autoencoder dalam AI: Cara Kerja, Jenis, dan Aplikasinya
- Rita Puspita Sari
- •
- 02 Agu 2025 22.54 WIB
Ilustrasi Artificial Intelligence
Dalam era kecerdasan buatan (Artificial Intelligence/AI) dan pembelajaran mesin (machine learning), salah satu pendekatan yang sering digunakan untuk memahami dan memproses data adalah autoencoder. Autoencoder bukanlah istilah baru dalam dunia AI, namun konsep dan penerapannya terus berkembang dan memiliki peran yang sangat signifikan dalam berbagai bidang, seperti kompresi data, deteksi anomali, hingga pembuatan gambar.
Artikel ini akan mengupas tentang apa itu autoencoder, bagaimana cara kerjanya, perbedaan antara autoencoder dan model encoder-decoder biasa, serta jenis-jenis dan fungsinya dalam berbagai aplikasi machine learning.
Apa Itu Autoencoder?
Secara sederhana, autoencoder adalah arsitektur jaringan saraf tiruan (artificial neural network) yang digunakan untuk mengompresi dan merekonstruksi kembali data. Tujuannya adalah menyaring informasi paling penting dari suatu data dengan cara mengubah data tersebut ke dalam bentuk yang lebih ringkas (disebut sebagai representasi laten), kemudian mengubahnya kembali ke bentuk aslinya.
Meskipun proses ini terlihat sederhana, pada praktiknya autoencoder mempelajari pola-pola tersembunyi dari data yang tidak berlabel. Maka dari itu, autoencoder termasuk dalam unsupervised learning atau pembelajaran tanpa pengawasan. Namun, karena model ini tetap memerlukan referensi data asli untuk membandingkan hasilnya, autoencoder juga disebut sebagai self-supervised learning.
Komponen Utama Autoencoder
Autoencoder terdiri dari tiga komponen utama:
- Encoder
Encoder bertugas untuk mengubah data input menjadi representasi yang lebih kecil (kompresi). Ini dilakukan dengan cara mereduksi dimensi data melalui lapisan-lapisan saraf dalam jaringan. - Bottleneck
Ini adalah lapisan paling sempit atau titik terendah dari dimensi data. Representasi di bottleneck disebut sebagai kode atau representasi laten dari data. Tujuan dari kompresi ini adalah agar hanya fitur-fitur penting dari data yang dipertahankan. - Decoder
Decoder bertugas untuk mengembalikan data yang telah dikompresi ke bentuk semula. Tujuannya adalah menghasilkan data yang semirip mungkin dengan data input asli. Di sinilah kemampuan autoencoder diukur—yakni dengan membandingkan hasil rekonstruksi dengan data input.
Bagaimana Autoencoder Bekerja?
Untuk memahami cara kerja autoencoder, mari kita bayangkan alurnya sebagai proses bolak-balik:
- Data input dimasukkan ke jaringan encoder yang terdiri dari beberapa lapisan. Di sini, data direduksi melalui aktivasi neuron secara bertahap.
- Di lapisan bottleneck, data telah dikompresi maksimal menjadi representasi laten.
- Data ini diteruskan ke jaringan decoder, yang kemudian mencoba merekonstruksi kembali data tersebut.
- Hasil rekonstruksi dibandingkan dengan input asli, dan selisihnya dihitung sebagai loss function (fungsi kerugian).
- Dengan menggunakan teknik backpropagation, bobot jaringan disesuaikan agar loss semakin kecil, sehingga autoencoder bisa belajar untuk merekonstruksi input secara akurat.
Proses ini dilakukan tanpa memerlukan label atau target khusus, cukup dengan input data itu sendiri.
Autoencoder vs Encoder-Decoder
Meski terdengar mirip, tidak semua arsitektur encoder-decoder adalah autoencoder. Apa bedanya?
- Pada autoencoder, output-nya adalah input itu sendiri. Model ini dilatih untuk mempelajari representasi tersembunyi dari data tanpa bantuan label.
- Pada encoder-decoder biasa, misalnya pada model machine translation (penerjemahan mesin), output-nya berbeda dari input. Encoder mengambil kalimat bahasa Inggris dan decoder menerjemahkannya ke bahasa Indonesia, misalnya.
Contoh lain dari encoder-decoder non-autoencoder adalah model U-Net untuk segmentasi gambar dan model RNN untuk teks urutan ke urutan (sequence-to-sequence).
Dengan kata lain, autoencoder adalah bentuk khusus dari encoder-decoder, yang ditujukan untuk merekonstruksi input-nya sendiri dan dilatih tanpa pengawasan eksternal.
Keunggulan Autoencoder Dibanding Teknik Lain
Dibandingkan dengan metode reduksi dimensi tradisional seperti Principal Component Analysis (PCA), autoencoder memiliki keunggulan dalam hal:
- Menangkap hubungan non-linear antara fitur data
- Lebih fleksibel karena dapat diadaptasi ke berbagai tipe data (gambar, suara, teks)
- Bisa digunakan untuk tugas generatif, tidak hanya kompresi
Selain itu, fungsi aktivasi non-linear seperti ReLU atau Sigmoid pada autoencoder membuat model ini mampu menyerap dan merepresentasikan kompleksitas data yang lebih tinggi.
Komponen Desain Autoencoder
Dalam merancang arsitektur autoencoder, beberapa hiperparameter penting perlu dipertimbangkan:
- Ukuran kode (bottleneck): Menentukan seberapa padat kompresi dilakukan. Semakin kecil, semakin sedikit informasi yang ditransmisikan.
- Jumlah lapisan (depth): Semakin dalam, semakin kompleks fitur yang dapat dipelajari, namun memerlukan sumber daya komputasi lebih besar.
- Jumlah neuron per lapisan: Biasanya menurun menuju bottleneck, lalu meningkat di bagian decoder.
- loss function: Digunakan untuk mengukur seberapa akurat rekonstruksi data. Misalnya, Mean Squared Error (MSE) atau Binary Cross Entropy.
Pemilihan semua elemen ini tergantung dari tujuan penggunaan autoencoder, serta jenis data yang akan diproses.
Mengenal Jenis-Jenis Autoencoder
Dalam dunia kecerdasan buatan (Artificial Intelligence/AI) dan pembelajaran mesin (machine learning), autoencoder menjadi salah satu komponen penting dalam memahami representasi data secara efisien.
Namun, seiring berjalannya waktu, autoencoder berkembang menjadi berbagai jenis yang masing-masing memiliki tujuan dan keunggulan tersendiri. Berikut ini adalah berbagai jenis autoencoder, mulai dari versi sederhana hingga yang paling kompleks seperti variational autoencoder (VAE).
1. Autoencoder yang Kurang Lengkap (Undercomplete Autoencoder)
Autoencoder jenis ini memiliki struktur yang sederhana. Lapisan tersembunyi (hidden layer) dalam arsitekturnya memiliki jumlah neuron lebih sedikit dibanding lapisan input maupun output. Tujuannya adalah agar jaringan tidak hanya menghafal input, tetapi belajar menyimpan fitur yang paling penting dari data tersebut.
Mengapa disebut "kurang lengkap"?
Karena kapasitas informasi pada bagian bottleneck sangat terbatas, membuat jaringan tidak bisa menyalin input secara langsung. Ini mendorong autoencoder untuk belajar menyaring dan mempertahankan hanya informasi penting dari input.
Namun demikian, kelemahan utama dari autoencoder ini muncul saat encoder dan decoder memiliki kapasitas yang besar. Dalam situasi seperti itu, bahkan dengan bottleneck terbatas, jaringan masih bisa mempelajari fungsi identitas yaitu menyalin data input menjadi output secara langsung yang membuatnya tidak efektif.
2. Autoencoder yang Teratur (Regularized Autoencoder)
Untuk mengatasi kekurangan dari undercomplete autoencoder, dikembangkanlah regularized autoencoder yakni autoencoder yang menggunakan teknik regularisasi.
Apa itu regularisasi?
Regularisasi adalah teknik dalam pelatihan model yang bertujuan untuk membatasi kompleksitas model agar tidak overfitting terhadap data pelatihan. Dalam konteks autoencoder, regulasi dapat membantu model belajar fitur yang lebih berguna dan lebih umum dari data, bukan hanya menghafalnya.
Beberapa bentuk regularized autoencoder antara lain:
- Sparse Autoencoder (SAE)
- Contractive Autoencoder (CAE)
- Denoising Autoencoder (DAE)
- Variational Autoencoder (VAE)
Mari kita bahas satu per satu.
-
Sparse Autoencoder (SAE)
Sparse autoencoder dirancang untuk membatasi jumlah neuron yang aktif dalam satu waktu. Tujuannya bukan untuk membatasi jumlah neuron seperti pada autoencoder yang kurang lengkap, tetapi membatasi jumlah neuron yang menyala dalam lapisan tersembunyi.Bagaimana cara kerjanya?
SAE tetap bisa memiliki banyak neuron dalam hidden layer, tetapi diberi hukuman jika terlalu banyak neuron yang aktif sekaligus. Hukuman ini ditetapkan dalam bentuk fungsi sparsitas, biasanya menggunakan:- Regularisasi L1
- Divergensi Kullback-Leibler (KL)
Dengan demikian, hanya neuron yang benar-benar dibutuhkan saja yang akan aktif. Hal ini mendorong jaringan untuk belajar representasi yang lebih efisien dan khusus untuk fitur-fitur tertentu.KL Divergence adalah ukuran matematis yang menunjukkan seberapa berbeda dua distribusi probabilitas. Dalam SAE, fungsi ini digunakan untuk mengukur perbedaan antara:
- Target sparsitas (berapa banyak neuron yang seharusnya aktif)
- Aktivasi aktual dalam jaringan
Jika jumlah neuron yang aktif terlalu banyak dibandingkan target sparsitas, maka jaringan akan dikenai penalti. Ini menjaga jumlah neuron aktif tetap rendah dan fokus pada fitur penting.
-
Contractive Autoencoder (CAE)
Konsep utama dalam contractive autoencoder adalah membuat jaringan tidak peka terhadap perubahan kecil dalam input. Hal ini penting untuk menangkap informasi yang lebih bermakna dan menghindari overfitting terhadap noise.Bagaimana caranya?
CAE menambahkan penalti terhadap perubahan output jika input berubah hanya sedikit. Penalti ini dihitung menggunakan dua komponen utama:- Jacobian Matrix: Turunan pertama dari fungsi jaringan terhadap input.
- Norma Frobenius: Akar kuadrat dari jumlah kuadrat elemen-elemen dalam matriks Jacobian.
Dengan menambahkan penalti ini ke dalam fungsi kerugian (loss function), jaringan terdorong untuk fokus pada pola yang konsisten dan tidak mudah berubah oleh gangguan kecil dalam data input.
-
Denoising Autoencoder (DAE)
Salah satu jenis autoencoder yang sangat berguna dalam dunia nyata adalah denoising autoencoder. Seperti namanya, autoencoder ini digunakan untuk membersihkan data yang terkontaminasi noise.
Contoh penggunaannya:- Membersihkan gambar atau audio yang rusak.
- Mengembalikan kualitas file yang buram.
- Mendeteksi dan memperbaiki informasi yang hilang.
Bagaimana cara kerjanya?
Selama pelatihan, input asli sengaja diberi noise—misalnya dengan menambahkan titik-titik acak pada gambar. DAE dilatih untuk menghapus noise tersebut dan menghasilkan output yang menyerupai gambar asli.Fungsi kerugian dalam DAE tidak membandingkan output dengan input yang berisik, tetapi dengan data asli tanpa noise. Inilah yang membuat DAE efektif dalam proses denoising.
Selain itu, DAE juga menjadi fondasi dari model generatif canggih seperti Stable Diffusion, yang digunakan dalam pembuatan gambar AI modern. -
Variational Autoencoder (VAE)
Variational autoencoder adalah jenis autoencoder paling kompleks dan termasuk dalam kategori model generatif. VAE tidak hanya melakukan kompresi data, tetapi juga belajar mendistribusikan data tersebut dalam bentuk probabilistik.Apa perbedaan utama antara VAE dan autoencoder lainnya?
Jika autoencoder standar menghasilkan satu vektor laten deterministik, maka VAE menghasilkan dua vektor probabilistik:- Rata-rata distribusi (μ)
- Deviasi standar (σ)
Dengan dua vektor ini, VAE dapat membentuk distribusi laten dari data input dan menggunakannya untuk membuat data baru yang menyerupai data pelatihan.
Trik Reparameterisasi
Karena VAE melibatkan proses sampling (pengambilan sampel acak), hal ini menyulitkan proses backpropagation dalam pelatihan jaringan. Untuk mengatasi masalah ini, digunakan teknik yang disebut reparameterization trick, di mana:- Diambil titik acak (ε) dari distribusi normal.
- Titik ini kemudian disesuaikan menggunakan μ dan σ.
Dengan trik ini, proses sampling tetap bisa dilakukan tanpa menghilangkan kemampuan jaringan untuk belajar melalui backpropagation.
Fungsi Kerugian dalam VAE
Fungsi kerugian dalam VAE terdiri dari dua bagian:- Loss rekonstruksi: Seberapa mirip output dengan input asli.
- KL Divergence Loss: Mengukur seberapa jauh distribusi probabilitas yang dipelajari dari distribusi normal standar.
Gabungan dua fungsi ini memungkinkan VAE untuk menghasilkan sampel baru yang menyerupai data pelatihan tanpa overfitting.
Contoh Penggunaan Autoencoder
Berikut ini adalah beberapa contoh penggunaan autoencoder yang relevan dan telah terbukti efektif dalam dunia nyata.
-
Kompresi Data
Salah satu fungsi utama autoencoder adalah kompresi data. Autoencoder mempelajari representasi yang lebih ringkas dari data masukan (input) melalui proses encoding. Dengan demikian, data yang awalnya besar dapat diubah menjadi bentuk yang lebih kecil tanpa kehilangan informasi penting. Kompresi ini sangat berguna dalam penyimpanan data berukuran besar atau dalam sistem yang memiliki keterbatasan memori dan bandwidth.Misalnya, dalam sistem pengarsipan dokumen atau arsip gambar, autoencoder bisa digunakan untuk menyimpan data dalam bentuk yang lebih kecil dan kemudian direkonstruksi kembali saat diperlukan.
-
Pengurangan Dimensi
Dalam dunia machine learning dan deep learning, pengurangan dimensi adalah hal penting untuk memudahkan proses pelatihan model. Autoencoder berperan dalam mengekstrak fitur-fitur esensial dari data kompleks dan menyederhanakan struktur data tersebut ke dalam dimensi yang lebih kecil.Contohnya, data citra beresolusi tinggi bisa memiliki ratusan ribu piksel sebagai input. Autoencoder bisa menyederhanakan citra tersebut ke beberapa fitur utama yang cukup mewakili keseluruhan gambar, sehingga mempercepat proses pelatihan pada model lain, seperti klasifikasi atau deteksi objek.
-
Deteksi Anomali dan Pengenalan Wajah
Autoencoder juga digunakan dalam deteksi anomali, yaitu mengidentifikasi kejadian yang tidak normal atau mencurigakan. Autoencoder dilatih menggunakan data “normal”, sehingga jika ada data baru yang tidak sesuai dengan pola umum, autoencoder akan kesulitan merekonstruksinya, menghasilkan rekonstruksi error yang tinggi. Hal ini menjadi indikator adanya anomali.Contoh aplikasinya adalah dalam sistem keamanan keuangan, seperti mendeteksi transaksi yang mencurigakan (fraud detection) atau mendeteksi kerusakan mesin berdasarkan data sensor.
Dalam pengenalan wajah, autoencoder bisa dilatih untuk mengenali pola wajah normal. Ketika sistem menemukan wajah yang tidak sesuai dengan pola pelatihan, maka bisa dikenali sebagai wajah asing atau palsu.
-
Denoising Gambar dan Audio
Salah satu kemampuan menarik dari autoencoder adalah dalam tugas denoising, yaitu menghapus gangguan atau noise dari data. Denoising autoencoder dilatih untuk membedakan antara sinyal asli dan noise, sehingga bisa memulihkan data yang lebih bersih dan akurat.Dalam pengolahan citra, autoencoder digunakan untuk membersihkan gambar yang buram atau rusak. Sementara dalam audio, teknik ini dapat membantu memperbaiki kualitas suara yang terganggu oleh suara latar atau distorsi.
-
Rekonstruksi dan Pewarnaan Gambar
Autoencoder tidak hanya dapat menghapus noise, tetapi juga merekonstruksi bagian gambar yang hilang. Jika sebagian gambar rusak atau tidak lengkap, autoencoder bisa memprediksi dan melengkapi bagian yang hilang berdasarkan pola dari data pelatihan.Selain itu, autoencoder juga digunakan untuk pewarnaan gambar hitam putih. Dengan melatih autoencoder pada gambar berwarna, jaringan dapat belajar untuk menambahkan warna yang masuk akal pada gambar hitam putih berdasarkan konteks dan pola.
-
Tugas Generatif: Membuat Gambar dan Struktur Molekul
Autoencoder juga berperan dalam berbagai tugas generatif. Dua jenis autoencoder yang terkenal untuk tugas ini adalah Variational Autoencoder (VAE) dan Adversarial Autoencoder (AAE). VAE mempelajari distribusi probabilistik data dan digunakan untuk menghasilkan sampel baru yang menyerupai data pelatihan. Sedangkan AAE menggabungkan autoencoder dengan konsep generative adversarial networks (GAN), di mana jaringan pembeda (discriminator) digunakan untuk meningkatkan realisme data hasil rekonstruksi.Salah satu aplikasi populer dari autoencoder generatif adalah model DALL-E milik OpenAI, yang mampu menghasilkan gambar dari deskripsi teks. Selain itu, autoencoder juga digunakan dalam dunia medis dan farmasi untuk mendesain struktur molekul baru, seperti dalam penciptaan obat-obatan baru berdasarkan pola molekul yang sudah ada.
Kesimpulan
Autoencoder adalah salah satu pendekatan penting dalam machine learning tanpa pengawasan. Dengan kemampuannya untuk menyaring fitur penting dari data, mendeteksi pola tersembunyi, dan menghasilkan data baru, autoencoder telah menjadi alat yang sangat berguna dalam berbagai bidang, mulai dari kompresi gambar, pembersihan data, hingga pembangkitan data sintetis.
Autoencoder memiliki struktur fleksibel dan dapat disesuaikan dengan berbagai jenis jaringan saraf, seperti CNN, RNN, atau transformator, serta memiliki berbagai varian seperti VAE dan AAE yang memperluas penggunaannya ke dunia generatif.
Sebagai alat deep learning, autoencoder memberikan kita cara yang efisien dan adaptif untuk memahami data kompleks, dan kemungkinan penerapannya di masa depan hanya akan semakin luas.
