2.3 Jaringan Saraf Tiruan Backpropagation
Jaringan saraf tiruan memiliki banyak jenis metode dan salah satunya adalah metode backpropagation. Metode backpropagation melatih jaringan untuk mendapatkan
keseimbangan antara kemampuan jaringan untuk mengenali pola yang digunakan selama pelatihan serta kemampuan jaringan untuk memberikan respon yang benar
terhadap pola masukan yang serupa dengana pola yang dipakai dengan pola yang dipakai selama pelatihan. Backpropagation merupakan algorima pembelajaran yang
terawasi dan bisanya digunakan oleh perceptron dengan banyak lapisan untuk mengubah bobot-bobot yang terhubung dengan neuron-neuron yang ada pada lapisan
tersembunyinya. Algoritma backpropagation menggunakan error output untuk mengubah nilai bobot-bobotnya dalam arah mundur backward. Untuk mendapatkan
error ini, tahap perambatan maju forward propagation harus dikerjakan terlebih dahulu. Pada saat perambatan maju, neuron-neuron diaktifkan dengan menggunakan
fungsi aktivasi yang dapat dideferensiasikan.[4] Jaringan saraf Tiruan Backpropagation pertama kali diperkenalkan oleh
Rumelhart, Hinton, dan William pada tahun 1986, kemudian dikembangkan oleh Rumelhart dan Mc Clelland pada tahun 1988. Inti dari metode backpropagation
terletak pada kemampuan untuk mengubah nilai-nilai bobotnya untuk menanggapi adanya kesalahan. Agar dapat menghitung kesalahan , pada proses pemblajaran perlu
adanya pola pola keluaran yang dibandingkan dengan targetnya. Hasil dari perbandingan ini berupa error atau kesalahan[8].
.
X
1
X
2
X
3
Z
1
Z
2
Z
3
Y
1
Y
2
W
11
W
12
W
13
W
21
W
22
W
23
V
11
V
12
V
21
V
22
V
31
V
32
Input Hidden
Output
Gambar 2.7 Arsitektur Jaringan Backpropagation [8].
Universitas Sumatera Utara
Keteranagan :
X = Masukan input
V = Bobot lapisan tersembunyi
W = Bobot lapisan keluaran
Z = Lapisan tersembunyi hidden layer
Y = Keluaran output.
2.3.1 Arsitektur Jaringan Backpropagation
Backpropagation merupakan algoritma pembelajaran yang terawasi dan biasanya digunakan oleh perceptron dengan banyak lapisan untuk mengubah bobot-bobot yang
terhubung dengan neuron-neuron yang ada pada lapisan tersembunyinya. Algoritma backpropagation menggunakan error output untuk mengubah nilai-nilai bobotnya
dalam arah mundur backward. Untuk mendapatkan error ini, tahap perambatan maju forward propagation harus dikerjakan terlebih dahulu. Pada saat perambatan maju,
neuron-neuron diaktifkan dengan menggunakan fungsi aktivasi sigmoid, yaitu [7] :
�� =
1 1+e
−x
...................................................................................................... 11 �� : fungsi aktivasi sigmoid
Di dalam jaringa ini setiap unit yang berada di lapisan input terhubung dengan setiap unit yang ada di lapisan tersembunyi. Hal serupa berlaku pula pada lapisan
tersembunyi. Setiap unit yang ada di lapisan tersembunyi terhubung dengan setiap unit yang ada di lapisan output[9].
Berikut adalah arsitektur jaringan syaraf backpropagation:
Universitas Sumatera Utara
x
1
b=1 x
3
x
2
z
2
z
1
b=1 Y
v
11
v
12
v
21
v
22
v
31
v
32
v
01
v
02
w w
1
w
2
Gambar 2.12 Arsitektur Jaringan Backpropagation[8]
Perbedaan antara output aktual dengan output target dikembalikan lagi kelapisan tersembunyi sebagai input untuk meng-update bobot, membawa keluaran
jaringan ke arah semakin mendekati output target[9].
Keterangan :
�
1
, �
2
, �
3
: unit input �
1
, �
2
: lapisan tersembunyi � : lapisan output
b : bias
�
1
, �
2
: bobot yang menghubungkan neuron pada lapisan tersembunyi dengan neuron pada lapisan output
�
��
: bobot yang menghubungkan neuron ke-j pada suatu lapisan ke neuron ke-i pada lapisan sesudahnya v
11
,v
21
,v
31
. �
01
, �
02
: bobot bias yang menuju ke neuron pertama dan kedua pada lapisan tersembunyi
� : bobot bias yang menghubungkan lapisan tersembunyi dengan lapisan
output
Universitas Sumatera Utara
2.3.2 Fungsi Aktivasi
Fungsi aktivasi merupakan fungsi matematis yang berguna untuk membatasi dan menentukan jangkauan output suatu neuron. Fungsi aktivasi untuk Jaringan Saraf
Tiruan Backpropagation harus memiliki beberapa karakteristik penting, yaitu kontinyu, dapat dideferensialkan, dan monoton tanpa penurun. Fungsi aktivasi
biasanya digunakan untuk mencari nilai asimtot maksimum dan minimum. Fungsi aktivasi yang biasa digunakan untuk jaringan Backpropagation adalah :
1. fungsi sigmoid bipolar, dimana fungsi sigmoid bipolar hampir sama dengan fungsi sigmoid biner, hanya saja output dari fungsi ini memiliki
range antara 1 sampai -1[3]. fungsi sigmoid bipolar dirumusskan sebagai :
y = fx
=
1−�
−�
1+�
−�
dengan : f’x =
� 2
[1 + ��][1 − ��]
2. fungsi sigmoid biner, fungsi ini digunakan untuk jaringan saraf yang dilatih dengan menggunakan metode backpropagation. Fungsi sigmoid
biner memiliki nilai pada range 0 sampai 1. Oleh karena itu, fungsi ini sering digunakan untuk jaringan saraf yang membutuhkan nilai output
yang terletak pada interval 0 sampai 1. Namun fungsi ini biasa juga digunakan oleh jaringan saraf yang nilai outputnya 0 atau 1 [3].
fungsi sigmoid biner dirumuskan sebagai : y = f x =
1 1+�
−��
dengan : f’ x = �� x [1- fx]
Untuk sistem yang akan dibangun menggunakan fungsi aktiviasi sigmoid bipolar. Karena nilai yang digunakan sebagai input lebih luas
dan batasan masalah nilai input -1 sampai 1.
Universitas Sumatera Utara
2.3.3 Pelatihan Standar Backpropagation
Pelatihan backpropagation memiliki 3 fase. Fase pertama adalah fase maju. Pola masukan dihitung maju mulai dari layar masukan hingga layar keluaran menggunakan
fungsi aktivasi yang ditentukan. Fase kedua adalah fase mundur. Selisih antara keluaran jaringan dengan target yang diinginkan merupakan yang terjadi. Kesalahan
tersebut dipropagasikan mundur, dimulai dari garis yang berhubungan langsung dengan unit-unit di layar keluaran. Fase ketiga adalah modifikasi bobot untuk
menurunkan kesalahan yang terjadi [8].
1. Fase I : Propagasi maju
Propagasi maju, sinyal masukan = x
i
dipropagasikan ke layar tersembunyi menggunakan fungsi aktivasi yang ditentukan. Keluaran
dari setiap unit layar tersembunyi = Z
j
tersebut selanjutnya dipropagasikan maju lagi ke layar tersembunyi di atasnya
menggunakan fungsi aktivasi yang ditentukan. Demikian seterusnya hingga menghasilkan keluaran jaringan = y
k
. Berikutnya, keluaran jaringan = y
k
dibandingkan dengan target yang harus dicapai = t
k
. Selisih t
k
- y
k
adalah kesalahan yang terjadi. Jika kesalahan ini lebih kecil dari batas toleransi yang ditentukan, maka
iterasi dihentikan. Akan tetapi apabila kesalahan masih lebih besar dari batas toleransinya, maka bobot setiap garis dalam jaringan akan
dimodifikasi untuk mengurangi kesalahan yang terjadi [8].
2. Fase II : Propagasi mundur
Berdasarkan kesalahan t
k
- y
k
dihitung faktor δ
k
k = 1,2, ..., m yang dipakai untuk mendistribusikan kesalahn di unit y
k
ke semua unit tersembunyi yang terhubung langsung dengan y
k
. δ
k
juga dipakai untuk mengubah bobot garis yang berhubungan langsung dengan unit
keluaran. Dengan cara yang sama, dihitung faktor δ
j
di setiap unit di layar tersembunyi sebagai dasar perubahan bobot semua garis yang berasal
dari unit tersembunyi di layar di bawahnya. Demikian seterusnya hingga semua faktor δ
di unit tersembunyi yang berhubungan langsung dengan unit masukan dihitung [8].
3. Fase III : Perubahan bobot
Universitas Sumatera Utara
Setelah semua faktor δ dihitung, bobot semua garis dimodifikasi
bersamaan. Perubahan bobot suatu garis didasarkan atas faktor δ
neuron di layar atasnya. Sebagai contoh, perubahan bobot garis yang menuju ke layar keluaran didasarkan atas δ
k
yang ada di unit keluaran [8].
2.3.4. Algoritma Pelatihan
Algoritma pelatihan untuk jaringan backpropagation adalah sebagai berikut :
1. Langkah 0
Inisialisasi semua bobot dengan bilangan acak kecil
2. Langkah 1 Jika kondisi penghentian belum terpenuhi, lakukan langkah 2-9
3. Langkah 2
Untuk setiap data pelatihan , lakukan langkah 3-8
Fase I : Propagasi maju
4. Langkah 3 Tiap unit masukan menerima sinyal dan meneruskan ke unit tersembunyi di
atasnya. 5. Langkah 4
Hitung semua keluaran di unit tersembunyi z
j
j= 1,2, ..., p z_net
j
= v
jo
+
∑
� �=0
x
i
v
ji
z
j
= fz_net
j
=
1 1+exp −z net j
6.
Langkah 5 Hitung semua keluaran jaringan di unit y
k
k= 1,2, ..., m y_net
k
= w
ko
+
∑
� �=1
z
j
w
kj
y
k
= fy_net
k
=
1 1+exp −y net k
Fase II : Propagasi mundur 7. Langkah 6
Universitas Sumatera Utara
Hitung faktor � unit keluaran berdasarkan kesalahan di setiap unit keluaran
y
k
k=1,2, ..., m
�
k
= t
k
– y
k
f’y_net
k
= t
k
– y
k
y
k
1-y
k
Hitung suku perubahan bobot w
kj
yang akan dipakai nanti untuk merubah bobot w
kj
dengan laju percepatan α Δw
kj =
α �
k
z
j
; k = 1,2, ..., m ; j = 0,1, ..., p
8. Langkah 7 Hitung faktor
� unit tersembunyi berdasarkan kesalahan di setiap unit tersembunyi z
j
j=1,2, ... , p �
_
net
j =
+
∑
� �=1
�
k
w
kj
Faktor � unit tersembunyi :
�
j =
�_net
j
f’z_net
j
= �_net
j
z
j
1-z
j
Hitung suku perubahan bobot v
ji
: Δv
ji =
α �
j
x
i
; j = 1,2, ..., p ; i = 0,1, ..., n
Fase III : Perubahan bobot 9. Langkah 8
Hitung semua perubahan bobot.
a. Perubahan bobot garis yang menuju ke unit keluaran :
w
kj
baru = w
kj
lama + Δw
kj
k = 1,2, ...,m ; j = 0,1, ..., p b. Perubahan bobot garis yang menuju ke unit tersembunyi :
v
ji
baru = v
ji
lama + Δv
ji
j = 1,2, ..., m ; i = 0,1, ..., n
10. Langkah 9 Pelatihan selesai dilakukan, jaringan dapat dipakai untuk mendeteksi
penyakit gigi. [5] Keterangan :
α : laju pembelajaran
n : jumlah data pembelajaran
Universitas Sumatera Utara
δ_net j : jumlah input pada lapisan tersembunyi dari unit pada lapisan
keluaran Y
k
y_net
k
: sinyal masukan untuk unit keluaran Y
k
Y
k
: unit keluaran k X
i
: unit masukan i V
jo
: bias pada unit tersembunyi W
ko
: bias pada unit keluaran δ k
: informasi error pada unit keluaran Y
k
yang dilakukan propagasi balik ke unit tersembunyi
δ j : informasi error pada unit tersembunyi Z
j
ΔV
ji
: koreksi bobot antara lapisan tersembunyi Zj dengan lapisan masukan Xi
Δwkj : korekai bobot antara lapisan keluaran Y
k
dengan lapisan tersembunyi Zj
V
ij
: bobot antara lapisan tersembunyi Z
j
dengan lapisan masukan X
i
yang sudah disesuaikan Z
j
: unit tersembunyi j W
kj
: bobot antara lapisan keluaran Y
k
dengan lapisan masukan Z
j
yang sudah disesuaikan Z_net
j
: sinyal masukan untuk unit tersembunyi Z
j
2.4. Jaringan Saraf Tiruan Hopfield