Jaringan Syaraf Tiruan

advertisement
07/06/2016
Rumusan:
Jaringan Syaraf Tiruan
Shinta P. Sari
• Manusia = 2 tangan + 2 kaki + 1
mulut + 2 mata + 1 hidung + 1
Kepala + 2 telinga
Otak Manusia
• 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
1
07/06/2016
Human Brain
Saraf Manusia
Dendrites
• Manusia memiliki krg lbh 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!
Soma (cell body)
Axon
Human Neuron (Detail)
dendrites
axon
Otak Manusia
• Otak sebagai Pusat Kendali dan Pikiran/ Belajar
• Neuron merupakan sistem yang fault tolerance
• Dapat mengenali sinyal input yang berbeda dari
sebelumnya
• Dapat mengenali orang yg blm pernah ditemui hanya dengan
synapses
melihat dari foto
• Dapat mengenali orang yang berubah krn tua misalnya
• Tetap dapat bekerja walau beberapa neuronnya rusak,
neuron lain dapat tumbuh dan dilatih
JST
• Suatu sistem pemrosesan informasi yang mencoba meniru
kinerja otak manusia
JST
• Baik tidaknya suatu model JST ditentukan oleh:
• Pemrosesan informasi terjadi pada elemen sederhana
• Pola antar neuron (arsitekur jaringan)
• Metode untuk menentukan dan mengubah bobot (disebut
• Sinyal dikirimkan diantara neuron-neuron melalui penghubung
• Fungsi aktivasi
• Merupakan generalisasi model matematis dengan asumsi:
(=neuron)
(=dendrit dan akson)
• Penghubung antar elemen memiliki bobot yang akan
menambah atau mengurangi sinyal
• Untuk menentukan output, setiap neuron memiliki fungsi
aktivasi (biasanya non linier) yang dikenakan pada semua input
• Besar output akan dibandingkan dengan threshold
metode learning)
• JST disebut juga: brain metaphor, computational
neuroscience, parallel distributed processing
2
07/06/2016
JST
• JST dapat belajar dari pengalaman!
• Biasanya berhubungan dengan angka (numerik)
Kelebihan JST
• Mampu mengakuisisi pengetahuan walau tidak
ada kepastian
sehingga data yang tidak numerik harus dibuat ke
numerik
• Tidak ada rumus yang tetap (fixed) sehingga
disebut dengan free-estimator!
• JST disebut black box atau tidak transparan
karena tidak mampu menjelaskan bagaimana
suatu hasil didapatkan!
• JST mampu menyelesaikan permasalahan yang
tidak terstruktur dan sulit didefinisikan!
• Mampu melakukan generalisasi dan ekstraksi dari
JST mampu:
Kelemahan JST
suatu pola data tertentu
• JST dapat menciptakan suatu pola pengetahuan
melalui pengaturan diri atau kemampuan belajar
(self organizing)
• Memiliki fault tolerance, gangguan dapat
dianggap sebagai noise saja
• Kemampuan perhitungan secara paralel sehingga
proses lebih singkat
• Klasifikasi: memilih suatu input data ke dalam
• Kurang mampu untuk melakukan operasi operasi
• Asosiasi: menggambarkan suatu obyek secara
• Kurang mampu melakukan operasi algoritma
• Self organizing: kemampuan mengolah data-data
• Lamanya proses training yang mungkin terjadi dalam
kategori tertentu yang sudah ditetapkan
keseluruhan hanya dengan bagian dari obyek lain
input tanpa harus mempunyai target
numerik dengan presisi tinggi
aritmatik, operasi logika dan simbolis
waktu yang sangat lama untuk jumlah data yang besar
• Optimasi: menemukan suatu jawaban terbaik
sehingga mampu meminimalisasi fungsi biaya
Aplikasi JST
• Pengenalan pola (pattern recognition)
• Huruf, tanda tangan, suara, gambar yang sudah sedikit berubah
(mengandung noise)
•
•
•
•
• Identifikasi pola saham
• Pendeteksian uang palsu, kanker
Signal Processing
• Menekan noise pada saluran telepon
Peramalan
• Peramalan saham
Autopilot dan simulasi
Kendali otomatis otomotif
Aplikasi JST
Tasks to be solved by artificial neural networks:
• controlling the movements of a robot based on selfperception and other information (e.g., visual
information);
• deciding the category of potential food items (e.g.,
edible or non-edible) in an artificial world;
• recognizing a visual object (e.g., a familiar face);
• predicting where a moving object goes, when a robot
wants to catch it.
3
07/06/2016
Sejarah
Sejarah
• Model JST formal pertama diperkenalkan oleh
• 1982, Kohonen mengembangkan learning unsupervised
•
•
• 1982, Grossberg dan Carpenter mengembangkan
•
•
McCulloch dan Pitts (1943)
1949, Hebb mengusulkan jaringan Hebb
1958, Rosenblatt mengembangkan perceptron
untuk klasifikasi pola
1960, Widrow dan Hoff mengembangkan
ADALINE dengan aturan pembelajaran Least
Mean Square (LMS)
1974, Werbos memperkenalkan algoritma
backpropagation untuk perceptron banyak
lapisan
Model Neuron JST
X1
untuk pemetaan
Adaptive Resonance Theory (ART, ART2, ART3)
• 1982, Hopfield mengembangkan jaringan Hopfield untuk
optimasi
• 1985, Algoritma Boltzmann untuk jaringan syaraf
probabilistik
• 1987, dikembangkan BAM (Bidirectional Associative
Memory)
• 1988, dikembangkan Radial Basis Function
Model Neuron
Y1
W1
• Pada JST, neuron-neuron akan dikumpulkan
dalam lapisan lapisan yang disebut dengan layers
X2
Y2
dengan neuron pada lapisan lainnya
W2
Fungsi aktivasi
X3
W3
Y3
Bobot
Masukkan
• Neuron dalam satu lapisan akan dihubungkan
Keluaran
• Kadang muncul juga layer tersembunyi (hidden
layer) untuk menambah keakuratan pelatihan
• Informasi tersebut bisa dirambatkan secara
forward ataupun backward
Y1 = X1.W1 + X2.W2 + X3.W3; dst…
Istilah dalam JST
JST dengan 3 layer
• Neuron: sel syaraf tiruan yang merupakan elemen pengolah JST
• Jaringan: bentuk arsitektur JST, kumpulan neuron yang saling berhubungan dan
membentuk lapisan
• Input: sebuah nilai input yang akan diproses menjadi nilai output
• Output: solusi dari nilai input
• Hidden layer: lapisan yang tidak terkoneksi secara langsung dengan lapisan input
atau output, memperluas kemampuan JST
• Bobot: nilai matematis dari sebuah koneksi antar neuron
• Fungsi aktivasi: fungsi yang digunakan untuk mengupdate nilai-nilai bobot periterasi dari semua nilai input.
• Fungsi aktivasi sederhana adalah mengakalikan input dengan bobotnya dan
•
kemudian menjumlahkannya (disebut penjumlahan sigma)
Berbentuk linier atau tidak linier, dan sigmoid
• Paradigma pembelajaran: bentuk pembelajaran, supervised learning, atau
unsupervised learning
4
07/06/2016
Arsitektur Jaringan
Model JST
• Multi Layer
• Single Layer
• Single Layer
• Hanya memiliki satu lapisan dengan bobot-bobot terhubung.
• Langsung menerima input dan mengolahnya menjadi output tanpa
menggunakan hidden layer
• Multi Layer
• Memiliki satu atau lebih lapisan input, satu atau lebih lapisan output, dan
lapisan tersembunyi
•
• Dapat menyelesaikan masalah yang lebih kompleks karena lebih akurat
• Fungsi pembelajarannya lebih rumit
• Kompetitive Model / Recurrent Model
• Hubungan antar neuron tidak diperlihatkan secara langsung pada
Competitive Layer /
Recurrent
arsitektur
• Hubungan antar neuron dapat digambarkan sebagai jaring yang rumit
Pengelompokkan JST
• JST Feed Forward
• Tidak mempunyai loop
• Contoh: single layer perceptron, mutilayer perceptron,
radial basis function
• JST Feed Backward (Recurrent)
• Memiliki loop, lapisan output akan memberi input lagi bagi
lapisan input
• Contoh: competitive networks, kohonen, hopfield, ART
Algoritma Pembelajaran Umum
•
•
•
•
Dimasukkan n data pelatihan
Inisialisasi bobot-bobot jaringan, set i = 1
Masukkan contoh ke-i ke dalam input
Cari tingkat aktivasi unit output menggunakan algoritma
yang ditetapkan
• If memenuhi kriteria output then exit
else:
• Update bobot2 menggunakan fungsi galat error, Bobot
baru = bobot lama + delta
• If i=n then reset i=1, else i=i+1
Paradigma pembelajaran
• Supervised Learning
• Kumpulan input berusaha membentuk target output yang sudah
diketahui sebelumnya
• Perbedaan antara output yang masih salah dengan output yang
diharapkan harus sekecil mungkin
• Biasanya lebih baik daripada unsupervised
• Kelemahan: pertumbuhan waktu komputasi eksponensial, data bnyk
berarti semakin lambat
• Unsupervised Learning
• JST mengorganisasikan dirinya untuk membentuk vektor-vektor input
yang serupa tanpa menggunakan data atau contoh-contoh pelatihan,
biasanya ke dalam suatu kategori/kelompok2 tertentu
• Hibrida Learning
• Gabungan antara unsupervised dan supervised
JST dan Aplikasi
• Klasifikasi: ADALINE, Backpropagation
• Pengenalan Pola: ART, Backpropagation
• Peramalan: ADALINE, MADALINE,
Backpropagation
• Optimasi: ADALINE, Hopfield, Boltzman,
Backpropagation
5
07/06/2016
Fungsi Aktivasi
Fungsi Aktivasi
• Fungsi undak biner (hard limit)
• Fungsi bipolar
• Fungsi undak biner (threshold)
• Fungsi bipolar dengan threshold

Fungsi Aktivasi
McCulloch Pitts
• Fungsi aktivasi biner
• Besar bobotnya sama
• Memiliki threshold yang sama
• Fungsi Linier (identitas)
Contoh buat fungsi logika “and”, input X1 dan X2, dan Y =
1 jika dan hanya jika inputan 1
X1 X2
1
1
1
0
0
1
0
0
• Fungsi Sigmoid biner
Y
1
0
0
0
Jawab
X1 X2 net
Y, 1 jika net >=2, 0 jika net < 2
1
1
1.1+1.1=2 1
1
0
1.1+0.1=1 0
0
1
0.1+1.1=1 0
0
0
Problem “OR”
0.1+0.1=0 0
Ternyata BERHASIL mengenali pola
X
1
X1 X2 net
1
Y
2
X
2
1
Y, 1 jika net >=1, 0 jika net < 1
1
1
1.1+1.1=2 1
1
0
1.1+0.1=1 1
0
1
0.1+1.1=1 1
0
0
0.1+0.1=0 0
X1
1
Y
1
X2
1
Ternyata BERHASIL mengenali pola
6
07/06/2016
Problem “X1 and not(X2)”
X1 X2 net
Problem “XOR”
Y, 1 jika net >=2, 0 jika net < 2
1
1
1.2+1.-1=10
1
0
1.2+0.-1=21
0
1
0.2+1.-1=-1
0
0
0.2+0.-1=00
X1
2
Y
0
2
X2
-1
Ternyata BERHASIL mengenali pola
X1 X2
Y
1
1
0
1
0
1
0
1
1
0
0
0
F(0,1) = 1
F(1,1) = 0
F(0,0) = 0
F(1,0) = 1
GAGAL!
Solusi
Tabel
• XOR = (x1 ^ ~x2) V (~x1 ^ x2)
• Ternyata dibutuhkan sebuah layer tersembunyi
2
2
X1
Z1
1
-1
Y
-1
1
1
X2
Z2
2
2
Jaringan HEBB
•
•
•
•
•
Menggunakan iterasi untuk menghitung bobot dan bias
Dalam setiap iterasi, bobot dan bias diubah berdasarkan rumus tertentu
W = bobot
Wbaru = Wlama + X1Y1
Algoritma:
• Init, semua bobot wi = 0
• Untuk semua input:
•
•
•
•
To Be Continued
•
•
•
•
Jaringan HEBB
Jaringan Perceptron
Jaringan Back Propagation
Hybrid JST
Set fungsi aktivasi xi = si
Set output y=t
Perbaiki bobot: w(baru) = w(lama) + delta w, dengan delta w = xi*y
Perbaiki bias, b(baru) = b(lama) + y
7
Download