Anda di halaman 1dari 41

JARINGAN SYARAF TIRUAN

HEBB

UNINDRA / 2017 Akbar Muchbarak, M.Kom.


Jaringan Hebbian
 Kelemahan model McCulloch-Pitts :
 penentuan bobot garis dan bias secara analitik. Untuk masalah yang
kompleks, hal ini akan sangat sulit dilakukan

 Donald Hebb memperkenalkan cara menghitung bobot dan bias


secara iteratif pada tahun 1949.

 Dasar algoritma Hebb adalah:


 kenyataan bahwa apabila dua neuron yang dihubungkan dengan sinapsis
secara serentak menjadi aktif (sama-sama benilai positif atau negatif),
maka kekuatan sinapisnya meningkat.
 Sebaliknya, apabila kedua neuron aktif secara tidak sinkron (salah satu
bernilai positif dan yang lain benilai negatif), maka kekuatan sinapsis
akan melemah
 Dalam setiap iterasi, bobot sinapsis dan bias
diubah berdasarkan perkalian neuron-neuron di
kedua sisinya.
 Untuk jaringan layar tunggal dengan 1 unit
keluaran dimana semua unit masukan x1 terhubung
langsung dengan unit keluaran y, maka perubahan
nilai bobot dilakukan berdasarkan persamaan :
 wi(baru) = wi(lama) + xiy
Algoritma Hebbian
 Algoritma pelatihan Hebb dengan vektor input s dan unit target t
adalah sebagai berikut :
1. Inisialisasi semua bobot = wi = 0 (i=1, …, n)
2. Untuk semua vektor input s dan unit target t, lakukan
a. Set aktivasi unit masukan xi = si (i=1, …, n)
b. Set aktivasi unit keluaran : y = t
c. Perbaiki bobot menurut persamaan
wi(baru) = wi(lama) + w (i=1, …, n)
dimana
w = xiy

d. Perbaiki bias menurut persamaan


b(baru) = b(lama) + y
Karakteristik
 Arsitektur jaringan Hebb sama seperti jaringan McCulloch-Pitts.
Beberapa unit masukan dihubungkan langsung dengan sebuah unit
keluaran, ditambah dengan sebuah bias

 Catatan : xi = si ; y = t
Karakteristik
 Masalah yang sering timbul dalam jaringan Hebb adalah :
 dalam menentukan representasi data masukan/keluaran untuk fungsi aktivasi yang
berupa threshold. Representasi yang dipakai adalah bipolar ( nilai -1 dan 1).
Kadangkala jaringan dapat menentukan pola secara BENAR jika dipakai
representasi bipolar saja, dan akan ”SALAH” jika dipakai representasi biner (nilai 0
dan 1).

 Untuk lebih jelasnya perhatikan contoh-contoh selanjutnya


Contoh Penerapan
 Fungsi logika ”AND” dengan 2 masukan x1 dan x2 akan
memiliki keluaran Y =1 jika dan hanya jika kedua masukan
bernilai 1

x1 x2 y
 Tabel Kebenaran :
1 1 1

1 0 0

0 1 0

0 0 0

 Buatlah model neuron Hebb untuk menyatakan fungsi logika


AND berdasarkan tabel kebenaran di atas!
 Membuat Tabel Masukan dan Target
 Direpresentasikan secara biner (masukan dan
keluaran semuanya bernilai 1 atau 0)

Masukan Target

X1 X2 1 t

1 1 1 1

1 0 1 0

0 1 1 0

0 0 1 0
 Membuat Model Jaringan

x1
w1

x2 w2 y

b
1
 Pelatihan Jaringan
 Untuksetiap data masukan dan target, perubahan
bobot dihitung dari perkalian data masukan dan
targetnya.
∆w1 = x1t ∆b = 1
∆w2 = x2t t=t
 Bobot wi(baru) = bobot wi(lama) + ∆wi (i=1,2)
 Inisialisasi awal

Masukan Target Perubahan Bobot Bobot Baru

x1 x2 bias y ∆w1 ∆w2 ∆bias w1 w2 wbias

Inisialisasi 0 0 0
1 1 1 1
1 0 1 0
0 1 1 0
0 0 1 0
 Inisialisasi awal

Masukan Target Perubahan Bobot Bobot Baru

x1 x2 bias y ∆w1 ∆w2 ∆bias w1 w2 wbias

Inisialisasi 0 0 0
1 1 1 1
1 0 1 0
0 1 1 0
0 0 1 0
 Iterasi ke-1
 Menghitung perubahan bobot

Masukan Target Perubahan Bobot Bobot Baru

x1 x2 bias y ∆w1 ∆w2 ∆bias w1 w2 wbias

Inisialisasi 0 0 0
1 1 1 1 1 1 1
1 0 1 0
0 1 1 0
0 0 1 0
 Iterasi ke-1
 Menghitung bobot baru (bobot lama + perubahan
bobot)
Masukan Target Perubahan Bobot Bobot Baru

x1 x2 bias y ∆w1 ∆w2 ∆bias w1 w2 wbias

Inisialisasi 0 0 0
1 1 1 1 1 1 1 1 1 1
1 0 1 0
0 1 1 0
0 0 1 0
 Iterasi ke-2
 Menghitung perubahan bobot

Masukan Target Perubahan Bobot Bobot Baru

x1 x2 bias y ∆w1 ∆w2 ∆bias w1 w2 wbias

Inisialisasi 0 0 0
1 1 1 1 1 1 1 1 1 1
1 0 1 0 0 0 0
0 1 1 0
0 0 1 0
 Iterasi ke-2
 Menghitung bobot baru (bobot lama + perubahan
bobot)
Masukan Target Perubahan Bobot Bobot Baru

x1 x2 bias y ∆w1 ∆w2 ∆bias w1 w2 wbias

Inisialisasi 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 1 0
 Iterasi ke-3
 Menghitung perubahan bobot

Masukan Target Perubahan Bobot Bobot Baru

x1 x2 bias y ∆w1 ∆w2 ∆bias w1 w2 wbias

Inisialisasi 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
0 0 1 0
 Iterasi ke-3
 Menghitung bobot baru (bobot lama + perubahan
bobot)
Masukan Target Perubahan Bobot Bobot Baru

x1 x2 bias y ∆w1 ∆w2 ∆bias w1 w2 wbias

Inisialisasi 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
 Iterasi ke-4
 Menghitung perubahan bobot

Masukan Target Perubahan Bobot Bobot Baru

x1 x2 bias y ∆w1 ∆w2 ∆bias w1 w2 wbias

Inisialisasi 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
 Iterasi ke-4
 Menghitung bobot baru (bobot lama + perubahan
bobot)
Masukan Target Perubahan Bobot Bobot Baru

x1 x2 bias y ∆w1 ∆w2 ∆bias w1 w2 wbias

Inisialisasi 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
 Hasil iterasi
 Ditemukan bobot akhir jaringan adalah : w1 = 1, w2 =
1, wbias = 1
Masukan Target Perubahan Bobot Bobot Baru

x1 x2 bias y ∆w1 ∆w2 ∆bias w1 w2 wbias

Inisialisasi 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
 Uji Coba Jaringan
 Setelah bobot akhir diperoleh, selanjutnya dilakukan uji coba dan
aktivasi jaringan pada seluruh data masukan menggunakan fungsi :

𝟐 dengan aktivasi 𝟏, 𝐉𝐢𝐤𝐚 𝐧𝐞𝐭 ≥ 𝟎


𝒏𝒆𝒕 = ෍ 𝒙𝒊 𝒘𝒊 + 𝒃 𝐲 = 𝐟(𝐧𝐞𝐭) = ቐ
𝒊=𝟏 𝟎, 𝐉𝐢𝐤𝐚 𝐧𝐞𝐭 < 𝟎
Telah didapat sebelumnya :
w1 = 1, w2 = 1, wbias = 1

Masukan Target
x1 x2 t

1 1 1 1.1 + 1.1 + 1 = 3 1

1 0 0 1.1 + 0.1 + 1 = 2 1

0 1 0 0.1 + 1.1 + 1 = 2 1
0 0 0 0.1 + 0.1 + 1 = 1 1

Berdasarkan uji coba jaringan, tampak bahwa hasil nilai f(net) tidak sama dengan
target dalam fungsi “AND”, artinya “JARINGAN TIDAK DAPAT MEMAHAMI”
pola yang dimaksudkan.
 Sekarang kita coba ganti masukan dan keluaran
dengan nilai bipolar (-1,0,1)
 Apakah model Hebb dapat mengerti pola yang
dimaksudkan?
 Membuat Tabel Masukan dan Target
 Direpresentasikan secara BIPOLAR(masukan dan
keluaran semuanya bernilai 1 atau -1)

Masukan Target

X1 X2 1 t

1 1 1 1

1 -1 1 -1

-1 1 1 -1

-1 -1 1 -1
 Membuat Model Jaringan

x1
w1

x2 w2 y

b
1
 Pelatihan Jaringan
 Untuksetiap data masukan dan target, perubahan
bobot dihitung dari perkalian data masukan dan
targetnya.
∆w1 = x1t ∆b = 1
∆w2 = x2t t=t
 Bobot wi(baru) = bobot wi(lama) + ∆wi (i=1,2)
 Inisialisasi awal

Masukan Target Perubahan Bobot Bobot Baru

x1 x2 bias y ∆w1 ∆w2 ∆bias w1 w2 wbias

Inisialisasi 0 0 0
1 1 1 1
1 -1 1 -1
-1 1 1 -1
-1 -1 1 -1
 Inisialisasi awal

Masukan Target Perubahan Bobot Bobot Baru

x1 x2 bias y ∆w1 ∆w2 ∆bias w1 w2 wbias

Inisialisasi 0 0 0
1 1 1 1
1 -1 1 -1
-1 1 1 -1
-1 -1 1 -1
 Iterasi ke-1
 Menghitung perubahan bobot

Masukan Target Perubahan Bobot Bobot Baru

x1 x2 bias y ∆w1 ∆w2 ∆bias w1 w2 wbias

Inisialisasi 0 0 0
1 1 1 1 1 1 1
1 -1 1 -1
-1 1 1 -1
-1 -1 1 -1
 Iterasi ke-1
 Menghitung bobot baru (bobot lama + perubahan
bobot)
Masukan Target Perubahan Bobot Bobot Baru

x1 x2 bias y ∆w1 ∆w2 ∆bias w1 w2 wbias

Inisialisasi 0 0 0
1 1 1 1 1 1 1 1 1 1
1 -1 1 -1
-1 1 1 -1
-1 -1 1 -1
 Iterasi ke-2
 Menghitung perubahan bobot

Masukan Target Perubahan Bobot Bobot Baru

x1 x2 bias y ∆w1 ∆w2 ∆bias w1 w2 wbias

Inisialisasi 0 0 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
 Iterasi ke-2
 Menghitung bobot baru (bobot lama + perubahan
bobot)
Masukan Target Perubahan Bobot Bobot Baru

x1 x2 bias y ∆w1 ∆w2 ∆bias w1 w2 wbias

Inisialisasi 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
 Iterasi ke-3
 Menghitung perubahan bobot

Masukan Target Perubahan Bobot Bobot Baru

x1 x2 bias y ∆w1 ∆w2 ∆bias w1 w2 wbias

Inisialisasi 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
 Iterasi ke-3
 Menghitung bobot baru (bobot lama + perubahan
bobot)
Masukan Target Perubahan Bobot Bobot Baru

x1 x2 bias y ∆w1 ∆w2 ∆bias w1 w2 wbias

Inisialisasi 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
 Iterasi ke-4
 Menghitung perubahan bobot

Masukan Target Perubahan Bobot Bobot Baru

x1 x2 bias y ∆w1 ∆w2 ∆bias w1 w2 wbias

Inisialisasi 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
 Iterasi ke-4
 Menghitung bobot baru (bobot lama + perubahan
bobot)
Masukan Target Perubahan Bobot Bobot Baru

x1 x2 bias y ∆w1 ∆w2 ∆bias w1 w2 wbias

Inisialisasi 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
 Hasil iterasi
 Ditemukan bobot akhir jaringan adalah : w1 = 2, w2 =
2, wbias = -2
Masukan Target Perubahan Bobot Bobot Baru

x1 x2 bias y ∆w1 ∆w2 ∆bias w1 w2 wbias

Inisialisasi 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
 Uji Coba Jaringan
 Setelah bobot akhir diperoleh, selanjutnya dilakukan uji coba dan
aktivasi jaringan pada seluruh data masukan menggunakan fungsi :

𝟐 dengan aktivasi 𝟏, 𝐉𝐢𝐤𝐚 𝐧𝐞𝐭 ≥ 𝟎


𝒏𝒆𝒕 = ෍ 𝒙𝒊 𝒘𝒊 + 𝒃 𝐲 = 𝐟(𝐧𝐞𝐭) = ቐ
𝒊=𝟏 𝟎, 𝐉𝐢𝐤𝐚 𝐧𝐞𝐭 < 𝟎
Telah didapat sebelumnya :
w1 = 2, w2 = 2, wbias = -2

Masukan Target
x1 x2 T

1 1 1 1.2 + 1.2 + (-2) = 2 1

1 -1 -1 1.2 +(-1).2 + (-2) = -2 0

-1 1 -1 (-1).2 + 1.2 + (-2) = -2 0


-1 -1 -1 (-1).2 +(-1).2 + (-2) = -6 0

Berdasarkan uji coba jaringan, tampak bahwa hasil nilai f(net) SAMA DENGAN
target dalam fungsi “AND”, artinya “JARINGAN DAPAT MEMAHAMI” pola
yang dimaksudkan.
See you next week 

Anda mungkin juga menyukai