• Tidak ada hasil yang ditemukan

Deep Learning - Spada UNS

N/A
N/A
Protected

Academic year: 2023

Membagikan "Deep Learning - Spada UNS"

Copied!
57
0
0

Teks penuh

(1)

RG-Computational Science & Engineering (CSE) (Wiharto, 2021)

Deep Learning

(2)

Outline

Artificial Neural Network Multilayer Perceptron

BackPropagation Algorithm

Deep Learning Framework Introduction (TensorFlow

& Keras)

Deep Autoencoder

Convolutional Neural Network (CNN)

(3)

Artificial Neural Network

Deep learning merupakan bagian dari machine learning (ML), dan juga bagian kecil dari Artificial Intelligence (AI)

Deep learning merupakan cabang ilmu bagian dari machine learning yang menggunakan deep neural network, untuk menyelesaikan permasalahan pada domain ML

(4)

Outline

Neural network adalah model yang terinspirasi oleh bagaimana neuron dalam otak manusia bekerja.

Tiap neuron pada otak manusia saling berhubungan dan informasi mengalir dari setiap neuron tersebut.

(5)

Artificial Neural Network

(6)

Artificial Neural Network

Tiap neuron menerima input dan melakukan operasi dot dengan sebuah weight, menjumlahkannya (weighted

sum) dan menambahkan bias.

Hasil dari operasi ini akan dijadikan parameter dari activation function yang akan dijadikan output dari neuron tersebut.

(7)

Fungsi Activasi

Apakah activation function?

Sesuai dengan namanya, activation function befungsi untuk menentukan apakah neuron tersebut harus “aktif”

atau tidak berdasarkan dari weighted sum dari input.

Secara umum terdapat 2 jenis activation function, Linear dan Non-Linear Activation function.

(8)

Linier Activation Function

Bisa dikatakan secara “default” activation function dari sebuah neuron adalah Linear.

Jika sebuah neuron menggunakan linear function, maka keluaran dari neuron tersebut adalah weighted sum dari input + bias.

(9)

Sigmoid and Tanh Function (Non- Linear)

Sigmoid function mempunyai rentang antara 0 hingga 1

sedangkan rentang dari Tanh adalah -1 hingga 1.

Kedua fungsi ini biasanya digunakan untuk klasifikasi 2 class atau kelompok data.

Kelemahan dari kedua fungsi ini, nanti akan coba saya

jelaskan di part berikutnya.

(10)

ReLU (Non-Linear)

Pada dasarnya ReLU melakukan

“treshold” dari 0 hingga infinity.

ReLU juga dapat menutupi kelemahan yang dimiliki oleh Sigmoid dan Tanh

(11)

Neural Network Architectures

(12)
(13)

Artificial Neural Network

Arsitektur diatas biasa disebut sebagai Multi Layer Perceptron (MLP) atau Fully-Connected Layer.

Arsitektur pertama mempunyai 3 buah neuron pada Input Layer dan 2 buah node Output Layer.

Diantara Input dan Output, terdapat 1 Hidden Layer dengan 4 buah neuron.

Sedangkan spesifikasi Weight dan Activation function adalah sebagai berikut:

(14)

Weight and Bias

Setiap neuron pada MLP saling berhubungan yang ditandai dengan tanda panah pada gambar diatas.

Tiap koneksi memiliki weight yang nantinya nilai dari tiap weight akan berbeda-beda.

Hidden layer dan output layer memiliki tambahan “input” yang biasa disebut dengan bias (Tidak disebutkan pada gambar diatas).

Sehingga pada arsitektur pertama terdapat 3x4 weight + 4 bias dan 4x2 weight + 2 bias.

Total adalah 26 parameter yang pada proses training akan mengalami perubahan untuk mendapatkan hasil yang terbaik.

Sedangkan pada arsitektur kedua terdapat 41 parameter.

(15)

Activation Function

Neuron pada input layer tidak memiliki activation function

Sedangkan neuron pada hidden layer dan output layer memiliki activation function yang kadang berbeda

tergantung daripada data atau problem yang kita miliki.

(16)

Training a Neural Network

Pada Supervised Learning menggunakan Neural Network, pada umumnya Learning terdiri dari 2 tahap, yaitu training dan evaluation.

Namun kadang terdapat tahap tambahan yaitu testing, namun sifatnya tidak wajib.

Pada tahap training setiap weight dan bias pada tiap neuron akan diupdate terus menerus hingga output yang dihasilkan sesuai dengan harapan.

Pada tiap iterasi akan dilakukan proses evaluation yang biasanya digunakan untuk menentukan kapan harus menghentikan proses training (stopping point)

Pada part selanjutnya, akan saya bahas bagaimana proses training pada neural network lebih mendalam.

Proses training terdiri dari 2 tahap :

Forward Pass

Backward Pass

(17)

Forward Pass

Forward pass atau biasa juga disebut forward propagation adalah proses dimana kita

membawa data pada input melewati tiap neuron pada hidden layer sampai kepada output layer yang nanti akan dihitung errornya.

Persamaan diatas adalah contoh forward pass pada arsitektur pertama (lihat gambar

arsitektur diatas) yang menggunakan ReLU sebagai activation function.

Dimana i adalah node pada input layer (3 node input), j adalah node pada hidden layer sedangkan h adalah output dari node pada hidden layer.

(18)

Backward Pass

Error yang kita dapat pada forward pass akan digunakan untuk mengupdate setiap weight dan bias dengan

learning rate tertentu.

Kedua proses diatas akan dilakukan berulang-ulang sampai didapatkan nilai weight dan bias yang dapat

memberikan nilai error sekecil mungkin pada output layer (pada saat forward pass)

(19)

Backpropagation

Backpropagasi merupakan algoritma pembelajaran yang terawasi (supervised Trainning)

Arsitektur jaringan yang digunakan biasanya multi- layer (multi layer perceptron)

Algoritma backpropagasi menggunakan error output untuk mengubah nilai bobot-bobotnya dalam arah mundur (propagasi balik)

Untuk mendaptkan error ini, tahapan yang pertama dilakukan adalah tahap perambatan maju (forward propagation).

Fungsi aktivasi yang biasa digunakan adalah fungsi sigmoid.

ANN 19

(20)

Fungsi Aktivasi/Transfer

Bipolar sigmoid

ANN 20

(21)

Fungsi activasi untuk target output binary

Fungsi activasi untuk target output bipolar

ANN 21

(22)

Arsitektur BPNN

ANN 22

(23)

Arsitektur Backpropagasi satu hidden layer

ANN 23

X1

X3 X2

Z2 Z1

Y3 Y2 V11 Y1

V12

V32 V31 V21 V22

W23 W13

W12 W11

W21

W22

(24)

Algoritma Training Backpropagasi

Inisialisasi bobot (ambil bobot awal dengan nilai random yang cukup kecil)

Kerjakan langkah-langkah berikut selama kondisi berhenti bernilai FALSE.

Step 1 : Untuk setiap pasangan elemen yang akan dilakukan pembelajaran, kerjakan :

Feedforward :

◦Tiap-tiap unit input (Xi, i=1,2,3, ..., n) menerima sinyal Xi dan meneruskan sinyal tersebut ke semua unit pada

lapisan yang ada diatasnya (hidden layer)

ANN 24

(25)

◦Tiap-tiap unit yang tersembunyi (Zj,

j=1,2,3,...,n)menjumlahkan sinyal-sinyal input berbobot : Z_inj = Voj + ∑Xi*Vij

Gunakan fungsi aktivasi untuk menghitung outputnya : Zj = f(Z_inj)

dan kirimkan sinyal terebut ke semua unit dilapisan atasnya (unit-unit output)

◦Tiap-tiap unit output (Yk, k=1,2,3,....n) menjumlahkan sinyal- sinyal input bobot :

Y_ink = Wok + ∑Zj*Wjk

Gunakan pula fungsi aktivasi untuk menghotung output unit Yk = f(Y_ink)

ANN 25

(26)

Backpropagasi :

Tiap-tiap unit output (Yk, k=1,2,3,...n) menerima target pola yang berhubungan dengan pola input pembelajaran, hitung informasi errornya :

∂k = (Tk-Yk)*f’(Y_ink)

kemudian hitung koreksi bobot (yang nantinya akan digunakan untuk memperbaiki nilai Wjk) :

∆Wjk = α* ∂k*Zj

Hitung juga kireksi bias (yang nantinya akan digunakan untuk memperbaiki nilai Wok) :

∆Wok = α* ∂k

Kirimkan ∂k ini ke unit-unit yang di layer bawahnya

ANN 26

(27)

Tiap-tiap unit yang tersembunyi (Zj, j=1,2,3..n) menjumlahkan delta inputnya (dari unit-unit yang ada di layer atasnya) :

∂_inj = ∑ ∂k*Wjk  untuk k = 1,2, ….m (jum output)

kalikan nilai ini dengan turunan dari fungsi aktivasinya untuk menghitung informasi error :

∂j = ∂_inj * f’(Z_inj)

Kemudian hitung koreksi bobot (yang nantinya akan digunakan untuk memperbaiki nilai Vij) :

∆Vij =α* ∂j*Xi

Hitung juga koreksi terhadap bias

∆Voj =α* ∂j

ANN 27

(28)

◦Tiap-tiap unit output (Yk, k=1,2,3, ...n) memperbaiki bias dan bobotnya (j=0,1,2,3....m) adalah

Wjk (baru) = Wjk(lama) + ∆Wjk

Tiap-tiap unit tersembunyi (Zj, j=1,2,3, ...p) memperbaiiki bias dan bobotnya (i=0,1,2,3, ...., n)

Vij (baru) = Vij(lama) + ∆Vij

Test kondisi berhenti (jika bobot sudah tidak terjadi perubahan maka selesai, tetapi bisa juga ada pembatas lain, misal jumlah epoh, atau MSE-nya)

ANN 28

(29)

Standart backpropagation

Koneksi bobot hidden ke output layer

ANN 29

(30)

Koneksi input ke hidden layer

ANN 30

(31)

Procedure Aplikasi

Jaringan syaraf tiruan untuk bisa digunakan menyelesaikan masalah/kasus, salah satu tahapannya adalah

trainning/pelatihan

Setelah dilakukan trainning/pelatihan selesai, maka jaringan syaraf tiruan terebut baru bisa dilakukan uji coba/digunakan untuk menyelesaikan masalah tersebut.

Procedure aplikasi setelah dilakukan trainning untuk multi- layer perceptron dengan trainning menggunakan algoritma backpropagasi adalah :

ANN 31

(32)

Step 0 :

Setting bobot (diperoleh berdasarkan trainning/pelatihan)

Step 1 : Untuk setiap pola input uji lakukan langkah berikut

◦Step 2 : untuk i=1, 2….,n set nilai input unit xi

◦Step 3 : hitung

◦Step 4 :

ANN 32

(33)

Perhatikan contoh

Menggunakan algoritma backpropagasi dengan 1 buah layer tersembunyi untuk mengenali fungsi logika XOR dengan 2 masukkan x1 dan x2. Buatlah iterasi unutk menghitung bobot jaringan unutk pola pertama (x1=1, x2=1 dan t=0) dengan learning ratenya = 0,2

ANN 33

(34)

Langkah ke-0

ANN 34

(35)

ANN 35

(36)

Tahapan Maju

ANN 36

(37)

Langkah ke-5

ANN 37

(38)

Backward

ANN 38

(39)

Langkah ke-7

ANN 39

(40)

ANN 40

(41)

ANN 41

(42)

ANN 42

(43)

Method Nguyen-Widrow

Untuk inisialisasi bobot dan bias dalam trainning JST Backpropagasi dapat dilakuakn secara random/acak.

Inisiaslisasi dengan random memakan waktu yang relative lama untuk mencapai konvergen, alternative lain adalah dengan methode Nguyen-Widrow.

Method ini bertujuan untuk mengoptimasi jaringan backpropagasi sehingga lebih mudah untuk mencapai konvergensi.

Pada inisialisasi NW, inisialisasi acak tetap dipakai, tetapi

digunakan untuk menginisialisasi bias dan bobot dari unit tersembunyi ke unit output.

43

(44)

Bias dan bobot dari unit input ke unit tersembunyi digunakan bias dan bobot yang di skalakan agar jatuh pada range tertentu.

Faktor skala Nguyen-Widrow (β) didefiniskan sebagai berikut :

Dimana :

n = banyaknya unit input

p = banyaknya unit tersembunyi β = Faktor skala

44

(45)

Prosedur Nguyen-Widrow

Untuk setiap unit tersembunyi dari unit ke-1 sampai unit ke-p Step 1 : Inisiaslisasi vektor bobot dari unit input ke unit

tersembunyi (j=1,2, ...,p) dengan cara :

◦Menentukan bobot-bobot antara unit input ke unit tersembunyi (Vij) :

◦Vij(lama) = bilangan acak antara -0.5 dan 0.5 dengan i=1,2,...,n

◦Menghitung

◦Menginisialisasi kembali Vij dengan :

45

(46)

Step 2 :

◦Menentukan bias antara input ke unit tersembunyi (j=1,2,3....,p) dengan Voj di set bilangan acak yang terletak pada skala antara –β dan β

Analisis NW didasarkan atas fungsi activasi tangen hiperbolik

46

tanh ( x )= e x −e − x e x + e − x

 

(47)

Optimasi dengan Momentum

Penambahan parameter momentum dalam

mengupdate bobot seringkali bisa mempercepat proses pelatihan  konvergensi

Momentum memaksa proses perubahan bobot

untuk terus bergerak sehingga tidak terperangkap dalam minimum lokal.

47

(48)

Untuk mendapatkan proses konvergen yang

lebih cepata maka persamaan perubahan bobot untuk output layernya adalah :

Dimana α adalah learning rate dengan nilai 0< α<1, sedangkan µ adalah parameter momentum 0 < µ < 1

48

Mempercepat Konvergen

(49)

Perubahan bobot untuk hidden layernya ditunjukkan oleh persamaan berikut :

Dimana α adalah learning rate dengan nilai 0< α<1, sedangkan µ adalah parameter

momentum 0 < µ < 1

49

Mempercepat Konvergen

(50)

Hasil riset

50

(51)

Alternatif fungsi activasi

Fungsi activasi untuk target output binary

Fungsi activasi untuk target output bipolar

ANN 51

(52)

Fungsi sigmoid dengan parameter slope

Dimana σ adalah suatu konstanta

52

(53)

Adaptive Learning Rate

Backpropagation dengan Gradient Descent

(standart) selama proses trainning learning rate akan terus bernilai konstant.

Jika learning rate terlalu tinggi maka algoritma menjadi tidak stabile

Jika leaning rate terlalu kecil maka akan menyebabkan untuk mencapai konvergensi membutuhkan waktu yang sangat lama

53

(54)

Kita akan mengalami kesulitan dalam menentukan berapa besar learning rate yang optimal sebelum trainning berlangsung.

Kenyataanya learning rate akan selalu berubah

selama proses trainning berlangsung seiring dengan berubahnya nilai fungsi kerjanilai maksimum

kenaikan error yang diperbolehkan dalam MATLAB defaultnya 1.04.

Maka perlu dibuat learning rate juga berubah selama proses trainning  supaya selalu stabil ADAPTIVE LEARNING RATE

54

(55)

Algoritma GD (standart) dengan adaptive learning rate pada dasarnya sama dengan algoritma BP GD/standart dengan beberapa perbuhan berikut langkah-langkahnya :

◦Hitung nilai output jaringan dan error pelatihan (ingat perbedaan output dengan target)

◦Pada setiap epoh bobot baru dihitung dengan menggunakan learning rate yang ada.

◦Kemudian hitung kembali output jaringan dan error

pelatihan, JIKA perbandingan antara error pelatihan yang baru dengan yang lama melebihi maksimum kenaikan kinerja, maka bobot-bobot tersebut akan

diabaikankemudian menurunkan nilai learning ratenya dengan cara mengalikannya dengan suatu konstanta lr_dec lr(new) = lr(old)*lr_dec

55

(56)

◦Jika sebaliknya error pelatihan baru dengan error pelatihan lama kurang dari nilai maksimum kinerja

 maka bobot akan dipertahankan sekaligus nilai learning rate akan dinaikkan dengan cara

mengalikannya dengan suatu konstantalr(new)

= lr(old)* lr_inc.

56

(57)

Dengan menggunakan adaptive learning rate maka :

◦Jika learning rate terlalu tinggi dan mengarah ke ketidakstabilan maka learning rate akan

diturunkan

◦Sebaliknya jika learning rate terlalu kecil untuk

menuju kekonvergenan  maka learning rate akan dinaikkan.

◦Dengan hal terebut maka algoritma pembelajaran akan tetap terjaga kestabilannya.

57

Referensi

Dokumen terkait

Anova Sugiyono 2014 “Menentukan besarnya F hitung besarnya Fhitung dapat dicari dengan menggunakan rumus sebagai berikut : Fhitung = n  k 1 SSE k SSR = MSE MSR Keterangan : SSR =

The main idea is to purchase the old house from the elderly and redecorate it into a restaurant, which is operated by the elderly; the elderly give their own experience and knowledge to