Jaringan saraf tiruan atau artificial neural networks (ANNs) merupakan model yang mengacu pada pendekatan konsep kecerdasan artifisial connectionism. Pendekatan ini melihat bagaimana kecerdasan artifisial dapat meniru tingkatan kecerdasan manusia, yaitu dengan melihat bagaimana otak manusia bekerja pada tingkatan jaringan saraf.
ANNs pertama kali dicetuskan oleh McCulloch & Pitts pada tahun 1943 dengan meniru prinsip sel saraf atau neuron pada otak. Unit komputasi ini belum dapat dikatakan sebagai jaringan karena hanya terdiri dari satu sel. Garis-garis yang terhubung mewakili bobot-bobot untuk mendapatkan keluaran. Secara lebih lengkap, sejarah perkembangan jaringan saraf tiruan dapat dipelajari pada artikel sebelumnya.
Pada artikel kali ini, saya akan uraikan secara khusus lima model jaringan saraf tiruan yang populer digunakan baik di kalangan akademisi maupun industri.
Feed Forward Neural Networks (FFNNs)
Dikenal juga sebagai multilayer perceptron (MLP). Model JST ini terdiri dari beberapa lapisan, yakni lapisan masukan, lapisan tersembunyi (dapat beberapa lapis), dan lapisan keluaran. Bobot-bobot dapat dioptimasi dengan menggunakan algoritma backpropagation yang dipopulerkan oleh David E. Rumelhart, Geoffrey E. Hinton, dan Ronald J. Williams pada tahun 1986 . Semenjak itu, kecerdasan buatan dengan pendekatan connectionism ini berkembang pesat.
Selain itu, seiiring dengan berkembangnya teknologi pendukung seperti graphics processing units (GPUs) dan tersedianya data yang melimpah (atau dikenal dengan big data), maka istilah deep neural networks atau deep learning kemudian dikenal sebagai model JST yang memiliki banyak lapisan tersembunyi untuk mengekstrak fitur secara hierarki dan mendapatkan akurasi yang tinggi. Oleh karena itu, FFNNs ini juga dapat dikatakan sebagai universal function approximator dalam artian ia dapat digunakan untuk mengaproksimasi suatu fungsi tertentu. FFNNs ini dapat dipakai untuk menyelesaikan masalah seperti regresi dan/atau klasifikasi.
Recurrent Neural Networks (RNNs)
Merupakan model JST untuk mengolah data sekuensial, misalnya untuk prediksi teks, mesin translasi, prediksi stok atau data saham terhadap waktu, pengolahan sinyal, dll. RNNs dapat menangani data dengan panjang yang bervariasi. Sel neuron mendapat informasi tidak hanya dari lapisan sebelumnya, tetapi juga dari pemrosesan waktu sebelumnya. Beberapa sampel dari skenario pengolahan data deret waktu berdasarkan dengan tujuannya dengan menggunakan RNNs dapat diilustrasikan sebagai berikut.
Sebagai contoh, pada kasus prediksi saham, kita dapat menggunakan skenario many to one, di mana kita mengolah data-data saham hari ini dan beberapa hari sebelumnya untuk memprediksi saham esok hari. Namun demikian, skenario many to many, lebih cocok untuk mesin translasi, di mana data masukan berupa teks dalam bahasa tertentu dan keluaran yang diharapkan ialah teks dalam bahasa lain.
Sebagai informasi tambahan, dua varian populer dari RNNs yaitu gated recurrent units (GRUs) dan long short-term memory (LSTM). Selain itu, baru-baru ini juga muncul jaringan yang menggunakan mekanisme atensi yang dinamai sebagai Transformer. Pada beberapa kasus, Transformer ini dapat memproses data deret waktu setara dengan atau lebih baik dari RNNs.
Convolutional Neural Networks (CNNs)
Merupakan model JST untuk mengolah data yang memiliki karakteristik topologi seperti grid, misalnya untuk data deret waktu yang menggunakan CNNs satu dimensi, atau data citra (baik 2D ataupun 3D). Yann LeCun adalah pionior dari CNNs ini. Ia menggunakan CNNs di bidang pengolahan citra pada tahun 1989 , yang dinamai sebagai LeNet.
LeNet digunakan khusus untuk mendeteksi angka pada dataset MNIST. Sesuai namanya, model ini menggunakan operasi konvolusi dengan menggunakan kernel dan biasa diikuti dengan operasi pooling. Di akhir proses, model ini dapat digabungkan dengan FFNNs untuk memperoleh keluaran seperti suatu nilai tertentu (regresi) atau suatu kelas tertentu (klasifikasi). Secara umum, CNNs biasa digunakan untuk pengolahan citra dengan tujuan klasifikasi, segmentasi, deteksi, dan atau pencarian lokasi objek pada citra.
Autoencoders (AEs)
Model ini digunakan untuk mendapatkan fitur tersembunyi yang terdiri dari dua jaringan yaitu encoder dan decoder. Encoder melakukan kompresi dari data masukan kemudian decoder merekonstruksi data hasil kompresi tersebut. FFNNs, CNNs maupun RNNs dapat digunakan sebagai encoder dan decoder pada AEs ini.
Sebagai contoh, AEs dengan CNNs dapat digunakan untuk mengolah data MNIST. Data masukan berupa citra tulisan tangan bilangan (dari 0 sampai 9) dan kita harapkan dapat merekonstruksi citra yang sama sebagai keluaran. Dengan begitu kita mendapatkan \boldsymbol{Z} sebagai vektor representasi untuk digunakan degan tujuan lain, misalnya klasifikasi atau visualisasi dari vektor representasi tersebut.
Generative Adversarial Networks (GANs)
Terakhir — tetap mungkin yang paling populer saat ini, ialah GANs, model ini mengacu pada teori permainan di mana terdapat dua jaringan yang saling bermusuhan (adversarial), yaitu generator dan discriminator. Generator bertugas untuk membuat data, sedangkan discriminator bertugas untuk menilai hasilnya, apakah data tersebut asli atau palsu. Kedua jaringan ini saling berkompetisi sampai pada akhirnya discriminator tidak dapat membedakan apakah data tersebut asli atau palsu karena generator sudah sangat terlatih. Seperti halnya pada autoencoders, model FFNNs, CCNs, ataupun RNNs (ataupun gabungan dari ketiga model tersebut), dapat berlaku sebagai generator atau pun discriminator.
Untuk melihat seberapa populernya model GANs ini, berikut data publikasi ilmiah yang membahas penggunaan GANs sejak pertama kali ditemukan pada tahun 2014 oleh Ian J. Goodfellow dan koleganya .

Aplikasi populer FaceApp yang dapat mengubah foto kita menjadi terlihat lebih tua ataupun berganti gender itu pun saya yakini telah mengimplementasikan kecerdasan artifisial dengan menggunakan model GANs ini.
Selain FaceApp, beberapa demo dari pengembangan model jaringan saraf tiruan GANs dapat dilihat langsung pada situs berikut:
Pix2Pix (https://affinelayer.com/pixsrv/): Situs demo untuk menggenerasi gambar dari suatu sketsa
GANpaint (http://ganpaint.io/): Situs demo untuk menggenerasi berbagai objek pada suatu gambar misalnya pohon, pintu, awan, dll
DeepArt (https://deepart.io/): Situs demo untuk memindahkan gaya (style transfer) dari lukisan ke gambar (merubah gambar menjadi lukisan)
Artbreeder (https://artbreeder.com/): Situs demo untuk menggenerasi gambar sebagai gabungan dari gambar-gambar lain
Glosarium
Dari model-model di atas, berikut penjelasan dari masing-masing simbol.
Referensi
Jika ada pertanyaan, koreksi, ataupun ingin sekadar berdiskusi lebih lanjut, silakan gunakan kolom komentar untuk berkomunikasi dengan penulis.