BAB III JARINGAN SARAF BUATAN LAPISAN BANYAK
Jaringan saraf buatan lapisan banyak merupakan perluasan dari jaringan saraf buatan lapisan tunggal. Pada jaringan saraf buatan lapisan tunggal
menggunakan pendekatan algoritma perceptron yang hanya menghasilkan fungsi linear.
Sebaliknya, Jaringan saraf buatan lapisan banyak menggunakan pendekatan algoritma backpropagation yang akan merepresentasikan fungsi non
linear . Dalam jaringan ini selain unit input dan output terdapat unit tersembunyi.
Hubungan antar lapisan berlangsung satu arah.
3.1 Unit Sigmoid
Unit perceptron merupakan salah satu tipe dari jaringan saraf buatan dengan unit tunggal dengan fungsi yang dihasilkan adalah fungsi yang
linear. Namun, unit perceptron tidak dapat menjelaskan fungsi yang non
linear, Oleh karena itu, Jaringan saraf buatan lapisan banyak mampu
menggambarkan fungsi yang non linear. Salah satu solusinya adalah dengan unit sigmoid, yaitu sebuah unit yang mirip dengan perceptron, dan proses
dasar pekerjaan dilakukan sesuai tahapan. Sama dengan perceptron, unit sigmoid pertama kali menghitung
kombinasi linear dari input, kemudian menggunakan nilai batas untuk hasilnya. Pada kasus unit sigmoid, hasil output merupakan fungsi yang
kontinu dari input-inputnya dan unit sigmoid menghitung output o
k
, secara singkat rumus yang digunakan dapat ditulis sebagai:
20
x Rumus fungsi sigmoid:
o net =
n i
=0
w
ji .
x
i
+ θ
j
3.1
σ
= 1
−o net
3.2 Maka output o
k
1 + e
n
o
k =
σ
i =0
w
ji .
x
i
+ θ
j
3.3 dimana x
1
, x
2
, ..., x
n
adalah input, o x
1
,..., x
n
adalah output dan w
i
adalah bobot yang
menentukan kontribusi dari
input x
i
pada output backpropagation.
σ disebut fungsi sigmoid atau fungsi logistik. Range output
yang dihasilkan oleh unit sigmoid antara 0 sampai 1, dan bersifat monoton naik. Karena unit sigmoid memetakan domain bilangan input yang
sangat besar ke range output yang kecil, Sigmoid sering disebut dengan pengkompresan hasil dari unit. Fungsi sigmoid memiliki sifat bahwa
turunannya secara
mudah diperlihatkan
dalam bentuk
output =
σ
y ⋅
1 −
σ
y . Unit sigmoid diilustrasikan sebagai berikut:
d
σ
y dy
x =1
w w
1
1
x
2
w
2
w x
n
n
net =
w
i
x
j
+ θ
j j
=0
Gambar 3.1.
Sigmoid
o =
σ
net =
1 1
+ e
−o net
21
=
k k
3.2. Turunan dari Aturan Algoritma Backpropagation
Masalah yang paling pokok dalam bab ini adalah aturan penurunan stokastik gradient descent
yang diimplementasikan oleh algoritma backpropagation
. Berdasarkan persamaan 3.0 bahwa stokastik gradient descent
melibatkan iterasi pada sebuah waktu contoh percobaan, untuk setiap contoh percobaan d menurunkan nilai gradient dari error E
d
pada contoh tunggal. Dengan kata lain, untuk setiap contoh percobaan d setiap
bobot w
ij
di update oleh penambahan ∆w
ij
dengan rumus sebagai berikut: ∆w
ij
= −
η
=
∂E
d
∂w
ij
3.4 Dimana E
d
adalah error pada contoh percobaan d ditambahkan dengan semua unit output pada jaringan persamaan 3.0
1 E
d
2 t
− o
2 k
∈output
outputnya disini adalah himpunan dari unit output pada jaringan, t
k
adalah nilai target dari unit k untuk contoh percobaan d dan o
k
adalah output dari unit k pada contoh percobaan d.
Notasi : x
ji
= input ke i sampai input j w
ji
= bobot dengan input ke i sampai input j net
j
=
i
w
ji
x
ji
jumlahan bobot dari input untuk unit j o
j
= output dihitung berdasarkan unit j t
j
= target output untuk unit j
22
j
σ
= fungsi sigmoid output
= himpunan dari unit-unit pada lapisan terakhir dari suatu jaringan
Downstreamj =himpunan dari unit-unit yang berada satu lapisan
dibawahnya termasuk output dari unit j
Penurunan stokastik gradient descent
=
∂E
d
∂w
ji
merupakan implementasi dari persamaan 3.4. Dengan catatan bahwa bobot w
ij
dapat mempengaruhi sisa dari jaringan hanya sampai net
j
. Oleh karena itu,
=
∂E
d
∂E ∂net
j
=
d
∂w
ji
∂net
j
∂w
ji
=
=
∂E
d
∂
i
w
ji
x
ji
∂net
j
=
=
∂E
d
x ∂net
ji
∂w
ji
3.5
dalam penurunan
=
∂E
d
∂w
ji
terdapat dua pandangan kasus yaitu: kasus dimana unit j adalah unit keluaran untuk jaringan dan kasus dimana j adalah unit
tersembunyi untuk jaringan.
Kasus 1 : Aturan percobaan untuk bobot unit output.
w
ij
dapat mempengaruhi sisa dari jaringan hanya sampai net
j
, net
j
dapat mempengaruhi jaringan hanya sampai o
j
. Oleh karena itu,
23
∂
j j
j
∂E
d j
j =
∂E
d
=
=
∂E
d
∂o
j
3.6 ∂net
j
∂o
j
∂net
j
pandang bentuk pertama pada persamaan 3.0 ∂E
d
∂ 1
2
= ∂o
∂o 2 t
k
− o
k j
j k
∈output
Penurunan t
k
∂o
j
− o
k 2
akan nol untuk semua unit output k kecuali saat k = j.
=
∂E
d
= ∂ 1
t −o
2
∂o
j
∂o
j
2 1
∂ t
−o = 2 t −o
2
j j
∂o
j
= −t
j
−o
j
3.7
karena ∂o
j
o
j
= σ net
j
, penurunan ∂net
j
merupakan penurunan dari fungsi sigmoid, yang sama dengan
σ
net
j
1 −
σ
net
j
. Oleh karena itu, ∂o
j
∂
σ
net
j
= ∂net
j
∂net
j
=
σ
net =
σ
net
j
1 −
σ
net
j
= o
j
1 − o
j
3.8 substitusikan persamaan 3.7 dan 3.8 kedalam persamaan 3.6. Didapatkan,
=
∂E
d
=
=
∂E
d
∂o
j
∂net
j
∂o
j
∂net
j
= − t
j
− o
j
o
j
1 − o
j
∂net 3.9
j
24
j
dan kombinasikan persamaan 3.9 dengan persamaan 3.4. Maka didapatkan aturan stokastik gradient descent untuk unit output
∆w
ij
= −
η
=
∂E
d
∂w
ij
= −
η
=
∂E
d
∂net
j
∂net
j
∂w
ji
= η
t
j
− o
j
o
j
1 − o
j
x
ji
3.10
Kasus 2 : Aturan Percobaan untuk Bobot unit tersembunyi
Pada kasus ini j merupakan unit tersembunyi pada jaringan, turunan dari aturan percobaan untuk w
ji
harus mengmbil perhitungan secara tidak langsung dimana w
ji
dapat mempengaruhi output jaringan dan E
d
. Notasikan himpunan semua unit yang input-inputnya termasuk dalam output unit j dengan Downstream j. Catat
bahwa net
j
dapat mempengaruhi jaringan keluaran dan E
d
hanya sampai unit pada Downstream j.
Oleh karena itu, dapat ditulis sebagai berikut:
=
∂E
d
=
=
∂E
d
∂net
k
∂net
j k
∈Downstream j
∂net
k
∂net
j
= −
δ
=
∂net
k k
net
k ∈Downstream j
∂
j
∂net ∂o
j
= −
δ
k k
∈Downstream j k
∂o ∂net
j
= −
δ
w ∂o
j k
∈Downstream j k kj
∂net
j
= −
δ
k
w
kj
o
j
1 − o
j k
∈Downstream j
3.11
25
setelah mengatur kembali bentuk persamaan di atas dan menggunakan δ
j
untuk menotasikan −
=
∂E
d
, didapatkan ∂net
j
δ
j
= o
j
1 − o
j
δ
k
w
kj k
∈Downstream j
3.12 dan
∆w
ji
= ηδ
j
x
ji
3.13
3.3. Penggunaan Faktor Momentum