Sabtu, 15 September 2012

Jaringan Syaraf Tiruan Back-Propagation

Jaringan Syaraf Tiruan Back-Propagation

Jaringan Syaraf Tiruan Back-Propagation merupakan salah satu model jaringan yang populer pada jaringan syaraf tiruan. Model jaringan ini banyak digunakan untuk diaplikasikan pada penyelesaian suatu masalah berkaitan dengan identifikasi, prediksi, pengenalan pola dan sebagainya. Pada latihan yang berulang–ulang, algoritma ini akan menghasilkan unjuk kerja yang lebih baik. Hal ini berarti bahwa “bobot interkoneksi” JST semakin mendekati bobot yang seharusnya.(Penelitian Jaringan Syaraf Tiruan,1993). Kelebihan lain yang dimiliki JST ini adalah kemampuannya untuk belajar (bersifat adaptif) dan kebal terhadap adanya kesalahan (Fault Tolerance) dengan kelebihan tersebut JST dapat mewujudkan sistem yang tahan akan kerusakan (robust) dan konsisten bekerja dengan baik.
Metode Backpropagation ini pertama kali diperkenalkan oleh Paul Werbos pada tahun1974, kemudian dikemukakan kembali oleh David Parker di tahun 1982 dan kemudian dipopulerkan oleh Rumelhart dan McCelland pada tahun 1986. Pada Algoritma BackPropagationini, arsitektur jaringan menggunakan jaringan banyak lapis. Secara garis besar proses pelatihan pada jaringan saraf tiruan dikenal beberapa tipe pelatihan, yaitu Supervised Training, Unsupervised Training, Fixed-Weight Nets.
Metode pelatihan BackPropagation atau dikenal dengan Generalize Delta Rule (GDR) ini merupakan supervised training dimana untuk tiap pola input terdapat pasangan target output untuk masing-masing pola input. Sebenarnya adalah metode gradient descent untuk meminimasi total square error pada keluaran hasil perhitungan jaringan. Ide dasarnya dapat dideskripsikan dengan pola hubungan yang sederhana yaitu : jika output memberikan hasil yang tidak sesuai dengan target yang tidak diinginkan, maka pembobot akan dikoreksi agarerrornya dapat diperkecil dan selanjutnya respon jaringan diharapkan akan lebih mendekati harga yang sesuai. Pada umumnya tujuan jaringan syaraf tiruan melakukan proses pelatihan adalah untuk mendapatkan balancing antara kemampuan jaringan untuk menanggapi secara benar pola-pola input pada saat pelatihan (dapat dikatakan kemampuan mengingat) dan kemampuan untuk memberikan penilaian yang layak dari suatu pola masukkan lain yang serupa. Sehingga dari proses pelatihan tersebut akan dibentuk suatu harga pembobot yang akan digunakan sebagai faktor penggali dari pola masukkan yang lain.
Pada metode ini, terdapat tiga tahapan dalam proses pelatihan, yaitu: proses umpan maju dari pola input pelatihan, perhitungan dan propagasi balik dari error yang terjadi dan penyesuaian nilai bobot.
Pada tahap pelatihan ini merupakan langkah bagaimana suatu jaringan syaraf itu berlatih, yaitu: proses umpan maju dari pola input pelatihan, perhitungan, dan propagasi balik dari error yang terjadi dari penyesuaian nilai pembobot.
Pada tahap pelatihan ini merupakan langkah bagaimana suatu jaringan syaraf itu berlatih, yaitu dengan cara melakukan perubahan bobot sambungan, baik bobot sambungan antar input layer dan hidden layer maupun antara hidden layer dan output layer, bila terdapat lebih dari satu hidden layer maka juga terdapat pembobot antar hidden layer itu sendiri. Sedangkan penyelesaian masalah baru akan dilakukan jika proses pelatihan tersebut selesai, fase tersebut adalah proses pemakaian/testing tentunya dengan menggunakan pembobot yang telah dihasilkan dari proses pelatihan yang telah dilakukan.
A. Fase pelatihan umpan mundur (backpropagation)
Jaringan BackPropagation terdiri atas beberapa layer yang masing-masing unit pada satu layer terhubung penuh dengan masing-masing unit pada lapisan diatasnya atau dibawahnya, kecuali pada bias hanya terkoneksi penuh dengan unit layer diatasnya yang ditunjukkan pada gambar 7.
Pada gambar 7 tersebut menunjukkan jaringan yang memiliki satu hidden layer dengan input layer X, hidden layer Z dan output layer Y, serta pemberian nilai bias, yaitu suatu masukkan dengan nilai tetap sama yaitu 1.
Gambar 5. Jaringan Syaraf Tiruan dengan satu hidden layer
Algoritma belajar BackPropagation terdiri dari dua proses, feed foward dan back propagation dari errornya. Selama feed foward masing-masing unit masukkan menerima (X) atau sinyal masukkan dari luar, kemudian sinyal tersebut disebarkan masing-masing unit pada hidden layer (Z), masing-masing hidden unit menghitung sesuai dengan fungsi aktifasinya. Dan kemudian mengirim sinyal itu kemasing-masing unit pada output layer akan menghitung sesuai dengan fungsi aktifasinya juga, yang akan menghasilkan sinyal keluaran sebagai respon jaringan dengan adanya pemberian pola input tersebut.
Pada propagasi baliknya, masing-masing output unit dibandingkan dengan hasil perhitungan aktivasi Y dengan nilai target t untuk mendapatkan error, berdasarkan error inilah akan dihitung nilai δk, selanjutnya harga error pada output unit akan disebarkan mundur ke masing-masing uni pada hidden layer. Selanjutnya error tersebut digunakan untuk memperbaiki faktor pembobot antara unit output dengan unit hidden demikian selanjutnya dicari error dari keluaran hidden untuk memperbaiki faktor pembobot antara unit input. Untuk jelasnya dapat dijelaskan sebagai berikut :
Langkah 1 : Pemberian inisialisasi faktor penimbang (diberi nilai kecil secara random)
Langkah 2 Ulangi step 2 hingga 9 hingga kondisi stop terpenuhi
Langkah 3 : Untuk masing-masing pasangan pelatihan lakukan langkah 3 hingga 8
Feedforward
Langkah 3 Masing-masing unit input (Xi, i =1,…n) menerima sinal input Xdan sinyal tersebut disebarkan ke unit bagian atas lapisan tersembunyi (hidden units)
Langkah 4 : Masing – masing hidden menjumlahkan fakor penimbang :
(3)
Dan menghitung sesuai dengan fungsi aktivasi :
(4)
karena yang digunakan fungsi sigmoid maka :
(5)
Kemudian mengirim sinyal tersebut ke semua unit di atasnya (output unit).
Langkah 5 : Masing-masing unit output (Yk, k=1,2,3…..m) dijumlahkan faktor penimbang
(6)
Menghitung sesuai dengan fungsi aktivasi
(7)
Back Propagation dari errornya
Langkah 6 : Masing-masing unit output (Yk, k=1,…….,m) menerima pola target sesuai dengan pola masukan saat pelatihan dan menghitung errornya
(8)
karena f’(y _ink) = yk dengan menggunakan fungsi sigmoid, maka :
(9)
Menghitung pembetulan faktor penimbang (kemudian memperbaiki Wjk ).
(10)
Menghitung pembetulan koreksi :
(11)
Dan mengirim nilai δk ke unit layer dibawahnya.
Langkah 7 : masing-masing unit hidden (Zj , j=1……,p) menjumlah delta inputnya (dari unit layer di atasnya).
(12)
Selanjutnya dikalikan dengan turunan dari fungsi akifasinya untuk menghitung error.
(13)
Menghitung pembetulan penimbang (digunakan untuk memeperbaiki Vij .
(14)
Kemudian menghitung pembetulan bias (untuk memperbaiki Voj)
(15)
Memperbaiki penimbang dan bias
Langkah 8 : Masing –masing output unit (Yk , k=1,…,m) diperbaiki bias dan penimbangnya (j = 0,…,n)
(16)
Langkah 9 : Uji kondisi pemberhentian. 

2 komentar:

  1. kita juga punya nih artikel mengenai 'Backpropagation', silahkan dikunjungi dan dibaca , berikut linknya

    http://repository.gunadarma.ac.id/bitstream/123456789/2963/1/Artikel_50403683.pdf

    terima kasih
    semoga bermanfaat

    BalasHapus
  2. tolong cantumin sumbernya dong

    BalasHapus

Cari Blog Ini