JARINGAN SARAF TIRUAN (ARTIFICIAL NEURAL NETWORK) ERWIEN TJIPTA WIJAYA, ST, M.KOM
INTRODUCTION Jaringan Saraf Tiruan atau JST adalah merupakan salah satu representasi tiruan dari otak manusia yang selalu mencoba untuk mensimulasikan proses pembelajaran pada otak manusia. Istilah Tiruan / Buatan digunakan karena JST ini diimplementasi pada program komputer yang mampu menyelesaikan proses penghitungan selama proses pembelajaran.
HUMAN BRAIN Bertugas untuk memproses informasi Seperti prosesor sederhana. Masing-masing cell tersebut berinteraksi mendukung kinerja otak Setiap sel (neuron) memiliki satu nukleus (soma), bertugas memproses informasi, informasi diterima oleh dendrit, dan disebarkan melalui akson Pertemuan informasi antar syaraf berada di sinapsis
CONTINUE HUMAN BRAIN
synapse nucleus
cell body
dendrites
axon
CONTINUE HUMAN BRAIN Manusia
memiliki +10^12 neuron Dan 6x10^18 sinapsis Informasi yang dikirimkan berupa rangsangan dengan sebuah batas ambang (threshold)
Pada batas tertentu, syaraf lain akan teraktifasi dan merespon
Hubungan
antar
syaraf
terjadi
secara
dinamis Otak manusia memiliki kemampuan untuk belajar dan beradaptasi
Mampu mengenali pola, wajah, mengkontrol organ tubuh
CONTINUE HUMAN BRAIN
Neuron merupakan sistem yang fault tolerance
Dapat mengenali sinyal input yang berbeda dari sebelumnya Dapat mengenali orang yang belum pernah ditemui hanya dengan melihat dari foto. Dapat mengenali orang yang berubah karena tua.
Tetap dapat bekerja walau beberapa neuronnya rusak, neuron lain dapat tumbuh dan dilatih
HISTORY OF ARTIFICIAL NEURAL NETWORK
Sejak ditemukan, JST telah mengalami tahap-tahap perkembangan diantaranya adalah :
1940, Para ilmuwan menemukan bahwa psikologi dari otak sama dengan mode pemrosesan yang dilakukan oleh peralatan komputer. 1943, McCulloch dan Pitts merancang model formal yang pertama kali sebagai perhitungan dasar neuron. 1949, Hebb menyatakan bahwa informasi dapat disimpan dalam koneksi – koneksi dan mengusulkan adanya skema pembelajaran untuk memperbaiki koneksi – koneksi antar neuron tersebut. 1954, Farley dan Clark mensetup model-model untuk relasi adaptif stimulus-respon dan jaringan random. 1958, Rosenblat mengembangkan konsep dasar Perceptron untuk klasifikasi pola.
1960, Widrow dan Hoff mengembangkan ADALINE untuk kendali adaptif dan pencocokan pola yang dilatih dengan aturan pembelajaran Least Mean Square (LSM) 1974, Werbos mengenalkan algoritma Backpropagation untuk melatih Perceptron dengan banyak lapisan. 1975, Little dan Shaw menggambarkan jaringan saraf dengan menggunakan probabilistik. 1982, Kohonen mengembangkan metode pembelajaran jaringan saraf yang tidak terawasi (Unsupervised Learning) untuk pemetaan. 1982, Grossberg dan Carpenter mengembangkan teori jaringan yang di inspirasi oleh perkembangan psikologi. Arsitektur jaringan tersebut diberi nama antara lain : Adaptive Resonance Theory (ART), ART2 dan ART3 1982, Hopfield mengembangkan jaringan syaraf reccurent yang dapat digunakan untuk menyimpan informasi dan optimasi.
1985, Algoritma Boltzmann untuk jaringan syaraf probabilistik. 1987, dikembangkan BAM (Bidirectional Associative Memory). 1988, dikembangkan Radial Basis Function. Dan seterusnya...????
COMPONENT OF ANN Ada macam – macam algoritma pada JST, tetapi semua jenis algoritma memiliki komponen yang sama antara satu dengan yang lainnya. JST juga memiliki neuron dan saling terhubung antara neuron satu dengan neuron yang lainnya. Neuron tersebut akan mentransformasikan informasi yang diterima melalui sambungan keluarnya (dendrit) melalui sinapsis menuju ke neuron – neuron yang lainnya. Pada JST ini hubungan ini dikenal dengan istilah bobot / weight (w). Informasi tersebut disimpan pada suatu nilai tertentu pada bobot.
GENERAL STRUCTURE NEURON OF ANN
∑
bobot Input dari neuron – neuron yang lain
bobot output
Fungsi aktivasi X1
Y1 W1
X2
Y2 W2
X3
W3
ACTIVATION FUNCTION
INPUT
Y1 = X1.W1 + X2.W2 + X3.W3; dst…
Y3 OUTPUT
Output ke neuron2 yang lain
DESCRIPTION STRUCTURE OF NEURON
Informasi (dari input) akan dikirim ke neuron dengan nilai bobot. Input diproses oleh fungsi perambatan yang akan menjumlahkan nilai – nilai semua bobot yang datang. Hasil penjumlahan ini kemudian akan dibandingkan dengan nilai batas ambang (threshold) tertentu melalui fungsi aktivasi setiap neuron. Apabila input melewati suatu nilai ambang tertentu maka neuron tersebut akan diaktifkan. Apabila neuron tersebut diaktifkan, maka neuron tersebut mengirimkan output melalui bobot-bobot outputnya ke semua neuron yang berhubungan dengannya.
NEURON LAYERS Neuron pada lapisan input (Input Layer) Neuron pada lapisan tersembunyi (Hidden Layer) Neuron pada lapisan output (Output Layer)
ARSITEKTUR JARINGAN
Jaringan Dengan Lapisan Tunggal (Single Layer Net) Nilai Input
X1
W11
X2
W22
W12
W31
W21
Y1
Y2
X3
Lapisan Input
W32
Matriks Bobot
Lapisan Output
Nilai Output
Jaringan Dengan Banyak Lapisan (Multi Layer Net)
Jaringan Dengan Lapisan Kompetitif (Competitive Layer Net)
FUNGSI AKTIVASI / ACTIVATION FUNCTION
Fungsi Undak Biner (Hard Limit)
Jaringan dengan lapisan tunggal sering menggunakan fungsi undak (step function) untuk mengkonversi input dari suatu variabel yang bernilai continue ke suatu output biner (0 atau 1). Dapat dirumuskan sebagai berikut :
0, jika x 0 y 1, jika x 0
y 1
0
x
Fungsi Undak Biner (Threshold)
Fungsi undak biner dengan menggunakan batas ambang sering juga disebut dengan nama fungsi nilai ambang (threshold) atau fungsi Heaviside. Dapat dirumuskan sebagai berikut :
0, jika x y 1, jika x
y 1
0
0
x
Fungsi Bipolar (Symetric Hard Limit)
Fungsi bipolar hampir sama dengan fungsi undak biner. Output yang dihasilkan terdiri – dari nilai 0,1 dan -1 Dapat dirumuskan sebagai berikut :
1, jika x 0 y 0, jika x 0 1, jika x 0
y 1
x
0 -1
Fungsi Bipolar (Dengan Threshold)
Fungsi bipolar hampir sama dengan fungsi undak biner dengan nila batas ambang. Output yang dihasilkan terdiri – dari nilai 0,1 dan -1 Dapat dirumuskan sebagai berikut :
1, jika x y 1, jika x
y 1
0 -1
0
x
Fungsi Linier (Identitas)
Fungsi linier memiliki nilai output sama dengan nilai inputnya. Dapat dirumuskan sebagai berikut :
y 1
y=x
0
-1 -1
1
x
Fungsi Saturating Linier
Fungsi ini akan bernilai 0, jika x > -0,5 Fungsi ini akan bernilai 1, jika x < 0,5 Jika nilai inputnya antara -0,5 ≤ x ≤ 0,5 maka outputnya akan bernilai sama dengan nilai input ditambah 0,5 (y = x + 0,5)
1; jika x 0,5 y x 0,5; jika - 0,5 x 0,5 0; jika x - 0,5 -0,5
y 1
0
0,5
x
Fungsi Symetric Saturating Linier
Fungsi akan bernilai -1, jika x < -1 Fungsi akan bernilai 1, jika x > 1 Jika nilai inputnya antara -1 ≤ x ≤ 1 maka outputnya akan bernilai sama dengan nilai inputnya (y = x)
1; jika x 1 y x; jika - 1 x 1 1; jika x - 1
y 1
0
-1 -1
1
x
Fungsi Sigmoid Biner
Fungsi ini digunakan untuk JST yang dilatih dengan menggunakan metode backpropagation. Fungsi ini memiliki nilai 0 sampai dengan 1 Fungsi ini digunakan untuk JST yang memiliki nilai output dengan interval 0 s/d 1
1 y f x 1 e x Dengan
f ' x f x 1 f x
Fungsi Sigmoid Bipolar
Fungsi ini hampir sama dengan sigmoid biner. Perbedaannya yaitu pada nilai outputnya mulai dari -1 ≤ x≤1
1 ex y f ( x) 1 ex Dengan
f ' x
2
1 0.8 0.6
1 f x 1 f x
0.4
y
y f ( x)
x
e e e x ex
Dengan
y f ( x)
f ' x 1 f x 1 f x
0 -0.2
2 x
atau
σ =1
0.2
Fungsi ini dekat dengan hyperbolic tangen keduanya memiliki range -1 s/d 1 x
σ = 0,5
σ=2
1 e 1 e 2 x
-0.4 -0.6 -0.8 -1
- 10
-8
-6
-4
-2
x
0
2
4
6
8
10
LEARNING PROCESS
Pembelajaran Terawasi (Supervised Learning)
Metode Pembelajaran pada JST disebut terawasi jika output yang diharapkan telah diketahui sebelumnya. Pada proses pembelajaran, satu pola input akan diberikan ke satu neuron pada lapisan input. Pola ini akan dirambatkan di sepanjang jaringan syaraf hingga sampai ke neuron lapisan output. Lapisan output ini akan membangkitkan pola output yang nantinya akan dicocokan dengan pola output targetnya. Apabila terjadi nilai perbedaan pada waktu proses pencocokan maka akan muncul nilai error. Apabila nilai error masih terlalu besar maka perlu dilakukan proses pembelajaran lagi. Contoh : Operator biner AND
Pembelajaran Learning)
Tidak
Terawasi
(UnSupervised
Metode ini tidak memerlukan target output. Metode ini tidak dapat diharapkan outputnya seperti pada waktu proses pembelajaran (training). Pada proses pembelajaran, nilai bobot disusun dalam suatu range tertentu tergantung pada nilai input yang diberikan. Tujuan pembelajaran adalah mengelompokan atau peng-klasifikasian unit – unit yang hampir sama dalam suatu area tertentu. Biasanya digunakan untuk klasifikasi pola.
TERIMA KASIH