jaringan syaraf tiruan
TRANSCRIPT
JARINGAN SYARAF TIRUAN (ARTIFICIAL NEURAL NETWORKS)
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).
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.
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)
April 12, 2023 5
Biological Neural Network
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.
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
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.
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.
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
April 12, 2023 11
April 12, 2023 12
Informasi Pemrosesan JST
...
Processing Element
Bobot
W1
W2
Wn
Input
x1
x2
xn
...
Output (Y)
Fungsi Transfer
Jumlah Bobot
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).
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
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.
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.
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
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
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).
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.
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
April 12, 2023 22
Untuk kasus dengan dua input membentuk garis lurus. Threshold, θ, bisa digunakan untuk menggeser garis keputusan.x1w1 + x2w2 - θ = 0
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
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)
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
)()()(
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.
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
April 12, 2023 28
April 12, 2023 29
Perceptron juga bisa dilatih untuk mempelajari operasi OR, tetapi tidak untuk operasi XOR.
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).
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.
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.
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.
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.
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
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
)()()(
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
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)()(
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
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.
April 12, 2023 41
April 12, 2023 42
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.