Anda di halaman 1dari 22

Artificial Neural Network (Part 2)

Inteligensi Buatan – IF3111


Program Studi Teknik Informatika
Jurusan Teknologi Produksi dan Industri
Institut Teknologi Sumatera
2022

1
Pokok Bahasan

• Multilayer Networks
• Backpropagation
• Hidden Layer Representations

2
Referensi

• Tom Mitchell (1999), Machine Learning, McGraw-Hill


• Slide Perkuliahan Machine Learning - Program Studi Teknik
Informatika STEI ITB
• http://hagan.okstate.edu/NNDesign.pdf

3
Multilayer Network

• Sebuah jaringan yang terdiri atas banyak


neuron yang terbagi dalam lapisan-lapisan:
✓ Input layer
✓ Hidden layer
✓ Output layer
• Menggunakan algoritma backpropagation
(Perambatan Galat Mundur) : Generalisasi
Gradient Descent
• Dapat merepresentasikan berbagai bidang
keputusan non-linear

4
Sigmoid Unit

• 𝜎(𝑥) dalah fungsi sigmoid


1
1 + 𝑒 −𝑥
• Info turunan fungsi aktifasi 𝑑𝜎(𝑥)
𝑑𝑥
= 𝜎(𝑥) 1 − 𝜎(𝑥)
• Dapat diperoleh gradient descent rules untuk melatih
• Satu sigmoid unit
• Multilayer Network dari sigmoid unit → Backpropogation

5
Backpropogation : Goal
• Tujuan dari backrpopogation : untuk mencari bobot optimal
✓ Sehingga neural network dalam belajar bagaimana memetakan dengan benar sembarang data
input ke output

Goal: set bobot untuk minimasi


error atau metrik tertentu

Propagasi maju:
hitung output y setiap instance x

Propagasi mundur:
hitung error 𝛅 setiap neuron

Update setiap bobot

6
Backpropogation : Phase

• Tahap pelatihan:
✓ Propagasi maju (Feed Forward):
❑ Masukan dihitung maju mulai dari input layer hingga output layer menggunakan
fungsi aktivasi yang dipilih.
✓ Propagasi mundur (Backward Phase):
❑ Selisih antara keluaran jaringan dengan nilai target merupakan error yang terjadi.
Error tsb dipropagasi mundur.
✓ Perubahan bobot:
❑ Modifikasi bobot untuk menurunkan error.

• Ketiga tahap tersebut diulang terus hingga kondisi berhenti terpenuhi.

7
Error Gradient untuk Sigmoid Unit

Namun, kita mengetahui:

Sehingga :

8
Algoritma Backpropogation – Stochastic Gradient Descent

• Menginisialisasi semua bobot dengan angka random yang sangat kecil


(mendekati nol). Lalu lakukan hal berikut hingga memenuhi kondisi perberhentian
• Untuk setiap training example, Do
1. Masukkan training example ke Network dan hitung output dari Network
2. Untuk setiap output unit k
𝛿𝑘 ← 𝑜𝑘 (1 − 𝑜𝑘 )(𝑡𝑘 − 𝑜𝑘 )
3. Untuk setiap hidden unit h

𝛿ℎ ← 𝑜ℎ (1 − 𝑜ℎ ) ෍ 𝑤ℎ,𝑘 𝛿𝑘
𝑘 ∈𝑜𝑢𝑡𝑝𝑢𝑡
4. Update setiap bobot network wi,j
𝑤𝑖,𝑗 ← 𝑤𝑖,𝑗 + ∆𝑤𝑖,𝑗 ∆𝑤𝑖,𝑗 = 𝜂𝛿𝑗 𝑥𝑖,𝑗

9
Convergence of Backpropogation

• Gradient Descent ke beberapa minimum lokal, dan mungkin bukan


minimum global:
✓ Tambahkan momentum term;
✓ Gunakan stochastic gradient;
✓ Latih beberapa network menggunakan data yang sama tetapi inisialisasi
bobot acak yang berbeda.

• Sifat konvergensi:
✓ Inisialisasi bobot mendekati nol;
✓ Jaringan awal mendekati linier;
✓ Memungkinkan menghadirkan banyak fungsi non-linier saat pelatihan
berlangsung;

10
Avoiding Local Minima : Momentum
• Akan menemukan local error minimum, belum tentu global
❑ Dalam prakteknya, sering bekerja dengan baik (bisa berjalan beberapa kali)

• Seringkali memasukkan bobot momentum:


❑ Untuk menghindari minimum lokal
❑ Untuk konvergensi lebih cepat
❑ dimana 0 < α < 1 adalah parameter global baru yang harus ditentukan
dengan trial and error.

11
Contoh Penerapan dengan Momentum

Referensi : http://www.scholastictutors.webs.com/scholastic-book-neuralnetworks
12
Feed Forward

Oleh karena itu, e = ½ (d3-y3)2 = ½ (0.9-0.619) 2 = 0.039

13
Backward Prop:
Calculate Local Gradient

For Output Unit:


V1 = 0.17
Y1 = 0.542
V2 = 0.36
For Hidden Unit: Y2 = 0.589
V3 = 0.485
Y3 = 0.619

14
Backward Prop: Update Weight
• Update weight:
wi , j (n + 1) = wi , j (n) + wi , j (n)
• Asumsi iterasi-1:
wi , j ( n + 1) = wi , j ( n) + wi , j ( n)
wi , j ( n + 1) = wi , j ( n) + wi , j ( n − 1) +  j xi , j
wi , j (0) = wi , j ( n) :
wi , j (1) = wi , j ( n) +  * wi , j ( n) +  j xi , j

15
Backward Prop:
Update Weight

16
Backward Prop:
Update Weight

17
Backward Prop:
Update Weight

18
Pemrosesan untuk Epoch Berikutnya

• e0 = ½ (d3-y3)2 = ½ (0.9-0.619) 2 = 0.039


• e1 = ½ (d3-y3)2 = ½ (0.9-0.6254) 2 = 0.0377
• e2 = ½ (d3-y3)2 = ½ (0.2683) 2 = 0.0359
• e3 = ½ (d3-y3)2 = ½ (0.2623) 2 = 0.0344

• Kesalahan semakin berkurang setelah melalui beberapa kali pemrosesan learning.

19
Kemampuan yang Baik dari ANN

• Boolean functions:
✓ Setiap fungsi boolean dapat digambarkan oleh network dengan single hidden
layer;
✓ Tetapi mungkin memerlukan unit tersembunyi eksponensial (sesuai dengan jumlah
input).

• Continuous functions:
✓ Setiap fungsi kontinu terbatas, dapat diperkirakan nilai bobotnya dengan
kesalahan yang rendah, oleh jaringan dengan satu hidden layer [Cybenko 1989;
Hornik et al. 1989]
✓ Setiap fungsi dapat diperkirakan nilai bobotnya dengan suatu akurasi oleh
jaringan dengan dua hidden layer [Cybenko 1988].

20
Latihan di Kelas

• Diberikan suatu struktur Artificial Neural Net dengan 3 variabel


input, 1 hidden layer dengan 2 neuron, dan 2 target/output.
• Apabila diketahui bobot yang dilibatkan pada struktur ANN
tersebut seperti yang terlihat pada tabel, dan diproses suatu W H1 H2
X0 -0,2 -0,15
data dengan nilai atribut (X1=1 ; X2=-2 ; X3=0,5) serta
X1 0,1 0,2
target/label (Y1=0,2 ; Y2=0,7).
X2 0,2 -0,15
• Maka Tentukan jika dilibatkan bias=1 pada input layer dan
X3 0,5 -0,25
hidden layer, learning rate sebesar 0,01, dan fungsi aktifasi
sigmoid pada hidden dan output neuron: W Y1 Y2
• Nilai output dari O1 H0 -0,15 0,1
• Delta error pada neuron ke-2 di hidden layer H1 0,1 0,2
• Update bobot yang menghubungkan X3 dan H2 H2 0,15 -0,1

21
TERIMA KASIH

22

Anda mungkin juga menyukai