Pengantar Jaringan Saraf Tiruan
Jaringan Saraf Biologi
Jaringan saraf biologi merupakan kumpulandari banyak sel saraf (neuron) yang saling terhubung. Salah satu contohnya otak manusia. Bertambah dewasa manusia akan bertambah pula kepandaiannya karena informasi yang diterimanya semakin banyak.
Secara umum sel saraf terdiri dari 3 bagian:
- Dendrit. Ini menjadi input
- Soma. Menjadi pemroses informasi dari input melalui fungsi aktivasi
- Axon. Output (atau terhubung ke neuron lain)
Jaringan Saraf Tiruan
Jaringan Saraf Tiruan (JST) merupakan sistem pemrosesan informasi yang meniru cara kerja jaringan saraf biologis (otak manusia). Sejumlah metode/algoritma pelatihan (training) telah dikembangkan masing-masing dengan kelebihan dan kekurangannya.
Contoh algoritma training, antara lain:
- Hebb
- Perceptron
- Adaline
- Hopfield
- Bidirectional Associative Memory (BAM)
- Backpropagation, dll.
Belum ada “guide” untuk memilih model yang tepat untuk training yang dilakukan.
Model Neuron
Neuron adalah unit pemroses informasi yang menjadi dasar dalam pengoperasian JST. Neuron terdiri dari 3 elemen:
- Himpunan unit-unit. Dihubungkan dengan jalur koneksi. Jalur-jalur tersebut memiliki bobot yang berbeda-beda
-
Unit penjumlahan. Akan menjumlahkan input-input sinyal yang sudah dikalikan dengan bobotnya -> Metode training.
Misalkan:
$x_1, x_2, \dots, x_n$ = unit-unit input \(w_{j1}, w_{j2}, \dots, w_{jn}\) = bobot penghubung dari unit input ke unit output \(Y_j\).
Maka unit penjumlahan akan memberikan keluaran sebesar \(uj = x_1 \cdot w_{j1} + x_2 \cdot w_{j2} + \dots + x_n \cdot w_{jn}\)
- Fungsi aktivasi. Akan menentukan apakah sinyal dari input neuron akan diteruskan ke neuron lain atau tidak
Arsitektur Jaringan
-
Jaringan Lapis Tunggal (single layer network)
- Input langsung dihubungkan dengan output
- Selama proses pelatihan, bobot-bobot tersebut akan dimodifikasi untuk meningkatkan keakuratan hasil.
- Dapat digunakan untuk pengenalan pola sederhana.
-
Jaringan Lapis Jamak (multi layer network)
- Perluasan jaringan lapis tunggal
- Ada satu/beberapa layer tersembunyi yang terdiri dari beberapa unit neuron
-
Jaringan Recurrent
Mirip dengan jaringan lapis tunggal ataupun ganda. Hanya saja ada neuron output yang memberikan sinyal pada unit input (sering disebut feedback loop)
Fungsi Aktivasi
Dipakai untuk menentukan keluaran suatu neuron.
\[\text{jika } net = \Sigma{x_i w_i}\] \[\text{maka fungsi aktivasinya } f(net) = f(\Sigma{x_i w_i})\]Beberapa fungsi aktivasi yang sering dipakai:
- Fungsi threshold (batas ambang \(a\))
Biner:
\[f(net) = \begin{cases} 1 \text{ jika net} \geq a \\ 0 \text{ jika net} \lt a \end{cases}\]Bipolar:
\[f(net) = \begin{cases} 1 \text{ jika net} \geq a \\ -1 \text{ jika net} \lt a \end{cases}\]- Fungsi sigmoid
Fungsi sigmoid sering dipakai karena fungsinya yang terletak antara 0 dan 1 dan dapat diturunkan dengan mudah.
\[f'(x) = f(x) (1-f(x))\]- Fungsi identitas
Digunakan apabila kita menginginkan keluaran jaringan berupa sembaran bilangan riil. In other words nilai nya adalah hasil aslinya.
Bias & Threshold
Bias adalah sebuah input tambahan yang nilainya selalu = 1.
Bias berfungsi untuk mengubah nilai threshold menjadi \(= 0\) (bukan \(= a\)). Jika melibatkan bias, maka keluaran unit penjumlah adalah
\[net = b + \Sigma{x_i w_i}\]Fungsi aktivasi threshold (bipolar menjadi menjadi)
\[f(net) = \begin{cases} 1 \text{ jika net} \geq 0 \\ -1 \text{ jika net} \lt 0 \end{cases}\]Contoh:
Suatu jaringan layer tunggal berikut ini terdiri dari 2 input \(x_1 = 0.7\) dan \(x_2 = 2.1\) dan memiliki bias. Bobot garis \(w_1 = 0.5\); \(w_2 = -0.3\) dan bobot bias \(= b = 1.2\). Tentukan keluaran neuron Y jika fungsi aktivasinya:
- threshold bipolar
- threshold biner
- sigmoid
- identitas