Ai Jaringan Syaraf Tiruan
Ai Jaringan Syaraf Tiruan
Otak Manusia
2
Biasanya makan nasi, singkong, dsb kemudian merasakan makanan keju, pizza
Campuran gula 1 sendok dengan garam 2 sendok.
Pemodelan Neuron
4
Neuron adalah unit pemrosesan informasi
Sebuah Adder
Pemodelan Neuron
5
Input dari semua vektor dihitung oleh setiap
Analogi
Jaringan Syaraf
Biologis
Soma
Dendrit
Axon
Synapse
Jaringan
Syaraf Tiruan
Neuron
Input
Output
Bobot
Bias
6
Dalam bagian tertentu, tergantung pada saat bias bk
Fungsi Aktivasi
7
Mendefinisikan output neuron dalam daerah induced local
field v
Ada tiga jenis fungsi aktivasi dasar :
(v)
1
0
-1
-2
-2
-1
0
v
Fungsi identitas
v
(v)
1
0.8
0.6
Threshold Biner
Threshold Bipolar
Sigmoid Biner
Sigmoid Bipolar
0.4
0.2
0
-0.2
-2
-1
Fungsi Piece-wise
Fungsi Aktivasi
8
Fungsi Threshold Biner (step)
Threshold Biner
Fungsi Sigmoid Bipolar
1.2
(v)
(v)
1
0.8
a=0.5
0.6
a=1
0.4
a=3
a=1
0
0
-10
-5
0
v
Sigmoid Biner
a=3
-0.5
a=5
0.2
a=0.5
0.5
a=5
-1
10
-10
-5
0
v
Sigmoid Bipolar
10
Threshold Bipolar
Operasi AND
FA adalah threshold
Threshold = 2
x1
1
x2
1
Operasi OR
FA adalah threshold
Threshold = 2
y
1
x1
1
x2
1
y
1
Operasi AND
10
biner
Threshold = 2
Y = 1, jika v 2
Y = 0, jika v < 2
[x1 x2]
Bobot
[w1 w2]
[1 1]
[1 0]
[0 1]
[0 0]
[1 1]
[1 1]
[1 1]
[1 1]
v=x1*w1 +
x2*w2
1*1 + 1*1 = 2
1*1 + 0*1 = 1
0*1 + 1*1 = 1
0*1 + 0*1 = 0
Y=Sign(v
)
Target
1
0
0
0
1
0
0
0
Operasi OR
11
biner
Threshold = 2
Y = 1, jika v 2
Y = 0, jika v < 2
[x1 x2]
Bobot
[w1 w2]
[1 1]
[1 0]
[0 1]
[0 0]
[2 2]
[2 2]
[2 2]
[2 2]
v=x1*w1 +
x2*w2
1*2 + 1*2 = 4
1*2 + 0*2 = 2
0*2 + 1*2 = 2
0*2 + 0*2 = 0
Y=Sign(v
)
Target
1
1
1
0
1
1
1
0
Fungsi Aktivasi
Threshold biner
Threshold = 0
Y = 1, jika v 0
Y = 0, jika v < 0
Vektor
[x y 1]
[1 1 1]
Bobot
[w1 w2 w3]
[1 1 -2]
[1 0 1]
[1 1 -2]
[0 1 1]
[1 1 -2]
[0 0 1]
[1 1 -2]
v=x1*w1 + x2*w2
Y=
Sign(v)
Targ
et
Jaringan FeedForward
13
Karena JST awalnya tidak dapat memahami pola masukan dan pola
dalam penyesuaian yang diterapkan pada bobot synaptic dan level bias.
Idealnya, jaringan menjadi lebih paham (pintar) mengenali
lingkungannya setelah tiap iterasi proses pelatihan/pembelajaran.
Beberapa teknik pembelajaran yang dibuat oleh para ahli, misalnya : single layer
Langkah 1: Inisialisasi
Langkah 2: Aktivasi
Langkah 4: Iterasi
Naikkan iterasi n satu langkah, kembali ke langkah 2 dan ulangi proses sampai syarat
konvergensi tercapai.
Jenis Pembelajaran
20
Pembeda diantara jenis pembelajaran adalah formula perhitungan wkj(n) = ek(n) xj(n)
d = target y = hasil keluaran fungsi aktivasi v = sebelum aktivasi
Perceptron (terawasi/supervised)
ek(n) = d - y
wkj(n) = ek(n) xj(n)
ek(n) = y
wkj(n) = ek(n) xj(n)
Delta (terawasi/supervised)
Jenis Pembelajaran
21
Widrow-Hoff
Back-propagation
Correlation
Winner Take All
Self Organizing Map (SOM)
Dsb.
Bobot awal :
iterasi
masuka
n
keluaran
lr
target
Error
[n1 n2]
[1 1]
[1 0]
[0 1]
[0 0]
[1 1]
[1 0]
[0 1]
[0 0]
Inisialisasi bobot
0
0.1
0
0.1
0
0.1
0
0.1
1
0.1
0
0.1
0
0.1
0
0.1
1
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0.1
0.1
0
0.2
0.1
0.1
0
perubah bobot
an bobot baru
[w1 w2 [w1 w2
bias]
bias]
[0 0]
[0.1 0.1] [0.1 0.1]
[0 0] [0.1 0.1]
[0 0] [0.1 0.1]
[0 0] [0.1 0.1]
[0 0] [0.1 0.1]
[0 0] [0.1 0.1]
[0 0] [0.1 0.1]
[0 0] [0.1 0.1]
masukan
[n1 n2]
keluaran
lr
target
Error
perubahan bobot
bobot baru
[w1 w2 bias]
[w1 w2 bias]
1
0
0
0
1
0
0
0
1
0
0
0
1
0
0
0
1
0
0
0
1
0
-1
0
0
1
-1
0
0
0
-1
0
0
1
0
0
0
0
-1
0
0
0
[0 0]
[-0.1 0]
[0 0]
[0 0]
[0.1 0.1]
[-0.1 0]
[0 0]
[0 0]
[0 0]
[-0.1 0]
[0 0]
[0 0]
[0.1 0.1]
[0 0]
[0 0]
[0 0]
[0 0]
[-0.1 0]
[0 0]
[0 0]
[0 0]
[0.3 -0.1]
[0.3 -0.1]
[0.2 -0.1]
[0.2 -0.1]
[0.2 -0.1]
[0.3 0]
[0.2 0]
[0.2 0]
[0.2 0]
[0.2 0]
[0.1 0]
[0.1 0]
[0.1 0]
[0.2 0.1]
[0.2 0.1]
[0.2 0.1]
[0.2 0.1]
[0.2 0.1]
[0.1 0.1]
[0.1 0.1]
[0.1 0.1]
[0.1 0.1
Inisialisasi bobot
0.1
0.1
0.1
0.1
0.1
0.1
0.1
0.1
0.1
0.1
0.1
0.1
0.1
0.1
0.1
0.1
0.1
0.1
0.1
0.1
0.1
[1 1]
[1 0]
[0 1]
[0 0]
[1 1]
[1 0]
[0 1]
[0 0]
[1 1]
[1 0]
[0 1]
[0 0]
[1 1]
[1 0]
[0 1]
[0 0]
[1 1]
[1 0]
[0 1]
[0 0]
[1 1]
0.2
0.3
-0.1
0
0.1
0.3
0
0
0.2
0.2
0
0
0.1
0.2
0.1
0
0.3
0.2
0.1
0
0.2
1
1
0
0
0
1
0
0
1
1
0
0
0
0
0
0
1
1
0
0
1
[1 0]
0.1
0.1
[0 0]
[0.1 0.1]
[0 1]
0.1
0.1
[0 0]
[0.1 0.1]
[0 0]
0.1
[0 0]
[0.1 0.1]
Bobot awal : 0
dan 0
Bias : 0
Learning rate :
1
Fungsi
aktivasi :
Threshold ()
biner = 0
keluar
an
lr
target
error
[n1 n2 1]
[1 1 1]
[1 0 1]
[0 1 1]
[0 0 1]
[1 1 1]
[1 0 1]
[0 1 1]
[0 0 1]
[1 1 1]
[1 0 1]
[0 1 1]
[0 0 1]
[1 1 1]
[1 0 1]
[0 1 1]
[0 0 1]
Inisialisasi bobot
1
1
1
1
0
1
0
1
0
1
1
1
1
1
0
1
0
1
0
1
1
1
0
1
0
1
1
1
0
1
0
1
1
0
0
0
1
0
0
0
1
0
0
0
1
0
0
0
0
-1
0
0
1
-1
-1
0
1
0
-1
0
1
-1
0
0
masukan
iterasi
0
0
-1
-1
-2
0
0
-2
-3
-1
0
-2
-2
0
-1
-2
perubahan bobot
bobot
baru
[w1 w2 [w1 w2
bias]
bias]
[0 0 0]
[0 0 0]
[0 0 0]
[-1 0 -1] [-1 0 -1]
[0 0 0]
[-1 0 -1]
[0 0 0]
[-1 0 -1]
[1 1 1]
[0 1 0]
[-1 0 -1] [-1 1 -1]
[0 -1 -1] [-1 0 -2]
[0 0 0]
[-1 0 -2]
[1 1 1]
[0 1 -1]
[0 0 0]
[0 1 -1]
[0 -1 -1] [0 0 -2]
[0 0 0]
[0 0 -2]
[1 1 1]
[1 1 -1]
[-1 0 -1] [0 1 -2]
[0 0 0]
[0 1 -2]
[0 0 0]
[0 1 -2]
1 dan 2
Bias : -3
iterasi
masuka
n
[n1 n2 1]
[1 1 1]
[1 0 1]
[0 1 1]
[0 0 1]
[1 1 1]
[1 0 1]
[0 1 1]
[0 0 1]
[1 1 1]
[1 0 1]
[0 1 1]
[0 0 1]
[1 1 1]
[1 0 1]
[0 1 1]
[0 0 1]
-1
0
0
-3
-2
-1
0
-3
-1
0
-1
-3
0
-2
-1
-3
kelua
ran
lr
target
error
0
1
1
0
0
0
1
0
0
1
0
0
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
0
0
0
1
0
0
0
1
0
0
0
1
-1
-1
0
1
0
-1
0
1
-1
0
0
0
0
0
0
perubah
an bobot
[w1 w2
bias]
[1 1 1]
[-1 0 -1]
[0 -1 -1]
[0 0 0]
[1 1 1]
[0 0 0]
[0 -1 -1]
[0 0 0]
[1 1 1]
[-1 0 -1]
[0 0 0]
[0 0 0]
[0 0 0]
[0 0 0]
[0 0 0]
[0 0 0]
bobot
baru
[w1 w2
bias]
[1 2 -1]
[0 2 -2]
[0 1 -3]
[0 1 -3]
[1 2 -2]
[1 2 -2]
[1 1 -3]
[1 1 -3]
[2 2 -2]
[1 2 -3]
[1 2 -3]
[1 2 -3]
[1 2 -3]
[1 2 -3]
[1 2 -3]
[1 2 -3]
AND (Pengujian)
27
dilatihkan.
Terlihat bahwa nilai keluaran (y) pada pengujian keempat
vektor memberikan hasil yang sama dengan nilai target (d).
Masukan
bobot (w)
keluaran (y)
target (d)
[1 1 1]
[1 2 -3]
[1 0 1]
[1 2 -3]
-2
[0 1 1]
[1 2 -3]
-1
[0 0 1]
[1 2 -3]
-3
Pelatihan perceptron (hampir semua teknik pengenalan pola) sebenarnya adalah fungsi linear.
Fungsi linear hanya bisa memisahkan data dalam kelas yang sifatnya pengelompokannya adalah
linear.
Persamaan perceptron :
Keluaran perceptron Y=1 hanya jika total bobot masukan lebih besar
Contoh kasus
30
Temukan nilai bobot dan bias dimana hasil dalam
Bobot awal
[0 0 0]
[0 0 0]
[0 0 0]
[0 0 0]
[0 0 0]
[0 0 0]
[0 0 0]
[0 0.3 -0.5]
[-0.1 -0.7 -0.2]
[0.4 2 0.9]
Learning rate
0.1
0.2
0.3
0.4
0.5
0.6
0.9
0.9
0.9
0.9
Iterasi
3
3
3
3
3
3
3
5
6
3
Bobot akhir
[-0.125 0.075 0]
[-0.25 0.15 0]
[-0.375 0.225 0]
[-0.5 0.3 0]
[-0.625 0.375 0]
[-0.75 0.45 0]
[-1.125 0.675 0]
[-1.8 0.75 0.4]
[-2.125 0.425 0.7]
[-1.625 1.325 0]
JST Delta
31
Algoritma jaringan Delta (Mc Clelland
JST Delta
32
Inisialisasi bobot wk bisa diberi nilai awal 0 / nilai acak yang kecil antara -0.5
x1T = [1 1]
x1T = [1 0]
x1T = [0 1]
x1T = [0 0]
slope (a) 1.
Target error 0.001.
Lakukan pelatihan jaringan untuk mendapatkan bobot optimal dengan
nilai laju pembelajaran 1 dan 0.8
Karena error yang didapatkan masih lebih besar dari target error
(baru > ) maka pelatihan masih dilanjutkan pada iterasi kedua.
0.25
0.2
0.15
0.1
0.05
0
500
1000
1500
2000
[n1 n2 1]
keluaran
v
y'
target
bobot
[w1 w2 bias]
Inisialisasi bobot
bobot baru
error
baru
[0 0 0]
[1 1 1]
0.5
0.25
0.125
[1 0 1]
0.25
0.5622
0.2461
[-0.1384 0 -0.1384]
0.158
[0 1 1]
0.1116
0.5279
0.2492
[0 -0.1316 -0.1316]
0.1393
[0 0 1]
-0.1449
0.4638
-2802
0.4304
[0 0 -0.1154]
[0.1396 0.1396
[1 1 1]
0.2487
0.2452
0.1076
0.1622
[1 0 1]
0.0056
0.5014
0.25
0.1396]
[-0.1254 0 -0.1254]
[0 1 1]
-0.1129
0.4718
0.2492
[0 0 1]
-0.3636
0.4101
0.2419
3.0614
0.9553
0.0019]
[-0.0014 0 -0.0014]
0.1257
[0 -01176 -0.1176]
0.1113
[0 0 -0.0992]
0.0841
[1 1 1]
2034
2035
0.0427
[0.0019 0.0019
[1 0 1]
-3.2411
0.0376
0.0362
[0 1 1]
-3.2408
0.0377
0.0362
[0 0 1]
-9.5505
0.0007
[1 1 1]
3.1017
0.9553
0.0019]
[-0.0014 0 -0.0014]
0.0427
[1 0 1]
-3.2414
0.0376
0.0362
[0 1 1]
-3.2411
0.0376
0.0362
[0 0 1]
-9.5513
0.0000
35
0.001
0.0007
[0 -0.0014 -0.0014]
0.0007
[0 0 -0.0000]
[0.0019 0.0019
0.0000
0.001
0.0007
[0 -0.0014 -0.0014]
0.0007
[0 0 0.0000]
0.0000
[n1 n2 1]
keluaran
v
target
y'
bobot
[w1 w2 bias]
Inisialisasi bobot
bobot baru
error
baru
[0 0 0]
[1 1 1]
[1 0 1]
[0 1 1]
0
0.2
0.0911
0.5
0.5498
0.5228
0.25
0.2475
0.2495
0.8
0.8
0.8
1
0
0
0.125
0.1512
0.1366
[0 0 1]
-0.1132
0.4717
0.2492
0.8
[1 1 1]
-2205
0.4451
0.2470
[0 0 -0.0940]
[0.1096 0.1096
0.1113
0.1539
[1 0 1]
0.0031
0.5008
0.25
0.8
0.1096]
[-0.1002 0 -0.1002]
[0 1 1]
-0.0925
0.4769
0.2495
0.8
[0 0 1]
-0.2929
0.4273
0.2447
0.8
[1 1 1]
3.0614
0.9553
0.0427
[1 0 1]
-3.2411
0.0376
0.0362
0.8
0.0015]
[-0.0011 0 -0.0011]
[0 1 1]
-3.2409
0.0377
0.0362
0.8
[0 0 1]
-9.5491
0.0001
0.0001
0.8
[1 1 1]
3.0617
0.9553
0.0427
0.8
0.1254
[0 -0.0952 -0.0951]
0.1137
[0 0 -0.0836]
0.0913
2548
2549
0.8
0.8
-3.2413
0.0376
0.0362
[0 1 1]
-3.2411
0.0376
0.0362
0.8
[0 0 1]
-9.5498
0.0001
0.0001
0.8
0.001
0.0007
[0 -0.0011 -0.0011]
0.0007
[0 0 -0.0000]
[0.0015 0.0015
0.0000
[1 0 1]
0.0015]
[-0.0011 0 -0.0011]
0.8
36
[0.0015 0.0015
0.001
0.0007
[0 -0.0011 -0.0011]
0.0007
[0 0 -0.0000]
0.0000
0.2
500
1000
1500
2000
2500
n=4
masukan
target
n1
-0.5
n2
1
bias
1
d1
1
d2
-0.5
1.5
0.5
-0.5
-0.5
0.5
0.5
0.5
0.5
1.5
1.5
0.5
-0.5
dapat merepresentasikan
sembarang fungsi kontinyu dari
sinyal masukan.
Dengan dua hidden layer, bahkan
fungsi diskontinyu dapat
direpresentasikan.
disembunyikannya ?
JST komersial disandingkan dengan 3 atau kadang-kadang 4 layer (termasuk 1 atau 2 hidden layer)
Setiap layer dapat berisi dari 10 sampai 1000 neuron.
Penelitian umumnya 5 atau kadang 6 layer (termasuk 3 atau 4 hidden layer), dan menggunakan
jutaan neuron, tapi praktek umumnya hanya 3 layer, karena setiap penambahan layer akan
meningkatkan komputasi secara eksponensial.
Pembelajaran dalam JST multilayer diproses dengan cara yang sama seperti pada perceptron.
Training set pola masukan diberikan pada jaringan. Jaringan menghitung pola keluaran. Jika
ada error (perbedaan pola keluaran aktual dengan yang dibutuhkan), maka bobot akan
disesuaikan untuk mengurangi error.
mempunyai 2 fase.
Fase 1,
Fase 2,
biner:
Atau bipolar:
wjk(p) = . k(p) . zj
k(p) adalah error gradien neuron k dilayer
output pada iterasi ke-k
output
Dimana zj = 1/(1+e-v)
n
v j xi ( p ).wij ( p ) w0 j
i 1
Algoritma Training BP
47
Langkah 1: Inisialisasi
Mengaktivasi JST back-pro dengan menerapkan input x 1(p), x2(p), , xn(p), dan ouput
n
yang diinginkan d1(p), d2(p), , dn(p)
v j xi ( p ).wij ( p ) w0 j
i 1
Hitung output aktual pada neuron dalam hidden layer
m
vk hidden
z j layer
( p ).w jk ( p) w0 k
zj(p) = sigmoid(vj), n dalah jumlah input masukan neuron pada
k
j 1
Hitung ouput aktual pada neuron dalam output layer
Langkah 4: Iterasi
Kriteria error
menggunakan Sum of
Square Error (SSE)
l
SSE 0.5(d k yk ) 2
k 1
Arsitektur perceptron
multilayer dengan
algoritma backpropagation
Terdiri dari: 2
masukan, 3 neuron
tersembunyi, 1 neuron
keluaran.
Fungsi aktivasi:
sigmoid biner
Laju pelatihan: 0.1
x1
x2
x2
1
0
1
0
dk
0
1
1
0
yk
0.016363
0.980001
0.994611
0.016285
dk - yk
SE
-0.01636 0.000134
0.019999
0.0002
0.005389 1.45E-05
-0.01629 0.000133
SSE
Target
error
0.000481
0.001
parameter tambahan.
Menggunakan fungsi aktivasi sigmoid bipolar
Semakin kecil nilai , maka perubahan bobot akan kecil dan pergerakan kurva SSE
semakin halus mengakibatkan proses pelatihan menjadi semakin lama.
Jika nilai semakin besar maka proses pelatihan berjalan lebih cepat, perubahan bobot
juga besar tetapi menyebabkan ketidakstabilan pada perubahan SSE (naik turun terus).
ANY QUESTIONS ?
52