Jaringan Syaraf Tiruan (Artificial Neural Network) Intelligent Systems
Pembahasan Jaringan McCulloch-Pitts Jaringan Hebb Perceptron
Jaringan 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 suatu sistem neuron dapat meningkatkan kemampuan komputasi Digunakan a untuk melakukan a fungsi logika sederhana a Banyak prinsipnya yang masih digunakan pada JST saat ini
Karakteristik McCulloch-Pitts Karakteristik model neuron McCulloch-Pitts : 1. Fungsi aktivasi neuron dalam biner Neuron meneruskan sinyal : aktivasi bernilai 1 Neuron tidak meneruskan sinyal : aktivasi bernilai 0 2. Setiap neuron pada jaringan dihubungkan dengan jalur terarah yang memiliki bobot tertentu Jika bobot jalur bernilai positif, jalur diperkuat Jika bobot b jalur bernilai i negatif, jalur diperlemah X1 X2 X3 w1 w2 w3 Y Fungsi aktivasi unit Y : If net >= θ, then f(net)=1, else f(net)= 0 Dimana : net adalah total sinyal input = x1w1+x2w2+x3w3 output y = f(net) θ adalah nilai i threshold h neuron Y
Karakteristik McCulloch-Pitts Karakteristik model neuron McCulloch-Pitts : 3. Seluruh jalur bernilai positif yang terhubung ke neuron tertentu, memiliki bobot sama Bobot koneksi yang berbeda dapat terhubung ke neuron lain 4. Setiap neuron memiliki nilai threshold tetap Jika net input ke neuron lebih besar dari threshold, neuron akan meneruskan sinyal (fire) Threshold di-set sedemikian sehingga setiap masukan yang memperlemah akan mencegah neuron meneruskan sinyal X1 X2 2 2 Y Ditentukan θ = 4, w1=2, w2=2 dan w3=-1 maka : net = 2.x1 + 2.x2 + (-1).x3 If net >= 4, then y=f(net)=1, else f(net)= 0 X3-1
Karakteristik tik McCulloch-Pitts Karakteristik model neuron McCulloch-Pitts : 5. Bobot setiap jalur tidak ditentukan dengan proses pelatihan 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 : 2 net = 2.x1 + 2.x2 + (-1).x3 If net >= 4, then y=f(net)=1, else f(net)= 0 2 Y Jaringan dapat meneruskan sinyal (fire) jika masukan -1 x1 dan x2 bernilai 1 dan x3 bernilai nol
Fungsi AND X1 w1=1 θ=2 Agar jaringan dapat menyatakan fungsi AND, maka bobot jalur dibuat bernilai 1 Karena input X1 dan X2 terhubung ke Y neuron yang sama, bobot koneksi harus w2=1 X2 sama (keduanya bernilai 1) Penentuan bobot jalur dilakukan secara analitik (coba-coba) 2 X1 X2 net = x w i i 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 w1=2 θ=2 Agar jaringan dapat menyatakan fungsi AND, maka bobot jalur diganti menjadi bernilai 2 Y w2=2 Bobot koneksi tetap harus sama X2 (keduanya diganti menjadi bernilai 2) Perubahan bobot jalur dilakukan secara analitik 2 X1 X2 net = x w i i 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 Y bernilai 1 jika X1=1 dan X2=0 X1 θ=2 Untuk memperolehnya, maka bobot w1 w1= 2 harus lebih besar dari w2 w2= -1 X2 Y Untuk mencegah agar f(1,1) tidak sama dengan 1, maka w2 harus negatif 2 X1 X2 net = x w i i 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
Fungsi XOR Fungsi XOR tidak dapat dibuat dengan menghubungkan langsung input ke output 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 X1-1 2 Z1 2 θ=2 X2-1 2 Z2 2 Y X1 XOR X2 = (X1 AND NOT X2) OR (NOT X1 AND X2) = Z1 OR Z2
Jaringan Hebb
Jaringan Hebb Jaringan layer tunggal dengan satu neuron keluaran Seluruh neuron masukan terhubung langsung dengan neuron keluaran, ditambah dengan sebuah bias Pada jaringan McCulloch-Pitts, penentuan bobot garis dan bias dilakukan secara analitik Sulit dilakukan pada masalah yang kompleks D.O Hebb (1949) memperkenalkan cara menghitung bobot dan bias secara iteratif Model jaringan Hebb adalah model pertama yang 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), maka kekuatan sinapsisnya meningkat Sebaliknya, apabila kedua neuron aktif secara tidak sinkron (salah satu bobot w bernilai positif dan yang lain bernilai negatif), maka kekuatan sinapsisnya akan melemah x 1 w 1 bobot y w 2 neuron input x 2 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) x 1 x 2 1 w 1 w 2 y perubahan nilai bobot dilakukan dengan persamaan : w i (baru)= w i (lama)+x i y b b(baru) = b(lama) +y
Algoritma pelatihan Algoritma Pelatihan Hebb Inisialisasi semua bobot : b = w i = 0 (i=1,, n) Untuk semua vektor masukan s dan target t, lakukan Set aktivasi unit masukan : x i = s i (i=1,, n) Set aktivasi unit keluaran : y = t Perbaiki bobot menurut persamaan : w i i( (baru)=w i i( (lama)+delta w i (i=1,, n), dimana delta w i = x i y 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. Masukan dan keluaran biner (0 atau 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 Kadangkala jaringan dapat menentukan pola secara benar jika menggunakan representasi bipolar saja
a. Representasi Biner-Biner Tabel Masukan dan Target fungsi AND Masukan Target s1 s2 bias t X1 w1 θ=0 1 1 1 1 X2 w2 Y 1 0 1 0 0 1 1 0 1 b 0 0 1 0 Arsitektur Jaringan Hebb fungsi AND Masukan biner Target keluaran biner
Proses Belajar : a. Representasi Biner-Biner Masukan Keluaran Perubahan Bobot Bobot Baru x1 x2 bias y dw1 dw2 db 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 w i (baru)=w i (lama)+ dw i, dimana dw i =x i y(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 : x1 x2 net = 2 i= 1 x i w i + b y = 1 jika net 0 f ( net) = 0 jika net < 0 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 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 Tabel Masukan dan Target fungsi AND Input Target s1 s2 bias t 1 1 1 1 1 0 1-1 0 1 1-1 X1 X2 1 w1 w2 b θ=0 Y 0 0 1-1 Masukan biner Target keluaran bipolar Arsitektur Jaringan Hebb fungsi AND
Proses Belajar : b. Representasi Biner-BipolarBipolar Masukan Keluaran Perubahan Bobot Bobot Baru x1 x2 bias y dw1 dw2 db 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 bobot dan bias g w i (baru)=w i (lama)+ dw i, dimana dw i =x i y (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 : x1 x2 net = 2 i= 1 x i w i + b y = 1 jika f ( net) = 1 jika net 0 net < 0 1 1 1.0+1.0+(-2)=-2 2-1 1 0 1.0+0.0+(-2)=-2-1 0 1 0.0+1.0+(-2)=-2-1 0 0 00+00+(2)= 0.0+0.0+(-2)=-22-1 f(net) belum sama dengan target yang diinginkan pada fungsi AND Jaringan MASIH TIDAK DAPAT MENGERTI pola yang 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 X1 w1 θ=0 1-1 1-1 X2 w2 Y -1 1 1-1 -1-1 1-1 Masukan bipolar Target keluaran bipolar 1 b Arsitektur Jaringan Hebb fungsi AND
Proses Belajar : c. Representasi Bipolar-Bipolar Masukan Target Perubahan Bobot Bobot Baru x1 x2 bias y dw1 dw2 db 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 bobot dan bias g w i (baru)=w i (lama)+ dw i, dimana dw i =x i y (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 : x1 x2 net = 2 i= 1 x i w i + b y = 1 jika f ( net) = 1 jika net 0 net < 0 1 1 1.2+1.2+(-2)=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).2+(-1).2+(-2)=-6 2)= -1 f(net) sama dengan target yang diinginkan pada fungsi AND Jaringan SUDAH DAPAT MENGERTI pola yang dimaksud X1 X2 w1=2 w2=2 θ=0 Y 1 b=-2
Kasus 2 : Pengenalan Pola Diberikan 2 pola menyerupai 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 Jaringan Hebb terdiri dari 25 unit masukan (x1 s/d x25) dan sebuah bias bernilai = 1 Target Keluaran jaringan bernilai 1 jika diberi masukan pola 1 (X) dan bernilai -1 jika diberi i masukan pola 2 (0)
Representasi Masukan dan Target x1 x2 x3 x4 x5 t x6 x7 x8 x9 X10 x11 X12 x13 x14 X15 x1 x16 X17 x18 x19 X20 w1 x21 x22 x23 x24 x25 x2 1-1 -1-1 1 1 w2 θ=0-1 1-1 1-1 y -1-1 1-1 -1-1 1-1 1-1 x25 w25 1-1 -1-1 1 b -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 Arsitektur Jaringan Hebb
Pembelajaran Jaringan Masukan Target Perubahan Bobot Bobot Baru x1 s/d x25 bias y dw1 s/d dw25 db 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-11 1-11 -1 1-11 1-11 -1 1-11 1-11 -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 0 1-1 -1-1 1-1 1 1 1-1 -2 2 0 2-2 1-1 -1-1 1-1 1 1 1-1 -2 0 2 0-2 1-1 -1-1 1-1 1 1 1-1 -2 2 0 2-2 -1 1 1 1-1 1-1 -1-1 1 2-2 -2-2 2 w i (baru)=w i (lama)+ dw i,dimanadw i =x i y(i=1,, n) w i (baru) w i (lama)+ dw i, dimana dw i x i y (i 1,, n) b(baru) = b(lama) + db, dimana db=y
Hasil eksekusi 2 i=1 X1 s/d x25 = x w + b net 1 jika net 0 i i 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 1 1 1-1 1-1 -1-1 1 1-1 -1-1 1 1-1 -1-111 -1 1 1 1-1 1.2+(-1).(-2)+ +1.2 = 42 1 (-1).2+1.(-2)+ +(-1).2 = -42-1 Keluaran jaringan sama dengan target yang diinginkan Jaringan DAPAT MENGENALI POLA
Perceptron
Jaringan Perceptron Menyerupai arsitektur jaringan Hebb Diperkenalkan oleh Rosenblatt (1962) dan Minsky- Papert (1969) Model dengan aplikasi dan pelatihan yang terbaik Model dengan aplikasi dan pelatihan yang terbaik pada masa tersebut
Arsitektur Jaringan Perceptron Jaringan satu layer Beberapa neuron masukan dihubungkan langsung x 1 w 1 dengan sebuah neuron x 2 w 2 keluaran x Ditambah satu buah bias 3 w 3 Fungsi aktivasi memiliki nilai -1, 0 dan 1 f ( net) 1, net > θ = 0, θ net θ 1, net < θ x n 1 w n b y
Algoritma pelatihan Pelatihan Perceptron Inisialisasi semua bobot, bias dan learning rate w i = 0 (i=1,, n), b=0, learning rate = nilai antara 0 s/d 1 Selama ada elemen masukan s yang keluarannya tidak sama dengan target t, lakukan Set aktivasi unit masukan : x i = s i (i=1,, n) Hitung respon unit keluaran : net dan y = f(net) Bila y t, perbaiki bobot dan bias menurut persamaan : w i i( (baru)=w i i( (lama)+ Δw (i=1,, n), dimana Δw = α.t.x i b(baru) = b(lama) + α.t
Pelatihan Perceptron Iterasi dilakukan terus menerus hingga seluruh keluaran sama dengan target yang ditentukan 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
Keunggulan 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) Semakin besar α, semakin sedikit iterasi yang diperlukan Tetapi bila α terlalu besar dapat merusak pola yang sudah benar dan mengakibatkan pemahaman menjadi lama Pelatihan dilakukan secara terus menerus hingga jaringan dapat mengerti pola yang ditentukan Teorema konvergensi perceptron menyatakan bahwa apabila ada bobot yang tepat, maka proses pelatihan akan konvergen ke bobot yang tepat tersebut
Kasus : Contoh Kasus 1 : Fungsi Logika Buat perceptron yang dapat menyatakan fungsi logika AND Gunakan representasi masukan/keluaran : A. Masukan dan keluaran bipolar (-1 atau 1) B. Masukan biner (0 atau 1) dan keluaran bipolar (-1 atau 1) Inisialisasi : Bobot dan bias awal w i = 0, b = 0 Learning rate α = 1 (penyederhanaan) Threshold θ = 0
A. Representasi Bipolar Tabel masukan - target fungsi logika AND : Arsitektur jaringan Perceptron : Masukan Target x 1 x 2 bias t 1 1 1 1 x 1 x 2 w 1 w 2 y 1-1 1-1 -1 1 1-1 1 b -1-1 1-1 Masukan bipolar dan target bipolar y Fungsi aktivasi untuk θ = 0 : 1, net > 0 = f ( net) = 0, net = 0 1, net < 0
Epoch Pertama (Bipolar) Masukan Target Keluaran Perubahan Bobot Bobot Baru x 1 x 2 bias t net f(net) Δw 1 Δw 2 Δb w 1 w 2 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 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 Epoch pertama terdiri dari empat iterasi net = xiwi + b Pada iterasi pertama-ketiga, keluaran y = f(net) i= 1 1, net > 0 tidak sama dengan target bobot diubah. y = f ( net) = 0, net = 0 Pada iterasi keempat, nilai f(net) sama dengan target (f(net) = -1) bobot tidak diubah. 1, net < 0 Pada epoch pertama, belum seluruh f(net) w i (baru)=w i (lama)+ α.t.xt x i sama dengan target t iterasi i dilanjutkan pada epoch kedua b(baru) = b(lama) + α.t
Epoch Kedua (Bipolar) Masukan Target Keluaran Perubahan Bobot Bobot Baru x 1 x 2 bias t net f(net) Δw 1 Δw 2 Δb w 1 w 2 b 1 1-1 1 1 1 1 1 1 0 0 0 1 1-1 1-1 1-1 -1-1 0 0 0 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 net y = = 2 i= 1 x i w i + b 1, net > 0 f ( net) = 0, net = 0 1, net < 0 Bobot awal diperoleh dari epoch pertama Pada setiap iterasi dalam epoch kedua, semua pola f(net) sama dengan target t tidak dilakukan perubahan bobot lagi w t x Jaringan sudah mengenal pola, iterasi i (baru)=w i (lama)+ α.t.x i dihentikan b(baru) = b(lama) + α.t
Arsitektur Perceptron Diperoleh Arsitektur jaringan Perceptron : Tabel masukan - keluaran fungsi logika AND : Masukan Keluaran x 1 w 1 =1 x 2 w 2 =1 y x 1 x 2 bias y 1 1 1 1 1-1 1-1 1 b=-1-1 1 1-1 -1-1 1-1 Masukan bipolar dan target bipolar Fungsi aktivasi untuk θ = 0 : y 1, net > = f ( net) = 0, net = 1, net < 0 0 0
B. Representasi Biner-Bipolar Tabel masukan - target fungsi logika AND : Arsitektur jaringan Perceptron : Masukan Target x 1 x 2 bias t 1 1 1 1 x 1 x 2 w 1 w 2 y 1 0 1-1 0 1 1-1 1 b 0 0 1-1 Masukan biner dan target bipolar Fungsi aktivasi untuk θ = 0,2 : 1, net > 0,2 Parameter yang digunakan : α = 1 y = f ( net) = 0, 0,2 net 0,2 θ = 0,2 1, net < 0,2
Epoch Pertama (Biner-Bipolar) Masukan Target Keluaran Perubahan Bobot Bobot Baru x 1 x 2 bias t net f(net) Δw 1 Δw 2 Δb w 1 w 2 b 0 0 0 1 1 1 1 0 0 1 1 1 1 1 1 1 0 1-1 2 1-1 0-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 net = 2 i= 1 x i w i + b 1, net > 0,2 y = f ( net) = 0, 0,2 net 0,2 1, net < 0,2 w i (baru)=w i (lama)+ α.t.xt x i b(baru) = b(lama) + α.t Hanya pola masukan terakhir saja dimana f(net) = target Iterasi harus dilanjutkan ke epoch berikutnya
Epoch Kedua (Biner-Bipolar) Masukan Target Keluaran Perubahan Bobot Bobot Baru x 1 x 2 bias t net f(net) Δw 1 Δw 2 Δb w 1 w 2 b 0 0-1 1 1 1 1-1 -1 1 1 1 1 1 0 1 0 1-1 1 1-1 0-1 0 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 net = 2 i= 1 x i w i + b 1, net > 0,2 y = f ( net) = 0, 0,2 net 0,2 1, net < 0,2 w i (baru)=w i (lama)+ α.tt x i b(baru) = b(lama) + α t Bobot awal diperoleh dari epoch pertama Pada epoch kedua ini, hanya pola masukan terakhir saja dimana f(net) = target Iterasi masih harus dilanjutkan ke epoch berikutnya (ketiga)
Epoch Ke-10 (Akhir) Masukan Target Keluaran Perubahan Bobot Bobot Baru x 1 x 2 bias t net f(net) Δw 1 Δw 2 Δb w 1 w 2 b 2 3-4 1 1 1 1 1 1 0 0 0 2 3-4 1 0 1-1 1-1 0 0 0 2 3-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 net = 2 i= 1 x i w i + b 1, net > 0,2 y = f ( net) = 0, 0,2 net 0,2 1, net < 0,2 w i (baru)=w i (lama)+ α.t.xt x i b(baru) = b(lama) + α.t Bobot awal diperoleh dari epoch sebelumnya Pada setiap iterasi dalam epoch ke-10 10, semua pola f(net) sudah sama dengan target t Jaringan sudah mengenal pola, iterasi dihentikan
Arsitektur Perceptron Diperoleh Tabel masukan dan keluaran fungsi logika AND : Arsitektur jaringan Perceptron : Masukan Keluaran x 1 x 2 bias y x 1 w 1 =2 x 2 w 2 =3 b=-4 1 y 1 1 1 1 1 0 1-1 0 1 1-1 0 0 1-1 Masukan a biner dan target bipolar Fungsi aktivasi untuk θ = 0,2 : y = 1, net > 0,2 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 pengenalan 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 berikut Buat model perceptron untuk mengenali pola menyerupai huruf 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 6. # # # # #. -1 1 1 1 1 1-1 7. #... #. -1 1-1 -1-1 1-1 8. #... #. -1 1-1 -1-1 1-1 9 # # #. # # # 1 1 1-1 1 1 1 1 2 3 4 5 6 7 Setiap pola terdiri dari 9 baris dan 7 kolom 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
x 1 x 2 w 1 w 2 x 63 w 63 1 b Perceptron memiliki 63 unit masukan, Sebuah bias dan sebuah unit keluaran Arsitektur Perceptron y θ Asumsi parameter : Bobot awal = 0 Learning rate α = 1 Threshold θ = 0,5 Pelatihan dilakukan dengan memasukkan seluruh pola huruf Hitung 63 i=1 net = x w + b i i 1, net > 0,5 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 keluaran euaa sama adengan target. age
Pengenalan Beberapa Karakter Pengenalan beberapa pola sekaligus dilakukan dengan menggabungkan beberapa perceptron Terdapat beberapa unit keluaran Setiap unit masukan dan bias dihubungkan dengan setiap target x 1 w 11 w m1 w 12 x 2 w m2 w 1n x n b Bobot koneksi dari unit x i ke y 1 j diberi label w ji 1 Bobot bias diberi label b 1, b 2, b m b m w mn y 1 y m
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 t j = 1 jika pola masukan menyerupai huruf yang diinginkan, dan berikan nilai t j =-1 jika sebaliknya (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 y j =f(net j ) Perbaiki bobot pola bila respon keluaran tidak sama dengan target (y j t j) menurut persamaan w ji (baru)=w ji (lama)+ α.t j.x i b j (baru) = b j (lama) + α.t j Lakukan proses pelatihan hingga y j = t j (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 huruf A, B dan C dengan Tabel pasangan masukan - target 6 pola masukan Target Pola x 1 w Masukan 11 t 1 t 2 t 3 w 21 w y 1 12 Pola 1 1-1 -1 x 2 Pola 2-1 1-1 w 22 w 13 Pola 3-1 -1 1 w 22 w 32 y 2 Pola 4 1-1 -1 x 63 b 1 Pola 5-1 1-1 1 b 2 b 3 y 3 Pola 6-1 -1 1
Tabel Pelatihan Masukan Target Keluaran Perubahan Bobot Bobot Baru x 1 - bias t 1 -t 3 net 1 - f(net 1 )- Δw 11 - Δw 163 1.63, Δb 1 - w 11 -w 163 1.63, b 1 - x 63 net 3 f(net 3 ) Δw 21 - Δw 2.63, Δb 3 w 21 -w 2.63, b 3 Δw 31 - Δw 3.63 w 31 -w 3.63 00..00 0..0 Terdiri dari : 63 unit masukan dan sebuah bias b (x 1, x 2, x 63 dan b) 3 kolom target (t 1, t 2 dan t 3 ) 3 kolom net (net 1, net 2 dan net 3 ) 3 kolom fungsi aktivasi (y1=f(net 1 ), y2=f(net 2 ), y3=f(net 3 )) 3*63 kolom perubahan bobot Δw 11, Δw 12,, Δw 1.63, Δw 21, Δw 22, Δw 2.63, Δw 31, Δw 32, Δw 3.63 3*63 kolom bobot w 11,w 12,,w 1.63, w 21, w 22, w 2.63, w 31, w 32, w 3.63
Ringkasan Perceptron merupakan jaringan satu layer yang menyerupai arsitektur jaringan Hebb. Perbedaan perceptron dengan jaringan Hebb : Fungsi aktivasi memiliki nilai -1, 0 dan 1 Iterasi dilakukan terus menerus hingga seluruh keluaran sama dengan 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 i bobot b menggunakan laju pemahaman yang dapat diatur, tidak hanya ditentukan oleh perkalian antara target dan masukan saja