dibicarakan dan mengundang banyak kekaguman karena kemampuannya yang bisa meniru sifat sistem yang diinputkan Siang, 2009.
Jaringan Syaraf Tiruan ditentukan oleh 3 hal berikut : 1.
Pola hubungan antar neuron arsitektur jaringan. 2.
Metode untuk menentukan bobot penghubung disebut metode
training learning
algoritma. 3.
Fungsi aktivasi.
2.7.1 Arsitektur Jaringan
Beberapa arsitektur jaringan yang sering dipakai dalam jaringan syaraf tiruan antara lain :
1. Jaringan Lapis Tunggal
Single Layer Network
Dalam jaringan ini, sekumpulan
input neuron
dihubungkan secara langsung dengan sekumpulan
output
-nya. Dalam beberapa model misal
perceptron
, hanya ada sebuah unit
neuron output
.
Pada gambar 2.19 terdapat sejumlah
n
unit masukan X
1
,X
2
,...,X
n
dan
k
buah unit keluaran Y
1
, Y
j
, …, Y
k
serta bobot yang menyatakan hubungan antara unit masukan dan keluaran Wi
1
, W
j1
,…,W
k3
. Selama proses pelatihan, bobot-bobot ini akan di
update
untuk meningkatkan keakuratan hasil keluarannya.
Gambar 2.19 menunjukkan arsitektur
jaringan
single layer
Siang,2005.
2. Jaringan Lapis Majemuk
Jaringan lapis majemuk merupakan perluasan dari jaringan lapis tunggal. Dalam jaringan ini, selain terdapat masukan
input
dan keluaran
output
, terdapat unit-unit lain diantara keduanya, sering disebut sebagai lapis tersembunyi
hidden layer
. Dalam jaringan ini, memungkinkan adanya beberapa lapisan tersembunyi, dan pada unit-unit satu lapis tidak saling berhubungan.
Gambar 2.20 adalah jaringan dengan n buah input X
1
, X
2
, …, X
n
dan m buah output Y
1
, Y
2
, … , Y
3
serta sebuah lapis tersembunyi terdiri dari p buah input Z
1
, … , Z
p
. jaringan ini dapat digunakan untuk menyelesaikan masalah yang lebih kompleks.
2.7.2
Backpropagation
Jaringan Syaraf Tiruan
Backpropagation
melatih jaringan untuk mendapatkan kesiembangan antara kemampuan jaringan untuk mengenail pola yang digunakan
selama proses pelatihan serta kemampuan jaringan untuk memberikan respon yang besar terhadap pola masukan yang serupa tetapi tidak sama dengan pola yang
digunakan selama proses pelatihan.
Backpropagation
membandingkan nilai
output
dengan nilai target keluarannya dan menghitung nilai errornya untuk tiap unit jaringan.
Gambar 2.20 menunjukkan arsitektur jaringan
multi layer
Siang, 2005
V
p1
V
1i
1. Arsitektur Jaringan
Backpropagation
Gambar 2.9 menunjukkan arsitektur
Backpropagation
dengan sejumlah n buah masukan ditambah sebuah bias, sebuah
layer
tersembunyi yang terdiri dari p unit ditambah sebuah bias serta sebuah
layer
keluaran m buah keluaran. 2.
Fungsi Aktivasi Dalam suatu jaringan syaraf tiruan, fungsi aktivasi digunakan untuk
menentukan nilai keluaran suatu neuron. Fungsi aktivasi merupakan kombinasi antara nilai masukan dengan bobot serta biasnya. Dalam
backpropagation,
fungsi aktivasi yang harus dipakai harus memenuhi beberapa syarat yaitu : kontinu, terdifrensial
dengan mudah dan merupakan fungsi yang tidak turun. Salah satu fungsi aktivasi yang mememnuhi ketiga syarat tersebut sehingga sering dipakai adalah fungsi sigmoid biner
yang memiliki range 0, 1. =
+
dengan turunan
′
= −
2.17
Gambar 2.21 Ilustrasi Arsitektur Jaringan
Backpropagation
Siang,2005
Fungsi aktivasi lainnya yang sering dipakai adalah fungsi sigmoid bipolar yang bentuk fungsinya mirip dengan fungsi aktivasi sigmoid biner, tetapi dengan range -1, 1
=
+
− dengan turunan
′
=
+ � − �
2.18 Fungsi sigmoid memiliki nilai maksimum = 1. Maka untuk pola yang targetnya 1,
pola masukan dan keluaran harus terlebih dahulu ditransformasi sehingga semua polanya memiliki range yang sama seperti fungsi sigmoid yang dipakai. Alternative
lain adalah menggunakan fungsi aktivasi sigmoid hanya pada
layer
yang bukan
layer
keluaran. Pada
layer
keluaran, fungsi aktivasi yang digunakan adalah fungsi identitas : fx = x.
3. Pelatihan Standar Backpropagation
Proses pelatihan jaringan syaraf tiruan
Backpropagation
terdiri dari 3 tahapan, yaitu propagasi maju, propagasi mundur, dan perubahan bobot. Tahapan tersebut akan
dilakukan berulang hingga kondisi penghentian terpenuhi. a.
Propagasi Maju Selama propagasi maju, sinyal masukan =
x
i
dipropagasikan ke
layer
tersembunyi menggunakan fungsi aktivasi yang ditentukan. Keluaran dari setiap unit
layer
tersembunyi =
z
i
tersebut selanjutnya dipropagasikan maju lagi ke
layer
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 kesalahanini 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. b.
Propagasi Mundur
Berdasarkan kesalahan t
k
dan y
k
dihitung faktor δ
k
k = 1,2,…,m yang dipakai untuk mendistribusikan kesalahan di unit y
k
ke semua unit tersembunyi yang terhubung dengan y
k.
δ
k
juga dipakai untuk mengubah bobot garis yang berhubungan langsung dengan unit keluaran.
Dengan cara sama, dihitung δ
j
di setiap unit di
layer
tersembunyi sebagai dasar perubahan bobot semua garis yang berasal dari unit
tersembunyi pada
layer
di bawahnya. Demikian seterusnya hingga semua faktor
δdi unit tersembunyi yang berhubungan langsung dengan unit masukan dihitung.
c. Perubahan Bobot
Setelah semua faktor δdihitung, bobot semua garis dimodifikasi
bersamaan. Perubahan bobot suatu garis didasarkan atas faktor δneuron
dilayar atasnya. Sebagai contoh, perubahan bobot garis yang menuju ke layar keluaran didasarkan atas
δ
k
yang ada di unit keluaran. Ketiga tahap tersebut diulang terus meneru hingga kondisi penghentian
dipenuhi. Umumnya kondisi penghentian yang sering dipakai adalah jumlah iterasi atau kesalahan. Iterasi akan dihentikan jika jumlah iterasi
yang dilakukan sudah melebihi jumlah maksimum iterasi yang ditetapkan, atau jika kesalahan yang terjadi sudah lebih kecil dari batas toleransi yang
diijinkan. Secara umum, algoritma pelatihan jaringan
backpropagation
adalah sebagai berikut :
1. Inisialisasi semua bobot dengan bilangan acak kecil.
2. Jika kondisi penghentian belum terpenuhi, lakukan langkah 3-10.
3. Untuk setiap pasang data pelatihan, lakukan langkah 4-9.
4. Tiap unit masukan menerima sinyal dan masukan ke unit
tersembunyi di atasnya
5. Hitung semua keluaran di unit tersembunyi z
j
= j = 1,2,3,…,p =
+ ∑
=
2.19
= =
+
− _ ��
2.20 6.
Hitung semua keluaran jaringan di unit y
k
k = 1,2,…,m =
+ ∑
=
2.21
= =
+
− − ��
2.22 7.
Hitung faktor δunit keluaran berdasarkan kesalahan di setiap unit
keluaran y
k
k = 1,2,…,m =
−
′
= −
− 2.23
Hitung suku perubahan bobot w
kj
yang akan dipakai nanti untuk merubah bobot w
kj
dengan laju percepatan α ∆
= ; k = 1,2,…,m ; j = 0,1,…,p
8. Hitung faktor
δunit tersembunyi berdasarkan kesalahn di setiap unit tersembunyi z
j
j = 1,2, … ,p = ∑
=
2.24 Faktor
δunit tersembunyi =
′
= −
2.25 Hitung suku perubahan bobot v
ji
yang akan digunakan nanti untuk merubah bobot v
ji
∆ =
; j = 1,2,…,p ; i = 0,1,..,n 2.26
9. Hitung semua perubahan bobot
Perubahan bobot garis yang menuju ke unit keluaran =
+ ∆ k = 1,2, … , m; i=0,1,…,p
2.27 Perubahan bobot garis yang menuju ke unit tersembunyi
= + ∆ j = 1,2, …, p ; i = 0,1,…,n
2.28 10.
Setelah pelatihan selesai dilakukan, jaringan dapat dipakai untuk pengenalan pola.
2.8 Mempercepat Pelatihan