Dr. Benyamin Kusumoputro

Slides:



Advertisements
Presentasi serupa
MLP Feed-Forward Back Propagation Neural Net
Advertisements

Algoritma JST Backpropagation
Yanu Perwira Adi Putra Bagus Prabandaru
Aplikasi Matlab untuk Jaringan Syaraf Tiruan
JaRINGAN SARAF TIRUAN (Neural Network)
Ir. Endang Sri Rahayu, M.Kom.
Supervised Learning Process dengan Backpropagation of Error
Aplikasi Model Jaringan Syaraf Tiruan dengan Radial Basis Function untuk Mendeteksi Kelainan Otak (Stroke Infark) Yohanes Tanjung S.
Jaringan Syaraf Tiruan (JST)
JST BACK PROPAGATION.
Jaringan Syaraf Tiruan
Backpropagation neural net
Konsep dasar Algoritma Contoh Problem
MULTILAYER PERCEPTRON
Clustering (Season 2) Self-Organizing Map
Back-Propagation Pertemuan 5
JARINGAN SARAF TIRUAN LANJUTAN
Disusun Oleh : Fathi Ihsan(070863) JURUSAN TEKNIK INDUSTRI FAKULTAS TEKNIK UNIVERSITAS SULTAN AGENG TIRTAYASA BANTEN 2010.
MODEL JARINGAN PERCEPTRON
Jaringan Syaraf Tiruan (JST) stiki. ac
JST BACK PROPAGATION.
Jarringan Syaraf Tiruan
Konsep Neural Network Learning Pertemuan 3
SISTEM CERDAS Jaringan Syaraf Tiruan
Week 2 Hebbian & Perceptron (Eka Rahayu S., M. Kom.)
Artificial Intelligence Oleh Melania SM
BACK PROPAGATION.
Pertemuan 12 ARTIFICIAL NEURAL NETWORKS (ANN) - JARINGAN SYARAF TIRUAN - Betha Nurina Sari, M.Kom.
Perceptron Algoritma Pelatihan Perceptron:
Pelatihan BACK PROPAGATION
Oleh: Aditya Nugroho G Dibimbing Oleh: Ir. Agus Buono, M.Si., M.Kom.
JST (Jaringan Syaraf Tiruan)
Week 3 BackPropagation (Eka Rahayu S., M. Kom.)
SISTEM INTELEJEN UNTUK PREDIKSI PERTUMBUHAN EKONOMI DENGAN MENGGUNAKAN JARINGAN SYARAF TIRUAN DAN ADAPTIF NEURO-FUZZY Oleh: Y. Restuwardi G Dibimbing.
Jaringan Syaraf Tiruan
JST PERCEPTRON.
Ir. Endang Sri Rahayu, M.Kom.
JARINGAN SYARAF TIRUAN SISTEM BERBASIS PENGETAHUAN
Aplikasi Kecerdasan Komputasional
Jaringan Syaraf Tiruan Artificial Neural Networks (ANN)
Jaringan Syaraf Tiruan
SOM – KOHONEN Unsupervised Learning
Jaringan Syaraf Tiruan (Artificial Neural Networks)
Jaringan Syaraf Tiruan (JST)
Jaringan Syaraf Tiruan (Artificial Neural Networks)
Kuliah Sistem Fuzzy Pertemuan 8 “Adaptive Neuro Fuzzy System”
Metode Komputasi Vektor Gradien, Arah Penurunan/ Kenaikan Tercepat, Metode Gradient Ascend/Descend.
MLP Feed-Forward Back Propagation Neural Net
Artificial Intelligence (AI)
Jaringan Syaraf Tiruan Artificial Neural Networks (ANN)
Struktur Jaringan Syaraf Tiruan
D. Backpropagation Pembelajaran terawasi dan biasa digunakan perceptron dengan banyak lapisan untuk mengubah bobot-bobot yang terhubung dengan neuron-neuron.
Jaringan Syaraf Tiruan
Neural Network.
JARINGAN SYARAF TIRUAN
Clustering (Season 2) Self-Organizing Map
Pelatihan BACK PROPAGATION
Jaringan Syaraf Tiruan
JARINGAN SYARAF TIRUAN
Pengenalan Pola secara Neural (PPNeur)
JARINGAN SYARAF TIRUAN
Single-Layer Perceptron
JARINGAN SYARAF TIRUAN
Jaringan Syaraf Tiruan
Jaringan umpan maju dan pembelajaran dengan propagasi balik
JARINGAN SYARAF TIRUAN BERBASIS KOMPETISI
Asosiasi Pola Kuliah 8.
Arsitektur jaringan Hebb Jaringan syaraf tiruan
Teori Bahasa Otomata (1)
This presentation uses a free template provided by FPPT.com Pengenalan Pola Sinyal Suara Manusia Menggunakan Metode.
Transcript presentasi:

Dr. Benyamin Kusumoputro BACKPROPAGATION Dr. Benyamin Kusumoputro

Arsitektur JNPB JNPB terdiri dari : satu lapis masukan satu atau lebih lapis tersembunyi satu lapis keluaran. Lapisan masukan hanya bertugas meneruskan masukan dan tidak melakukan komputasi, sementara lapisan tersembunyi dan lapisan keluaran melakukan komputasi. Jumlah neuron pada lapisan masukan sama dengan jumlah ciri atau atribut pada pola yang akan dikenali, sedang jumlah neuron pada lapisan keluaran sama dengan jumlah kelas pola.

Arsitektur JNPB (2)

Algoritma 1. Tentukan inisialisasi bobot awal Random Nguyen Widrow 2. Mekanisme komputasi jaringan Terdapat dua macam jenis komputasi, komputasi maju (forward pass) komputasi balik (backward pass).

Algoritma (2) 2.a. Komputasi Maju Dalam komputasi maju, menghitung nilai aktivasi semua neuron (lapis tersembunyi dan lapis keluaran); mulai dari neuron masukan menuju neuron keluaran Neuron pada lapis tersembunyi menghitung nilai total masukan : menjumlahkan perkalian sinyal masukan dari lapisan masukan dengan bobot antara lapisan masukan dan lapisan tersembunyi, dan bias tertentu. Neuron tersebut lalu menghitung nilai aktivasi dengan menerapkan fungsi aktifasi pada nilai total masukan. Sinyal keluaran dari lapisan tersembunyi menjadi masukan bagi lapisan keluaran. Neuron pada lapisan keluaran menghitung nilai total masukan neuron keluaran (lihat 1).

Algoritma (3) Neuron bersangkutan menghitung nilai aktivasi neuron keluaran dengan menerapkan fungsi aktifasi pada nilai total masukan neuron keluran (lihat 2). Step 1 : Selama kondisi stopping FALSE, lakukan Step 2-9 Step 2 : Untuk setiap pasangan pelatihan, lakukan Step 3-8 (Proses Feedforward) : Step 3 : Setiap unit input (Xn, n = 1,…,N) : - menerima input xn - mengirimkannya ke semua unit layer diatasnya (Hidden layer).

Algoritma (4) Step 4 : Setiap unit hidden (Zm, m = 1,…,M) - menghitung semua sinyal input dengan bobotnya : z_inm = vm0 +  xn vmn - menghitung nilai aktivasi setiap unit hidden sebagai output unit hidden : zm = f(z_inm) - mengirim nilai aktivasi sebagai input untuk unit output.

Algoritma (5) Step 5 : Setiap unit output (Yl, l = 1,…,L) - menghitung semua sinyal inputnya dengan bobotnya : y_inl = wl0 +  zm wlm - menghitung nilai aktivasi setiap unit output sebagai output jaringan. yl = f(y_inl)

Algoritma (6) 2.b. Perhitungan Komputasi Balik Komputasi balik dimulai dari lapisan keluaran. Komputasi balik bertujuan untuk menyesuaikan bobot dalam jaringan. Setiap neuron di lapisan keluaran menghitung selisih target keluaran dan sinyal keluaran. Setiap neuron di lapisan keluaran menghitung dan menyesuaikan bobot hubungan dari dirinya ke semua neuron di lapisan tersembunyi. Propagasikan sinyal kesalahan ke lapisan tersembunyi sehingga setiap neuron di lapisan tersembunyi menghitung dan menyesuaikan bobot hubungan dari dirinya ke semua neuron di lapisan masukan (lihat 2)

Fungsi Kesalahan Algoritma propagasi balik menggunakan prosedur gradient descent atau menuruni lembah permukaan error, untuk meminimisasi suatu fungsi kesalahan. Fungsi kesalahan yang umum dipakai ialah fungsi error kuadratis:

Aturan Pembelajaran (3) 4. Lakukan komputasi balik : a. Komputasi di lapis keluaran: Setiap neuron di lapisan keluaran diberikan target masukan tertentu. Hitung sinyal error k untuk setiap neuron k di lapisan ini: Hitung modifikasi bobot untuk setiap hubungan antara neuron bersangkutan dengan semua neuron di lapisan tersembunyi: Hitung modifikasi bias untuk setiap neuron di lapisan keluaran:

Aturan Pembelajaran (4) b. Komputasi di lapis tersembunyi: Hitung sinyal error j untuk setiap neuron j di lapisan tersembunyi: Hitung modifikasi bobot untuk hubungan antara neuron bersangkutan dengan semua neuron di lapisan masukan: Hitung modifikasi bias untuk setiap neuron di lapisan tersembunyi:

Aturan Pembelajaran (5) Ubah bobot dan bias 5. Uji kriteria kesalahan, bila kesalahan lebih besar dari batas yang telah ditetapkan, ulangi langkah 2 sampai 4; bila tidak, pelatihan selesai.

Faktor-faktor dalam Pembelajaran Beberapa faktor yang mempengaruhi keberhasilan algoritma propagasi balik, antara lain: 1. Inisialisasi bobot Bobot awal menentukan apakah jaringan akan mencapai global minima atau local minima kesalahan, dan seberapa cepat jaringan akan konvergen. Inisialisasi acak merupakan cara yang paling sering digunakan dalam inisialisasi bobot. Untuk mempercepat proses pelatihan, suatu modifikasi dari inisialisasi acak diperkenalkan oleh Nguyen dan Widrow.

Faktor-faktor dalam Pembelajaran (2) Inisialisasi Nguyen-Widrow didefinisikan sebagai: Untuk bias dan bobot hubungan antara semua neuron di lapisan tersembunyi dan semua neuron di lapisan keluaran, lakukan inisialisasi acak dengan jangkauan -0,5 dan 0,5. Untuk bias bobot hubungan antara lapisan tersembunyi dan lapisan masukan, lakukan sebagai berikut: Hitung  = 0.7 (P)1/N di mana adalah faktor skala, P adalah ukuran lapisan tersembunyi dan N adalah ukuran lapisan masukan.

Faktor-faktor dalam Pembelajaran (3) Untuk setiap neuron j di lapisan tersembunyi, lakukan sebagai berikut: Inisialisasi secara acak bobot antara neuron bersangkutan dengan semua neuron di lapisan masukan: wij = bilangan acak antara -0,5 dan 0,5. Hitung norma wj: Inisialisasi kembali wij: Inisialisasi bias: j = bilangan acak antara - dan .

Faktor-faktor dalam Pembelajaran (4) 2. Laju pembelajaran Merupakan parameter jaringan dalam mengendalikan proses penyesuaian bobot. Nilai laju pembelajaran yang optimal bergantung pada kasus yang dihadapi. Laju pembelajaran yang terlalu kecil menyebabkan konvergensi jaringan menjadi lebih lambat, sedang laju pembelajaran yang terlalu besar dapat menyebabkan ketidakstabilan pada jaringan 3. Momentum Momentum digunakan untuk mempercepat pelatihan jaringan. Metode momentum melibatkan penyesuaian bobot ditambah dengan faktor tertentu dari penyesuaian sebelumnya. Penyesuaian dinyatakan sebagai berikut:

Studi Modifikasi Standard Backpropagasi 1. Modifikasi fungsi objektif dan turunan 2. Modifikasi optimsasi algoritma Step Studi : 1. Studi literatur 2. Studi standard backpropagasi a. Uji coba standar backpropagasi pada xor problem b. Evaluasi karakteristik standar backpropagasi 1). Tingkat konvergensi ke global minimum 2). Tingkat akurasi output

Studi Modifikasi Standard Backpropagasi (2) 3. Studi modifikasi standar backpropagasi a. Uji coba modifikasi standar backpropagasi pada XOR problem b. Evaluasi karakteristik modifikasi standar backpropagasi 1). Tingkat konvergensi ke global minimum 2). Tingkat akurasi output 4. Membandingkan standar dan modifikasi backpropagasi a. Tingkat konvergensi ke global minimum b. Tingkat akurasi output 5. Implementasi a. Programing b. Management Database

Backpropagasi Backpropagasi merupakan algoritma pelatihan untuk memperkecil tingkat error dengan menyesuaikan bobot berdasarkan perbedaan output dan target yang diinginkan. Proses pelatihan : Pengambilan input Penelusuran error Penyesuaian bobot

Arsitektur Backpropagasi

Notasi X : nilai masukan , X = ( X1, ... Xi, ...Xn ) v : bobot antara bias atau input dengan hidden Z : nilai aktivasi hidden, Z = ( Z1, ... Xj, ...Xp ) Zj = f (z_in) n z_inj = v0j + xi vij i=1 w : bobot antara bias atau hidden dengan output Y : nilai output aktual, Y = ( Y1, ... Yk, ...Ym ) Yk = f (y_in) p y_ink = w0k +  xi vij k=1

Update Bobot Tanpa Momentum Dengan Momentum wjk(t+1) = wjk(t) + wjk wjk = -  E(wjk)  wjk vij(t+1) = vij(t) + vij vij = -  E(vij)  vij Dengan Momentum wjk(t+1) = wjk(t) + wjk +  wjk(t-1) wjk = -  E(wjk)  wjk vij(t+1) = vij(t) + vij +  vij(t-1) vij = -  E(vij)  vij

Fungsi Error : Kuadratik E = 0.5 k (tk - Yk)2 Untuk update bobot antara hidden dan output ; E =  E  Yk  y_ink wjk Yk  y_ink wjk  E = - k (tk - Yk) Yk Yk = f(y_ink) y_ink = wok +  zj wjk Yk = f ‘ (y_ink)  y_ink = zj  y_ink  wjk

Fungsi Error : Kuadratik (2) E(wjk) = - k (tk - Yk) f ‘ (y_ink) zj wjk didefinisikan :  k = k(tk - yk) (f’(y_in)) E(wjk) = -  k Zj  wjk W = -  (-  k Zj )=   k Zj

Fungsi Error : Kuadratik (3) Untuk update bobot antara input dan hidden ; E =  E  Yk  y_ink zj  z_inj vij Yk  y_ink zj  z_inj vij  E = - k (tk - Yk) Yk Yk = f(y_ink) y_ink = wok +  zj wjk Yk = f ‘ (y_ink)  y_ink = wjk  y_ink  zj

Fungsi Error : Kuadratik (4)  zj = f ‘ (z_inj) z_inj = v0j +  xi vij  z_inj i=1  z_inj = xi  vij E = - k (tk - Yk) f ‘(y_ink) wjk f ‘(z_inj) Xi vij didefinisikan :  k = k(tk - yk) (f’(y_in)) E = - k  k wjk f ‘(z_inj) Xi didefinisikan :  j = k  k wjk f ‘(z_inj) E = -  j Xj V = -  (-  j Xi )=   j Xi

Fungsi Error : Cross Entropi E = k (-tk). ln (Yk) - (1 - tk ). ln (1 - Yk) Untuk update bobot antara hidden dan output ; E =  E  Yk  y_ink wjk Yk  y_ink wjk  E = k -tk + 1 - tk = - k (tk - Yk) Yk Yk 1 - Yk Yk(1-Yk) Yk = f(y_ink) y_ink = wok +  zj wjk Yk = f ‘ (y_ink) = Yk (1 - Yk)  y_ink = zj  y_ink  wjk

Fungsi Error : Cross Entropi(2) E = - k (tk - Yk) Yk(1-Yk) zj wjk Yk(1-Yk) = - k (tk - Yk) zj didefinisikan :  k = k(tk - yk) E = -  k Zj  wjk W = -  (-  k Zj )=   k Zj

Fungsi Error : Cross Entropi(3) Untuk update bobot antara input dan hidden ; E =  E  Yk  y_ink zj  z_inj vij Yk  y_ink zj  z_inj vij  E = k -tk + 1 - tk = - k (tk - Yk) Yk Yk 1 - Yk Yk(1-Yk) Yk = f(y_ink) y_ink = wok +  zj wjk Yk = f ‘ (y_ink) = Yk(1-Yk)  y_ink = wjk  y_ink  zj

Fungsi Error : Cross Entropi (4)  zj = f ‘ (z_inj) z_inj = v0j +  xi vij  z_inj i=1  z_inj = xi  vij E = - k (tk - Yk) f ‘(y_ink) wjk f ‘(z_inj) Xi vij didefinisikan :  k = k(tk - yk) E = - k  k wjk f ‘(z_inj) Xi didefinisikan :  j = k  k wjk f ‘(z_inj) E = -  j Xj V = -  (-  j Xi )=   j Xi

Fungsi Error : Metrik E = k . ln (1 - (tk - Yk)2) Untuk update bobot antara hidden dan output ; E =  E  Yk  y_ink wjk Yk  y_ink wjk  E = -2 k (tk - Yk) Yk (1 – (tk-Yk)2) Yk = f(y_ink) y_ink = wok +  zj wjk Yk = f ‘ (y_ink) = Yk (1 - Yk)  y_ink = zj  y_ink  wjk

Fungsi Error : Metrik(2) E = -2 k (tk - Yk) Yk(1-Yk) zj wjk (1-(tk-Yk)2) = - k (tk - Yk) zj didefinisikan :  k = -2 k (tk - yk) Yk(1-Yk) (1-(tk-Yk)2) E = -  k Zj  wjk W = -  (-  k Zj )=   k Zj

Fungsi Error : Metrik(3) Untuk update bobot antara input dan hidden ; E =  E  Yk  y_ink zj  z_inj vij Yk  y_ink zj  z_inj vij  E = -2 k (tk - Yk) Yk (1(tk – Yk)2) Yk = f(y_ink) y_ink = wok +  zj wjk Yk = f ‘ (y_ink) = Yk(1-Yk)  y_ink = wjk  y_ink  zj

Fungsi Error : Metrik(4)  zj = f ‘ (z_inj) z_inj = v0j +  xi vij  z_inj i=1  z_inj = xi  vij E = -2 k (tk - Yk) f ‘(y_ink) wjk f ‘(z_inj) Xi vij (1-(tk-Yk)2) didefinisikan :  j = k  k wjk f ‘(z_inj) E = -  j Xj V = -  (-  j Xi )=   j Xi

Algoritma Step 0 : Inisialisasi Bobot Random Nguyen-Widrom Step 1 : Selama kondisi stopping FALSE, lakukan Step 2-9 Step 2 : Untuk setiap pasangan pelatihan, lakukan Step 3-8 (Proses Feedforward) : Step 3 : Setiap unit input (Xi, i = 1,…,n) - menerima input xi - mengirimkannya ke semua unit layer diatasnya (Hidden layer).

Algoritma (2) Step 4 : Setiap unit hidden (Zj, j = 1,…,p) - menghitung semua sinyal input dengan bobotnya : z_inj = voj +  xi vij - menghitung nilai aktivasi setiap unit hidden sebagai output unit hidden : zj = f(z_inj) - mengirim nilai aktivasi sebagai input untuk unit output.

Algoritma (3) Step 5 : Setiap unit output (Yk, k = 1,…,m) - menghitung semua sinyal inputnya dengan bobotnya : y_ink = wok +  zj wjk - menghitung nilai aktivasi setiap unit output sebagai output jaringan. yk = f(y_ink)

Algoritma (4) (Backpropagation of error) : Step 6 : Setiap unit output (Yk, k = 1,…,m) : - menerima pola target yang bersesuaian dengan pola input - menghitung informasi error : k = (tk - yk) f’(y_ink) - menghitung besarnya koreksi bobot unit output : wjk =  E(wjkj)/wjk =  k zj - menghitung besarnya koreksi bias output : w0k =  k - mengirimkan k ke unit-unit yang ada pada layer di bawahnya.

Algoritma(5) Step 7 : Setiap unit hidden (Zj, j = 1,…,p) : - menghitung semua koreksi error : _inj =  k wjk - menghitung nilai aktivasi koreksi error : j = _inj f’(z_inj) - menghitung koreksi bobot unit hidden : vij =  j xi - menghitung koreksi error bias unit hidden : v0j =  j

Algoritma(6) Step 8 : Setiap unit output (Yk, k = 1,…,m) : - meng-update bobot dan biasnya (j = 0,…,p) : wjk(baru) = wjk(lama) + wjk w0k(baru) = w0k(lama) + w0k Setiap unit hidden (Zj, j = 1,…,p) - meng-update bobot dan biasnya (i = 0,…,n) : vij(baru) = vij(lama) + vij v0j(baru) = v0j(lama) + v0j Step 9 : Kondisi stopping ( Toleransi error )

Metode Inisialisasi Nguyen Widrow Menentukan faktor skala :  = 0.7 (p) 1/n dengan  : faktor skala n : jumlah unit input p : jumlah unit hidden Algoritma : Untuk setiap unit hidden (j=1, ... , p) : Inisialisasi bobot secara random vij = bilangan acak antara -0.5 sampai 0.5 p Hitung :  vj  =  {  (vij)2} i=1 Update bobot vij =  vij  vj  Set bias v0j : bilangan acak antara -  sampai 