2.4 Jaringan Syaraf Tiruan Propagasi Balik
2.4.1 Jaringan Syaraf Tiruan
Jaringan Syaraf Tiruan adalah sistem pemrosesan informasi yang memiliki karakteristik mirip dengan jaringan syaraf biologis (Siang, 2007).
Jaringan Syaraf Tiruan dibentuk sebagai generalisasi model matematika dari jaringan syaraf biologis dengan asumsi:
1. Pemrosesan informasi terjadi pada banyak elemen sederhana (neuron).
2. Sinyal dikirimkan melalui neuron-neuron melalui penghubung- penghubung.
3. Penghubung antar neuron memiliki bobot yang akan memperkuat atau memperlemah sinyal.
4. Untuk menentukan output, setiap neuron menggunakan fungsi aktivasi (biasanya bukan fungsi linier) yang dikenakan pada jumlahan input yang diterima. Besarnya output ini selanjutnya dibandingkan dengan suatu batas ambang.
Jaringan Syaraf Tiruan ditentukan oleh 3 hal:
1. Pola hubungan antar neuron (arsitekstur jaringan). 2. Metode untuk menentukan bobot penghubung. 3. Fungsi aktivasi
Arsitekstur Jaringan Syaraf Tiruan merupakan salah satu penentu Jaringan Syarat tiruan.
Macam Arsitekstur Jaringan Syaraf Tiruan:
1. Jaringan Lapis Tunggal
Dalam jaringan ini, sekumpulan input dihubungkan dengan sekumpulan outputnya. Dalam jaringan lapis tunggal bobot satu unit keluaran tidak mempengaruhi bobot unit keluaran lainnya.
X1 Xi Xn Y1 Yi Yn W11 Wi1 Wn1 W1j Wij Wnj W1m Wim Wnm Input unit output unit
Gambar 2.1 Ilustrasi Jaringan Lapis Tunggal (Siang, 2007)
Pada Gambar 2.1 terdapat n unit input (X1, X2,…,Xn) dan m buah unit output (Y1, Y2,…,Ym). Kemudian Wij menyatakan bobot hubungan antara unit ke-i dalam input dengan unit ke-j dalam output. Selama proses pelatihan bobot-bobot tersebut akan dimodifikasi untuk memperoleh keakuratan hasil yang maksimal.
2. Jaringan Lapis Majemuk
Jaringan lapis majemuk merupakan perluasan dari jaringan lapis tunggal. Dalam jaringan lapis majemuk, selain unit input dan output, ada pula unit lain, yang berada diantara unit input dan output (sering disebut lapis tersembunyi). Dalam jaringan ini dimungkinkan ada beberapa lapis tersembunyi. Unit dalam satu layar tidak saling berhubungan.
Xn Input unit output unit W11 X1 Xi Z1 Zj Y1 Yk Ym Wj1 Wp1 W1k Wjk Wjm V11 Vi1 Vn1 Vnj V1p Vip Zp Vnp V1j Vij Wpk W1m Wpm Hidden unit
Gambar 2.2 Ilustrasi Jaringan Lapis Majemuk (Siang, 2007)
Pada Gambar 2.2 terdapat n buah unit input (X1, X2,…,Xn) dan m buah unit output (Y1, Y2,…,Ym), sebuah lapis tersembunyi yang terdiri dari p buah unit (Z1, Z2,…,Zp). Jaringan ini dapat menyelesaikan masalah yang lebih komplek.
2.4.2 Jaringan Syaraf Tiruan Propagasi Balik
Jaringan Syaraf Tiruan Propagasi Balik membandingkan perhitungan keluaran jaringan syaraf tiruan dengan target keluaran dan menghitung nilai error untuk setiap unit jaringan.
1. Arsitekstur Jaringan Syaraf Tiruan Propagasi Balik
Xn
Input
unit output unit
W11 X1 Xi Z1 Zj Y1 Yk Ym Wj1 Wp1 W1k Wjk Wjm V11 Vi1 Vn1 Vnj V1p Vip Zp Vnp V1j Vij Wpk W1m Wpm Hidden unit 1 1 V01 V0p V0j W01 W0k W0m
Gambar 2.3 Ilustrasi Jaringan Syaraf Tiruan Propagasi Balik
(Siang, 2007)
Gambar 2.3 merupakan arsitekstur jaringan syaraf tiruan propagasi balik dengan n buah masukan ditambah sebuah bias,
sebuah lapis tersembunyi yang terdiri dari p unit ditambah sebuah bias, dan sebuah lapis unit keluaran.
2. Fungsi Aktivasi
Dalam jaringan syaraf tiruan propagasi balik, fungsi aktivasi harus memenuhi syarat: kontinu, terdiferensial dengan mudah dan merupakan fungsi yang tidak turun. Salah satu fungsi aktivasi yang memenuhi syarat tersebut adalah fungsi sigmoid
biner dengan rentang (0, 1).
= + −� dengan turunannya ′ = ( − ) (2.12) Fungsi lain yang juga memenuhi syarat tersebut adalah fungsi sigmoid bipolar dengan rentang (-1, 1).
= + −�− dengan turunnannya ′ = ( + � )( − � ) (2.13) Fungsi sigmoid memiliki nilai maksimum = 1. Makan untuk pola tergetnya > 1, pola masukan dan keluaran harus terlebih dahulu ditrasformasi sehingga polanya memiliki rentang yang sama seperti fungsi sigmoid yang dipakai. Cara lain adalah menggunakan fungsi aktivasi sigmoid hanya pada layar yang bukan layar keluaran, pada layar keluaran cukup menggunakan fungsi identitas = .
3. Proses Pelatihan Jaringan Syaraf Tiruan Propagasi Balik
Proses Pelatihan Jaringan Syaraf Tiruan Propagasi Balik terdiri dari 3 proses yaitu propagasi maju, propagasi mundur, perubahan bobot. Ketiga proses tersebut diulang-ulang sampai
kondisi penghentian terpenuhi. Umumnya penghentian yang dipakai adalah iterasi dan error. Iterasi akan dihentikan jika iterasi melebihi iterasi yang ditentukan. Atau jika error sudah lebih kecil dari yang ditentukan.
1. Propagasi maju
Selama propagasi maju, sinyal masukan ( ) dipropagasi ke lapis tersembunyi. Keluaran dari tiap unit tersembunyi tersebut ( ) di propagasi maju lagi ke lapis tersembunyi diatasnya. Demikian seterusnya hingga mendapatkan luaran jaringan ( ).
Berikutnya, luaran jaringan ( ) dibandingkan dengan target yang harus dicapai ( ). Selisih − adalah error yang terjadi. Jika error lebih kecil dari yang telah ditentukan, maka iterasi dihentikan, jika tidak, maka bobot setiap garis dimodifikasi untuk mengurangi nilai
error agar lebih kecil dari ketentuan.
2. Propagasi mundur
Berdasarkan error − , dihitung faktor � =
, , …, yang dipakai untuk mendistribusikan errordi unit ke semua unit tersembunyi yang terhubung langsung dengan . � juga dipakai untuk mengubah bobot garis yang terhubung langsung dengan unit keluaran.
Dengan cara yang sama, dihitung faktor �, di setiap unit lapis tersembunyi sebagai dasar perubahan bobot semua garis yang berasal dari lapis dibawahnya. Demikian seterusnya sampai faktor � di unit tersembunyi yang berhubungan langsung dengan unit masukan dihitung.
3. Perubahan bobot
Setelah semua faktor � dihitung, bobot semua garis dimodifikasi bersamaan. Perubahan bobot satu garis didasarkan atas faktor � neuron di lapis atasnya.
Algoritma pelatihan dengan 1 lapis tersembunyi dan fungsi aktifasi sigmoid biner. Adalah sebagai berikut:
Langkah 1: Inisialisasi semua bobot dengan bilangan acak kecil. Langkah 2: jika kondisi penghentian belum terpenuhi maka lakukan langkah 2-9.
Fase I.
Langkah 3: tiap unit masukan menerima sinyal kemudian meneruskan ke unit tersembunyi di atasnya.
Langkah 4: hitung semua keluaran di unit tersembunyi (j = 1, 2, … , p)
_ = + ∑= (2.14)
Langkah 5: hitung semua keluaran di unit tersembunyi (k = 1, 2,
… , m).
_ = + ∑ = (2.16)
= _ (2.17)
Fase II.
Langkah 6: hitung faktor � unit keluaran berdasarkan error setiap unit keluaran (k = 1, 2, … , m).
� = − − (2.18)
Hitung suku perubahan bobot dengan laju percepatan
∆ = � ; = , , … , ; = , , … , (2.19)
Langkah 7: hitung faktor � unit tersembunyi berdasarkan error di setiap unit tersembunyi = = , , … ,
�_ = ∑ = � (2.20)
� = �_ ( − ) (2.21)
Hitung suku perubahan bobot
∆ = � ; = , , … , ; = , , … , (2.22)
Fase III
Langkah 8: Hitung semua perubahan bobot
Perubahan bobot garis yang menuju ke unit keluaran:
= + ∆ ( = , , … , ; =
Perubahan bobot garis yang menuju ke unit tersembunyi:
= + ∆ ( = , , … , ; = , , … , ) (2.24) Langkah 9: bandingkan kondisi penghentian
Jaringan Syaraf Tiruan Propagasi Balik memiliki kelemahan tentang berapa epoch yang harus dilalui untuk memperoleh hasil yang diinginkan.
Faktor-faktor penting dari Jaringan Syaraf Tiruan Propagasi Balik agar jaringan bekerja dengan maksimal adalah:
1. Pemilihan Bobot dan Bias Awal
Nguyen dan widrow (1990) mengusulkan cara membuat inisialisasi bobot dan bias ke unit tersembunyi sehingga menghasilkan iterasi yang lebih cepat.
Missal:
n = jumlah unit masukan p = jumlah unit tersembunyi
= factor skala = . √� Algoritma inisialisasi:
Langkah 1: Inisisalisasi semua bobot ( ) dengan bilangan acak dalam interval [-0.5, 0.5].
Langkah 2: hitung ‖ ‖ = √ + + ⋯ + (2.25)
Langkah 3: bobot yang dipakai sebagai inisialisasi = =
�
‖ ‖ (2.26)
Langkah 4: bias yang dipakai sebagai inisialisasi = = bilangan acak antara – dan .
2. Jumlah Unit Tersembunyi
Jaringan dengan sebuah lapis tersembunyi sudah cukup bagi Jaringan Syaraf Tiruan Propagasi Balik untuk mengenali sembarang kelas antara masukan dan target dengan tingkat ketelitian yang ditentukan.
Jika jaringan memiliki lebih dari 1 lapis tersembunyi maka algoritma pelatihan perlu direvisi. Dalam Fase I, keluaran harus dihitung untuk tiap lapis, dimulai dari lapis tersembunyi paling bawah. Kemudian dalam fase II, faktor � perlu dihitung untuk tiap lapis tersembunyi, dimulai dari lapis keluaran.
3. Jumlah Pola Pelatihan
Jumlah pola pelatihan ditentukan oleh banyaknya bobot dan tingkat akurasi yang diinginkan.