Top Banner
Multi-Layer Perceptron (Artificial Neural Network) Intelligent Systems
26

05c Neural Network MLP

Dec 29, 2015

Download

Documents

rereora
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 05c Neural Network MLP

Multi-Layer Perceptrony p(Artificial Neural Network)

Intelligent Systems

Page 2: 05c Neural Network MLP

Pembahasan

• Adaline-Madaline• Multi-Layer Perceptron (Backpropagation)

Page 3: 05c Neural Network MLP

Adaline MadalineAdaline-Madaline

Page 4: 05c Neural Network MLP

Model ADALINEModel ADALINE

• ADALINE = Adaptive Linear Neuron

• Diperkenalkan oleh Widrow dan Hoff (1960)Diperkenalkan oleh Widrow dan Hoff (1960)

• Arsitektur menyerupai perceptron– Neuron masukan dihubungkan langsung dengan sebuahNeuron masukan dihubungkan langsung dengan sebuah

keluaran

• Terdapat pengembangan pada modifikasi bobot– Bobot dimodifikasi dengan aturan delta (least mean square)

Page 5: 05c Neural Network MLP

Arsitektur Jaringan ADALINEg

• Jaringan satu layer– Beberapa neuron masukan

dihubungkan langsung dengan sebuah neuron keluaranDitambah satu buah bias

x2 w2

x1w1

– Ditambah satu buah bias• Fungsi aktivasi selama tahap pelatihan

menggunakan fungsi identitas :x3 y

w2

w3

∑ +=i

ii bwxnet

bxn

wn

∑ +===i

ii bwxnetnetfy )(

• Fungsi aktivasi dalam tahap pengenalan pola :

1i

⎨⎧ ≥

==0,1

)(net

netfy⎩⎨ <−

==0,1

)(net

netfy

Page 6: 05c Neural Network MLP

Modifikasi Bobot• Bobot dimodifikasi sedemikian hingga error yang terjadi minimum• Error adalah kuadrat selisih antara target t dan keluaran jaringan y = f(net) :Error adalah kuadrat selisih antara target t dan keluaran jaringan y = f(net) :

( )( )2

2⎟⎟⎠

⎞⎜⎜⎝

⎛⎟⎠

⎞⎜⎝

⎛+−=−== ∑

iii bwxtnetftEError

– Error merupakan fungsi dari bobot wi

• Kecepatan penurunan Error :

⎞⎛

Maka per bahan bobot

( ) iii

iii

xytxbwxtwE

−−=⎟⎟⎠

⎞⎜⎜⎝

⎛⎟⎠

⎞⎜⎝

⎛+−−=

∂∂ ∑ 22

• Maka perubahan bobot :

d l h bil itif b il i k il ( 0 1)

( ) ii xytw −=Δ α– α adalah bilangan positif bernilai kecil (α umumnya = 0,1)

Page 7: 05c Neural Network MLP

Tahap Pelatihanp

Algoritma pelatihan ADALINE

– Inisialisasi bobot, bias, learning rate dan toleransi kesalahanwi = 0 (i=1, …, n), b=0, α umumnya bernilai kecil (= 0,1)

– Selama > batas toleransi, lakukan

• Set aktivasi unit masukan : xi = si (i=1, …, n)

iiwmaksΔ

• Hitung respon unit keluaran : net dan y = f(net) = net

• Bila keluaran tidak sama dengan target (y ≠ t), perbaiki bobot dan bias menurut persamaan :

wi(baru)=wi(lama) + Δwi

dimana Δwi = α (t-y) xi (i=1, …, n),

b(baru) = b(lama) + α (t y)b(baru) = b(lama) + α (t-y)

Page 8: 05c Neural Network MLP

Tahap Pengenalan Polap g

• Setelah proses pelatihan selesai, ADALINE dapat digunakan untuk l lpengenalan pola

• Fungsi aktivasi yang digunakan umumnya bipolar– Berbeda dengan proses pelatihan yang menggunakan fungsi aktivasi identitas

• Proses pengenalan pola menggunakan ADALINE :

– Inisialisasi bobot dan bias sesuai hasil pelatihan

– Untuk setiap masukan x, lakukan :

• Set aktivasi unit masukan : xi = si (i=1, …, n)

∑• Hitung respon unit keluaran :

• Kenakan fungsi aktivasi y :

∑ +=i

ii bwxnet

⎨⎧ ≥

==0,1

)(net

netfy⎩⎨ <− 0,1

)(net

netfy

Page 9: 05c Neural Network MLP

C t h K 1 F i L ikContoh Kasus 1 : Fungsi Logika• Kasus :

– Gunakan model ADALINE untuk mengenali pola fungsi logika AND

• Inisialisasi :Inisialisasi :– Representasi masukan dan keluaran bipolar– Bobot sinapsis dan bobot bias awal wi = 0, b = 0 – Batas toleransi kesalahan = 0,05– Learning rate α = 0,1– Threshold θ = 0

Page 10: 05c Neural Network MLP

Representasi KasusRepresentasi KasusTabel masukan - target fungsi logika AND : Arsitektur jaringan ADALINE :

Masukan Target

x1 x2 bias t

1 1 1 1

X1

X2 Y

w1

w21 1 1 1

1 -1 1 -1

-1 1 1 -11

b

-1 -1 1 -1

P l ihParameter pelatihan :Learning rate α = 0,1Batas toleransi = 0,05

Page 11: 05c Neural Network MLP

Tahap Pelatihan (Epoch Pertama)

Masukan Target Keluaran Perubahan Bobot Bobot Baru

x1 x2 bias t net y t-y dw1 dw2 db w1 w2 bx1 x2 bias t net y t y dw1 dw2 db w1 w2 b

0 0 0

1 1 1 1 0 0 1 0,1 0,1 0,1 0,1 0,1 0,1

1 1 1 1 0 1 0 1 1 1 0 11 0 11 0 11 0 01 0 21 0 011 -1 1 -1 0,1 0,1 -1,1 -0,11 0,11 -0,11 -0,01 0,21 -0,01

-1 1 1 -1 0,21 0,21 -1,21 0,12 -0,12 -0,12 0,11 0,09 -0,13

-1 -1 1 -1 -0,33 -0,33 -0,67 0,07 0,07 -0,07 0,18 0,16 -0,2

• Epoch pertama terdiri dari empat iterasi

• Pada akhir epoch pertama, nilai maksimum ∑=

+=2

1iii bwxnet

Δwi = 0,07 > toleransi

– iterasi dilanjutkan pada epoch kedua

y = f(net) = netΔwi = α.(t-y).xi

wi(baru)=wi(lama)+ Δwi

b(baru) = b(lama) + α.t

Page 12: 05c Neural Network MLP

Tahap Pelatihan (Epoch Kedua)

Masukan Target Keluaran Perubahan Bobot Bobot Baru

x1 x2 bias t net y t-y dw1 dw2 db w1 w2 bx1 x2 bias t net y t y dw1 dw2 db w1 w2 b

0,18 0,16 -0,2

1 1 1 1 0,14 0,14 0,86 0,09 0,09 0,09 0,26 0,24 -0,11

1 1 1 1 0 09 0 09 0 01 0 09 0 09 0 09 0 17 0 33 0 21 -1 1 -1 - 0,09 - 0,09 - 0,01 - 0,09 0,09 - 0,09 0,17 0,33 -0,2

-1 1 1 -1 - 0,04 - 0,04 - 0,96 0,1 -0,1 -0,1 0,27 0,24 -0,3

-1 -1 1 -1 -0,8 -0,8 -0,2 0,02 0,02 -0,02 0,29 0,26 -0,32

• Pada akhir epoch kedua, nilai maksimum Δwi = 0,02 < toleransi∑

=

+=2

1iii bwxnet

– iterasi dihentikan dengan bobot terakhir w1=0,29, w2=0,26 dan b= -0,32

• Selanjutnya dilakukan tahap pengenalan

y = f(net) = netΔwi = α.(t-y).xi

wi(baru)=wi(lama)+ Δwi

pola menggunakan bobot hasil pelatihanb(baru) = b(lama) + α.t

Page 13: 05c Neural Network MLP

Tahap Pengenalan Pola

M k K l

Tabel masukan - keluaran fungsi logika AND :Arsitektur jaringan ADALINEUntuk masukan dan target bipolar : Masukan Keluaran

x1 x2 bias net y

1 1 1 0,23 1x1

w1=0,29

Untuk masukan dan target bipolar :

1 -1 1 -0,29 -1

-1 1 1 -0,35 -1

1 1 1 0 87 1

x2

1

yw2=0,26

b= -0,32-1 -1 1 -0,87 -11

Fungsi aktivasi untuk θ = 0 : Keluaran jaringan sama dengan Fungsi aktivasi untuk θ 0 :

⎨⎧ ≥ 0,1

)(net

f

∑ +=i

ii bwxnettarget yang ditetapkan

Pola telah dapat dikenali dengan baik menggunakan bobot dari

⎩⎨ <−

==0,1

,)(

netnetfy tahap pelatihan

Page 14: 05c Neural Network MLP

Pengaruh Perubahan α• Contoh kasus pengenalan pola fungsi logika AND diulangi dengan

mengubah learning rate α– Learning rate α diperbesar dari 0,1 menjadi 0,2

Masukan Target Keluaran Perubahan Bobot Bobot Baru

x1 x2 bias t net y t-y dw1 dw2 db w1 w2 b

0 0 0

1 1 1 1 0 0 1 0,2 0,2 0,2 0,2 0,2 0,2

1 1 1 1 0 2 0 2 1 2 0 24 0 24 0 24 0 04 0 44 0 041 -1 1 -1 0,2 0,2 -1,2 -0,24 0,24 -0,24 -0,04 0,44 -0,04

-1 1 1 -1 0,44 0,44 -1,44 0,29 -0,29 -0,29 0,25 0,15 -0,33

-1 -1 1 -1 -0,73 -0,73 -0,27 0,05 0,05 -0,05 0,3 0,21 -0,38

Pada akhir epoch pertama, nilai maksimum Δwi = 0,05 = toleransi iterasi dihentikan

Penggunaan α yang lebih besar dapat mempercepat iterasiggu aa α ya g b b a dapa p pa aTetapi bila α terlalu besar dapat menyebabkan iterasi melompat terlalu jauh sehingga melewati bobot optimalnya

Page 15: 05c Neural Network MLP

MADALINE• MADALINE (many ADALINE) 1

adalah gabungan beberapa ADALINE.

• Hasilnya membentuk suatu x1 zw11

1

b3

b1

jaringan baru dengan sebuah layer tersembunyi

1

y

z1

w12

w11

w21

b3

v1

x2v2z2

21

w22

1

b2

Page 16: 05c Neural Network MLP

Multi-Layer Perceptron (Backpropagation)

Page 17: 05c Neural Network MLP

PengantarPengantar• Jaringan syaraf tiruan (JST) adalah salah satu metoda

penyelesaian masalah dalam kecerdasan tiruan yang memiliki karakteristik menyerupai jaringan syaraf biologis.

• Seperti halnya pada jaringan syaraf biologis, JST tersusun dari sejumlah sel syaraf (neuron) yang saling dihubungkan dengan jalur koneksi (sinapsis).

• JST menjanjikan dapat digunakan pada banyak aplikasi, terutama untuk menyelesaikan masalah rumit yang sangat tidak linier.

• Umumnya, JST digunakan untuk pengenalan pola, pengolahan sinyal dan peramalan

Page 18: 05c Neural Network MLP

Arsitektur Jaringan SyarafArsitektur Jaringan Syaraf

• Terdapat berbagai jenis jaringan syaraf tiruan yang masing-masing memiliki arsitektur, fungsi aktivasi dan perhitungan proses yang berbeda, seperti jaringan Hebbian, Perceptron, Adaline, Boltzman, Hopfield, Kohonen, Multi-layer Perceptron (MLP), Learning Vector Quatization (LVQ), dan lainnya.

• Dari seluruh jenis JST, metoda Multi-layer Perceptron (MLP) atau yang juga disebut Backpropagation (BPN), merupakan metoda yang paling populer digunakan karena terbukti mampu untuk menyelesaikan berbagai macam masalah.

Page 19: 05c Neural Network MLP

Multi-Layer PerceptronMulti-Layer Perceptron

• Multi-layer perceptron atau backpropagation memiliki beberapa y p p p p g player neuron. Selain input layer dan output layer, terdapat layer lain yang disebut hidden layer.

Page 20: 05c Neural Network MLP

Multi-Layer PerceptronMulti-Layer Perceptron

• Tidak ada batasan banyaknya hidden layer dan jumlah neuron pada setiap layernya. Setiap neuron pada input layer terhubung dengan setiap neuron pada hidden layer Demikian juga setiap neuron padasetiap neuron pada hidden layer. Demikian juga, setiap neuron pada hidden layer terhubung ke setiap neuron pada output layer. Setiap neuron, kecuali pada layer input, memiliki input tambahan yang disebut bias. Bilangan yang diperlihatkan pada gambar di atas digunakan untuk mengidentifikasi setiap node pada masing-masing layer.

Page 21: 05c Neural Network MLP

Multi Layer PerceptronMulti-Layer Perceptron

• Menghitung nilai-nilai keluaran suatu jaringan dimulai dengan menyediakan beberapa masukan pada setiap neuron input. Kemudian, masukan-masukan ini diberi bobot dan diteruskan ke neuron pada phidden layer. Proses ini diulangi kembali, mulai dari hidden layer ke output layer, dimana keluaran dari neuron hidden-layer merupakan masukan ke layer output. Proses pergerakan dari input layer ke hidden layer hingga ke output layer disebut proses propagasi maju (feedlayer hingga ke output layer disebut proses propagasi maju (feed-forward).

Page 22: 05c Neural Network MLP

Multi-Layer PerceptronMulti-Layer Perceptron

• Kemudian, jaringan dilatih agar keluaran jaringan sesuai dengan pola pasangan masukan-target yang telah ditentukan. Proses pelatihan adalah proses iteratif untuk mementukan bobot-bobot koneksi antaraadalah proses iteratif untuk mementukan bobot-bobot koneksi antara neuron yang paling optimal. Kata backpropagation merujuk pada cara bagaimana gradien perubahan bobot dihitung. Jaringan MLP yang sudah dilatih dengan baik akan memberikan keluaran yang masuk akal jika diberi masukan yang serupa (tidak harus sama) dengan pola yang dipakai dalam pelatihan.

Page 23: 05c Neural Network MLP

Penyelesaian Masalah dengan JST

Penyelesaian masalah menggunakan jaringan syaraf tiruan dilakukan dengan tahap-tahap sebagai berikut :

• Identifikasi masalah– Tahap ini merupakan identifikasi masalah yang hendak diselesaikan dengan jaringan

syaraf tiruan, meliputi identifikasi jenis dan jumlah masukan serta keluaran pada jaringan.

• Menyiapkan training data set– Training data set merupakan kumpulan pasangan data masukan-keluaran berdasarkan

pengetahuan yang telah dikumpulkan sebelumnya. Banyaknya data set harus mencukupi dan dapat mewakili setiap kondisi yang hendak diselesaikan. Terbatasnya p p p y g ydata set akan menyebabkan akurasi jaringan menjadi rendah.

• Pemilihan metoda/algoritma jaringan syaraf tiruan – Pada tahap ini dilakukan pemilihan metoda yang paling cocok untuk menyelesaikan

masalah seperti metoda Perceptron Adaline Backpropagation atau metoda lainnyamasalah, seperti metoda Perceptron, Adaline, Backpropagation atau metoda lainnya.

Page 24: 05c Neural Network MLP

Penyelesaian Masalah dengan JST• Inisialisasi dan pembentukan jaringan• Inisialisasi dan pembentukan jaringan

– Tahap inisialisasi meliputi penentuan topologi, pemilihan fungsi aktivasi, dan pemilihan fungsi pelatihan jaringan. Penentuan topologi adalah penentuan banyaknya hidden layer dan penentuan jumlah neuron pada input layer, hidden layer dan output layer. Fungsi aktivasi yang dapat digunakan diantaranya fungsi step (hardlim) sigmoidFungsi aktivasi yang dapat digunakan diantaranya fungsi step (hardlim), sigmoid bipolar (logsig), sigmoid biner (tansig) atau fungsi identitas (purelin). Fungsi pelatihan jaringan yang terdapat pada matlab diantaranya adalah traingdx (fungsi default pada matlab), traingd, traingdm, traingda, trainrp, traincgf, traincgp, traincgb. Setiap fungsi pelatihan jaringan memiliki metoda tersendiri dengan kecepatan pelatihan berbeda-b d S t l h i i i li i dil k k k di j i dib t kbeda. Setelah inisialisasi dilakukan, kemudian jaringan dibentuk.

• Simulasi jaringan– Simulasi jaringan dilakukan untuk melihat keluaran jaringan berdasarkan masukan,

bobot neuron dan fungsi aktivasinya.

Page 25: 05c Neural Network MLP

Penyelesaian Masalah dengan JST• Pelatihan / training jaringan• Pelatihan / training jaringan

– Sebelum melakukan pelatihan, dilakukan penentuan parameter training terlebih dahulu, seperti penentuan jumlah iterasi, learning rate, error yang diijinkan. Setelah itu dilakukan pelatihan yang merupakan proses iteratif untuk menentukan bobot koneksi antar neuronantar neuron.

• Menggunakan jaringan untuk pengenalan pola– Setelah pelatihan dilakukan, jaringan siap untuk digunakan untuk pengenalan pola.

Kemampuan jaringan dalam mengenal pola sangat bergantung dari bagaimana j i t b t dil tihjaringan tersebut dilatih.

Page 26: 05c Neural Network MLP

Pen t pPenutup• Jaringan syaraf tiruan cocok digunakan untuk menyelesaikan masalahJaringan syaraf tiruan cocok digunakan untuk menyelesaikan masalah

yang tidak linier, yang tidak dapat dimodelkan secara matematis. Jaringan cukup belajar dari pasangan data masukan dan target yang diinginkan, setelah itu jaringan dapat mengenali pola yang mirip d k k tik dil k k l tih K it ki jdengan masukan ketika dilakukan pelatihan. Karena itu, kinerja jaringan pun ditentukan oleh banyaknya pasangan data set selama training.

• Bila data training cukup banyak dan konsisten akurasi jaringan akanBila data training cukup banyak dan konsisten, akurasi jaringan akan tinggi, sebaliknya bila data training tidak memadai, akurasi jaringan rendah. Selain data training, akurasi jaringan juga ditentukan oleh pemilihan topologi yang tepat.

• Proses pembentukan jaringan sangat melelahkan, dilakukan secara terus menerus hingga diperoleh jaringan yang paling baik. Tetapi setelah jaringan yang optimal ditemukan, proses pengenalan pola dapat dilakukan secara cepat lebih cepat bila dibandingkan metodadapat dilakukan secara cepat, lebih cepat bila dibandingkan metoda lainnya.