BACK PROPAGATION NETWORK (BPN) - PowerPoint PPT Presentation

About This Presentation
Title:

BACK PROPAGATION NETWORK (BPN)

Description:

BACK PROPAGATION NETWORK (BPN) Arsitektur Jaringan Salah satu metode pelatihan terawasi pada jaringan syaraf adalah metode Backpropagation, di mana ciri dari metode ... – PowerPoint PPT presentation

Number of Views:238
Avg rating:3.0/5.0
Slides: 41
Provided by: MoZ63
Category:

less

Transcript and Presenter's Notes

Title: BACK PROPAGATION NETWORK (BPN)


1
BACK PROPAGATION NETWORK (BPN)
2
Arsitektur Jaringan
  • Salah satu metode pelatihan terawasi pada
    jaringan syaraf adalah metode Backpropagation, di
    mana ciri dari metode ini adalah meminimalkan
    error pada output yang dihasilkan oleh jaringan.
  • Dalam metode Backpropagation, biasanya digunakan
    jaringan multilayer.

3
Arsitektur Jaringan
4
Arsitektur Jaringan
  • Pada gambar, unit input dilambangkan dengan X,
    hidden unit dilambangkan dengan Z, dan unit
    output dilambangkan dengan Y.
  • Bobot antara X dan Z dilambangkan dengan v
    sedangkan bobot antara Z dan Y dilambangkan
    dengan w.

5
Proses belajar Pengujian
  • Penggunaan Back Propagation Network terdiri dari
    2 tahap
  • Tahap belajar atau pelatihan, di mana pada tahap
    ini pada BPN diberikan sejumlah data pelatihan
    dan target
  • Tahap pengujian atau penggunaan, pengujian dan
    penggunaan dilakukan setelah BPN selesai belajar

6
Tahap Belajar atau Pelatihan
  • Pada intinya, pelatihan dengan metode
    backpropagation terdiri dari tiga langkah, yaitu
  • Data dimasukkan ke input jaringan (feedforward)
  • Perhitungan dan propagasi balik dari error yang
    bersangkutan
  • Pembaharuan (adjustment) bobot dan bias.

7
Tahap Belajar atau Pelatihan
  • Saat umpan maju (feedforward), setiap unit input
    (Xi) akan menerima sinyal input dan akan
    menyebarkan sinyal tersebut pada tiap hidden unit
    (Zj).
  • Setiap hidden unit kemudian akan menghitung
    aktivasinya dan mengirim sinyal (zj) ke tiap unit
    output.
  • Kemudian setiap unit output (Yk) juga akan
    menghitung aktivasinya (yk) untuk menghasilkan
    respons terhadap input yang diberikan jaringan.

8
Tahap Belajar atau Pelatihan
  • Saat proses pelatihan (training), setiap unit
    output membandingkan aktivasinya (yk) dengan
    nilai target (tk) untuk menentukan besarnya
    error.
  • Berdasarkan error ini, dihitung faktor ??k, di
    mana faktor ini digunakan untuk mendistribusikan
    error dari output ke layer sebelumnya.
  • Dengan cara yang sama, faktor ?j juga dihitung
    pada hidden unit Zj, di mana faktor ini digunakan
    untuk memperbaharui bobot antara hidden layer dan
    input layer.
  • Setelah semua faktor ? ditentukan, bobot untuk
    semua layer diperbaharui.

9
Proses belajar secara detail
  • Step 0 Inisialisasi bobot dan bias
  • Baik bobot maupun bias dapat diset dengan
    sembarang angka (acak) dan biasanya angka di
    sekitar 0 dan 1 atau -1 (bias positif atau
    negatif)
  • Step 1 Jika stopping condition masih belum
    terpenuhi, jalankan step 2-9.
  • Step 2 Untuk setiap data training, lakukan step
    3-8.

10
Proses belajar secara detail
  • Umpan maju (feedforward)
  • Step 3 Setiap unit input (Xi,i1,,n) menerima
    sinyal input xi dan menyebarkan sinyal tersebut
    pada seluruh unit pada hidden layer. Perlu
    diketahui bahwa input xi yang dipakai di sini
    adalah input training data yang sudah diskalakan.
  • Step 4 Setiap hidden unit (Zj,j1,,p) akan
    menjumlahkan sinyal-sinyal input yang sudah
    berbobot, termasuk biasnya

11
Proses belajar secara detail
  • dan memakai fungsi aktivasi yang telah
    ditentukan untuk menghitung sinyal output dari
    hidden unit yang bersangkutan,
  • lalu mengirim sinyal output ini ke seluruh unit
    pada unit output

12
Proses belajar secara detail
  • Step 5 Setiap unit output (Yk,k1,,m) akan
    menjumlahkan sinyal-sinyal input yang sudah
    berbobot, termasuk biasnya,

13
Proses belajar secara detail
  • dan memakai fungsi aktivasi yang telah
    ditentukan untuk menghitung sinyal output dari
    unit output yang bersangkutan

14
Proses belajar secara detail
  • Propagasi balik error (backpropagation of error)
  • Step 6 Setiap unit output (Yk,k1,,m) menerima
    suatu target (output yang diharapkan) yang akan
    dibandingkan dengan output yang dihasilkan.

15
Proses belajar secara detail
  • Faktor ??k ini digunakan untuk menghitung koreksi
    error (??wjk) yang nantinya akan dipakai untuk
    memperbaharui wjk, di mana
  • ??wjk???kzj
  • Selain itu juga dihitung koreksi bias ??w0k yang
    nantinya akan dipakai untuk memperbaharui w0k, di
    mana
  • ??w0k???k
  • Faktor ??k ini kemudian dikirimkan ke layer di
    depannya.

16
Proses belajar secara detail
  • Step 7 Setiap hidden unit (Zj,j1,,p)
    menjumlah input delta (yang dikirim dari layer
    pada step 6) yang sudah berbobot.

17
Proses belajar secara detail
  • Kemudian hasilnya dikalikan dengan turunan dari
    fungsi aktivasi yang digunakan jaringan untuk
    menghasilkan faktor koreksi error ?j, di mana
  • ?j ?_inj f(z_inj)

18
Proses belajar secara detail
  • Faktor ?j ini digunakan untuk menghitung koreksi
    error (?vij) yang nantinya akan dipakai untuk
    memperbaharui vij, di mana
  • ?vij??jxi
  • Selain itu juga dihitung koreksi bias ?v0j yang
    nantinya akan dipakai untuk memperbaharui v0j, di
    mana
  • ?v0j??j

19
Proses belajar secara detail
  • Pembaharuan bobot dan bias
  • Step 8
  • Setiap unit output (Yk,k1,,m) akan
    memperbaharui bias dan bobotnya dengan setiap
    hidden unit.
  • wjk(baru)wjk(lama) ?wjk
  • Demikian pula untuk setiap hidden unit akan
    memperbaharui bias dan bobotnya dengan setiap
    unit input.
  • vij(baru)vij(lama) ?vij

20
Proses belajar secara detail
  • Step 9 Memeriksa stopping condition
  • Jika stop condition telah terpenuhi, maka
    pelatihan jaringan dapat dihentikan.

21
Stopping Condition
  • Untuk menentukan stopping condition terdapat dua
    cara yang biasa dipakai, yaitu
  • Membatasi iterasi yang ingin dilakukan.
  • Misalnya jaringan akan dilatih sampai iterasi
    yang ke-500.
  • Yang dimaksud dengan satu iterasi adalah
    perulangan step 3 sampai step 8 untuk semua
    training data yang ada.
  • Membatasi error.
  • Misalnya menentukan besar Mean Square Error
    antara output yang dikehendaki dan output yang
    dihasilkan oleh jaringan.

22
Mean Square Error
  • Jika terdapat sebanyak m training data, maka
    untuk menghitung Mean Square Error digunakan
    persamaan berikut
  • MSE0,5 x (tk1-yk1)2 (tk2-yk2)2 (tkm-ykm)2

23
Tahap pengujian Penggunaan
  • Setelah pelatihan selesai, BPN dianggap telah
    pintar sehingga apabila jaringan diberi input
    tertentu, jaringan akan menghasilkan output
    seperti yang diharapkan.
  • Cara mendapatkan output tersebut adalah dengan
    mengimplementasikan metode backpropagation yang
    sama seperti proses belajar, tetapi hanya pada
    bagian umpan majunya saja, yaitu dengan
    langkah-langkah sebagai berikut

24
Penghitungan output jaringan
  • Step 0 Inisialisasi bobot sesuai dengan bobot
    yang telah dihasilkan pada proses pelatihan di
    atas.
  • Step 1 Untuk setiap input, lakukan step 2-4.
  • Step 2 Untuk setiap input i1,,n skalakan
    bilangan dalam range fungsi aktivasi seperti yang
    dilakukan pada proses pelatihan di atas.

25
Penghitungan output jaringan
  • Step 3 untuk j1,,p

26
Penghitungan output jaringan
  • Step 4 Untuk k1,,m

27
Penghitungan output jaringan
  • Variabel yk adalah output yang masih dalam skala
    menurut range fungsi aktivasi.
  • Untuk mendapatkan nilai output yang sesungguhnya,
    yk harus dikembalikan seperti semula.

28
Contoh aplikasi BPN
  • Misalkan, jaringan terdiri dari 2 unit input, 1
    hidden unit (dengan 1 hidden layer), dan 1 unit
    output.
  • Jaringan akan dilatih untuk memecahkan fungsi
    XOR.
  • Fungsi aktivasi yang digunakan adalah sigmoid
    biner dengan nilai learning rate (?) 0,01 dan
    nilai ? 1.

29
  • Arsitektur jaringan yang akan dilatih adalah
    sebagai berikut

30
  • Training data yang digunakan terdiri dari 4
    pasang input-output, yaitu

31
  • Sebelum pelatihan, harus ditentukan terlebih
    dahulu stopping conditionnya.
  • Misalnya dihentikan jika error telah mencapai
    0,41.

32
Langkah-langkah pelatihan
  • Step 0 Misalnya inisialisasi bobot dan bias
    adalah
  • v011,718946
  • v11-1,263178
  • v21-1,083092
  • w01-0,541180
  • w110,543960

33
  • Step 1 Dengan bobot di atas, tentukan error
    untuk training data secara keseluruhan dengan
    Mean Square Error
  • z_in111,718946(0 x -1,263178)(0
    x-1,083092)1,718946
  • z11f(z_in11)0,847993
  • z_in121,718946(0 x-1,263178)(1 x
    -1,083092)0,635854
  • z12f(z_in12)0,653816
  • z_in131,718946(1 x- 1,263178)(0 x-
    1,083092)0,455768
  • z13f(z_in13)0,612009
  • z_in141,718946(1 x -1,263178)(1 x
    -1,083092)-0,627324
  • z14f(z_in14)0,348118
  • di mana indeks zjn berarti hidden unit ke-j dan
    training data ke-n.

34
  • y_in11-0,541180(0,847993 x 0,543960)0,079906
  • y11f(y_in11)0,480034
  • y_in12-0,541180(0,653816 x 0,543960)-0,185530
  • y12f(y_in12)0,453750
  • y_in13-0,541180(0,612009 x 0,543960)0,208271
  • y13f(y_in13)0,448119
  • y_in14-0,541180(0,348118 x 0,543960)-0,351818
  • y14f(y_in14)0,412941
  • Maka E0,5 x (0-0,480034)2 (1-0,453750)2)
    (1-0,448119)2 (0-0,412941)20,501957

35
  • Step2. Karena error masih lebih besar dari 0,41
    maka step 3-8 dijalankan.
  • Step 3. x10 x20 (iterasi pertama, training
    data pertama)
  • Step 4.
  • z_in11,718946(0x-1,263126)(0x-1,083049)1,718
    946.
  • z1f(z_in1)0,847993
  • Step 5.
  • y_in11-0,541180(0,847993x0,543960)0,079906
  • y11f(y_in11)0,480034
  • Step 6.
  • ?1(0-0,480034)f (0,079906)-0,119817
  • ?w110,01x-0,119817x0,847993-0,001016
  • ?w010,01x-0,119817-0,00119817

36
  • Step 7.
  • ?_in1-0,00119817x0,543960-0,00065176
  • ?1-0,00065176xf(1,718946)-0,00008401
  • ?v110,01x-0,00008401x00
  • ?v210,01x-0,00008401x00
  • ?v010,01x-0,00008401-0,0000008401
  • Step 8.
  • w01(baru)-0,541180(-0,00119817)-0,542378
  • w11(baru)0,543960(-0,001016)0,542944
  • v01(baru)1,718946(-0,0000008401)1,718862
  • v11(baru)-1,2631780-1,263178
  • v21(baru)-1,0830920-1,083092
  • Saat ini v11 dan v12 masih belum berubah karena
    kedua inputnya 0. Nilai v01 dan v02 baru berubah
    pada iterasi pertama untuk training data yang
    kedua

37
  • Setelah step 3-8 untuk training data pertama
    dijalankan, selanjutnya kembali lagi ke step 3
    untuk training data yang kedua (x10 dan x21).
  • Langkah yang sama dilakukan sampai pada training
    data yang keempat.
  • Bobot yang dihasilkan pada iterasi pertama,
    training data ke-2,3, dan 4 adalah

38
  • Training data ke-2
  • w01-0,541023
  • w110,543830
  • v011,718862
  • v11-1,263178
  • v21-1,083092
  • Training data ke-3
  • w01-0,539659
  • w110,544665
  • v011,719205
  • v11-1,263002
  • v21-1,082925
  • Training data ke-4
  • w01-0,540661
  • w110,544316
  • v011,719081
  • v11-1,263126
  • v21-1,083049

39
  • Setelah sampai pada training data ke-4, maka
    iterasi pertama selesai.
  • Berikutnya, pelatihan sampai pada step9, yaitu
    memeriksa stopping condition dan kembali pada
    step 2.
  • Demikian seterusnya sampai stopping condition
    yang ditentukan terpenuhi.
  • Setelah pelatihan selesai, bobot yang didapatkan
    adalah
  • v0112,719601
  • v11-6,779127
  • v21-6,779127
  • w01-5,018457
  • w115,719889

40
  • Jika ada input baru, misalnya x10,2 dan x20,9
    maka outputnya dapat dicari dengan langkah umpan
    maju sebagai berikut
  • Step 0. Bobot yang dipakai adalah bobot hasil
    pelatihan di atas.
  • Step 1. Perhitungan dilakukan pada step 2-4
  • Step 2. Dalam contoh ini, bilangan telah berada
    dalam interval 0 sampai dengan 1, jadi tidak
    perlu diskalakan lagi.
  • Step 3.
  • z_in112,719601(0,2x-6,779127)(0,9x-6,779127)
    5,262561
  • z1f(5,262561)0,994845
  • Step 4.
  • y_in1-5,018457(0,994845x5,719889)0,671944
  • y1f(0,671944)0,661938
  • Jadi jika input x10,2 dan x20,9 output yang
    dihasilkan jaringan adalah 0,661938
Write a Comment
User Comments (0)
About PowerShow.com