backpropagation

42
BACKPROPAGATION Dr. Benyamin Kusumoputro

Upload: roanna-barrett

Post on 30-Dec-2015

45 views

Category:

Documents


3 download

DESCRIPTION

BACKPROPAGATION. Dr. Benyamin Kusumoputro. Arsitektur JNPB. JNPB terdiri dari : satu lapis masukan satu atau lebih lapis tersembunyi satu lapis keluaran. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: BACKPROPAGATION

BACKPROPAGATION

Dr. Benyamin Kusumoputro

Page 2: BACKPROPAGATION

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.

Page 3: BACKPROPAGATION

Arsitektur JNPB (2)

Y1 Yk Ym

Z1 Z j Zp

X1 X j Xn1

1

w01w 11 w j1 w p1 w ok W 1k W jk

W pk w 0mW 1m W jm

W pm

V 01V 11 V j1

V n1 V oj V 1jV ij

V nj V 0pV 1p V ip V np

Page 4: BACKPROPAGATION

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).

Page 5: BACKPROPAGATION

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).

Page 6: BACKPROPAGATION

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).

Page 7: BACKPROPAGATION

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.

Page 8: BACKPROPAGATION

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)

Page 9: BACKPROPAGATION

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)

Page 10: BACKPROPAGATION

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:

l

2ll )t-(y

2

1 = E

Page 11: BACKPROPAGATION

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:

)_()( ' inyfyt lll

mllm zw

llw 0

Page 12: BACKPROPAGATION

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:

d w f z inj k jk jk

m

( ) ( _ )'

1

v xij j i

v j j i0

Page 13: BACKPROPAGATION

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.

w new w old wjk jk jk( ) ( )

v new v old vij ij ij( ) ( )

Page 14: BACKPROPAGATION

Faktor-faktor dalam Pembelajaran

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.

Beberapa faktor yang mempengaruhi keberhasilan algoritma propagasi balik, antara lain:

Page 15: BACKPROPAGATION

Faktor-faktor dalam Pembelajaran (2)

• 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.

Inisialisasi Nguyen-Widrow didefinisikan sebagai:

Page 16: BACKPROPAGATION

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 .

||w || = wj iji

w = w

||w ||ij

ij

j

Page 17: BACKPROPAGATION

Faktor-faktor dalam Pembelajaran (4)

2. Laju pembelajaranMerupakan 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. MomentumMomentum digunakan untuk mempercepat pelatihan jaringan. Metode momentum melibatkan penyesuaian bobot ditambah dengan faktor tertentu dari penyesuaian sebelumnya. Penyesuaian dinyatakan sebagai berikut:

)1()()( twtztw lmmllm

Page 18: BACKPROPAGATION

Studi Modifikasi Standard Backpropagasi

1. Modifikasi fungsi objektif dan turunan2. 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

Page 19: BACKPROPAGATION

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 output4. Membandingkan standar dan modifikasi backpropagasi a. Tingkat konvergensi ke global minimum b. Tingkat akurasi output5. Implementasi a. Programing b. Management Database

Page 20: BACKPROPAGATION

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

Page 21: BACKPROPAGATION

Arsitektur Backpropagasi

Y1 Yk Ym

Z1 Z j Zp

X1 X j Xn1

1

w01w 11 w j1 w p1 w ok W 1k W jk

W pk w 0mW 1m W jm

W pm

V 01V 11 V j1

Vn1 V oj V 1jV ij

V nj V 0pV1p V ip V np

Page 22: BACKPROPAGATION

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

Page 23: BACKPROPAGATION

Update Bobot

• Tanpa 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

Page 24: BACKPROPAGATION

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

Page 25: BACKPROPAGATION

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

Page 26: BACKPROPAGATION

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

Page 27: BACKPROPAGATION

Fungsi Error : Kuadratik (4) n

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

vij didefinisikan : j = k k wjk f ‘(z_inj) E = - j Xj vij

V = - (- j Xi )= j Xi

Page 28: BACKPROPAGATION

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

Page 29: BACKPROPAGATION

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

Page 30: BACKPROPAGATION

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

Page 31: BACKPROPAGATION

Fungsi Error : Cross Entropi (4) n

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

vij didefinisikan : j = k k wjk f ‘(z_inj) E = - j Xj vij

V = - (- j Xi )= j Xi

Page 32: BACKPROPAGATION

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

Page 33: BACKPROPAGATION

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

Page 34: BACKPROPAGATION

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

Page 35: BACKPROPAGATION

Fungsi Error : Metrik(4) n

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 vij

V = - (- j Xi )= j Xi

Page 36: BACKPROPAGATION

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).

Page 37: BACKPROPAGATION

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.

Page 38: BACKPROPAGATION

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)

Page 39: BACKPROPAGATION

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.

Page 40: BACKPROPAGATION

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

Page 41: BACKPROPAGATION

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 )

Page 42: BACKPROPAGATION

Metode Inisialisasi Nguyen Widrow Menentukan faktor skala : = 0.7 (p) 1/ndengan : 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