Jaringan Saraf Tiruan dan Deep Learning

Jaringan Saraf Tiruan (JST) adalah sebuah model pada bidang machine learning yang dibuat (dengan asumsi) menyerupai cara kerja otak manusia. Saya tambahkan di sini “dengan asumsi” karena pada nyatanya kita tidak benar-benar paham bagaimana cara kerja otak manusia.

Sebelum masuk ke detail tentang apa yang dilakukan jaringan saraf tiruan, kita flashback dulu tentang machine learning. Jadi, sama dengan algoritma machine learning pada umumnya, secara ringkas pada jaringan saraf tiruan akan terdapat tiga nilai atau variabel utama:

  • Nilai Input $X$: berisi fitur / ciri
  • Nilai Target $T$: nilai yang diharapkan pengguna
  • Nilai Prediksi $Y$: nilai yang dihasilkan JST

Machine learning bekerja dengan membuat mesin yang mampu memprediksi nilai $T$ diketahui $X$. Sebagai contoh, kita kasih $X$ adalah spesifikasi (fitur) dari suatu rumah {banyak kamar, luas, warna, dsb.} dan kita berharap machine learning dapat memprediksi harganya ($T$).

Bagaimana caranya machine learning khususnya JST dapat memprediksi harga rumah dari fitur-fiturnya? dengan belajar 🙂 JST akan melihat pola dari data-data yang dimiliki dan menggunakannya untuk menebak harganya. Sebagai contoh, kalau kita telah melihat banyak daftar spesifikasi rumah yang diketahui harganya, kita akan paham bahwa jumlah kamar dapat mempengaruhi harga, namun warna tidak. Bahkan kita bisa mengira-ngira misalnya kalau kamarnya 4-5 kira-kira harganya Rp 800jt-1M.

Pada saat proses belajar, JST akan menerima banyak nilai $X$ (spesifikasi rumah) lalu akan menebak harganya ($Y$, nilai prediksi). Tentunya awalnya nilai $Y$ ini akan bernilai acak jika dibanding harga aslinya $T$, ini karena model JST kita belum pintar. Dengan proses pembelajaran (mengenali pola), model JST akan terus memperbaiki diri agar dapat menghasilkan nilai prediksi $Y$ yang sedekat (semirip) mungkin dengan nilai target $T$.

Bagaimana JST bisa menebak harga? bagaimana JST bisa belajar?

kita mulai dari …

Neuron

jaringan saraf tiruan neuron

Di atas adalah contoh sebuah neuron (elemen terkecil pada jaringan saraf tiruan) yang menerima input $X$ dan menghasilkan nilai $Y$. Sebuah neuron adalah visualisasi dari perhitungan sederhana berikut:

$$ Y = \sigma ( X . W+ b) $$

Dengan $W$ adalah suatu nilai “bobot” (weight) dan $b$ adalah bias. Bobot dan bias ini adalah koefisien yang tidak diketahui nilainya. Biasanya akan diberi nilai awal random. Nah, yang terjadi ketika model JST belajar adalah model JST akan mengubah-ubah nilai $W$ dan $b$ sehingga menghasilkan nilai Y yang diharapkan.

Notasi $\sigma$ (sigma) menunjukkan suatu fungsi aktivasi atau disebut juga fungsi non-linear. Ada banyak fungsi aktivasi yang dapat dipilih, salah satunya fungsi aktivasi “sigmoid” yang bentuknya seperti ini:

$$ \sigma(x) = \frac{1}{1 + e^{-x}} $$

Continue reading