jaringan syaraf tiruan

43
JARINGAN SYARAF TIRUAN (ARTIFICIAL NEURAL NETWORKS)

Upload: daslin-sitompul

Post on 27-Jun-2015

973 views

Category:

Documents


129 download

TRANSCRIPT

Page 1: JARINGAN SYARAF TIRUAN

JARINGAN SYARAF TIRUAN (ARTIFICIAL NEURAL NETWORKS)

Page 2: JARINGAN SYARAF TIRUAN

April 12, 2023 2

PENDAHULUAN

Pecatur Garry Kasparov pernah dikalahkan oleh Deep Blue (sebuah superkomputer dari IBM yang mampu menganalisa 100 milyar posisi per detik) pada tahun 1997.

Mesin harus memiliki kemampuan belajar (Machine Learning).

Page 3: JARINGAN SYARAF TIRUAN

April 12, 2023 3

Machine Learning

Mekanisme yang diadaptasi untuk membuat komputer mampu belajar dari pengalaman, belajar melalui contoh dan belajar melalui analogi.

Dapat memperbaiki taraf kecerdasan sistem seiring waktu.

Membentuk dasar bagi sistem yang mampu beradaptasi.

Jaringan syaraf tiruan dan Algoritma Genetika adalah pendekatan yang paling popular bagi Machine Learning.

Page 4: JARINGAN SYARAF TIRUAN

April 12, 2023 4

Jaringan Syaraf Tiruan

Model emulasi yang didasarkan pada otak manusia.

Biologis Tiruan

Soma Node

Dendrites Input

Axon Output

Synapsis Bobot

Kecepatan Rendah Kecepatan Tinggi

Banyak Neuron (109) Beberapa Neuron (ratusan)

Page 5: JARINGAN SYARAF TIRUAN

April 12, 2023 5

Biological Neural Network

Page 6: JARINGAN SYARAF TIRUAN

April 12, 2023 6

Komponen Jaringan Syaraf Tiruan

Processing Elements (PEs) neuron tiruan yang bisa menerima input, memproses input dan mengirim sinyal output. Input dapat berupa data-data atau output dari

PE lain. Output dapat berupa hasil akhir atau input

bagi PE lain.

Page 7: JARINGAN SYARAF TIRUAN

April 12, 2023 7

Neuron menghitung jumlah bobot dari setiap sinyal input dan membandingkan hasilnya dengan nilai threshold, θ. Jika input bersih kurang dari threshold, output neuron adalah -1. Tetapi, jika input bersih lebih besar dari atau sama dengan threshold, neuron diaktifkan dan outputnya ditetapkan +1 (McCulloch and Pitts, 1943).

Xjika

XjikaY

wxXn

iii

1

1

1

Fungsi aktivasi ini disebut Fungsi Tanda (Sign Function). Sehingga output aktual dari neuron dapat ditunjukkan dengan:

n

iii wxsignY

1

Page 8: JARINGAN SYARAF TIRUAN

April 12, 2023 8

Fungsi Aktivasi

Selain Fungsi Tanda, terdapat beberapa fungsi lain yang praktis untuk digunakan oleh neuron, yaitu: Step Function Linear Function Sigmoid Function

Fungsi aktivasi Step dan Sign disebut juga hard limit function, sering digunakan oleh neuron untuk tugas-tugas pengambilan keputusan (decision-making) dalam pengklasifikasian dan pengenalan pola.

Page 9: JARINGAN SYARAF TIRUAN

April 12, 2023 9

Fungsi Sigmoid mentransformasi input, yang bisa memiliki nilai di antara positif dan negatif tak terhingga, menjadi nilai yang dapat dinalar diantara 0 dan 1. Biasanya untuk jaringan back-propagation.

Fungsi Aktivasi Linear menyediakan output yang setara dengan input neuron yang diberikan bobot. Biasanya digunakan untuk aproksimasi linear.

Page 10: JARINGAN SYARAF TIRUAN

April 12, 2023 10

0,0

0,1

Xif

XifY step

0,1

0,1

Xif

XifY sign

xsigmoid

eY

1

1

XY linear

Fungsi Step

Fungsi Sign

Fungsi Sigmoid

Fungsi Linear

Page 11: JARINGAN SYARAF TIRUAN

April 12, 2023 11

Page 12: JARINGAN SYARAF TIRUAN

April 12, 2023 12

Informasi Pemrosesan JST

...

Processing Element

Bobot

W1

W2

Wn

Input

x1

x2

xn

...

Output (Y)

Fungsi Transfer

Jumlah Bobot

Page 13: JARINGAN SYARAF TIRUAN

April 12, 2023 13

Komponen Jaringan Syaraf Tiruan

Jaringan. Tiap-tiap JST adalah kumpulan neuron yang dikelompokkan pada suatu layer (lapisan). Umumnya: input layer, intermediate (hidden)

layer dan output layer. Struktur Jaringan. Neuron-neuron dapat

dihubungkan secara konvensional, yaitu tiap-tiap PE melakukan komputasi secara seri; atau dapat dihubungkan secara paralel, yaitu PE dapat bekerja bersama-sama dalam suatu waktu (seperti otak).

Page 14: JARINGAN SYARAF TIRUAN

April 12, 2023 14

JST dengan Satu Hidden Layer

PEOutput Layer PE PE

PE PE

PE PE PE PE

Hidden Layer

Input Layer

Fungsi Transfer

Jumlah Bobot

f(Yj)

Wj4J

X4

Wj1X1

Wj2 X2Wj3

X3

Page 15: JARINGAN SYARAF TIRUAN

April 12, 2023 15

Pemrosesan Informasi dalam Jaringan

Input. Tiap input berkorespondensi dengan satu atribut. Nilai dari atribut harus berupa angka. Perlu preprocessing untuk memproses nilai bukan angka menjadi angka.

Output. Output jaringan adalah solusi bagi suatu masalah.

Bobot. Bobot mengekspresikan nilai relatif dari data input, kekuatan/ kepentingan suatu data atau hubungan transfer data dari layer ke layer. Bobot adalah penghubung antar neuron. Bobot adalah memori jangka panjang dalam JST. Suatu JST belajar melalui pengaturan ulang terhadap bobot. Bobot diatur untuk menyesuaikan input dan output dengan lingkungan di luar JST.

Page 16: JARINGAN SYARAF TIRUAN

April 12, 2023 16

Pemrosesan Informasi dalam Jaringan

Fungsi Penjumlahan. Menghasilkan jumlah bobot untuk semua elemen input yang masuk dalam PE. Mula-mula mengalikan tiap-tiap nilai input (xi) dengan bobotnya (wi) dan kemudian menjumlahnya menjadi Y.

Page 17: JARINGAN SYARAF TIRUAN

April 12, 2023 17

Formula Fungsi Penjumlahan untuk n input pada satu PE:

n

ii

Wi

XY1

Y1 = X1W1 + X2W2

X1

PE

X2

W1

W2

Y1

Page 18: JARINGAN SYARAF TIRUAN

April 12, 2023 18

Formula Fungsi Penjumlahan untuk beberapa neuron (PE):

X1 PE

X2

Y1

PE

PE

W11

W21

W12

W22

W23

Y2

Y3

Y1 = X1W11 + X2W21Y2 = X1W12 + X2W22

Y3 = X2W23

n

iW

iXy jij

1

Page 19: JARINGAN SYARAF TIRUAN

April 12, 2023 19

Fungsi Transformasi. Fungsi penjumlahan menghitung stimulasi internal, atau tingkat aktivasi dari neuron. Pada level ini neuron mungkin menghasilkan atau tidak menghasilkan output. Hubungan antara internal aktivasi dan output bisa berbentuk linear, atau non linear. Fungsi transfer non linear yang terkenal adalah sigmoid function (Logical Activation Function).

Page 20: JARINGAN SYARAF TIRUAN

April 12, 2023 20

Membangun JST

1. Menentukan jumlah neuron yang akan digunakan dan cara neuron disusun untuk membentuk JST (arsitektur JST).

2. Menentukan algoritma pembelajaraan yang digunakan.

3. Melatih JST dengan menginisialisasi bobot awal dan mengupdate bobot dari sampel pelatihan.

Page 21: JARINGAN SYARAF TIRUAN

April 12, 2023 21

Perceptron

Perceptron (Rosenblatt, 1958): JST training yang sederhana dipakaikan prosedur algoritma training yang pertama kali. Terdiri dari neuron tunggal dengan bobot synaptic yang diatur dan hard limiter.

Operasinya didasarkan pada model neuron McCulloch dan Pitts.

Jumlah input yang telah diboboti dipakaikan kepada hard limiter: menghasilkan output +1 jika input positif dan -1 jika negatif mengklasifikasikan output ke dalam dua area A1 dan A2.

Ruang berdimensi n dibagi oleh hyperplane menjadi dua area keputusan menggunakan fungsi Linearly Separable:

n

iii wx

1

0

Page 22: JARINGAN SYARAF TIRUAN

April 12, 2023 22

Untuk kasus dengan dua input membentuk garis lurus. Threshold, θ, bisa digunakan untuk menggeser garis keputusan.x1w1 + x2w2 - θ = 0

Page 23: JARINGAN SYARAF TIRUAN

April 12, 2023 23

Cara Perceptron Belajar

Membuat pengaturan yang kecil pada bobot mengurangi perbedaan di antara output aktual dan output yang dikehendaki.

Bobot awal adalah random, biasanya dalam interval [-0.5 – 0.5]

Bobot diupdate untuk mendapatkan output yang konsisten dalam sampel training.

e(p) = Yd(p) – Y(p) , p = iterasi ke- 1, 2, 3, ...

Y(p) = output aktual

Yd(p) = output yang dikehendaki

e(p) = error

Page 24: JARINGAN SYARAF TIRUAN

April 12, 2023 24

Cara Perceptron Belajar (cont’d)

Jika e(p) positif, output Y(p) dinaikkan Jika e(p) negatif, output Y(p) diturunkan Jika xi(p) positif, kenaikan wi(p) akan

menaikkan output Y(p) Jika xi(p) negatif, kenaikan wi(p) akan

menurunkan output Y(p) Perceptron Learning Rule (Rosenblatt, 1960):

wi(p+1) = wi(p) + α x xi(p) x e(p)α = learning rate (konstanta positif yang sangat

kecil)

Page 25: JARINGAN SYARAF TIRUAN

April 12, 2023 25

Step 1: Inisialisasi Menset bobot w1, w2, ..., wn dan threshold dari

bilangan random dalam interval [-0.5 – 0.5]

Step 2: Aktivasi Mengaktifkan perceptron dengan memakaikan input

x1(p), x2(p), ..., xn(p) dan output yang dikehendaki Yd (p). Hitunglah output aktual pada iterasi ke-p = 1

n adalah jumlah input perceptron dan step adalah fungsi aktivasi

n

iii pwpxsteppY

1

)()()(

Page 26: JARINGAN SYARAF TIRUAN

April 12, 2023 26

Step 3: Training Bobot Mengupdate bobot perceptron

wi(p+1) = wi(p) + Δwi(p)

Δwi(p) adalah pengkoreksian bobot pada iterasi p, yang dihitung dengan:

Δwi(p) = α x xi(p) x e(p)

Step 4: Iterasi Naikkan iterasi p dengan 1, kembalilah ke Step 2 dan

ulangi proses sampai konvergen.

Page 27: JARINGAN SYARAF TIRUAN

April 12, 2023 27

Melatih Perceptron: Operasi AND

Variabel Input AND

x1 x2 x1 » x2

0 0 0

0 1 0

1 0 0

1 1 1

Page 28: JARINGAN SYARAF TIRUAN

April 12, 2023 28

Page 29: JARINGAN SYARAF TIRUAN

April 12, 2023 29

Perceptron juga bisa dilatih untuk mempelajari operasi OR, tetapi tidak untuk operasi XOR.

Page 30: JARINGAN SYARAF TIRUAN

April 12, 2023 30

Perceptron bisa merepresentasikan suatu fungsi yang hanya terdiri dari garis yang memisahkan area bagi titik-titik hitam (1) dengan titik-titik putih (0) linearly separable.

So, tidak masalah fungsi aktivasi yang digunakan, hard ataupun soft limiter, Perceptron hanya dapat mengklasifikasikan pola-pola linearly separable (Shynk, 1990; Shynk and Bershad, 1992).

Page 31: JARINGAN SYARAF TIRUAN

April 12, 2023 31

Multilayer Neural Network

Mengatasi keterbatasan Perceptron. Multilayer perceptron feedforward neural

network dengan satu atau lebih hidden layer. Biasanya satu input layer, satu hidden layer

dan satu output layer. Sinyal input dirambatkan (propagated) ke

arah depan (forward direction) layer demi layer.

Setiap layer tambahan menaikkan beban perhitungan secara eksponensial.

Page 32: JARINGAN SYARAF TIRUAN

April 12, 2023 32

Fungsi Layer: Input: menerima sinyal input dari dunia luar,

mendistribusikannya ke semua neuron yang ada di hidden layer.

Output: menerima sinyal output dari hidden layer dan menetapkan pola output bagi keseluruhan jaringan.

Hidden: mendeteksi fitur input (bobot). Hidden bermaksud ‘menyembunyikan’ output yang dikehendakinya.

Page 33: JARINGAN SYARAF TIRUAN

April 12, 2023 33

Metode Back-propagation adalah algoritma pembelajaran yang biasa digunakan untuk Multilayer Neural Network (Bryson and Ho, 1969).

Cara belajarnya sama dengan Perceptron. Bedanya pada: Perceptron hanya memiliki satu bobot untuk setiap input dan hanya satu output. Sementara Multilayer memiliki banyak bobot yang memiliki kontribusi terhadap lebih dari satu output. Multilayer menggunakan fungsi aktivasi Sigmoid.

Page 34: JARINGAN SYARAF TIRUAN

April 12, 2023 34

Metode Back-Propagation

Fase dalam Back Propagation: Pertama: pola input training dihadirkan bagi

layer input. Jaringan merambatkan input dari satu layer ke layer lainnya sampai pola output dihasilkan oleh layer output.

Kedua: Jika pola ini berbeda dengan output yang dikehendaki, error dihitung dan dirambatkan ke arah belakang (backwards) dari layer output kembali ke layer input. Bobot kemudian diupdate.

Page 35: JARINGAN SYARAF TIRUAN

April 12, 2023 35

Algoritma Training Back-Propagation

Step 1: Inisialisasi Menset semua bobot dan level threshold dari bilangan

random yang terdistribusi secara seragam dalam interval kecil (Haykin, 1994):

Fi adalah jumlah total input dari neuron i.

Step 2: Aktivasi Mengaktifkan jaringan syaraf back-propagation dengan

memakaikan input x1(p), x2(p), ..., xn(p) dan output yang dikehendaki yd.1(p), yd.2(p), ..., yd.n(p).

ii FF

4.24.2

Page 36: JARINGAN SYARAF TIRUAN

April 12, 2023 36

(a) Hitunglah output aktual dari neuron di layer hidden:

n adalah jumlah neuron input j pada hidden layer, sigmoid adalah fungsi aktivasi.

(b) Hitunglah output aktual dari neuron di layer output:

m adalah jumlah neuron input k pada output layer.

n

iiijii pwpxsigmoidpy

1

)()()(

m

jkjkjkk pwpxsigmoidpy

1

)()()(

Page 37: JARINGAN SYARAF TIRUAN

April 12, 2023 37

Step 3: Training Bobot Mengupdate bobot dari error yang dirambatkan ke

arah belakang (backwards) bersesuaian dengan neuron output.

(a) Hitunglah gradien error dari neuron di layer output:

Hitunglah pengkoreksian bobot:

)()()(

)()(1)()(

. pypype

pepypyp

kkdk

kkkk

)()()( ppypw kjjk

Page 38: JARINGAN SYARAF TIRUAN

April 12, 2023 38

Mengupdate bobot dari neuron output:

(b) Hitunglah gradien error dari neuron di layer hidden:

Hitunglah pengkoreksian bobot:

)()()1( pwpwpw jkjkjk

)()()( ppxpw jiij

l

kjkkjjj pwppypyp

1

)()()(1)()(

Page 39: JARINGAN SYARAF TIRUAN

April 12, 2023 39

Mengupdate bobot dari neuron hidden:

Step 4: Iterasi Naikkan iterasi p dengan 1, kembali ke Step 2 dan

ulangi proses sampai kriteria error yang terpilih adalah dipenuhi.

)()()1( pwpwpw ijijij

Page 40: JARINGAN SYARAF TIRUAN

April 12, 2023 40

Melatih Back-Propagation NN: Operasi XOR Jumlah error kuadrat

digunakan sebagai indikator penampilan jaringan. Algortima training Back-Propagation akan berusaha meminimalkan kriteria tersebut. Ketika nilai dari jumlah tersebut dalam suatu epoch adalah cukup kecil, jaringan dianggap telah konvergen.

Page 41: JARINGAN SYARAF TIRUAN

April 12, 2023 41

Page 42: JARINGAN SYARAF TIRUAN

April 12, 2023 42

Page 43: JARINGAN SYARAF TIRUAN

April 12, 2023 43

Walaupun digunakan luas, pembelajaran Back-Propagation tidak lepas dari kekurangan: Tidak berfungsi untuk di lingkungan biologis

(nyata). Neuron biologis tidak menerapkan backwards.

Perhitungannya yang rumit sehingga training menjadi lambat.

Algoritma Back-Propagagation yang murni jarang digunakan dalam aplikasi praktikal.