Jaringan Saraf Tiruan Backpropagation

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