Arsitektur Jaringan Jaringan Syaraf Tiruan

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