SlideShare a Scribd company logo
1 of 61
Departemen Teknik Informatika
www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia
Artificial Neural
Networks
www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia
Capaian Pembelajan
Mahasiswa mampu menjelaskan konsep klasifier dengan fungsi diskriminan linear
maupun non-linear.
www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia
www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia
Facial recognition Real-time translation Fashion recommendation
www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia
Artificial Neural Network
www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia
Artificial Neural Network
Deep Learning
Machine Learning
www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia
www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia
Σ f()
Neuron
inputs
w1
w2
w3
w4
w5
w6
Activation function
Summing function
Output
Input weights
Jaringan saraf biologis Jaringan saraf tiruan
Soma Neuron
Dendrite Input
Axon Output
Synapse Weight
www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia
Artificial Neural Network
Output
www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia
www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia
Neurons
www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia
Input Layer
www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia
Output Layer
www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia
Hidden Layer
www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia
www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia
28 piksel
28 piksel
www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia
28 piksel
28 piksel
28 × 28 = 784 pixels
www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia
𝑥1
𝑥2
𝑥3
𝑥4
𝑥784
𝑥783
𝑥782
𝑥781
28 × 28 = 784 pixels
Channel
0.6
0.1
0.3
0.4
0.2
0.9
0.8
0.5
0.7
𝑥1 ∗ 0.6 + 𝑥3 + 0.8
𝐵1
𝐵2
𝐵3
𝐵4
𝐵5
𝐵6
𝐵7
+𝐵1 Activation function
0.6
0.4
0.9
0.2
0.3
0.1
0.7
0.9
0.7
0.8
0.2
0.5
0.7
0.6
0.2
Forward propagation
Actual
output
Error
0
1
0
-0.4
+0.7
-0.2
Back propagation
www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia
Neuron
• Unit pemrosesan informasi dasar dari Neural Network
• Satu set link, menjelaskan input neuron, dengan bobot 𝑤1, 𝑤2, … , 𝑤𝑚
• Fungsi penambah, adder function, (penggabung linier) untuk menghitung
jumlah bobot input:
𝑓 =
𝑖=1
𝑖=𝑚
𝑤𝑖𝑥𝑖
• Activation function 𝑎(∙)
𝑦 = 𝑎(𝑓)
www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia
Neuron
Apa yang bisa dilakukan neuron
www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia
Neuron
• A hard limiter
• A binary threshold unit
• Hyperspace separation
x1
x2
1
0
x1 x2

b
y
w1 w2
𝑓 𝜇𝑖 = 𝑤1𝑥1 + 𝑤2𝑥2 − 𝑏
𝑦 =
1 𝑓(𝜇1) ≥ 0
0 𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒
www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia
Activation Function
Membuat neural network menjadi non-linear
www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia
Linear vs. Non-linear
Linear Linear Non-linear
www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia
Permasalahan Non-linear
L1
L2
L3
www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia
Activation Function
• Linear function
𝑎 𝑓 = 𝑓
• Step function


 

otherwise
0
if
1
)
(
t
f
f
a
www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia
Activation Function
• Sigmoid function
)
exp(
1
1
)
(
f
f
a
















 


2
2
1
exp
2
1
)
(




f
f
a
• Gaussian function
www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia
Activation Function
• Tanh • ReLU
tanh 𝑥 = 2𝜎 2𝑥 − 1 𝑓 𝑥 = max(0, 𝑥)
www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia
Algoritma Single Layer Perceptron vs. Multi Layer Perceptron
. . .
. . .
. . .
. . .
x1 x2 xm
y1 y2 yn
Hidden Layer
Input Layer
Output Layer
. . .
x1 x2 xm
y
Input Layer
Output Layer
Single Layer Perceptron Multi Layer Perceptron
www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia
Algoritma untuk Pelatihan ANN
• Inisialisasi bobot (w0, w1, …, wk)
• Sesuaikan bobot sedemikian rupa sehingga keluaran ANN konsisten
dengan label kelas dari contoh pelatihan
Fungsi objektif
y – keluaran yang diamati
t – keluaran target
Temukan bobot wi yang meminimalkan fungsi objektif di atas
2
1
)
)
(
)
(
(
2
1
)
( 



K
k
k
k x
t
x
y
x
E



www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia
Algoritma backpropagation untuk Single-Layer Perceptron
• Langkah 0 – Inisialisasi weights (w0, w1, …, wn), m = 0, learning rate , dan threshold t
• Langkah 1 – Lakukan m = m + 1
• Langkah 2 – Pilih pola Xm
• Langkah 3 – Hitung keluaran
• Langkah 4 – Hitung error atau delta  = d – o, di mana
• Langkah 5 – Perbarui nilai tiap bobot
• Langkah 6 – Ulangi sampai w konvergen
• Langkah 7 – Kembalikan nilai w
t
X
w
X
w
f
i
i
i
i
i 
 
)
,
(
)
( f
a
o 


 i
i
old
new X
w
w 

)
(
)
(
www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia
Algoritma backpropagation untuk Multi-Layer Perceptron
• Langkah 0 – Inisialisasi weights (w0, w1, …, wn), m = 0, learning rate , threshold t, dan
variabel sigmoid 
• Langkah 1 – Lakukan m = m + 1
• Langkah 2 – Pilih pola Xm
• Langkah 3 – Hitung keluaran oj and ok
• Langkah 4 – Hitung error atau delta k and j
• Langkah 5 – Perbarui nilai tiap bobot dan
• Langkah 6 – Ulangi sampai w konvergen
• Langkah 7 – Kembalikan nilai w
)
( f
a
o 


 i
j
old
ij
new
ij X
w
w 

)
(
)
(


 j
k
old
kj
new
kj o
w
w 

)
(
)
(
www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia
Desain ANN
Jumlah layer
Jumlah neuron di hidden layer
Jumlah neuron di output layer
www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia
Desain ANN
Jumlah layer
Lebih sedikit jumlah layer, lebih cepat dalam eksekusi dan pelatihan
www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia
Desain ANN
Jumlah neuron di hidden layer
Hidden node yang lebih banyak memungkinkan untuk mempelajari pola yang
lebih rumit
Untuk menghindari overtraining, lebih baik menggunakan hidden node dengan
jumlah yang rendah dan kemudian meningkatkan jumlahnya
www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia
Pelatihan ANN
Overtraining
Training set
Test set
Performance
Training time
www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia
Desain ANN
Jumlah neuron di hidden layer
 Antara ukuran input layer dan ukuran output layer
 2/3 dari ukuran input layer, ditambah ukuran output layer
 Kurang dari dua kali ukuran input layer
www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia
Desain ANN
Jumlah neuron di output layer
Regresi
Satu neuron
Klasifikasi
Binary class: satu neuron
Multi class: lebih dari satu neuron
www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia
Pelatihan ANN
Dataset
Training set Test set
www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia
Pelatihan ANN
1. Apakah akan berhenti?
2. Ke arah mana untuk melanjutkan?
3. Berapa lama langkah yang harus diambil?
Apakah kriterianya memuaskan?
Contoh dengan gradient descent.
: learning rate
www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia
Rangkuman
• Konsep ANN
• Single-layer perceptron
• Multi-layer perceptron
• Algoritma packpropagation
• Penerapan ANN
www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia
- TERIMA KASIH -
www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia
Contoh Soal dan Penyelesaiannya
www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia
Contoh #1 - Forward Propagation
0
1
2
3
4
-4.8
-5.2
4.6
5.1
5.9
5.2 -2.7
-2.6
-3.2
B i a s
Input (0, 0)
• Activation pada node 2
𝜎(-4.8  0 + 4.6  0 - 2.6) = 0.0691
• Activation pada node 3
𝜎(5.1  0 – 5.2  0 – 3.2) = 0.0392
• Activation pada node 4
𝜎(5.9  0.0691 + 5.2  0.0392 – 2.7) = 0.110227
www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia
Contoh #2 – Forward dan Back Propagation (1/17)
i1
i2
h1
h2
o1
o2
0.15 w1
0.20 w2
0.25 w3
0.30 w4
0.40 w5
0.45 w6
0.50 w7
0.55 w8
b1 b2
0.35 0.60
0.01
0.99
• i1 = 0.05, i2 = 0.10
• w1 = 0.15, w2 = 0.20
• w3 = 0.25, w4 = 0.30
• b1 = 0.3
• w5 = 0.4, w6 = 0.45
• w7 = 0.5, w8 = 0.55
• b2 = 0.6
• o1 = 0.01, o2 = 0.99
www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia
Contoh #2 – Forward dan Back Propagation (2/17)
𝑛𝑒𝑡ℎ1
= 𝑤1 × 𝑖1 + 𝑤2 × 𝑖2 + 𝑏1 × 1
= 0.15 × 0.05 + 0.2 × 0.1 + 0.35 × 1
= 0.3775
Gunakan fungsi logistik untuk mendapatkan output
𝑜𝑢𝑡ℎ1
=
1
1 + 𝑒−𝑛𝑒𝑡ℎ1
=
1
1 + 𝑒−0.3775
= 0.5933
dan melakukan proses yang sama untuk ℎ2, kita mendapatkan
𝑜𝑢𝑡ℎ2
= 0.5969
www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia
Contoh #2 – Forward dan Back Propagation (3/17)
𝑛𝑒𝑡𝑜1
= 𝑤5 × 𝑜𝑢𝑡ℎ1
+ 𝑤6 × 𝑜𝑢𝑡ℎ2
+ 𝑏2 × 1
= 0.40 × 0.5933 + 0.45 × 0.5969 + 0.6 × 1
= 1.1059
Gunakan fungsi logistik untuk mendapatkan output
𝑜𝑢𝑡𝑜1
=
1
1 + 𝑒−𝑛𝑒𝑡𝑜1
=
1
1 + 𝑒−1.1059
= 0.7514
dan melakukan proses yang sama untuk 𝑜2, kita mendapatkan
𝑜𝑢𝑡𝑜2
= 0.7729
www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia
Contoh #2 – Forward dan Back Propagation (4/17)
Perhitungan total error
𝐸𝑡𝑜𝑡𝑎𝑙 =
1
2
𝑡𝑎𝑟𝑔𝑒𝑡 − 𝑜𝑢𝑡𝑝𝑢𝑡 2
𝐸𝑜1
=
1
2
𝑡𝑎𝑟𝑔𝑒𝑡 − 𝑜𝑢𝑡𝑝𝑢𝑡 2
=
1
2
0.01 − 0.7514 2
= 0.2748
𝐸𝑜2
= 0.0236
𝐸𝑡𝑜𝑡𝑎𝑙 = 𝐸𝑜1
+ 𝐸𝑜2
= 0.2748 + 0.0236 = 0.2984
www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia
Contoh #2 – Forward dan Back Propagation (5/17)
Output layer
Mempertimbangkan 𝑤5
𝜕𝐸𝑡𝑜𝑡𝑎𝑙
𝜕𝑤5
𝜕𝐸𝑡𝑜𝑡𝑎𝑙
𝜕𝑤5
=
𝛿𝐸𝑡𝑜𝑡𝑎𝑙
𝛿𝑜𝑢𝑡𝑜1
×
𝛿𝑜𝑢𝑡𝑜1
𝛿𝑛𝑒𝑡𝑜1
×
𝛿𝑛𝑒𝑡𝑜1
𝛿𝑤5
Turunan parsial 𝐸𝑡𝑜𝑡𝑎𝑙 terhadap 𝑤5
𝐸𝑡𝑜𝑡𝑎𝑙 = 𝐸𝑜1
+ 𝐸𝑜2
𝐸𝑜1
=
1
2
𝑡𝑎𝑟𝑔𝑒𝑡𝑜1
− 𝑜𝑢𝑡𝑜1
2
𝑜𝑢𝑡𝑜1
=
1
1 + 𝑒−𝑛𝑒𝑡𝑜1
𝑛𝑒𝑡𝑜1
= 𝑤5 × 𝑜𝑢𝑡ℎ1
+ 𝑤6 × 𝑜𝑢𝑡ℎ2
+ 𝑏2 × 1
www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia
Contoh #2 – Forward dan Back Propagation (6/17)
𝜕𝐸𝑡𝑜𝑡𝑎𝑙
𝜕𝑤5
=
𝛿𝐸𝑡𝑜𝑡𝑎𝑙
𝛿𝑜𝑢𝑡𝑜1
×
𝛿𝑜𝑢𝑡𝑜1
𝛿𝑛𝑒𝑡𝑜1
×
𝛿𝑛𝑒𝑡𝑜1
𝛿𝑤5
𝐸𝑡𝑜𝑡𝑎𝑙 = 𝐸𝑜1
+ 𝐸𝑜2
=
1
2
𝑡𝑎𝑟𝑔𝑒𝑡𝑜1
− 𝑜𝑢𝑡𝑜1
2
+
1
2
𝑡𝑎𝑟𝑔𝑒𝑡𝑜2
− 𝑜𝑢𝑡𝑜2
2
𝛿𝐸𝑡𝑜𝑡𝑎𝑙
𝛿𝑜𝑢𝑡𝑜1
= 2 ×
1
2
𝑡𝑎𝑟𝑔𝑒𝑡𝑜1
− 𝑜𝑢𝑡𝑜1
2−1
× −1 + 0
= − 𝑡𝑎𝑟𝑔𝑒𝑡𝑜1
− 𝑜𝑢𝑡𝑜1
= − 0.01 − 0.7514
= 0.7414
www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia
Contoh #2 – Forward dan Back Propagation (7/17)
𝜕𝐸𝑡𝑜𝑡𝑎𝑙
𝜕𝑤5
=
𝛿𝐸𝑡𝑜𝑡𝑎𝑙
𝛿𝑜𝑢𝑡𝑜1
×
𝛿𝑜𝑢𝑡𝑜1
𝛿𝑛𝑒𝑡𝑜1
×
𝛿𝑛𝑒𝑡𝑜1
𝛿𝑤5
𝑜𝑢𝑡𝑜1
=
1
1 + 𝑒−𝑛𝑒𝑡𝑜1
𝛿𝑜𝑢𝑡𝑜1
𝛿𝑛𝑒𝑡𝑜1
= 𝑜𝑢𝑡𝑜1
(1 − 𝑜𝑢𝑡𝑜1
)
= 0.7514(1 − 0.7514)
= 0.1868
𝑑
𝑑𝑥
𝑓 𝑥 =
𝑒𝑥 1 + 𝑒𝑥 − 𝑒𝑥𝑒𝑥
(1 + 𝑒𝑥)2
=
𝑒𝑥
(1 + 𝑒𝑥)2
= 𝑓(𝑥)(1 − 𝑓 𝑥 )
𝑓 𝑥 =
1
1 + 𝑒−𝑥
=
𝑒𝑥
1 + 𝑒𝑥
www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia
Contoh #2 – Forward dan Back Propagation (8/17)
𝜕𝐸𝑡𝑜𝑡𝑎𝑙
𝜕𝑤5
=
𝛿𝐸𝑡𝑜𝑡𝑎𝑙
𝛿𝑜𝑢𝑡𝑜1
×
𝛿𝑜𝑢𝑡𝑜1
𝛿𝑛𝑒𝑡𝑜1
×
𝛿𝑛𝑒𝑡𝑜1
𝛿𝑤5
𝑛𝑒𝑡𝑜1
= 𝑤5 × 𝑜𝑢𝑡ℎ1
+ 𝑤6 × 𝑜𝑢𝑡ℎ2
+ 𝑏2 × 1
𝛿𝑛𝑒𝑡𝑜1
𝛿𝑤5
= 1 × 𝑜𝑢𝑡ℎ1
× 𝑤5
(1−1)
+ 0 + 0
= 𝑜𝑢𝑡ℎ1
= 0.5933
www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia
Contoh #2 – Forward dan Back Propagation (9/17)
𝜕𝐸𝑡𝑜𝑡𝑎𝑙
𝜕𝑤5
=
𝛿𝐸𝑡𝑜𝑡𝑎𝑙
𝛿𝑜𝑢𝑡𝑜1
×
𝛿𝑜𝑢𝑡𝑜1
𝛿𝑛𝑒𝑡𝑜1
×
𝛿𝑛𝑒𝑡𝑜1
𝛿𝑤5
= 0.7414 × 0.1868 × 0.5933
= 0.0821
www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia
Contoh #2 – Forward dan Back Propagation (10/17)
• Perbarui bobot
• Untuk mengurangi error, kurangi nilai berikut dari bobot saat ini
𝑤5
+
= 𝑤5 − 𝜂 ×
𝜕𝐸𝑡𝑜𝑡𝑎𝑙
𝜕𝑤5
= 0.4 − 0.5 × 0.0821 = 0.3589
𝑤6
+
= 0.4087
𝑤7
+
= 0.5113
𝑤8
+
= 0.5614
www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia
Contoh #2 – Forward dan Back Propagation (11/17)
Hidden layer
Dengan mempertimbangkan 𝑤1
𝜕𝐸𝑡𝑜𝑡𝑎𝑙
𝜕𝑤1
=
𝛿𝐸𝑡𝑜𝑡𝑎𝑙
𝛿𝑜𝑢𝑡ℎ1
×
𝛿𝑜𝑢𝑡ℎ1
𝛿𝑛𝑒𝑡ℎ1
×
𝛿𝑛𝑒𝑡ℎ1
𝛿𝑤1
𝜕𝐸𝑡𝑜𝑡𝑎𝑙
𝜕𝑜𝑢𝑡ℎ1
=
𝛿𝐸𝑜1
𝛿𝑜𝑢𝑡ℎ1
+
𝛿𝐸𝑜2
𝛿𝑜𝑢𝑡ℎ1
𝛿𝐸𝑜1
𝛿𝑜𝑢𝑡ℎ1
=
𝛿𝐸𝑜1
𝛿𝑜𝑢𝑡𝑜1
×
𝛿𝑜𝑢𝑡𝑜1
𝛿𝑛𝑒𝑡𝑜1
×
𝛿𝑛𝑒𝑡𝑜1
𝛿𝑜𝑢𝑡ℎ1
𝐸𝑡𝑜𝑡𝑎𝑙 = 𝐸𝑜1
+ 𝐸𝑜2
𝐸𝑜1
=
1
2
𝑡𝑎𝑟𝑔𝑒𝑡𝑜1
− 𝑜𝑢𝑡𝑜1
2
𝑜𝑢𝑡𝑜1
=
1
1 + 𝑒−𝑛𝑒𝑡𝑜1
𝑛𝑒𝑡𝑜1
= 𝑤5 × 𝑜𝑢𝑡ℎ1
+ 𝑤6 × 𝑜𝑢𝑡ℎ2
+ 𝑏2 × 1
www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia
Contoh #2 – Forward dan Back Propagation (12/17)
𝜕𝐸𝑡𝑜𝑡𝑎𝑙
𝜕𝑤1
=
𝛿𝐸𝑡𝑜𝑡𝑎𝑙
𝛿𝑜𝑢𝑡ℎ1
×
𝛿𝑜𝑢𝑡ℎ1
𝛿𝑛𝑒𝑡ℎ1
×
𝛿𝑛𝑒𝑡ℎ1
𝛿𝑤1
𝜕𝐸𝑡𝑜𝑡𝑎𝑙
𝜕𝑜𝑢𝑡ℎ1
=
𝛿𝐸𝑜1
𝛿𝑜𝑢𝑡ℎ1
+
𝛿𝐸𝑜2
𝛿𝑜𝑢𝑡ℎ1
𝛿𝐸𝑜1
𝛿𝑜𝑢𝑡ℎ1
=
𝛿𝐸𝑜1
𝛿𝑜𝑢𝑡𝑜1
×
𝛿𝑜𝑢𝑡𝑜1
𝛿𝑛𝑒𝑡𝑜1
×
𝛿𝑛𝑒𝑡𝑜1
𝛿𝑜𝑢𝑡ℎ1
=
𝛿𝐸𝑜1
𝛿𝑛𝑒𝑡𝑜1
×
𝛿𝑛𝑒𝑡𝑜1
𝛿𝑜𝑢𝑡ℎ1
= 0.1385 × 0.40 = 0.0554
𝛿𝐸𝑜2
𝛿𝑜𝑢𝑡ℎ1
= −0.01905
𝜕𝐸𝑡𝑜𝑡𝑎𝑙
𝜕𝑜𝑢𝑡ℎ1
=
𝛿𝐸𝑜1
𝛿𝑜𝑢𝑡ℎ1
+
𝛿𝐸𝑜2
𝛿𝑜𝑢𝑡ℎ1
= 0.05540 + −0.01905 = 0.03635
www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia
Contoh #2 – Forward dan Back Propagation (13/17)
𝜕𝐸𝑡𝑜𝑡𝑎𝑙
𝜕𝑤1
=
𝛿𝐸𝑡𝑜𝑡𝑎𝑙
𝛿𝑜𝑢𝑡ℎ1
×
𝛿𝑜𝑢𝑡ℎ1
𝛿𝑛𝑒𝑡ℎ1
×
𝛿𝑛𝑒𝑡ℎ1
𝛿𝑤1
𝑜𝑢𝑡ℎ1
=
1
1 + 𝑒−𝑛𝑒𝑡ℎ1
𝛿𝑜𝑢𝑡𝑜1
𝛿𝑛𝑒𝑡𝑜1
= 𝑜𝑢𝑡ℎ1
(1 − 𝑜𝑢𝑡ℎ1
)
= 0.5933(1 − 0.5933)
= 0.24130
www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia
Contoh #2 – Forward dan Back Propagation (14/17)
𝜕𝐸𝑡𝑜𝑡𝑎𝑙
𝜕𝑤1
=
𝛿𝐸𝑡𝑜𝑡𝑎𝑙
𝛿𝑜𝑢𝑡ℎ1
×
𝛿𝑜𝑢𝑡ℎ1
𝛿𝑛𝑒𝑡ℎ1
×
𝛿𝑛𝑒𝑡ℎ1
𝛿𝑤1
𝑛𝑒𝑡ℎ1
= 𝑤1 × 𝑖1 + 𝑤2 × 𝑖2 + 𝑏1 × 1
𝛿𝑛𝑒𝑡ℎ1
𝛿𝑤1
= 𝑖1
= 0.05
www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia
Contoh #2 – Forward dan Back Propagation (15/17)
𝜕𝐸𝑡𝑜𝑡𝑎𝑙
𝜕𝑤1
=
𝛿𝐸𝑡𝑜𝑡𝑎𝑙
𝛿𝑜𝑢𝑡ℎ1
×
𝛿𝑜𝑢𝑡ℎ1
𝛿𝑛𝑒𝑡ℎ1
×
𝛿𝑛𝑒𝑡ℎ1
𝛿𝑤1
= 0.03635 × 0.24130 × 0.05
= 0.00044
www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia
Contoh #2 – Forward dan Back Propagation (16/17)
Sekarang kita dapat melakukan update pada 𝑤1
𝑤1
+
= 𝑤1 − 𝜂 ×
𝜕𝐸𝑡𝑜𝑡𝑎𝑙
𝜕𝑤1
= 0.15 − 0.5 × 0.00044 = 0.14978
𝑤2
+
= 0.19956
𝑤3
+
= 0.24975
𝑤4
+
= 0.29950
www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia
Contoh #2 – Forward dan Back Propagation (17/17)
• Akhirnya, kita telah memperbarui semua bobot!
• Ketika kita memasukkan input 0,05 dan 0,1 melalui forward
propagation, kesalahan adalah 0,2984
• Setelah putaran pertama melalui back propagasi mundur, total
kesalahan turun menjadi 0,2910
• Ini mungkin tidak terlihat banyak, tetapi setelah mengulangi proses
ini sebanyak 10.000 kali, misalnya, kesalahannya merosot menjadi
0,0000351085

More Related Content

What's hot

Visualizaing and understanding convolutional networks
Visualizaing and understanding convolutional networksVisualizaing and understanding convolutional networks
Visualizaing and understanding convolutional networksSungminYou
 
introduction to deep Learning with full detail
introduction to deep Learning with full detailintroduction to deep Learning with full detail
introduction to deep Learning with full detailsonykhan3
 
Neural Networks: Multilayer Perceptron
Neural Networks: Multilayer PerceptronNeural Networks: Multilayer Perceptron
Neural Networks: Multilayer PerceptronMostafa G. M. Mostafa
 
Support Vector Machine and Implementation using Weka
Support Vector Machine and Implementation using WekaSupport Vector Machine and Implementation using Weka
Support Vector Machine and Implementation using WekaMacha Pujitha
 
Detection and recognition of face using neural network
Detection and recognition of face using neural networkDetection and recognition of face using neural network
Detection and recognition of face using neural networkSmriti Tikoo
 
인공지능 방법론 - 딥러닝 이해하기
인공지능 방법론 - 딥러닝 이해하기인공지능 방법론 - 딥러닝 이해하기
인공지능 방법론 - 딥러닝 이해하기Byoung-Hee Kim
 
Random forest algorithm
Random forest algorithmRandom forest algorithm
Random forest algorithmRashid Ansari
 
Variational Autoencoder Tutorial
Variational Autoencoder Tutorial Variational Autoencoder Tutorial
Variational Autoencoder Tutorial Hojin Yang
 
Introduction to deep learning
Introduction to deep learningIntroduction to deep learning
Introduction to deep learningJunaid Bhat
 
Skin Lesion Detection from Dermoscopic Images using Convolutional Neural Netw...
Skin Lesion Detection from Dermoscopic Images using Convolutional Neural Netw...Skin Lesion Detection from Dermoscopic Images using Convolutional Neural Netw...
Skin Lesion Detection from Dermoscopic Images using Convolutional Neural Netw...Universitat Politècnica de Catalunya
 
PR-132: SSD: Single Shot MultiBox Detector
PR-132: SSD: Single Shot MultiBox DetectorPR-132: SSD: Single Shot MultiBox Detector
PR-132: SSD: Single Shot MultiBox DetectorJinwon Lee
 
Convolutional Neural Networks (CNNs)
Convolutional Neural Networks (CNNs)Convolutional Neural Networks (CNNs)
Convolutional Neural Networks (CNNs)Hajar Bouchriha
 
Introduction to Quantum Computing from Math perspective
Introduction to Quantum Computing from Math perspectiveIntroduction to Quantum Computing from Math perspective
Introduction to Quantum Computing from Math perspectivePavel Belevich
 
An Introduction to Computer Vision
An Introduction to Computer VisionAn Introduction to Computer Vision
An Introduction to Computer Visionguestd1b1b5
 
Decision Tree - C4.5&CART
Decision Tree - C4.5&CARTDecision Tree - C4.5&CART
Decision Tree - C4.5&CARTXueping Peng
 
DQN (Deep Q-Network)
DQN (Deep Q-Network)DQN (Deep Q-Network)
DQN (Deep Q-Network)Dong Guo
 
Object detection presentation
Object detection presentationObject detection presentation
Object detection presentationAshwinBicholiya
 
Activation functions
Activation functionsActivation functions
Activation functionsPRATEEK SAHU
 

What's hot (20)

Visualizaing and understanding convolutional networks
Visualizaing and understanding convolutional networksVisualizaing and understanding convolutional networks
Visualizaing and understanding convolutional networks
 
introduction to deep Learning with full detail
introduction to deep Learning with full detailintroduction to deep Learning with full detail
introduction to deep Learning with full detail
 
Neural Networks: Multilayer Perceptron
Neural Networks: Multilayer PerceptronNeural Networks: Multilayer Perceptron
Neural Networks: Multilayer Perceptron
 
Artificial neural network
Artificial neural networkArtificial neural network
Artificial neural network
 
Support Vector Machine and Implementation using Weka
Support Vector Machine and Implementation using WekaSupport Vector Machine and Implementation using Weka
Support Vector Machine and Implementation using Weka
 
Detection and recognition of face using neural network
Detection and recognition of face using neural networkDetection and recognition of face using neural network
Detection and recognition of face using neural network
 
인공지능 방법론 - 딥러닝 이해하기
인공지능 방법론 - 딥러닝 이해하기인공지능 방법론 - 딥러닝 이해하기
인공지능 방법론 - 딥러닝 이해하기
 
Random forest algorithm
Random forest algorithmRandom forest algorithm
Random forest algorithm
 
Variational Autoencoder Tutorial
Variational Autoencoder Tutorial Variational Autoencoder Tutorial
Variational Autoencoder Tutorial
 
Introduction to deep learning
Introduction to deep learningIntroduction to deep learning
Introduction to deep learning
 
Skin Lesion Detection from Dermoscopic Images using Convolutional Neural Netw...
Skin Lesion Detection from Dermoscopic Images using Convolutional Neural Netw...Skin Lesion Detection from Dermoscopic Images using Convolutional Neural Netw...
Skin Lesion Detection from Dermoscopic Images using Convolutional Neural Netw...
 
PR-132: SSD: Single Shot MultiBox Detector
PR-132: SSD: Single Shot MultiBox DetectorPR-132: SSD: Single Shot MultiBox Detector
PR-132: SSD: Single Shot MultiBox Detector
 
Convolutional Neural Networks (CNNs)
Convolutional Neural Networks (CNNs)Convolutional Neural Networks (CNNs)
Convolutional Neural Networks (CNNs)
 
Introduction to Quantum Computing from Math perspective
Introduction to Quantum Computing from Math perspectiveIntroduction to Quantum Computing from Math perspective
Introduction to Quantum Computing from Math perspective
 
Generalized Reinforcement Learning
Generalized Reinforcement LearningGeneralized Reinforcement Learning
Generalized Reinforcement Learning
 
An Introduction to Computer Vision
An Introduction to Computer VisionAn Introduction to Computer Vision
An Introduction to Computer Vision
 
Decision Tree - C4.5&CART
Decision Tree - C4.5&CARTDecision Tree - C4.5&CART
Decision Tree - C4.5&CART
 
DQN (Deep Q-Network)
DQN (Deep Q-Network)DQN (Deep Q-Network)
DQN (Deep Q-Network)
 
Object detection presentation
Object detection presentationObject detection presentation
Object detection presentation
 
Activation functions
Activation functionsActivation functions
Activation functions
 

Similar to ANN untuk Klasifikasi Gambar

Support Vector Machine.pptx
Support Vector Machine.pptxSupport Vector Machine.pptx
Support Vector Machine.pptxEri Zuliarso
 
7. Pengantar Deep Learning.ppsx
7. Pengantar Deep Learning.ppsx7. Pengantar Deep Learning.ppsx
7. Pengantar Deep Learning.ppsxRYNGWKN
 
Clustering_hirarki (tanpa narasi) (1).pptx
Clustering_hirarki (tanpa narasi) (1).pptxClustering_hirarki (tanpa narasi) (1).pptx
Clustering_hirarki (tanpa narasi) (1).pptxnyomans1
 
7-1-Artificial Neural Network.pptx
7-1-Artificial Neural Network.pptx7-1-Artificial Neural Network.pptx
7-1-Artificial Neural Network.pptxSeminusPahabol
 
Pengantar Deep Learning Untuk Pembelajaran Deep Learning
Pengantar Deep Learning Untuk Pembelajaran Deep LearningPengantar Deep Learning Untuk Pembelajaran Deep Learning
Pengantar Deep Learning Untuk Pembelajaran Deep LearningAdeChandra56
 
05c neural network-mlp
05c neural network-mlp05c neural network-mlp
05c neural network-mlprrahmad_14
 
Pertemuan 5_Jaringan Syaraf Tiruan Upload.pptx
Pertemuan 5_Jaringan Syaraf Tiruan Upload.pptxPertemuan 5_Jaringan Syaraf Tiruan Upload.pptx
Pertemuan 5_Jaringan Syaraf Tiruan Upload.pptxCakraAdipuraWicaksan
 
Praktikum Komputasi Statistik ANN.ppt
Praktikum Komputasi Statistik ANN.pptPraktikum Komputasi Statistik ANN.ppt
Praktikum Komputasi Statistik ANN.pptAyuseptiani35
 
KECERDASAN__BUATAN_KELOMPOK_4.pptx
KECERDASAN__BUATAN_KELOMPOK_4.pptxKECERDASAN__BUATAN_KELOMPOK_4.pptx
KECERDASAN__BUATAN_KELOMPOK_4.pptxMuhSiddikDaming
 
scikit-learn cheat sheet untuk data science
scikit-learn cheat sheet untuk data sciencescikit-learn cheat sheet untuk data science
scikit-learn cheat sheet untuk data sciencesoftscients
 
Mi1274 alpro lanjut 3 - percabangan if - praktikan
Mi1274 alpro lanjut   3 - percabangan if - praktikanMi1274 alpro lanjut   3 - percabangan if - praktikan
Mi1274 alpro lanjut 3 - percabangan if - praktikanDefina Iskandar
 

Similar to ANN untuk Klasifikasi Gambar (16)

Support Vector Machine.pptx
Support Vector Machine.pptxSupport Vector Machine.pptx
Support Vector Machine.pptx
 
7. Pengantar Deep Learning.ppsx
7. Pengantar Deep Learning.ppsx7. Pengantar Deep Learning.ppsx
7. Pengantar Deep Learning.ppsx
 
PSO.pptx
PSO.pptxPSO.pptx
PSO.pptx
 
Clustering_hirarki (tanpa narasi) (1).pptx
Clustering_hirarki (tanpa narasi) (1).pptxClustering_hirarki (tanpa narasi) (1).pptx
Clustering_hirarki (tanpa narasi) (1).pptx
 
7-1-Artificial Neural Network.pptx
7-1-Artificial Neural Network.pptx7-1-Artificial Neural Network.pptx
7-1-Artificial Neural Network.pptx
 
Jst part5
Jst part5Jst part5
Jst part5
 
Pengantar Deep Learning Untuk Pembelajaran Deep Learning
Pengantar Deep Learning Untuk Pembelajaran Deep LearningPengantar Deep Learning Untuk Pembelajaran Deep Learning
Pengantar Deep Learning Untuk Pembelajaran Deep Learning
 
05c neural network-mlp
05c neural network-mlp05c neural network-mlp
05c neural network-mlp
 
Pertemuan 5_Jaringan Syaraf Tiruan Upload.pptx
Pertemuan 5_Jaringan Syaraf Tiruan Upload.pptxPertemuan 5_Jaringan Syaraf Tiruan Upload.pptx
Pertemuan 5_Jaringan Syaraf Tiruan Upload.pptx
 
Dkc 2 kelompok 2
Dkc 2 kelompok 2Dkc 2 kelompok 2
Dkc 2 kelompok 2
 
Praktikum Komputasi Statistik ANN.ppt
Praktikum Komputasi Statistik ANN.pptPraktikum Komputasi Statistik ANN.ppt
Praktikum Komputasi Statistik ANN.ppt
 
backpropagation
backpropagationbackpropagation
backpropagation
 
KECERDASAN__BUATAN_KELOMPOK_4.pptx
KECERDASAN__BUATAN_KELOMPOK_4.pptxKECERDASAN__BUATAN_KELOMPOK_4.pptx
KECERDASAN__BUATAN_KELOMPOK_4.pptx
 
scikit-learn cheat sheet untuk data science
scikit-learn cheat sheet untuk data sciencescikit-learn cheat sheet untuk data science
scikit-learn cheat sheet untuk data science
 
Back propagation
Back propagationBack propagation
Back propagation
 
Mi1274 alpro lanjut 3 - percabangan if - praktikan
Mi1274 alpro lanjut   3 - percabangan if - praktikanMi1274 alpro lanjut   3 - percabangan if - praktikan
Mi1274 alpro lanjut 3 - percabangan if - praktikan
 

More from Eri Zuliarso

ruangroundown_Kegiatan_AL_LAM_INFOKOM.pdf
ruangroundown_Kegiatan_AL_LAM_INFOKOM.pdfruangroundown_Kegiatan_AL_LAM_INFOKOM.pdf
ruangroundown_Kegiatan_AL_LAM_INFOKOM.pdfEri Zuliarso
 
bab-3-1-forecast-dengan-smoothing-tpb.ppt
bab-3-1-forecast-dengan-smoothing-tpb.pptbab-3-1-forecast-dengan-smoothing-tpb.ppt
bab-3-1-forecast-dengan-smoothing-tpb.pptEri Zuliarso
 
Penggunaan Aplikasi Orange Untuk Analisis Jaringan.pptx
Penggunaan Aplikasi Orange Untuk Analisis Jaringan.pptxPenggunaan Aplikasi Orange Untuk Analisis Jaringan.pptx
Penggunaan Aplikasi Orange Untuk Analisis Jaringan.pptxEri Zuliarso
 
Big Data S2 MTI.pptx
Big Data S2 MTI.pptxBig Data S2 MTI.pptx
Big Data S2 MTI.pptxEri Zuliarso
 
pengantar s2 mti.pptx
pengantar s2 mti.pptxpengantar s2 mti.pptx
pengantar s2 mti.pptxEri Zuliarso
 
[Sesi 2] Regression 02 - Non Linear Regression (1).pptx
[Sesi 2] Regression 02 - Non Linear Regression (1).pptx[Sesi 2] Regression 02 - Non Linear Regression (1).pptx
[Sesi 2] Regression 02 - Non Linear Regression (1).pptxEri Zuliarso
 
presentasi koni kendal.pptx
presentasi koni kendal.pptxpresentasi koni kendal.pptx
presentasi koni kendal.pptxEri Zuliarso
 

More from Eri Zuliarso (7)

ruangroundown_Kegiatan_AL_LAM_INFOKOM.pdf
ruangroundown_Kegiatan_AL_LAM_INFOKOM.pdfruangroundown_Kegiatan_AL_LAM_INFOKOM.pdf
ruangroundown_Kegiatan_AL_LAM_INFOKOM.pdf
 
bab-3-1-forecast-dengan-smoothing-tpb.ppt
bab-3-1-forecast-dengan-smoothing-tpb.pptbab-3-1-forecast-dengan-smoothing-tpb.ppt
bab-3-1-forecast-dengan-smoothing-tpb.ppt
 
Penggunaan Aplikasi Orange Untuk Analisis Jaringan.pptx
Penggunaan Aplikasi Orange Untuk Analisis Jaringan.pptxPenggunaan Aplikasi Orange Untuk Analisis Jaringan.pptx
Penggunaan Aplikasi Orange Untuk Analisis Jaringan.pptx
 
Big Data S2 MTI.pptx
Big Data S2 MTI.pptxBig Data S2 MTI.pptx
Big Data S2 MTI.pptx
 
pengantar s2 mti.pptx
pengantar s2 mti.pptxpengantar s2 mti.pptx
pengantar s2 mti.pptx
 
[Sesi 2] Regression 02 - Non Linear Regression (1).pptx
[Sesi 2] Regression 02 - Non Linear Regression (1).pptx[Sesi 2] Regression 02 - Non Linear Regression (1).pptx
[Sesi 2] Regression 02 - Non Linear Regression (1).pptx
 
presentasi koni kendal.pptx
presentasi koni kendal.pptxpresentasi koni kendal.pptx
presentasi koni kendal.pptx
 

ANN untuk Klasifikasi Gambar

  • 2. www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia Artificial Neural Networks
  • 3. www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia Capaian Pembelajan Mahasiswa mampu menjelaskan konsep klasifier dengan fungsi diskriminan linear maupun non-linear.
  • 4. www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia
  • 5. www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia Facial recognition Real-time translation Fashion recommendation
  • 6. www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia Artificial Neural Network
  • 7. www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia Artificial Neural Network Deep Learning Machine Learning
  • 8. www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia
  • 9. www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia Σ f() Neuron inputs w1 w2 w3 w4 w5 w6 Activation function Summing function Output Input weights Jaringan saraf biologis Jaringan saraf tiruan Soma Neuron Dendrite Input Axon Output Synapse Weight
  • 10. www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia Artificial Neural Network Output
  • 11. www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia
  • 12. www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia Neurons
  • 13. www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia Input Layer
  • 14. www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia Output Layer
  • 15. www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia Hidden Layer
  • 16. www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia
  • 17. www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia 28 piksel 28 piksel
  • 18. www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia 28 piksel 28 piksel 28 × 28 = 784 pixels
  • 19. www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia 𝑥1 𝑥2 𝑥3 𝑥4 𝑥784 𝑥783 𝑥782 𝑥781 28 × 28 = 784 pixels Channel 0.6 0.1 0.3 0.4 0.2 0.9 0.8 0.5 0.7 𝑥1 ∗ 0.6 + 𝑥3 + 0.8 𝐵1 𝐵2 𝐵3 𝐵4 𝐵5 𝐵6 𝐵7 +𝐵1 Activation function 0.6 0.4 0.9 0.2 0.3 0.1 0.7 0.9 0.7 0.8 0.2 0.5 0.7 0.6 0.2 Forward propagation Actual output Error 0 1 0 -0.4 +0.7 -0.2 Back propagation
  • 20. www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia Neuron • Unit pemrosesan informasi dasar dari Neural Network • Satu set link, menjelaskan input neuron, dengan bobot 𝑤1, 𝑤2, … , 𝑤𝑚 • Fungsi penambah, adder function, (penggabung linier) untuk menghitung jumlah bobot input: 𝑓 = 𝑖=1 𝑖=𝑚 𝑤𝑖𝑥𝑖 • Activation function 𝑎(∙) 𝑦 = 𝑎(𝑓)
  • 21. www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia Neuron Apa yang bisa dilakukan neuron
  • 22. www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia Neuron • A hard limiter • A binary threshold unit • Hyperspace separation x1 x2 1 0 x1 x2  b y w1 w2 𝑓 𝜇𝑖 = 𝑤1𝑥1 + 𝑤2𝑥2 − 𝑏 𝑦 = 1 𝑓(𝜇1) ≥ 0 0 𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒
  • 23. www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia Activation Function Membuat neural network menjadi non-linear
  • 24. www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia Linear vs. Non-linear Linear Linear Non-linear
  • 25. www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia Permasalahan Non-linear L1 L2 L3
  • 26. www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia Activation Function • Linear function 𝑎 𝑓 = 𝑓 • Step function      otherwise 0 if 1 ) ( t f f a
  • 27. www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia Activation Function • Sigmoid function ) exp( 1 1 ) ( f f a                     2 2 1 exp 2 1 ) (     f f a • Gaussian function
  • 28. www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia Activation Function • Tanh • ReLU tanh 𝑥 = 2𝜎 2𝑥 − 1 𝑓 𝑥 = max(0, 𝑥)
  • 29. www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia Algoritma Single Layer Perceptron vs. Multi Layer Perceptron . . . . . . . . . . . . x1 x2 xm y1 y2 yn Hidden Layer Input Layer Output Layer . . . x1 x2 xm y Input Layer Output Layer Single Layer Perceptron Multi Layer Perceptron
  • 30. www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia Algoritma untuk Pelatihan ANN • Inisialisasi bobot (w0, w1, …, wk) • Sesuaikan bobot sedemikian rupa sehingga keluaran ANN konsisten dengan label kelas dari contoh pelatihan Fungsi objektif y – keluaran yang diamati t – keluaran target Temukan bobot wi yang meminimalkan fungsi objektif di atas 2 1 ) ) ( ) ( ( 2 1 ) (     K k k k x t x y x E   
  • 31. www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia Algoritma backpropagation untuk Single-Layer Perceptron • Langkah 0 – Inisialisasi weights (w0, w1, …, wn), m = 0, learning rate , dan threshold t • Langkah 1 – Lakukan m = m + 1 • Langkah 2 – Pilih pola Xm • Langkah 3 – Hitung keluaran • Langkah 4 – Hitung error atau delta  = d – o, di mana • Langkah 5 – Perbarui nilai tiap bobot • Langkah 6 – Ulangi sampai w konvergen • Langkah 7 – Kembalikan nilai w t X w X w f i i i i i    ) , ( ) ( f a o     i i old new X w w   ) ( ) (
  • 32. www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia Algoritma backpropagation untuk Multi-Layer Perceptron • Langkah 0 – Inisialisasi weights (w0, w1, …, wn), m = 0, learning rate , threshold t, dan variabel sigmoid  • Langkah 1 – Lakukan m = m + 1 • Langkah 2 – Pilih pola Xm • Langkah 3 – Hitung keluaran oj and ok • Langkah 4 – Hitung error atau delta k and j • Langkah 5 – Perbarui nilai tiap bobot dan • Langkah 6 – Ulangi sampai w konvergen • Langkah 7 – Kembalikan nilai w ) ( f a o     i j old ij new ij X w w   ) ( ) (    j k old kj new kj o w w   ) ( ) (
  • 33. www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia Desain ANN Jumlah layer Jumlah neuron di hidden layer Jumlah neuron di output layer
  • 34. www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia Desain ANN Jumlah layer Lebih sedikit jumlah layer, lebih cepat dalam eksekusi dan pelatihan
  • 35. www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia Desain ANN Jumlah neuron di hidden layer Hidden node yang lebih banyak memungkinkan untuk mempelajari pola yang lebih rumit Untuk menghindari overtraining, lebih baik menggunakan hidden node dengan jumlah yang rendah dan kemudian meningkatkan jumlahnya
  • 36. www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia Pelatihan ANN Overtraining Training set Test set Performance Training time
  • 37. www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia Desain ANN Jumlah neuron di hidden layer  Antara ukuran input layer dan ukuran output layer  2/3 dari ukuran input layer, ditambah ukuran output layer  Kurang dari dua kali ukuran input layer
  • 38. www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia Desain ANN Jumlah neuron di output layer Regresi Satu neuron Klasifikasi Binary class: satu neuron Multi class: lebih dari satu neuron
  • 39. www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia Pelatihan ANN Dataset Training set Test set
  • 40. www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia Pelatihan ANN 1. Apakah akan berhenti? 2. Ke arah mana untuk melanjutkan? 3. Berapa lama langkah yang harus diambil? Apakah kriterianya memuaskan? Contoh dengan gradient descent. : learning rate
  • 41. www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia Rangkuman • Konsep ANN • Single-layer perceptron • Multi-layer perceptron • Algoritma packpropagation • Penerapan ANN
  • 42. www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia - TERIMA KASIH -
  • 43. www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia Contoh Soal dan Penyelesaiannya
  • 44. www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia Contoh #1 - Forward Propagation 0 1 2 3 4 -4.8 -5.2 4.6 5.1 5.9 5.2 -2.7 -2.6 -3.2 B i a s Input (0, 0) • Activation pada node 2 𝜎(-4.8  0 + 4.6  0 - 2.6) = 0.0691 • Activation pada node 3 𝜎(5.1  0 – 5.2  0 – 3.2) = 0.0392 • Activation pada node 4 𝜎(5.9  0.0691 + 5.2  0.0392 – 2.7) = 0.110227
  • 45. www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia Contoh #2 – Forward dan Back Propagation (1/17) i1 i2 h1 h2 o1 o2 0.15 w1 0.20 w2 0.25 w3 0.30 w4 0.40 w5 0.45 w6 0.50 w7 0.55 w8 b1 b2 0.35 0.60 0.01 0.99 • i1 = 0.05, i2 = 0.10 • w1 = 0.15, w2 = 0.20 • w3 = 0.25, w4 = 0.30 • b1 = 0.3 • w5 = 0.4, w6 = 0.45 • w7 = 0.5, w8 = 0.55 • b2 = 0.6 • o1 = 0.01, o2 = 0.99
  • 46. www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia Contoh #2 – Forward dan Back Propagation (2/17) 𝑛𝑒𝑡ℎ1 = 𝑤1 × 𝑖1 + 𝑤2 × 𝑖2 + 𝑏1 × 1 = 0.15 × 0.05 + 0.2 × 0.1 + 0.35 × 1 = 0.3775 Gunakan fungsi logistik untuk mendapatkan output 𝑜𝑢𝑡ℎ1 = 1 1 + 𝑒−𝑛𝑒𝑡ℎ1 = 1 1 + 𝑒−0.3775 = 0.5933 dan melakukan proses yang sama untuk ℎ2, kita mendapatkan 𝑜𝑢𝑡ℎ2 = 0.5969
  • 47. www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia Contoh #2 – Forward dan Back Propagation (3/17) 𝑛𝑒𝑡𝑜1 = 𝑤5 × 𝑜𝑢𝑡ℎ1 + 𝑤6 × 𝑜𝑢𝑡ℎ2 + 𝑏2 × 1 = 0.40 × 0.5933 + 0.45 × 0.5969 + 0.6 × 1 = 1.1059 Gunakan fungsi logistik untuk mendapatkan output 𝑜𝑢𝑡𝑜1 = 1 1 + 𝑒−𝑛𝑒𝑡𝑜1 = 1 1 + 𝑒−1.1059 = 0.7514 dan melakukan proses yang sama untuk 𝑜2, kita mendapatkan 𝑜𝑢𝑡𝑜2 = 0.7729
  • 48. www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia Contoh #2 – Forward dan Back Propagation (4/17) Perhitungan total error 𝐸𝑡𝑜𝑡𝑎𝑙 = 1 2 𝑡𝑎𝑟𝑔𝑒𝑡 − 𝑜𝑢𝑡𝑝𝑢𝑡 2 𝐸𝑜1 = 1 2 𝑡𝑎𝑟𝑔𝑒𝑡 − 𝑜𝑢𝑡𝑝𝑢𝑡 2 = 1 2 0.01 − 0.7514 2 = 0.2748 𝐸𝑜2 = 0.0236 𝐸𝑡𝑜𝑡𝑎𝑙 = 𝐸𝑜1 + 𝐸𝑜2 = 0.2748 + 0.0236 = 0.2984
  • 49. www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia Contoh #2 – Forward dan Back Propagation (5/17) Output layer Mempertimbangkan 𝑤5 𝜕𝐸𝑡𝑜𝑡𝑎𝑙 𝜕𝑤5 𝜕𝐸𝑡𝑜𝑡𝑎𝑙 𝜕𝑤5 = 𝛿𝐸𝑡𝑜𝑡𝑎𝑙 𝛿𝑜𝑢𝑡𝑜1 × 𝛿𝑜𝑢𝑡𝑜1 𝛿𝑛𝑒𝑡𝑜1 × 𝛿𝑛𝑒𝑡𝑜1 𝛿𝑤5 Turunan parsial 𝐸𝑡𝑜𝑡𝑎𝑙 terhadap 𝑤5 𝐸𝑡𝑜𝑡𝑎𝑙 = 𝐸𝑜1 + 𝐸𝑜2 𝐸𝑜1 = 1 2 𝑡𝑎𝑟𝑔𝑒𝑡𝑜1 − 𝑜𝑢𝑡𝑜1 2 𝑜𝑢𝑡𝑜1 = 1 1 + 𝑒−𝑛𝑒𝑡𝑜1 𝑛𝑒𝑡𝑜1 = 𝑤5 × 𝑜𝑢𝑡ℎ1 + 𝑤6 × 𝑜𝑢𝑡ℎ2 + 𝑏2 × 1
  • 50. www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia Contoh #2 – Forward dan Back Propagation (6/17) 𝜕𝐸𝑡𝑜𝑡𝑎𝑙 𝜕𝑤5 = 𝛿𝐸𝑡𝑜𝑡𝑎𝑙 𝛿𝑜𝑢𝑡𝑜1 × 𝛿𝑜𝑢𝑡𝑜1 𝛿𝑛𝑒𝑡𝑜1 × 𝛿𝑛𝑒𝑡𝑜1 𝛿𝑤5 𝐸𝑡𝑜𝑡𝑎𝑙 = 𝐸𝑜1 + 𝐸𝑜2 = 1 2 𝑡𝑎𝑟𝑔𝑒𝑡𝑜1 − 𝑜𝑢𝑡𝑜1 2 + 1 2 𝑡𝑎𝑟𝑔𝑒𝑡𝑜2 − 𝑜𝑢𝑡𝑜2 2 𝛿𝐸𝑡𝑜𝑡𝑎𝑙 𝛿𝑜𝑢𝑡𝑜1 = 2 × 1 2 𝑡𝑎𝑟𝑔𝑒𝑡𝑜1 − 𝑜𝑢𝑡𝑜1 2−1 × −1 + 0 = − 𝑡𝑎𝑟𝑔𝑒𝑡𝑜1 − 𝑜𝑢𝑡𝑜1 = − 0.01 − 0.7514 = 0.7414
  • 51. www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia Contoh #2 – Forward dan Back Propagation (7/17) 𝜕𝐸𝑡𝑜𝑡𝑎𝑙 𝜕𝑤5 = 𝛿𝐸𝑡𝑜𝑡𝑎𝑙 𝛿𝑜𝑢𝑡𝑜1 × 𝛿𝑜𝑢𝑡𝑜1 𝛿𝑛𝑒𝑡𝑜1 × 𝛿𝑛𝑒𝑡𝑜1 𝛿𝑤5 𝑜𝑢𝑡𝑜1 = 1 1 + 𝑒−𝑛𝑒𝑡𝑜1 𝛿𝑜𝑢𝑡𝑜1 𝛿𝑛𝑒𝑡𝑜1 = 𝑜𝑢𝑡𝑜1 (1 − 𝑜𝑢𝑡𝑜1 ) = 0.7514(1 − 0.7514) = 0.1868 𝑑 𝑑𝑥 𝑓 𝑥 = 𝑒𝑥 1 + 𝑒𝑥 − 𝑒𝑥𝑒𝑥 (1 + 𝑒𝑥)2 = 𝑒𝑥 (1 + 𝑒𝑥)2 = 𝑓(𝑥)(1 − 𝑓 𝑥 ) 𝑓 𝑥 = 1 1 + 𝑒−𝑥 = 𝑒𝑥 1 + 𝑒𝑥
  • 52. www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia Contoh #2 – Forward dan Back Propagation (8/17) 𝜕𝐸𝑡𝑜𝑡𝑎𝑙 𝜕𝑤5 = 𝛿𝐸𝑡𝑜𝑡𝑎𝑙 𝛿𝑜𝑢𝑡𝑜1 × 𝛿𝑜𝑢𝑡𝑜1 𝛿𝑛𝑒𝑡𝑜1 × 𝛿𝑛𝑒𝑡𝑜1 𝛿𝑤5 𝑛𝑒𝑡𝑜1 = 𝑤5 × 𝑜𝑢𝑡ℎ1 + 𝑤6 × 𝑜𝑢𝑡ℎ2 + 𝑏2 × 1 𝛿𝑛𝑒𝑡𝑜1 𝛿𝑤5 = 1 × 𝑜𝑢𝑡ℎ1 × 𝑤5 (1−1) + 0 + 0 = 𝑜𝑢𝑡ℎ1 = 0.5933
  • 53. www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia Contoh #2 – Forward dan Back Propagation (9/17) 𝜕𝐸𝑡𝑜𝑡𝑎𝑙 𝜕𝑤5 = 𝛿𝐸𝑡𝑜𝑡𝑎𝑙 𝛿𝑜𝑢𝑡𝑜1 × 𝛿𝑜𝑢𝑡𝑜1 𝛿𝑛𝑒𝑡𝑜1 × 𝛿𝑛𝑒𝑡𝑜1 𝛿𝑤5 = 0.7414 × 0.1868 × 0.5933 = 0.0821
  • 54. www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia Contoh #2 – Forward dan Back Propagation (10/17) • Perbarui bobot • Untuk mengurangi error, kurangi nilai berikut dari bobot saat ini 𝑤5 + = 𝑤5 − 𝜂 × 𝜕𝐸𝑡𝑜𝑡𝑎𝑙 𝜕𝑤5 = 0.4 − 0.5 × 0.0821 = 0.3589 𝑤6 + = 0.4087 𝑤7 + = 0.5113 𝑤8 + = 0.5614
  • 55. www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia Contoh #2 – Forward dan Back Propagation (11/17) Hidden layer Dengan mempertimbangkan 𝑤1 𝜕𝐸𝑡𝑜𝑡𝑎𝑙 𝜕𝑤1 = 𝛿𝐸𝑡𝑜𝑡𝑎𝑙 𝛿𝑜𝑢𝑡ℎ1 × 𝛿𝑜𝑢𝑡ℎ1 𝛿𝑛𝑒𝑡ℎ1 × 𝛿𝑛𝑒𝑡ℎ1 𝛿𝑤1 𝜕𝐸𝑡𝑜𝑡𝑎𝑙 𝜕𝑜𝑢𝑡ℎ1 = 𝛿𝐸𝑜1 𝛿𝑜𝑢𝑡ℎ1 + 𝛿𝐸𝑜2 𝛿𝑜𝑢𝑡ℎ1 𝛿𝐸𝑜1 𝛿𝑜𝑢𝑡ℎ1 = 𝛿𝐸𝑜1 𝛿𝑜𝑢𝑡𝑜1 × 𝛿𝑜𝑢𝑡𝑜1 𝛿𝑛𝑒𝑡𝑜1 × 𝛿𝑛𝑒𝑡𝑜1 𝛿𝑜𝑢𝑡ℎ1 𝐸𝑡𝑜𝑡𝑎𝑙 = 𝐸𝑜1 + 𝐸𝑜2 𝐸𝑜1 = 1 2 𝑡𝑎𝑟𝑔𝑒𝑡𝑜1 − 𝑜𝑢𝑡𝑜1 2 𝑜𝑢𝑡𝑜1 = 1 1 + 𝑒−𝑛𝑒𝑡𝑜1 𝑛𝑒𝑡𝑜1 = 𝑤5 × 𝑜𝑢𝑡ℎ1 + 𝑤6 × 𝑜𝑢𝑡ℎ2 + 𝑏2 × 1
  • 56. www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia Contoh #2 – Forward dan Back Propagation (12/17) 𝜕𝐸𝑡𝑜𝑡𝑎𝑙 𝜕𝑤1 = 𝛿𝐸𝑡𝑜𝑡𝑎𝑙 𝛿𝑜𝑢𝑡ℎ1 × 𝛿𝑜𝑢𝑡ℎ1 𝛿𝑛𝑒𝑡ℎ1 × 𝛿𝑛𝑒𝑡ℎ1 𝛿𝑤1 𝜕𝐸𝑡𝑜𝑡𝑎𝑙 𝜕𝑜𝑢𝑡ℎ1 = 𝛿𝐸𝑜1 𝛿𝑜𝑢𝑡ℎ1 + 𝛿𝐸𝑜2 𝛿𝑜𝑢𝑡ℎ1 𝛿𝐸𝑜1 𝛿𝑜𝑢𝑡ℎ1 = 𝛿𝐸𝑜1 𝛿𝑜𝑢𝑡𝑜1 × 𝛿𝑜𝑢𝑡𝑜1 𝛿𝑛𝑒𝑡𝑜1 × 𝛿𝑛𝑒𝑡𝑜1 𝛿𝑜𝑢𝑡ℎ1 = 𝛿𝐸𝑜1 𝛿𝑛𝑒𝑡𝑜1 × 𝛿𝑛𝑒𝑡𝑜1 𝛿𝑜𝑢𝑡ℎ1 = 0.1385 × 0.40 = 0.0554 𝛿𝐸𝑜2 𝛿𝑜𝑢𝑡ℎ1 = −0.01905 𝜕𝐸𝑡𝑜𝑡𝑎𝑙 𝜕𝑜𝑢𝑡ℎ1 = 𝛿𝐸𝑜1 𝛿𝑜𝑢𝑡ℎ1 + 𝛿𝐸𝑜2 𝛿𝑜𝑢𝑡ℎ1 = 0.05540 + −0.01905 = 0.03635
  • 57. www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia Contoh #2 – Forward dan Back Propagation (13/17) 𝜕𝐸𝑡𝑜𝑡𝑎𝑙 𝜕𝑤1 = 𝛿𝐸𝑡𝑜𝑡𝑎𝑙 𝛿𝑜𝑢𝑡ℎ1 × 𝛿𝑜𝑢𝑡ℎ1 𝛿𝑛𝑒𝑡ℎ1 × 𝛿𝑛𝑒𝑡ℎ1 𝛿𝑤1 𝑜𝑢𝑡ℎ1 = 1 1 + 𝑒−𝑛𝑒𝑡ℎ1 𝛿𝑜𝑢𝑡𝑜1 𝛿𝑛𝑒𝑡𝑜1 = 𝑜𝑢𝑡ℎ1 (1 − 𝑜𝑢𝑡ℎ1 ) = 0.5933(1 − 0.5933) = 0.24130
  • 58. www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia Contoh #2 – Forward dan Back Propagation (14/17) 𝜕𝐸𝑡𝑜𝑡𝑎𝑙 𝜕𝑤1 = 𝛿𝐸𝑡𝑜𝑡𝑎𝑙 𝛿𝑜𝑢𝑡ℎ1 × 𝛿𝑜𝑢𝑡ℎ1 𝛿𝑛𝑒𝑡ℎ1 × 𝛿𝑛𝑒𝑡ℎ1 𝛿𝑤1 𝑛𝑒𝑡ℎ1 = 𝑤1 × 𝑖1 + 𝑤2 × 𝑖2 + 𝑏1 × 1 𝛿𝑛𝑒𝑡ℎ1 𝛿𝑤1 = 𝑖1 = 0.05
  • 59. www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia Contoh #2 – Forward dan Back Propagation (15/17) 𝜕𝐸𝑡𝑜𝑡𝑎𝑙 𝜕𝑤1 = 𝛿𝐸𝑡𝑜𝑡𝑎𝑙 𝛿𝑜𝑢𝑡ℎ1 × 𝛿𝑜𝑢𝑡ℎ1 𝛿𝑛𝑒𝑡ℎ1 × 𝛿𝑛𝑒𝑡ℎ1 𝛿𝑤1 = 0.03635 × 0.24130 × 0.05 = 0.00044
  • 60. www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia Contoh #2 – Forward dan Back Propagation (16/17) Sekarang kita dapat melakukan update pada 𝑤1 𝑤1 + = 𝑤1 − 𝜂 × 𝜕𝐸𝑡𝑜𝑡𝑎𝑙 𝜕𝑤1 = 0.15 − 0.5 × 0.00044 = 0.14978 𝑤2 + = 0.19956 𝑤3 + = 0.24975 𝑤4 + = 0.29950
  • 61. www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia Contoh #2 – Forward dan Back Propagation (17/17) • Akhirnya, kita telah memperbarui semua bobot! • Ketika kita memasukkan input 0,05 dan 0,1 melalui forward propagation, kesalahan adalah 0,2984 • Setelah putaran pertama melalui back propagasi mundur, total kesalahan turun menjadi 0,2910 • Ini mungkin tidak terlihat banyak, tetapi setelah mengulangi proses ini sebanyak 10.000 kali, misalnya, kesalahannya merosot menjadi 0,0000351085

Editor's Notes

  1. Selamat pagi, siang, sore, dan malam rekan-rekan. Apa kabar hari ini? Semoga kesehatan dan kebahagiaan selalu Bersama kita. Dan pastinya, tetap bersemangat belajar kecerdasan komputasional. Bukankah begitu? https://www.youtube.com/watch?v=bfmFfD2RIcg https://www.youtube.com/watch?v=ZzWaow1Rvho&list=PLxt59R_fWVzT9bDxA76AHm3ig0Gg9S3So&index=1 https://medium.com/@opam22/menilik-activation-functions-7710177a54c9 https://medium.com/artifical-mind/particle-swarm-optimization-an-interactive-introduction-8db8ed4d56ca
  2. Pada kesempatan ini kita akan mempelajari tentang artificial neural network atau yang juga dikenal dengan jaringan saraf tiruan. (klik)
  3. Setelah mempelajari materi ini, mahasiswa diharapkan… (klik) Mari kita mulai pembahasan materi ini.
  4. Selama 8.5 tahun saya bertempat tinggal di Taiwan. Meskipun saya tidak bisa membaca dan menulis Mandarin, saya tidak mempunyai kesulitan di sana. Semua itu berkat aplikasi google translate (klik) yang secara real time dapat menerjemahkan tulisan mandarin maupun suara yang diucapkan dalam Bahasa mandarin.
  5. (klik) Real-time translation, seperti google translate, merupakan salah satu contoh aplikasi yang memanfaatkan neural network. (klik) Dua contoh lain pemanfaatan nn adalah facial recognition, (klik) fashion recommendation, dan masih banyak yang lainnya
  6. Lalu, apakah yang dimaksud dengan artificial neural networks, (klik) atau yang juga dikenal dengan nama jaringan saraf tiruan?
  7. (klik)(klik) NN merupakan dasar dari deep learning, (klik) yang merupakan subfield dari machine learning (klik)(klik) Sedangkan NN ini terinspirasi dari struktur otak manusi
  8. Mari kita ingat lagi mata pelajaran biologi tentang struktur otak manusia. Sebuah neuron terdiri dari badan sel (klik), soma, (klik) sejumlah fiber yang disebut dendrit, (klik) dan satu fiber panjang yang disebut akson. Sementara dendrit bercabang menjadi jaringan di sekitar soma, akson membentang ke dendrit dan soma neuron lain. (klik)
  9. Berikut ini adalah ilustrasi perbedaan antara jaringan saraf biologis dan jaringan saraf tiruan, sedangkan perbedaan istilah yang digunakan pada keduanya diberikan pada tabel. (klik)
  10. Secara garis besar, cara kerja jaringan saraf tiruan adalah sebagai berikut (klik) NN menerima inputan berupa data, (klik) kemudian melakukan training untuk mengenali pola pada data tersebut, (klik) dan selanjutnya memprediksi output untuk dataset baru yang serupa dengan data training (klik)
  11. (klik) Mari kita mempelajari secara lebih detail bagaimana proses yang terjadi. (klik) Pada contoh ini, kita akan membuat sebuah NN yang mampu membedakan antara persegi, lingkaran, dan segitiga.
  12. NN terdiri dari beberapa layer neuron, (klik) di mana neuron-neuron tersebut merupakan unit pemrosesan utama dari jaringan.
  13. Kita punya input layer, (klik) yang fungsinya menerima input.
  14. (klik) Ada output layer untuk menprediksi final output.
  15. (klik) Dan di antara input layer dan output layer terdiri dari hidden layer yang menjalankan sebagian besar komputasi yang dibutuhkan oleh jaringan.
  16. Anggap kita punya sebuah gambar lingkaran (klik)
  17. gambar lingkaran ini berukuran 28x28 piksel (klik)
  18. sehingga total keseluruhan ada 784 piksel.
  19. (klik-1) Tiap piksel dimasukkan ke tiap neuron yang ada di layer pertama sebagai input. (klik-2) Neuron pada masing-masing layer dihubungkan ke neuron pada layer berikutnya melalui channel. (klik-3) Pada setiap channel diberikan suatu nilai yang disebut dengan bobot atau weight. (klik-4) Input pada setiap neuron dikalikan dengan bobot yang bersesuaian, dan hasil penjumlahannya dijadikan input pada neuron hidden layer. (klik-5) Tiap neuron di hidden layer mempunyai satu nilai numerik yang disebut dengan bias. (klik-6) Nilai bias selanjutnya ditambahkan ke penjumlahan input yang kita punya tadi untuk selanjutnya dilewatkan pada suatu threshold function yang disebut activation function. (klik-7) Hasil dari activation function menentukan apakah suatu neuron perlu diaktifkan atau tidak. (klik-8) Neuron yang teraktivasi mengirimkan data ke neuron pada layer selanjutnya melalui channel. (klik-9) Melalui cara ini, data disebarkan melalui jaringan, sehingga disebut forward propagation. (klik-10) Pada output layer, neuron dengan nilai tertinggi menentukan nilai output berupa probabilitas. (klik-11) Sebagai contoh, probabilitas untuk persegi adalah yang tertinggi. Sehingga ini adalah output yang diprediksi oleh NN. (klik-12) Tentu saja, dengan melihat ini kita tahu kalau NN kita melakukan prediksi yang salah. Pelu diingat kita akan melakukan training jaringan kita. (klik-13) Selama proses pelatihan ini, bersama dengan input pada network juga output yang diumpankan, output yang diprediksi dibandingkan dengan output aktual sehingga dapat diketahui kesalahan dalam prediksi. Besarnya error menunjukkan betapa salahnya kita. tanda positif atau negative menunjukkan jika nilai prediksi kita lebih tinggi atau lebih rendah dari yang diharapkan. (klik-14) Tanda panah di sini memberikan indikasi arah dan besaran perubahan untuk mengurangi kesalahan. (klik-15) Informasi ini ditransfer mundur melalui jaringan. Ini dikenal sebagai back propagation. (klik-16) Berdasarkan informasi ini, bobot selanjutnya diselaraskan. Siklus propagasi maju dan propagasi mundur ini, atau istilah asingnya forward and back propagation ini, dilakukan secara berulang dengan banyak input. Proses ini berlanjut hingga bobot yang ditetapkan, sehingga jaringan dapat memprediksi bentuk dengan benar di sebagian besar kasus. Dan ini selanjutnya mengakhiri proses training.
  20. Sekarang kita bahas yang dimaksud dengan neuron. Neuron adalah unit pemrosesan informasi dasar dari Neural Network. Terdiri dari: (klik) … (klik) … (klik) …
  21. (klik) Lalu, apa yang bisa dilakukan oleh neuron?
  22. (klik) Yang pertama adalah sebagai hard limiter, (klik) kemudian sebagai binary threshold unit, (klik) dan sebagai Hyperspace separation (klik) Misal kita punya suatu ANN seperti ini, ada 2 input dengan masing-masing bobotnya, dan ada bias (klik) Ini adalah definisi fungsi yang digunakan (klik) Dan fungsi tersebut diilustrasikan dengan kurva ini, dengan garis merah merupakan pembagi kelas 0 dan 1. Misal di sini kita punya dua kelas, 0 dan 1, neuron dapat melakukan pembagian daerah untuk tiap kelas. garis merah menjadi pembatas region kelas yang berbeda tersebut. Apabila data jatuh di sini, maka ia termasuk kelas 0. Pun begitu bila data jatuh di sini, maka ia termasuk kelas 1.
  23. Ketika kita membicarakan tentang neural network atau artificial neural network, activation functions merupakan bagian penting yang tidak bisa kita lewatkan. Pertanyaan selanjutnya adalah kenapa activation function merupakan bagian penting dalam neural network? lalu sebenarnya apa sih peranannya sehingga membuat dirinya begitu penting? (klik) Jawabannya adalah untuk membuat neural network menjadi non-linear. Perlu dicatat, neuron pada input layer tidak memiliki activation function, sedangkan neuron pada hidden layer dan output layer memiliki activation function. Activation function ini kadang berbeda tergantung daripada data atau problem yang kita miliki. secara “default” activation function dari sebuah neuron adalah Linear
  24. Sebelum kita bahas tentang activation function secara mendetail, kita bahas dulu yang dimaksud dengan linear dan non-linear. Dua gambar di sisi kiri adalah contoh dua macam data yang dapat dipisahkan oleh sebuah garis linear, sedangkan di sebelah kiri adalah contoh bila dua macam data yang tidak dapat dipisahkan oleh sebuah garis linear.
  25. Pada data yang persebarannya tidak linear, kadang kita menemui hal seperti berikut. (klik) Data ini, sebut saja data merah dan data biru, bukanlah data yang dapat dipisahkan secara liner. Padahal, kita ingin membagi data tersebut sedemikian rupa sehingga antara data merah dan data biru terpisah. Cara paling naif adalah dengan membuat garis sebagai berikut (klik) Namun tentu saja tidak mudah membuat garis seperti itu melalui suatu pemodelan matematika. (klik) Cara lain adalah dengan melakukan partisi menggunakan beberapa garis, atau yang disebut dengan hyperspace partition. Garis pertama… garis kedua… dan garis ketiga Nah, ANN dapat melakukan partisi dengan cara ini.
  26. Sekarang mari kita bahas beberapa activation function yang biasa atau umum digunakan. (klik) Ada linear function dengan bentuk formula a(f) = f (klik) Kemudian ada step function yang memiliki ketentuan seperti di ini misalnya Jika output dari sigmoid lebih besar atau sama dengan t, di mana t adalah sebuah nilai, maka class-nya 1, dan class 0 jika tidak.
  27. (klik) Berikunya ada sigmoid. Sigmoid akan menerima angka tunggal dan mengubah nilai f menjadi sebuah nilai yang memiliki range mulai dari 0 sampai 1. (klik) Ada gaussian function, dengan rumus gaussian berikut.
  28. (klik) Activation function selanjutnya yang kita bahas yakni tanh. Tanh akan mengubah nilai input x nya menjadi sebuah nilai yang memiliki range mulai dari -1 sampai 1. Sama seperti Sigmoid, Tanh memiliki kekurangan yaitu bisa mematikan gradient, tetapi kelebihannya adalah output yang dimiliki Tanh merupakan zero-centered. Dalam praktiknya Tanh lebih menjadi pilihan jika dibandingkan dengan Sigmoid. Yang perlu dicatat adalah tanh hanyalah merupakan Sigmoid yang dikembangkan (klik) ReLU atau Rectified Linear Unit menjadi salah satu activation function yang popular belakangan ini. ReLU merupakan activation function favorit para engineer yang malas, kenapa engineer yang malas? Karna ReLU pada intinya hanya membuat pembatas pada bilangan nol, artinya apabila x ≤ 0 maka x = 0 dan apabila x > 0 maka x = x
  29. Pada ANN, jenis perceptron digolongkan menjadi 2 berdasarkan jumlah layernya, yaitu single layer perceptron dan multi layer perceptron. (klik) (klik) Single Layer Perceptron memetakan output dengan hasil dari kombinasi linear semua perkalian feature vector / input value terhadap ‘weight’, bobot. (klik) Sedangkan MLP merupakan Supervised Machine Learning yang dapat mengatasi permasalahan yang tidak lineary separable, tidak terpisah secara linear. Sehingga kelebihan ini dapat digunakan untuk menyelesaikan permasalahan yang tidak dapat diselesaikan oleh Single Layer Perceptron
  30. Algoritma untuk melakukan training ANN secara umum adalah sebagai berikut (klik) Pertama, kita Inisialisasi bobot, pada penjelasan ini kita notasikan bobot sebanyak k dengan masing-masing w0, w1, hingga wk (klik) Selanjutnya, Sesuaikan bobot sedemikian rupa sehingga keluaran ANN konsisten dengan label kelas dari contoh pelatihan (klik) Dalam pelatihan kita punya sebuah objective function, yang dirumuskan sebagai berikut (klik) Dengan y merupakan keluaran yang diamati dan t merupakan keluaran target (klik) Pekatihan ini dilakukan secara iterative, berulang-ulang, hingga kita temukan bobot yang meminimalkan fungsi objektif yang kita miliki
  31. Algoritma back propagation untuk Single-Layer Perceptron dan Multi-Layer Perceptron memiliki beberapa perbedaan. Kita akan bahas dulu Algoritma back propagation untuk Single-Layer Perceptron (klik-1) … (klik-2) … (klik-3) … (klik-4) … (klik-5) … (klik-6) … (klik-7) …
  32. Kini kita akan bahas dulu Algoritma back propagation untuk Multi-Layer Perceptron (klik-1) … (klik-2) … (klik-3) … (klik-4) … (klik-5) … (klik-6) … (klik-7) …
  33. Beberapa pertanyaan yang muncul saat mendesain ANN, mungkin sekarang Anda telah memiliki pertanyaan berikut dalam benak Anda. (klik) Untuk mendapatkan performa yang baik, berapakah jumlah layer, jumlah neuron di hidden layer, dan jumlah neuron di output layer?
  34. Untuk pertanyaan pertama, berapakah sebainya jumlah layer? Nah, lebih sedikit jumlah layer maka eksekusi dan pelatihan bisa lebih cepat. Namun perlu kita perlu memperhatikan bagaimana efeknya pada performa sistem.
  35. Lalu pertanyaan berikutnya, bagaimanakah dengan jumlah neuron di hidden layer? ... Sebagai tips, ...
  36. Dalam melatih network yang kita miliki, kita perlu menghindari adanya (klik) overtraining. (klik) Overtraining terjadi apabila Sebuah ANN dapat bekerja dengan baik pada training set, tapi performanya kurang baik pada test set
  37. Beberapa rule-of-thumb methods untuk menentukan jumlah neuron di hidden layer adalah berikut (klik) … (klik) Tips kedua (klik) …
  38. Penentuan jumlah neuron di output layer didasari oleh tujuan kita dalam memanfaatkan ANN, (klik) Apakah untuk regresi ataukah klasifikasi (klik) Bila untuk regresi, kita hanya butuh satu neuron (klik) Namun bila untuk klasifikasi, kita perlu memperhatikan jumlah kelas prediksi Untuk binary class, hanya ada 1 neuron, sedang untuk multi class maka ada lebih dari satu neuron
  39. Untuk mengukur efektivitas pelatihan, kita butuh training set dan test set (klik) Lebih baik tidak ada interaksi antara training set dan test set Contoh Kesalahan: Latih ANN dengan training set Uji JST pada test set Hasilnya buruk Kembali ke pelatihan ANN Setelah ini, tidak ada jaminan bahwa JST akan bekerja dengan baik dalam praktiknya
  40. Untuk mendesain algoritma pembelajaran, kita menghadapi masalah berikut: Apakah akan berhenti? Ke arah mana untuk melanjutkan? Berapa lama langkah yang harus diambil? (klik) Untuk menjawab pertanyaan pertama, kita harus mendapat jawaban, Apakah kriterianya sudah memuaskan? Jika ya, maka berhentu. (klik) Lalu... Ke arah mana untuk melanjutkan? Ada beberapa Teknik yang dapat digunakan, contohnya gradient descent. Gradient descent adalah algoritma yang digunakan untuk melakukan optimisasi dari suatu fungsi dengan menggunakan turunan dari fungsi itu sendiri. (klik) Pertanyaan selanjutnya, Berapa lama langkah yang harus diambil? Ini tergantung pada learning rate yang digunakan. Learning rate merupakan salah satu parameter training untuk menghitung nilai koreksi bobot pada waktu proses training. Learning rate yang besar akan melakukan perubahan terhadap variabel secara besar dan sebaliknya.  Perlu dicatat bahwa penggunaan learning rate yang terlalu besar akan menyebabkan perubahan yang besar pula, sehingga menyebabkan dilewatkannya solusi optimal yang diinginkan. Namun, learning rate yang terlalu kecil juga akan menyebabkan proses mencapai solusi optimal menjadi sangat lambat. Jadi kita harus benar-benar menentukan nilai learning rate yang tepat dalam melakukan training modelneural network.
  41. Itu tadi pembahasan kita mengenai ANN. Kita telah membahas konsep ANN, (klik) single-layer perceptron, (klik) multi-layer perceptron, (klik) algoritma backpropagation untuk masing-masing single-layer perceptron maupun multi-layer perceptron, (klik) serta contoh penerapan ANN. (klik) Terima kasih atas perhatian rekan-rekan. Jangan lupa untuk tetap semangat!
  42. Terima kasih atas perhatian Anda. Jangan lupa, tetap semangat!
  43. Three layer network
  44. 𝜂 = learning rate (eta)
  45. plummets = merosot