Tuesday, March 27, 2012

BACKPROPAGATION NEURAL NETWORK ( BP)

 BACKPROPAGATION NEURAL NETWORK

( BP)


Algoritma pembelajaran propagasi balik digunakan untuk arsitektur jaringan saraf banyak lapis dan metode pembelajaran yang dipakai adalah supervised training. Algoritma ini merupakan metode optimasi sederhana yang fungsinya untuk meminimalisasi error atau kesalahan dari keluaran yang dihasilkan oleh jaringan syaraf tiruan dengan target dari pola yang diinginkan. Pelatihan pada propagasi balik terbagi dalam tiga tahap, yaitu: tahap feedforward (propagasi maju) pada input training pattern (pola pelatihan masukan), backpropagation of the associated error (propagasi balik), dan adjustment of the weights (penyesuaian bobot). Setelah proses pembelajaran selesai, maka jaringan siap dipakai untuk mengenali pola, dimana pada proses pengenalan pola hanya tahap propagasi maju yang digunakan.
Pada saat pembelajaran harga laju pembelajaran atau α digunakan untuk mengontrol besarnya perubahan bobot. Dengan menggunakan harga α yang kecil, maka dapat mencegah respon yang besar terhadap perhitungan kesalahan pada saat jaringan mempelajari setiap pola.
Pada tahap pembelajaran di dalam algoritma propagasi balik, diperlukan suatu kondisi untuk menghentikan proses pembelajaran. Berbagai kondisi seperti squared error, total squared error, dan mean squared error dapat digunakan untuk menghentikan proses pembelajaran. Definisi dari masing-masing kondisi tersebut diatas adalah sebagai berikut:
·         squared error, adalah jumlah dari masing-masing kuadrat dari perbedaan antara target yang telah ditentukan dengan keluaran yang dihasilkan oleh jaringan setiap neuron pada lapisan keluaran.
·         total squared error, adalah jumlah squared error untuk setiap pasangan pelatihan.
·         mean squared error, bisa berarti squared error dibagi dengan jumlah neuron pada lapisan keluaran atau total squared error dibagi dengan jumlah pasangan pelatihan.
Pada umumnya digunakan total squared error di dalam algoritma propagasi balik, tetapi pada dasarnya ketiga kondisi tersebut mempunyai kemiripan yaitu sebagai informasi error yang telah didefinisikan untuk menghentikan proses pembelajaran. Harga dari error yang telah didefinisikan, sebelumnya sudah ditentukan dan jika harga error yang dihitung pada tahap pembelajaran lebih kecil dari harga error yang telah didefinisikan maka proses pembelajaran dihentikan. Harga dari error yang didefinisikan untuk menghentikan proses pembelajaran akan menentukan ketepatan jaringan pada saat pengenalan pola dan lamanya proses pembelajaran. Semakin kecil harga error yang didefinisikan akan menyebabkan semakin tinggi tingkat ketepatan jaringan pada saat pengenalan pola nanti, tetapi proses pembelajaran menjadi semakin lama dan sebaliknya.

ARSITEKTUR JARINGAN BP


PROSES PEMBELAJARAN BP

            Pada tahap propagasi maju, setiap unit masukan menerima sinyal dan menyebarkan sinyal tersebut ke setiap unit pada lapisan tersembunyi setelah dikalikan dengan bobotnya masing-masing melalui connection (hubungan) antara lapisan masukan dengan lapisan tersembunyi. Seluruh sinyal yang masuk ke setiap unit pada lapisan tersembunyi akan dijumlahkan dan diproses dengan fungsi aktifasi sehingga akan dihasilkan sinyal keluaran yang langsung disebar ke setiap unit pada lapisan keluaran (jika memiliki lebih dari satu lapisan tersembunyi maka sinyal tersebut akan disebar ke lapisan tersembunyi berikutnya). Setiap unit pada lapisan keluaran akan menerima sinyal dari setiap unit pada lapisan tersembunyi yang sudah dikalikan dengan bobot pada hubungan antara lapisan masukan dengan lapisan tersembunyi. Seluruh sinyal yang masuk ke setiap unit pada lapisan keluaran akan dijumlahkan dan diproses dengan fungsi aktifasi sehingga akan dihasilkan sinyal keluaran. Seluruh sinyal keluaran dari setiap unit pada lapisan keluaran merupakan respon dari jaringan saraf tiruan terhadap satu pola masukan.
Pada tahap propagasi balik, sinyal keluaran dari setiap unit pada lapisan keluaran akan dibandingkan dengan targetnya masing-masing yang telah didefinisikan untuk pola masukan tersebut sehingga akan dihasilkan error (kesalahan) untuk setiap unitnya. Kesalahan yang dihasilkan oleh setiap unit pada lapisan keluaran digunakan untuk meng-update bobot di antara lapisan tersembunyi dengan lapisan keluaran dan didistribusikan ke lapisan sebelumnya yaitu lapisan tersembunyi. Setiap unit pada lapisan tersembunyi akan menjumlahkan seluruh sinyal kesalahan yang masuk dari setiap unit pada lapisan keluaran dan menghitung kesalahannya. Sinyal kesalahan yang dihasilkan dari setiap unit pada lapisan tersembunyi akan digunakan untuk meng-update bobot di antara lapisan masukan dan lapisan tersembunyi (jika memiliki lebih dari satu lapisan tersembunyi maka sinyal kesalahan tersebut digunakan untuk meng-update bobot diantara lapisan tersembunyi dengan lapisan tersembunyi sebelumnya).
Pada tahap penyesuaian bobot, akan dihitung bobot baru dengan menjumlahkan bobot lama dengan perubahan bobot di antara lapisan.
Ketiga tahap tersebut dilakukan berulang-ulang untuk setiap pasangan pelatihan (vektor pelatihan dan target pelatihan). Satu epoch adalah satu cycle (putaran) dari pasangan pelatihan yang pertama sampai pasangan pelatihan yang terakhir. Proses pembelajaran memerlukan banyak epoch dan akan berhenti jika menemukan bobot akhir dengan total kesalahan yang telah didefinisikan di dalam program.

Algoritma Pembelajaran

Langkah 0:   Inisialisasi bobot keterhubungan antara neuron dengan menggunakan bilangan acak kecil (-0.5 sampai +0.5).
Langkah 1:   Kerjakan langkah 2 sampai langkah 9 selama kondisi berhenti yang ditentukan tidak dipenuhi.
Langkah 2: Kerjakan langkah 3 sampai langkah 8 untuk setiap pasangan pelatihan.
·         Propagasi maju
Langkah 3 :  Setiap unit masukan (Xi) menerima sinyal masukan xi, dan menyebarkannya ke seluruh unit pada lapisan tersembunyi.
Langkah 4:- Setiap unit pada lapisan tersembunyi menjumlahkan seluruh sinyal yang masuk.
   Þ masukan untuk lapisan tersembunyi.
- Setiap unit pada lapisan tersembunyi memakai fungsi  aktifasi untuk menghasilkan sinyal keluaran.
                                    Þ keluaran dari lapisan tersembunyi.
- zj didistribusikan ke seluruh neuron pada lapisan keluaran.
Langkah 5:-  Setiap unit pada lapisan keluaran menjumlahkan seluruh sinyal yang masuk.
 Þ masukan untuk lapisan keluaran.
- Setiap unit pada lapisan keluaran memakai fungsi aktifasi untuk menghasilkan sinyal keluaran.
                                    Þ keluaran dari lapisan keluaran.
·         Propagasi balik
  Langkah 6:- Setiap unit pada lapisan keluaran menghitung informasi error antara sinyal yang dihasilkan dengan target dari pola.
                       
- Menghitung koreksi beban.    
                     - Menghitung koreksi bias.         
                              - Kirimkan dk ke unit di bawahnya (lapisan tersembunyi).
               Langkah 7:- Setiap unit pada lapisan tersembunyi menjumlahkan seluruh sinyal yang masuk.
                                          Þ masukan untuk lapisan tersembunyi.
- Setiap unit pada lapisan tersembunyi menghitung informasi error.
                                   
                                - Menghitung koreksi beban.             
                               -  Menghitung koreksi bias.           
·         Penyesuaian bobot
Langkah 8:- Update bobot dan bias pada hubungan antar lapisan.
                     
                                   

PROSES PENGENALAN BP

Algoritma yang digunakan untuk mengenali suatu pola adalah tahap feed forward atau propagasi maju yang merupakan tahap awal dari algoritma pembelajaran propagasi balik.


Algoritma Pengenalan

Langkah 0: Inisialisasi bobot keterhubungan antara neuron yang diambil dari hasil pembelajaran.
Langkah 1: Kerjakan langkah 2 sampai langkah 4 untuk setiap vektor masukan.
Langkah 2: Untuk i = 1, … , n : set aktifasi dari unit masukan xi ;
Langkah 3: Untuk j = 1, … , p:
                     .
                                    
Langkah 4: Untuk k = 1, … , m :
                             
                    

No comments:

Post a Comment