Pilar Ke-1 Computational Intelligence: Neural Network
Siapa yang tidak tertarik dengan artificial intelligence (AI)? Sudah 5 abad lebih para akademisi dan filsuf berangan-angan untuk mengembangkan mesin yang dapat berperilaku bagaikan makhluk hidup. AI, pada tahun-tahun kelahiran awalnya, masih sangat kaku. Pengetahuan masih didefinisikan dengan sangat eksak dan memerlukan logika proposisional (penarikan kesimpulan) yang sangat ketat. Misal, jika malam tiba maka kita harus tidur, karena sekarang sudah malam maka kita harus tidur. Contoh lainnya, akar kuadrat 9 adalah 3 dan -3 ( ), tidak boleh 2.99 ataupun -3.01. Bagi pengikut aliran analitik, hal-hal yang pasti dan tepat seperti ini masih merupakan kaidah dasar.
Gaya berpikir seperti ini di memang sistematis banget namun kurang memberikan ruang gerak bagi konsep ketidakpastian dan ketidakjelasan, kurang realistis untuk kehidupan nyata yang penuh dengan teka-teki. Sebagai respon terhadap kondisi AI pada saat itu, muncullah aliran lembut bernama Computational Intelligence (CI) pada tahun 1990-an, sebuah aliran AI yang lebih toleran. CI membukakan pintu yang selebar-lebarnya buat ketidakpastian, ketidakjelasan, dan solusi yang tidak harus eksak.
CI terinspirasi dari cara kerja sistem-sistem yang berada pada pada makhluk hidup. Hal ini menyebabkan CI dapat digunakan untuk mengembangkan sistem tiruan yang cerdas walaupun data yang tersedia tidak pasti dan tidak lengkap. Menarik bukan? Marilah kita membahas tiga pilar mendasar CI.
Pilar 1 – Neural network
Pilar pertama CI adalah Neural network (NN), yang artinya jaringan saraf tiruan, sebuah metode yang terinspirasi dari mekanisme kerja sel saraf manusia yang membentuk otak, sumsum tulang belakang dan sistem saraf tepi. Namun demikian, NN hanyalah representasi yang super sederhana dari cara kerja sel saraf yang sebenarnya (sel saraf makhluk hidup bekerja dengan kompleksitas yang jauh lebih rumit). Sebuah sel saraf pada NN disebut node, berfungsi untuk menerima ransangan data yang masuk, mengolahnya lalu kemudian menghasilkan sinyal luaran yang akan diteruskan pada node yang berada di depannya.
Satu diantara beragam aplikasi NN adalah klasifikasi, seperti mengenali pola gambar dan suara. Untuk klasifikasi, arsitekturnya terdiri dari lapisan input (masukan), lapisan tersembunyi, dan lapisan output (luaran). Setiap node pada satu lapisan terhubung dengan node lapisan berikutnya dengan sambungan yang disebut bobot.
Kelebihan NN adalah kemampuannya untuk belajar mandiri dari data tanpa harus memodelkan hubungan antar variabel input dan output dalam bentuk fungsi yang eksplisit, seperti pada rumus fisika dan rumus kimia. Tanpa rumus eksplisit, NN tetap mampu memetakan data pada variabel input sesuai dengan data pada variabel output. Artinya, dengan NN kita tidak perlu memikirkan bagaimana hubungan antar variabel yang sebenarnya. Pada NN, hubungan tersebut dimodelkan oleh bobot-bobot yang dipelajari langsung dari dataset input-output (contohnya Tabel 1). Luar biasa memang.
Misalkan kita ingin membuat sebuah NN dan mengajarinya ntuk mengenali spesies bunga Iris berdasarkan fitur ukuran panjang kelopak bunga (sepal) dan mahkota bunga (petal). Pengukuran beberapa bunga Iris akan menghasilkan data seperti Tabel 1.
Tabel 1. Dataset bunga Iris, terdiri dari 4 kolom fitur (panjang sepal, lebar sepal, panjang petal, lebar petal, semua dalam cm) dan 1 kolom kelas atau spesiesnya (setosa, versicolor virginica).
Contoh arsitektur NN berdasarkan data tersebut ditunjukkan pada gambar 1. NN belajar dengan cara mencari nilai bobot optimal sehingga data input dapat dipetakan dengan baik kepada data output.
Gambar 1. Bentuk arsitektural NN yang telah dilatih (ditentukan bobotnya) untuk memprediksi spesies bunga Iris berdasarkan panjang sepal dan petalnya.
NN saat ini sedang naik daun karena kemampuannya untuk memodelkan data apapun menjadi sebuah fungsi. Selain klasifikasi, NN juga dapat digunakan untuk mengelompokkan data (clustering) dan prediksi. Arsitektur NN memiliki berbagai macam cita rasa, mulai dari yang paling sederhana dari perceptron hingga deep neural network yang juga biasa dikenal dengan deep learning. Tantangan terbesar dalam menggunakan NN bukan hanya pada pemilihan bentuk arsitekturnya melainkan juga pada pemilihan algoritma pembelajaran yang digunakan untuk mencari nilai bobot koneksi yang terbaik.
Nah, jika anda tertarik dengan CI, silahkan lanjutkan membaca artikel Pilar Ke-2: Computational Intelligence Fuzzy Logic.