Jaringan g Syaraf y Tiruan (Artificial Neural Network) Intelligent Systems
Pembahasan • Jaringan McCulloch-Pitts • Jaringan Hebb • Perceptron
Jaringan g McCulloch-Pitts
Model JST Pertama • Diperkenalkan oleh McCulloch dan Pitts tahun 1943 • Model McCullcoh dan Pitts merupakan jaringan syaraf pertama yang dibuat berdasarkan syaraf tiruan • Menyimpulkan bahwa kombinasi beberapa neuron sederhana menjadi j suatu sistem neuron dapat p meningkatkan kemampuan komputasi gu a a u untuk tu melakukan e a u a fungsi u gs logika og a sede sederhana a a • Digunakan • Banyak prinsipnya yang masih digunakan pada JST saat ini
Karakteristik McCulloch-Pitts Karakteristik model neuron McCulloch-Pitts : 1 Fungsi aktivasi neuron dalam biner 1. • •
Neuron meneruskan sinyal : aktivasi bernilai 1 Neuron tidak meneruskan sinyal : aktivasi bernilai 0
2 S 2. Setiap ti neuron pada d jjaringan i dih dihubungkan b k d dengan jjalur l tterarah h yang memiliki bobot tertentu • • X1 X2 X3
Jika bobot jalur bernilai positif, jalur diperkuat Jik b Jika bobot b t jjalur l b bernilai il i negatif, tif jjalur l di diperlemah l h Fungsi aktivasi unit Y : If net >= θ, then f(net)=1, else f(net)= 0
w1 1 w2 w3
Y
Dimana : • net adalah total sinyal input = x1w1+x2w2+x3w3 • output y = f(net) • θ adalah d l h nilai il i th threshold h ld neuron Y
Karakteristik McCulloch McCulloch-Pitts Pitts Karakteristik model neuron McCulloch-Pitts : 3 Seluruh jalur bernilai positif yang terhubung ke neuron 3. tertentu, memiliki bobot sama •
Bobot koneksi yang berbeda dapat terhubung ke neuron lain
4 Setiap neuron memiliki nilai threshold tetap 4. •
Jika net input ke neuron lebih besar dari threshold, neuron akan meneruskan sinyal (fire) Threshold di di-set set sedemikian sehingga setiap masukan yang memperlemah akan mencegah neuron meneruskan sinyal
•
X1 X2 X3
2 2 -1 1
Y
Ditentukan e u a θ = 4,, w1=2,, w2=2 da dan w3=-1 3 maka : • net = 2.x1 + 2.x2 + (-1).x3 • If net >= 4, then y=f(net)=1, else f(net)= 0
K kt i tik M Karakteristik McCulloch-Pitts C ll h Pitt
Karakteristik model neuron McCulloch-Pitts :
5 Bobot setiap jalur tidak ditentukan dengan proses pelatihan 5. •
Tetapi dilakukan secara analitis (dengan coba-coba)
6. Sinyal mengalir dari satu koneksi ke koneksi lain dalam satu satuan waktu 7. Pada awalnya, jaringan McCulloch-Pitts digunakan untuk memodelkan fungsi logika
X1 X2 X3
Ditentukan θ = 4, w1=2, w2=2 dan w3=-1 maka : • net = 2 2.x1 x1 + 2 2.x2 x2 + (-1) (-1).x3 x3 • If net >= 4, then y=f(net)=1, else f(net)= 0
2 2 -1 1
Y
Jaringan dapat meneruskan sinyal (fire) jika masukan x1 dan x2 bernilai 1 dan x3 bernilai nol
Fungsi AND • X1
X2
w1=1 w2=1
θ 2 θ=2 Y
2
X1
X2
Agar jaringan dapat menyatakan fungsi AND maka bobot jalur dibuat bernilai 1 AND, – Karena input X1 dan X2 terhubung ke neuron yang sama, bobot koneksi harus y bernilai 1)) sama ((keduanya – Penentuan bobot jalur dilakukan secara analitik (coba-coba)
net = ∑ xi wi
⎧1 jika net ≥ 2 y = f (net ) = ⎨ ⎩0 jika net < 2
i =1
0
0
0.1+0.1=0
0
0
1
0.1+1.1=1
0
1
0
1.1+0.1=1
0
1
1
1.1+1.1=2
1
Fungsi OR • X1
X2
w1=2 w2=2
θ 2 θ=2 Y
2
X1
X2
Agar jaringan dapat menyatakan fungsi AND maka bobot jalur diganti menjadi AND, bernilai 2 – Bobot koneksi tetap harus sama ((keduanya y diganti g menjadi j bernilai 2)) – Perubahan bobot jalur dilakukan secara analitik
net = ∑ xi wi
⎧1 jika net ≥ 2 y = f (net ) = ⎨ ⎩0 jika net < 2
i =1
0
0
0.2+0.2=0
0
0
1
0.2+1.2=2
1
1
0
1.2+0.2=2
1
1
1
1.2+1.2=4
1
Fungsi AND-NOT X1
X2
w1= 2 w2= -1
θ 2 θ=2 Y
2
X1
X2
• •
Y bernilai 1 jika X1=1 dan X2=0 Untuk memperolehnya memperolehnya, maka bobot w1 harus lebih besar dari w2 – Untuk mencegah agar f(1,1) tidak sama dengan 1 1, maka w2 harus negatif
net = ∑ xi wi
⎧1 jika net ≥ 2 y = f (net ) = ⎨ ⎩0 jika net < 2
i =1
0
0
0.2+0.-1= 0
0
0
1
0.2+1.-1=-1
0
1
0
1.2+0.-1= 2
1
1
1
1.2+1.-1= 1
0
F Fungsi i XOR •
Fungsi XOR tidak dapat dibuat dengan menghubungkan langsung input p ke output p – Diperlukan sebuah layer tersembunyi (hidden layer) – Ingat de Morgan : X1 XOR X2 = (X1 AND NOT X2) OR (NOT X1 AND X2) – Dibentuk menggunakan 2 fungsi AND NOT dan 1 fungsi OR θ 2 θ=2 X1
X2
2 -1 -1 2
Z1
Z2
2 2
θ=2 Y
X1 XOR X2 = (X1 AND NOT X2) OR (NOT X1 AND X2) = Z1 OR Z2
Jaringan g Hebb
Jaringan Hebb • Jaringan layer tunggal dengan satu neuron keluaran – Seluruh neuron masukan terhubung langsung dengan neuron keluaran, k l ditambah dit b h d dengan sebuah b h bi bias
• Pada jaringan McCulloch-Pitts, penentuan bobot garis dan bias dilakukan secara analitik – Sulit dilakukan pada masalah yang kompleks
• D D.O O Hebb (1949) memperkenalkan cara menghitung bobot dan bias secara iteratif • Model jaringan Hebb adalah model pertama yang dapat belajar
Konsep Dasar Hebb •
Apabila dua buah neuron yang dihubungkan dengan sinapsis memiliki bobot w sama (keduanya positif atau keduanya negatif) negatif), maka kekuatan sinapsisnya meningkat
•
Sebaliknya, apabila kedua neuron aktif secara tidak sinkron (salah Sebaliknya satu bobot w bernilai positif dan yang lain bernilai negatif), maka kekuatan sinapsisnya akan melemah x1
w1
bobot y
x2
neuron input
w2
sinapsis
neuron output
Dasar Algoritma Hebb • Prinsip model belajar Hebb : – Proses belajar dilakukan secara iteratif – Pada setiap iterasi pembelajaran, bobot sinapsis dan bobot bias diubah berdasarkan perkalian neuron-neuron di kedua sisinya (sisi input dan sisi output)
x1 x2 1
perubahan nilai bobot dilakukan d dengan persamaan :
w1 w2 b
y
wi(baru)= wi(lama)+xiy b(baru) b(b ) = b(lama) b(l ) +y +
Algoritma Pelatihan Hebb Algoritma pelatihan – Inisialisasi semua bobot : b = wi = 0 (i=1, …, n)
– Untuk semua vektor masukan s dan target tt, lakukan
• Set aktivasi unit masukan : xi = si (i=1, …, n) • Set aktivasi unit keluaran : y = t • Perbaiki bobot menurut persamaan : wi((baru)=w ) i((lama)+delta ) wi ((i=1,, …,, n), ), dimana delta wi = xiy
• Perbaiki bias menurut persamaan : b(baru) = b(lama) + y
Kasus 1 : Fungsi Logika •
Kasus : –
•
Buat jaringan Hebb yang dapat menyatakan fungsi logika AND
Representasi masukan/keluaran yang digunakan : a. M Masukan k d dan kkeluaran l bi biner (0 atau t 1) b. Masukan biner dan keluaran bipolar c. Masukan dan keluaran bipolar (-1 atau 1)
•
Contoh ini hendak memperlihatkan masalah yang seringkali timbul untuk fungsi aktivasi threshold –
Kadangkala jaringan dapat menentukan pola secara benar jika menggunakan representasi bipolar saja
a Representasi Biner-Biner a. Tabel Masukan dan Target fungsi AND Masukan
Target
s1
s2
bias
t
X1
1
1
1
1
X2
1
0
1
0
0
1
1
0
0
0
1
0
• Masukan biner • Target keluaran biner
1
w1 w2 b
Arsitektur Jaringan Hebb fungsi AND
θ=0 Y
a Representasi Biner a. Biner-Biner Biner Proses Belajar : Masukan x1
• •
x2
Keluaran bias
y
Perubahan Bobot dw1
dw2
db
Bobot Baru w1
w2
b
0
0
0
1
1
1
1
1
1
1
1
1
1
1
0
1
0
0
0
0
1
1
1
0
1
1
0
0
0
0
1
1
1
0
0
1
0
0
0
0
1
1
1
Perhitungan bobot dan bias – wi(baru)=wi(lama)+ dwi, dimana dwi=xiy (i=1, (i=1 …, n) – b(baru) = b(lama) + db, dimana db=y Hasil pembelajaran – Bobot berubah akibat pasangan data pertama saja – Dari hasil iterasi, diperoleh w1 =1, w2=1, dan b=1
a. Representasi Biner-Biner Hasil eksekusi : 2
x1
x2
jika nett ≥ 0 ⎧1 jik y = f (net ) = ⎨ ⎩0 jika net < 0
net = ∑ xi wi + b i =1
• •
1
1
1.1+1.1+1=3
1
1
0
1.1+0.1+1=2
1
0
1
0.1+1.1+1=2
1
0
0
0.1+0.1+1=1 0.1+0.1+1 1
1
f(net) tidak sama dengan target yang diinginkan pada fungsi AND Jaringan TIDAK DAPAT ‘MENGERTI’ pola yang dimaksud
X1 X2 1
w1=1
θ=0
w2=1
Y
b=1
b Representasi Biner-Bipolar b. Tabel Masukan dan Target fungsi AND Input s1 1
s2 1
Target bias 1
t 1
1
0
1
-1
0
1
1
-1
0
0
1
-1
• Masukan biner • Target keluaran bipolar
X1 X2 1
w1 w2 b
Arsitektur Jaringan Hebb fungsi AND
θ=0 Y
b Representasi Biner b. Biner-Bipolar Bipolar Proses Belajar : Masukan x1
x2
Keluaran bias
y
Perubahan Bobot dw1
dw2
db
Bobot Baru w1
w2
b
0
0
0
1
1
1
1
1
1
1
1
1
1
1
0
1
-1
-1
0
-1
0
1
0
0
1
1
-1
0
-1
-1
0
0
-1
0
0
1
-1
0
0
-1
0
0
-2
Perhitungan g bobot dan bias wi(baru)=wi(lama)+ dwi, dimana dwi=xiy (i=1, …, n) b(baru) = b(lama) + db, dimana db=y Hasil pembelajaran Dari hasil iterasi, diperoleh w1 =0, w2=0, dan b=-2
b. Representasi Biner-Bipolar Hasil eksekusi : 2
• •
x1
x2
net = ∑ xi wi + b
1
1
1.0+1.0+(-2)=-2 1.0+1.0+( 2) 2
-1 1
1
0
1.0+0.0+(-2)=-2
-1
0
1
0.0+1.0+(-2)=-2
-1
0
0
0 0+0 0+( 2)= 2 0.0+0.0+(-2)=-2
-1 1
⎧ 1 jika net ≥ 0 y = f (net ) = ⎨ ⎩− 1 jika net < 0
i =1
f(net) ( ) belum sama dengan g target g yyang g diinginkan pada fungsi AND Jaringan MASIH TIDAK DAPAT ‘MENGERTI’ p pola yyang g dimaksud
X1 X2 1
w1=0
θ=0
w2=0
Y
b=-2
c. Representasi Bipolar-Bipolar Tabel Masukan dan Target fungsi AND Masukan
Target
s1
s2
bias
t
1
1
1
1
1
-1
1
-1
-1
1
1
-1
-1
-1
1
-1
• Masukan bipolar • Target keluaran bipolar
X1 X2 1
w1 w2 b
Arsitektur A i k JJaringan i H Hebb bb fungsi AND
θ=0 Y
c Representasi Bipolar-Bipolar c. Proses Belajar : Masukan x1
x2
Target bias
y
Perubahan Bobot dw1
dw2
db
Bobot Baru w1
w2
b
0
0
0
1
1
1
1
1
1
1
1
1
1
1
-1
1
-1
-1
1
-1
0
2
0
-1
1
1
-1
1
-1
-1
1
1
-1
-1
-1
1
-1
1
1
-1
2
2
-2
Perhitungan g bobot dan bias wi(baru)=wi(lama)+ dwi, dimana dwi=xiy (i=1, …, n) b(baru) = b(lama) + db, dimana db=y Hasil pembelajaran Dari hasil iterasi, diperoleh w1 =2, w2=2, dan b=-2
c. Representasi Bipolar-Bipolar Hasil eksekusi : 2
• •
x1
x2
net = ∑ xi wi + b
1
1
1.2+1.2+(-2)=2 1.2+1.2+( 2) 2
1
1
-1
1.2+(-1).2+(-2)=-2
-1
-1
1
(-1).2+1.2+(-2)=-2
-1
-1 1
-1 1
( 1) 2+( 1) 2+( 2)= 6 (-1).2+(-1).2+(-2)=-6
-1 1
i =1
f(net) sama dengan target yang diinginkan pada d ffungsii AND Jaringan SUDAH DAPAT ‘MENGERTI’ pola yang dimaksud
⎧ 1 jika net ≥ 0 y = f (net ) = ⎨ ⎩− 1 jika net < 0
X1 X2 1
w1=2 1 2
θ=0
w2=2
Y
b= 2 b=-2
Kasus 2 : Pengenalan Pola Diberikan 2 pola menyerupai y huruf X dan O #
.
.
.
#
.
#
#
#
.
.
#
.
#
.
#
.
.
.
#
.
.
#
.
.
#
.
.
.
#
.
#
.
#
.
#
.
.
.
#
#
.
.
.
#
.
#
#
#
.
POLA 1
POLA 2
Representasi Kasus •
Setiap karakter pola dianggap sebagai sebuah unit masukan – Karakter “#” diberi nilai 1, karakter “.” diberi nilai -1 1
#
.
.
.
#
1
-1
-1
-1
1
2
.
#
.
#
.
-1
1
-1
1
-1
3
.
.
#
.
.
-1
-1
1
-1
-1
4
.
#
.
#
.
-1
1
-1
1
-1
5
#
.
.
.
#
1
-1
-1
-1
1
1
2
3
4
5
→
•
Pola terdiri dari 5 baris dan 5 kolom
•
Target
– Jaringan g Hebb terdiri dari 25 unit masukan ((x1 s/d / x25)) dan sebuah bias bernilai = 1 – Keluaran jaringan bernilai 1 jika diberi masukan pola 1 (X) dan bernilai -1 1 jik jika dib diberii masukan k pola l 2 (0)
Representasi Masukan dan Target x1
x2
x3
x4
x5
x6
x7
x8
x9
X10
x11
X12
x13
x14
X15
x16
X17
x18
x19
X20
x21
x22
x23
x24
x25
1
-1
-1
-1
1
-1
1
-1
1
-1
1 -1
-1 1
1
-1 1
-1 1
-1
1
-1
1
-1
1
-1
-1
-1
1
-1
1
1
1
-1
1
-1
-1
-1
1
1
-1
-1
-1
1
1
-1 1
-1 1
-1 1
1
-1
1
1
1
-1
t x1 w1 x2 1
w2
θ=0 y
x25
w25 25 b
-1
1
Arsitektur Jaringan Hebb
Pembelajaran Jaringan Masukan x1 s/d x25
Target bias
y
Perubahan Bobot dw1 s/d dw25
db
Bobot Baru W1 s/d w25
b
0000 .. 0000
0
1 -1 -1 -1 1 1 1 -1 1 1 -1 1 -1 -1 -1 1 -1 -1 -1 1 -1 1 -1 1 -1 -1 -1 1
1
1
1 -1 -1 -1 1 -1 1 1 -1 1 1 -1 1 -1 -1 1 -1 -1 -1 1 -1 1 -1 1 -1 -1 -1 1
1
1 -1 -1 -1 1 -1 1 1 -1 1 1 -1 1 -1 -1 1 -1 -1 -1 1 -1 1 -1 1 -1 -1 -1 1
1
-1 1 1 1 -1 1 -1 -1 -1 1 1 -1 -1 -1 1 1 -1 -1 -1 1 -1 1 1 1 -1
1
-1
1 -1 -1 -1 1 -1 1 1 1 -1 -1 1 1 1 -1 -1 1 1 1 -1 1 -1 -1 -1 1
-1
2 -2 -2 -2 2 -2 2 0 2 -2 -2 0 2 0 -2 -2 2 0 2 -2 2 -2 -2 -2 2
0
wi(baru) (baru)=w wi(lama)+ dwi, dimana dwi=xxiy (i=1, (i 1, …, n) b(baru) = b(lama) + db, dimana db=y
Hasil eksekusi 2
X1 s/d / x25
net = ∑ xi wi + b i =1
⎧ 1 jika net ≥ 0 y = f (net ) = ⎨ ⎩− 1 jika net < 0
1 -1 -1 -1 1 -1 1 -1 1 -1 -1 -1 1 -1 -1 -1 1 -1 1 -1 1 -1 -1 -1 1
1.2+(-1).(-2)+…+1.2 = 42
1
-1 1 1 1 -1 1 -1 -1 -1 1 1 -1 -1 -1 1 1 -1 1 -1 1 -1 11 -1 1 1 1 -1
(-1).2+1.(-2)+…+(-1).2 = -42
-1
• •
Keluaran jaringan sama dengan target yang diinginkan Jaringan DAPAT MENGENALI POLA
Perceptron p
Jaringan Perceptron • Menyerupai arsitektur jaringan Hebb • Diperkenalkan oleh Rosenblatt (1962) dan MinskyMinsky Papert (1969) • Model dengan aplikasi dan pelatihan yang terbaik pada masa tersebut
Arsitektur Jaringan Perceptron • Jaringan g satu layer y – Beberapa neuron masukan dihubungkan langsung dengan sebuah neuron keluaran – Ditambah satu buah bias
• Fungsi aktivasi memiliki nilai -1, 0 dan 1 ⎧ 1, net > θ ⎪ f (net ) = ⎨0,−θ ≤ net ≤ θ ⎪ − 1, net < −θ ⎩
x1 x2 x3
w1 w2 w3 wn
xn 1
b
y
P l tih P Pelatihan Perceptron t Algoritma pelatihan – Inisialisasi semua bobot, bias dan learning rate wi = 0 (i=1, …, n), b=0, learning rate = nilai antara 0 s/d 1
– S Selama l ada d elemen l masukan k s yang kkeluarannya l tid tidak k sama dengan target t, lakukan
• Set aktivasi unit masukan : xi = si (i (i=1, 1, …, n) • Hitung respon unit keluaran : net dan y = f(net) • Bila y ≠ tt, perbaiki bobot dan bias menurut persamaan : wi((baru)=w ) i((lama)+ ) Δw ((i=1,, …,, n), ), dimana Δw = α.t.xi b(baru) = b(lama) + α.t
Pelatihan Perceptron •
Iterasi dilakukan terus menerus hingga seluruh keluaran sama dengan target yang ang ditent ditentukan kan – Jaringan sudah memahami pola – Pada Hebb, iterasi berhenti setelah semua pola dimasukkan
•
Perubahan bobot hanya dilakukan bila keluaran jaringan tidak sama dengan target – Yaitu bila y = f(net) ≠ t
•
Modifikasi bobot menggunakan laju pemahaman (learning rate, α) yang nilainya dapat diatur
– Modifikasi bobot tidak hanya ditentukan oleh perkalian antara target dan masukan saja – Umumnya, 0 < α < 1
•
Satu siklus pelatihan yang melibatkan semua pola disebut epoch – Pada Hebb, pelatihan hanya dilakukan dalam satu epoch saja
K Keunggulan l P Perceptron •
Seluruh pola masukan dibandingkan dengan target yang diinginkan
– Bobot akan dimodifikasi hanya jika terdapat perbedaan antara keluaran dengan target yang diinginkan – Bobot tidak selalu dimodifikasi pada setiap iterasi
•
Kecepatan iterasi ditentukan oleh laju pemahaman (learning rate)
•
Pelatihan dilakukan secara terus menerus hingga jaringan dapat mengerti pola yang ditentukan
– Semakin besar α, semakin sedikit iterasi yang diperlukan – Tetapi bila α terlalu besar dapat merusak pola yang sudah benar dan mengakibatkan pemahaman menjadi lama
– Teorema konvergensi perceptron menyatakan bahwa apabila ada bobot yang tepat, maka proses pelatihan akan konvergen ke bobot yang tepat tersebut
Contoh Kasus 1 : Fungsi Logika • Kasus : – Buat perceptron yang dapat menyatakan fungsi logika AND
• Gunakan representasi masukan/keluaran : – A A. M Masukan k d dan kkeluaran l bi bipolar l ((-1 1 atau t 1) – B. Masukan biner (0 atau 1) dan keluaran bipolar (-1 atau 1)
• Inisialisasi : – Bobot dan bias awal wi = 0, b = 0 – Learning rate α = 1 (penyederhanaan) – Threshold θ = 0
A. Representasi Bipolar Tabel masukan - target fungsi logika AND : Masukan
Target
x1
x2
bias
t
1
1
1
1
1
-1
1
-1
-1
1
1
-1
-1
-1
1
-1
Masukan bipolar dan target bipolar
Arsitektur jaringan Perceptron : x1 x2 1
w1 w2
y
b
Fungsi aktivasi untuk θ = 0 :
⎧ 1 , net > 0 ⎪ y = f (net ) = ⎨ 0 , net = 0 ⎪− 1, net < 0 ⎩
Epoch Pertama (Bipolar) Masukan x1
x2
Target bias
t
Keluaran net
f(net)
Perubahan Bobot Δw1
Δw2
Δb
Bobot Baru w1
w2
b
0
0
0
1
1
1
1
0
0
1
1
1
1
1
1
1
-1 1
1
-1 1
1
1
-1 1
1
-1 1
0
2
0
-1
1
1
-1
2
1
1
-1
-1
1
1
-1
-1
-1
1
-1
-3
-1
0
0
0
1
1
-1
2
net = ∑ xi wi + b i =1
⎧ 1 , net > 0 ⎪ y = f (net ) = ⎨ 0 , net = 0 ⎪− 1, net < 0 ⎩ wi(baru)=w (baru) wi(lama)+ α.t.x t xi b(baru) = b(lama) + α.t
•
Epoch pertama terdiri dari empat iterasi
•
Pada iterasi pertama-ketiga, keluaran y = f(net) g target g → bobot diubah. tidak sama dengan
•
Pada iterasi keempat, nilai f(net) sama dengan target (f(net) = -1) → bobot tidak diubah.
•
Pada epoch pertama, belum seluruh f(net) sama dengan d ttargett → iterasi it i dil dilanjutkan j tk pada d epoch kedua
Epoch Kedua (Bipolar) Masukan x1
x2
Target bias
t
Keluaran net
f(net)
Perubahan Bobot Δw1
Δw2
Δb
Bobot Baru w1
w2
b
1
1
-1
1
1
1
1
1
1
0
0
0
1
1
-1
1
-1 1
1
-1 1
-1 1
-1 1
0
0
0
1
1
-1 1
-1
1
1
-1
-1
-1
0
0
0
1
1
-1
-1
-1
1
-1
-3
-1
0
0
0
1
1
-1
2
•
Bobot awal diperoleh dari epoch pertama
i =1
•
Pada setiap iterasi dalam epoch kedua, semua pola f(net) sama dengan target t → tidak dilakukan perubahan bobot lagi
•
Jaringan sudah mengenal pola, iterasi dihentikan
net = ∑ xi wi + b ⎧ 1 , net > 0 ⎪ y = f (net ) = ⎨ 0 , net = 0 ⎪− 1, net < 0 ⎩ wi(baru)=w (baru) wi(lama)+ α.t.x t xi b(baru) = b(lama) + α.t
Arsitektur Perceptron Diperoleh Arsitektur jaringan Perceptron : x1 x2 1
w1=1 w2=1
y
b=-1
Masukan bipolar dan target bipolar
Tabel masukan - keluaran fungsi logika AND : M Masukan k
K l Keluaran
x1
x2
bias
y
1
1
1
1
1
-1
1
-1
-1
1
1
-1
-1
-1
1
-1
Fungsi aktivasi untuk θ = 0 :
⎧ 1 , net > 0 ⎪ y = f (net ) = ⎨ 0 , net = 0 ⎪− 1, net < 0 ⎩
B Representasi Biner-Bipolar B. Tabel masukan - target fungsi logika AND : Masukan
Target
x1
x2
bias
t
1
1
1
1
1
0
1
-1
0
1
1
-1
0
0
1
-1
Masukan biner dan target bipolar Parameter yang digunakan : α=1 θ = 0,2
Arsitektur jaringan Perceptron : x1 x2 1
w1 w2
y
b
Fungsi aktivasi untuk θ = 0,2 :
⎧ 1 , net > 0,2 ⎪ y = f (net ) = ⎨ 0 , − 0,2 ≤ net ≤ 0 ,2 ⎪ ⎩− 1, net < −0,2
Epoch Pertama (Biner-Bipolar) Masukan x1
x2
Target bias
t
Keluaran net
f(net)
Perubahan Bobot Δw1
Δw2
Δb
Bobot Baru w1
w2
b
0
0
0
1
1
1
1
0
0
1
1
1
1
1
1
1
0
1
-1 1
2
1
-1 1
0
-1 1
0
1
0
0
1
1
-1
1
1
0
-1
-1
0
0
-1
0
0
1
-1
-1
-1
0
0
0
0
0
-1
2
net = ∑ xi wi + b i =1
net > 0,2 ⎧1 , ⎪ y = f (net ) = ⎨ 0 , − 0,2 ≤ net ≤ 0,2 ⎪− 1 , net < 0,2 ⎩
wi(baru)=w (baru) wi(lama)+ α.t.x t xi b(baru) = b(lama) + α.t
•
Hanya pola masukan terakhir saja dimana f(net) = target
•
Iterasii h It harus dil dilanjutkan j tk kke epoch h berikutnya
Epoch Kedua (Biner-Bipolar) Masukan x1
x2
Target bias
t
Keluaran net
f(net)
Perubahan Bobot Δw1
Δw2
Δb
Bobot Baru w1
w2
b
0
0
-1
1
1
1
1
-1
-1
1
1
1
1
1
0
1
0
1
-1 1
1
1
-1 1
0
-1 1
0
1
-1 1
0
1
1
-1
0
0
0
-1
-1
0
0
-2
0
0
1
-1
-2
-1
0
0
0
0
0
-2
2
•
Bobot awal diperoleh dari epoch pertama
i =1
•
Pada epoch kedua ini, hanya pola masukan k terakhir t khi saja j di dimana f(net) f( t) = target
•
Iterasi masih harus dilanjutkan ke epoch b ik t berikutnya (k (ketiga) ti )
net = ∑ xi wi + b net > 0,2 ⎧1 , ⎪ y = f (net ) = ⎨ 0 , − 0,2 ≤ net ≤ 0,2 ⎪− 1 , net < 0,2 ⎩
wi(baru)=w (baru) wi(lama)+ α.tt xi b(baru) = b(lama) + α t
Epoch Ke-10 (Akhir) Masukan x1
x2
Target bias
t
Keluaran net
f(net)
Perubahan Bobot Δw1
Δw2
Δb
Bobot Baru w1
w2
b
2
3
-4
1
1
1
1
1
1
0
0
0
2
3
-4
1
0
1
-1 1
1
-1 1
0
0
0
2
3
-4 4
0
1
1
-1
-1
-1
0
0
0
2
3
-4
0
0
1
-1
-4
-1
0
0
0
2
3
-4
2
net = ∑ xi wi + b i =1
net > 0,2 ⎧1 , ⎪ y = f (net ) = ⎨ 0 , − 0,2 ≤ net ≤ 0,2 ⎪− 1 , net < 0,2 ⎩
wi(baru)=w (baru) wi(lama)+ α.t.x t xi b(baru) = b(lama) + α.t
•
Bobot awal diperoleh dari epoch sebelumnya
•
Pada setiap iterasi dalam epoch ke-10 ke 10, semua pola f(net) sudah sama dengan target t
•
g sudah mengenal g p pola, iterasi Jaringan dihentikan
Arsitektur Perceptron Diperoleh
Tabel masukan dan keluaran fungsi logika AND :
A it kt jjaringan Arsitektur i P Perceptron t : x1 x2 1
w1=2 w2 =3
y
b=-4 b= 4
asu a b biner e da dan target a ge b bipolar po a Masukan
M Masukan k
K l Keluaran
x1
x2
bias
y
1
1
1
1
1
0
1
-1
0
1
1
-1
0
0
1
-1
Fungsi aktivasi untuk θ = 0,2 :
⎧ 1 , net > 0,2 ⎪ y = f (net ) = ⎨ 0 , − 0,2 ≤ net ≤ 0 ,2 ⎪− 1, net < −0,2 ⎩
Pengenalan Pola Karakter • Konsep pengenalan pola karakter menggunakan perceptron : – Masukan berbentuk pola yang menyerupai huruf alfabet – Perceptron hendak dilatih untuk mengenal pola tersebut
• Algoritma g pengenalan g karakter : – Nyatakan setiap pola masukan sebagai vektor bipolar yang elemennya adalah tiap titik dalam pola tersebut. – Berikan nilai target = 1 jika pola masukan menyerupai huruf yang diinginkan. Jika tidak, beri nilai target = -1. – Tentukan inisialisasi bobot, bias, learning rate dan threshold – Lakukan proses pelatihan perceptron
Contoh Kasus 2 : Pola Karakter Pengenalan sebuah pola karakter • Diketahui 6 buah pola masukan seperti pada slide b ik t berikut • Buat model perceptron untuk mengenali pola menyerupai huruf “A” A
.
.
#
#
.
.
.
#
#
#
#
#
#
.
.
.
#
#
#
#
.
.
.
.
#
.
.
.
.
#
.
.
.
.
#
.
#
.
.
.
.
#
.
.
.
#
.
.
.
.
#
.
.
.
.
#
#
.
.
.
.
.
.
.
.
#
.
#
.
.
.
#
.
.
.
.
#
#
.
.
.
.
.
.
.
.
#
.
#
.
.
.
#
#
#
#
#
.
#
.
.
.
.
.
.
.
#
#
#
#
#
.
.
#
.
.
.
.
#
#
.
.
.
.
.
.
.
#
.
.
.
#
.
.
#
.
.
.
.
#
#
.
.
.
.
.
.
.
#
.
.
.
#
.
.
#
.
.
.
.
#
.
#
.
.
.
.
#
#
#
#
.
#
#
#
#
#
#
#
#
#
.
.
.
#
#
#
#
.
Pola 1
Pola 2
Pola 3
.
.
.
#
.
.
.
#
#
#
#
#
#
.
.
.
#
#
#
.
.
.
.
.
#
.
.
.
#
.
.
.
.
.
#
.
#
.
.
.
#
.
.
.
.
#
.
.
.
#
.
.
.
.
.
#
#
.
.
.
.
.
#
.
.
#
.
#
.
.
#
.
.
.
.
.
#
#
.
.
.
.
.
.
.
.
#
.
#
.
.
#
#
#
#
#
#
.
#
.
.
.
.
.
.
.
#
.
.
.
#
.
#
.
.
.
.
.
#
#
.
.
.
.
.
.
.
#
#
#
#
#
.
#
.
.
.
.
.
#
#
.
.
.
.
.
#
.
#
.
.
.
#
.
#
.
.
.
.
.
#
.
#
.
.
.
#
.
.
#
.
.
.
#
.
#
#
#
#
#
#
.
.
.
#
#
#
.
.
Pola 4
Pola 5
Pola 6
Representasi Kasus •
•
Setiap karakter pola dianggap sebagai sebuah unit masukan
– Karakter “#” diberi nilai 1, karakter “.” diberi nilai -1 – Pembacaan pola dilakukan dari kiri ke kanan, dimulai dari baris paling atas
1
.
.
#
#
.
.
.
-1
-1
1
1
-1
-1
-1
2
.
.
.
#
.
.
.
-1
-1
-1
1
-1
-1
-1
3
.
.
.
#
.
.
.
-1
-1
-1
1
-1
-1
-1
4
.
.
#
.
#
.
.
-1
-1
1
-1
1
-1
-1
5
.
.
#
.
#
.
.
-1 1
-1 1
1
-1 1
1
-1 1
-1 1
6
.
#
#
#
#
#
.
-1
1
1
1
1
1
-1
7
.
#
.
.
.
#
.
-1
1
-1
-1
-1
1
-1
8
.
#
.
.
.
#
.
-1 1
1
-1 1
-1 1
-1 1
1
-1 1
9
#
#
#
.
#
#
#
1
1
1
-1
1
1
1
1
2
3
4
5
6
7
→
S i pola Setiap l terdiri di i d darii 9 b baris i d dan 7 kkolom l
– Perceptron terdiri dari 63 unit masukan (x1 s/d x63) dan sebuah bias bernilai = 1
Representasi Kasus • Target – Keluaran jaringan bernilai 1 jika diberi masukan menyerupai huruf “A” dan bernilai -1 jika tidak menyerupai huruf “A” – Pola yang menyerupai huruf “A” adalah pola 1 dan 4. Pola Masukan
Target
Pola 1
1
Pola 2
-1
Pola 3
-1
Pola 4
1
Pola 5
-1
Pola 6
-1
Arsitektur Perceptron x1 w1 x2
w2
θ y
x63
Asumsi parameter : Bobot awal = 0 Learning rate α = 1 Threshold θ = 0,5 Pelatihan dilakukan dengan memasukkan seluruh pola huruf Hitung 63
net = ∑ xi wi + b
w63 b
1 Perceptron memiliki 63 unit masukan, S b h bi Sebuah bias d dan sebuah b h unitit kkeluaran l
i =1
net > 0,5 ⎧1 , ⎪ y = f (net ) = ⎨ 0 , − 0,5 ≤ net ≤ 0,5 ⎪− 1 , net < 0,5 ⎩
Bila f(net) ≠ target, bobot dan bias diubah Proses pelatihan terus dilakukan hingga semua e ua a sa sama a de dengan ga target. a ge keluaran
Pengenalan Beberapa Karakter • Pengenalan g beberapa pola sekaligus dilakukan dengan menggabungkan beberapa perceptron – Terdapat beberapa unit keluaran
• Setiap unit masukan dan bi dihubungkan bias dih b k d dengan setiap target – Bobot koneksi dari unit xi ke yj diberi label wji – Bobot bias diberi label b1, b2, … bm
x1 wm1
w11 w12
x2
y1
wm2 w1n xn 1
b1
wmn bm
ym
•
Algoritma Pelatihan
Algoritma pelatihan perceptron untuk pengenalan beberapa pola : – Nyatakan tiap pola masukan sebagai vektor bipolar yang elemennya adalah tiap titik dalam pola tersebut – Berikan nilai target tj = 1 jika pola masukan menyerupai huruf yang diinginkan, dan berikan nilai tj = -1 1 jika sebaliknya (j=1, (j 1, 2, …m) – Inisialisasi semua bobot, bias dan learning rate – Lakukan proses pelatihan perceptron seperti dibahas sebelumnya • Untuk setiap unit keluaran, hitung respon unit keluaran net dan yj=f(netj) • Perbaiki bobot pola bila respon keluaran tidak sama dengan target (yj ≠ tj) menurut persamaan
wji(baru)=w (b ) ji(lama)+ (l ) α.ttj.xi bj(baru) = bj(lama) + α.tj
• Lakukan proses pelatihan hingga yj = tj (j=1, 2, … m)
Kasus 3 : Pengenalan Pola “A B C” • Bila diketahui 6 buah pola masukan seperti pada kasus 2, buat model perceptron untuk mengenali pola menyerupai huruf “A”, “B” atau “C”.
.
.
#
#
.
.
.
#
#
#
#
#
#
.
.
.
#
#
#
#
.
.
.
.
#
.
.
.
.
#
.
.
.
.
#
.
#
.
.
.
.
#
.
.
.
#
.
.
.
.
#
.
.
.
.
#
#
.
.
.
.
.
.
.
.
#
.
#
.
.
.
#
.
.
.
.
#
#
.
.
.
.
.
.
.
.
#
.
#
.
.
.
#
#
#
#
#
.
#
.
.
.
.
.
.
.
#
#
#
#
#
.
.
#
.
.
.
.
#
#
.
.
.
.
.
.
.
#
.
.
.
#
.
.
#
.
.
.
.
#
#
.
.
.
.
.
.
.
#
.
.
.
#
.
.
#
.
.
.
.
#
.
#
.
.
.
.
#
#
#
#
.
#
#
#
#
#
#
#
#
#
.
.
.
#
#
#
#
.
Pola 1
Pola 2
Pola 3
.
.
.
#
.
.
.
#
#
#
#
#
#
.
.
.
#
#
#
.
.
.
.
.
#
.
.
.
#
.
.
.
.
.
#
.
#
.
.
.
#
.
.
.
.
#
.
.
.
#
.
.
.
.
.
#
#
.
.
.
.
.
#
.
.
#
.
#
.
.
#
.
.
.
.
.
#
#
.
.
.
.
.
.
.
.
#
.
#
.
.
#
#
#
#
#
#
.
#
.
.
.
.
.
.
.
#
.
.
.
#
.
#
.
.
.
.
.
#
#
.
.
.
.
.
.
.
#
#
#
#
#
.
#
.
.
.
.
.
#
#
.
.
.
.
.
#
.
#
.
.
.
#
.
#
.
.
.
.
.
#
.
#
.
.
.
#
.
.
#
.
.
.
#
.
#
#
#
#
#
#
.
.
.
#
#
#
.
.
Pola 4
Pola 5
Pola 6
Arsitektur Perceptron Arsitektur jaringan perceptron pengenalan pola menyerupai p y p huruf A,, B dan C dengan g 6 pola masukan x1 w21 x2
Pola Masukan
w11 w12
y1
w13
w22 w32
y2
x63 b1 1
b2 b3
Tabel p pasangan g masukan - target g
y3
Target t1
t2
t3
Pola 1
1
-1
-1
Pola 2
-1
1
-1
Pola 3
-1
-1
1
Pola 4
1
-1
-1
Pola 5
-1
1
-1
Pola 6
-1
-1
1
Tabel Pelatihan Masukan x1x63
…
bias
…
Target t1-tt3
…
Keluaran net1net3
…
f(net1))f(net3)
…
Perubahan Bobot Δw11- Δw1.63 1 63, Δw21- Δw2.63, Δw31- Δw3.63 …
Δb1Δb3
…
Bobot Baru w11-w w1.63 1 63, w21-w2.63, w31-w3.63
b1b3
00……..00
0..0
…
…
Terdiri dari : • 63 unit masukan dan sebuah bias b (x1, x2, … x63 dan b) • 3 kolom target (t1, t2 dan t3) • 3 kolom net (net1, net2 dan net3) • 3 kolom fungsi aktivasi (y1=f(net1), ) y2=f(net2), ) y3=f(net3)) • 3*63 kolom perubahan bobot – Δw11, Δw12, …, Δw1.63, Δw21, Δw22, … Δw2.63, Δw31, Δw32, … Δw3.63 • 3*63 kolom bobot – w11,w12, …,w1.63, w21, w22, … w2.63, w31, w32, … w3.63
Ri k Ringkasan • •
•
Perceptron merupakan jaringan satu layer yang menyerupai arsitektur jjaringan g Hebb. Perbedaan perceptron dengan jaringan Hebb : – Fungsi aktivasi memiliki nilai -1, 0 dan 1 gg seluruh keluaran sama dengan g – Iterasi dilakukan terus menerus hingga target yang ditentukan – Perubahan bobot hanya dilakukan bila keluaran jaringan tidak sama dengan target – Terdapat parameter laju pemahaman yang menentukan kecepatan iterasi
Perceptron memiliki keunggulan dibandingkan dengan jaringan Hebb karena adanya beberapa hal : – Pelatihan dilakukan terus hingga jaringan dapat mengerti pola yang ditentukan. – Bobot tidak selalu dimodifikasi pada setiap iterasi. Jika terdapat perbedaan, baru bobot tersebut dimodifikasi – Modifikasi M difik i b bobot b t menggunakan k llaju j pemahaman h yang d dapatt di diatur, t tid tidak k hanya ditentukan oleh perkalian antara target dan masukan saja