Anda di halaman 1dari 46

Kecerdasan Buatan

Jaringan Syaraf
Tiruan
Latar Belakang
Kemampuan manusia dalam memproses
informasi, mengenal wajah, tulisan, dsb.
Kemampuan manusia dalam mengidentifikasi
wajah dari sudut pandang yang belum pernah
dialami sebelumnya.
Bahkan anak-anak dapat melakukan hal tsb.
Kemampuan melakukan pengenalan meskipun
tidak tahu algoritma yang digunakan.
Proses pengenalan melalui penginderaan
berpusat pada otak sehingga menarik untuk
mengkaji struktur otak manusia
Latar belakang

Dipercayai bahwa
kekuatan komputasi
otak terletak pada
hubungan antar sel-
sel syaraf
hierarchical
organization
firing characteristics
banyaknya jumlah
hubungan
Struktur Jaringan pada Otak
Neuron adalah satuan unit pemroses terkecil pada otak
Bentuk standard ini mungkin dikemudian hari akan berubah
Jaringan otak manusia tersusun tidak kurang dari 10 13 buah
neuron yang masing-masing terhubung oleh sekitar 10 15 buah
dendrite
Fungsi dendrite adalah sebagai penyampai sinyal dari neuron
tersebut ke neuron yang terhubung dengannya
Sebagai keluaran, setiap neuron memiliki axon, sedangkan
bagian penerima sinyal disebut synapse
Sebuah neuron memiliki 1000-10.000 synapse
Penjelasan lebih rinci tentang hal ini dapat diperoleh pada disiplin
ilmu biology molecular
Secara umum jaringan saraf terbentuk dari jutaan (bahkan lebih)
struktur dasar neuron yang terinterkoneksi dan terintegrasi
antara satu dengan yang lain sehingga dapat melaksanakan
aktifitas secara teratur dan terus menerus sesuai dengan
kebutuhan
Synapse
A Neuron
Human Brain
Bertugas untuk memproses informasi
Seperti prosesor sederhana
Masing-masing cell tersebut berinteraksi
mendukung kinerja otak
Setiap sel (neuron) memiliki satu nukleus
(soma), bertugas memproses informasi,
informasi diterima oleh dendrit, dan
disebarkan melalui akson
Pertemuan informasi antar syaraf berada
di sinapsis
Human Brain
Informasi yang dikirimkan berupa
rangsangan dengan sebuah batas ambang
(threshold)
Pada batas tertentu, syaraf lain akan teraktifasi
dan merespon
Hubungan antar syaraf terjadi secara
dinamis
Otak manusia memiliki kemampuan untuk
belajar dan beradaptasi
Mampu mengenali pola, wajah, mengkontrol
organ tubuh!
Human Brain
Neuron merupakan sistem yang fault
tolerance
Dapat mengenali sinyal input yang
berbeda dari sebelumnya
Dapat mengenali orang yg blm pernah
ditemui hanya dengan melihat dari foto
Dapat mengenali orang yang berubah krn tua
misalnya
Tetap dapat bekerja walau beberapa
neuronnya rusak, neuron lain dapat
tumbuh dan dilatih
Human Neuron (Detail)

dendrites
axon

synapses
Sejarah
McCulloch & Pitts (1943) dikenal sebagai
orang yang pertama kali memodelkan Neural
Network. Sampai sekarang ide-idenya masih
tetap digunakan, misalnya:
bertemuanya beberapa unit input akan
memberikan computational power
Adanya threshold
Hebb (1949) mengembangkan pertama kali
learning rule (dengan alasan bahwa jika 2
neurons aktif pada saat yang bersamaan
maka kekuatan antar mereka akan
bertambah)
Sejarah
Antara tahun 1950-1960an beberapa
peneliti melangkah sukses pada
pengamatan tentang perceptron
Mulai tahun 1969 merupakan tahun
kematian pada penelitian seputar Neural
Networks hampir selama 15 tahun (Minsky
& Papert)
Baru pada pertengahan tahun 80-an
(Parker & LeCun) menyegarkan kembali
ide-ide tentang Neural Networks
Konsep Dasar Pemodelan Neural
Networks
Model Neuron JST

n
X1 Y1
W1 z wi xi ; y H ( z )
i 1

X2
Y2

W2
Fungsi aktivasi

X3 W3 Y3
Bobot

Masukkan Keluaran

Y1 = X1.W1 + X2.W2 + X3.W3; dst


Model Neuron
Pada JST, neuron-neuron akan dikumpulkan
dalam lapisan lapisan yang disebut dengan
layers
Neuron dalam satu lapisan akan dihubungkan
dengan neuron pada lapisan lainnya
Kadang muncul juga layer tersembunyi
(hidden layer) untuk menambah keakuratan
pelatihan
Informasi tersebut bisa dirambatkan secara
forward ataupun backward
Istilah dalam JST
Neuron: sel syaraf tiruan yang merupakan elemen pengolah JST
Jaringan: bentuk arsitektur JST, kumpulan neuron yang saling
berhubungan dan membentuk lapisan
Input: sebuah nilai input yang akan diproses menjadi nilai
output
Output: solusi dari nilai input
Hidden layer: lapisan yang tidak terkoneksi secara langsung
dengan lapisan input atau output, memperluas kemampuan JST
Bobot: nilai matematis dari sebuah koneksi antar neuron
Fungsi aktivasi: fungsi yang digunakan untuk mengupdate
nilai-nilai bobot per-iterasi dari semua nilai input.
Fungsi aktivasi sederhana adalah mengakalikan input dengan
bobotnya dan kemudian menjumlahkannya (disebut penjumlahan
sigma)
Berbentuk linier atau tidak linier, dan sigmoid
Paradigma pembelajaran: bentuk pembelajaran, supervised
learning, atau unsupervised learning
JST dengan 3 layer
Arsitektur Jaringan
Single Layer
Hanya memiliki satu lapisan dengan bobot-bobot terhubung.
Langsung menerima input dan mengolahnya menjadi output
tanpa menggunakan hidden layer
Multi Layer
Memiliki satu atau lebih lapisan input, satu atau lebih
lapisan output, dan lapisan tersembunyi
Dapat menyelesaikan masalah yang lebih kompleks karena
lebih akurat
Fungsi pembelajarannya lebih rumit
Kompetitive Model / Recurrent Model
Hubungan antar neuron tidak diperlihatkan secara langsung
pada arsitektur
Hubungan antar neuron dapat digambarkan sebagai jaring
yang rumit
Model JST
Single Layer Multi Layer

Competitive Layer /
Recurrent
Artificial neurons
McCulloch & Pitts (1943) described an artificial neuron
inputs are either excitatory (+1) or inhibitory (-1)
each input has a weight associated with it
the activation function multiplies each input value by its weight
if the sum of the weighted inputs >= ,
then the neuron fires (returns 1), else doesn't fire (returns 1)

w 1
w
w n if wixi >= , output = 1
2

... if wixi < , output -1

x1 x2 xn
Sejumlah sinyal masukan x dikalikan dengan
masing-masing penimbang yang bersesuaian W
Kemudian dilakukan penjumlahan dari seluruh
hasil perkalian tersebut dan keluaran yang
dihasilkan dilalukan kedalam fungsi pengaktip
untuk mendapatkan tingkatan derajad sinyal
keluarannya F(x.W)
Walaupun masih jauh dari sempurna, namun
kinerja dari tiruan neuron ini identik dengan
kinerja dari sel otak yang kita kenal saat ini
Misalkan ada n buah sinyal masukan dan n buah
penimbang, fungsi keluaran dari neuron adalah
seperti persamaan berikut:
F(x,W) = f(w1x1 + +wnxn)
Pengelompokkan JST
JST Feed Forward
Tidak mempunyai loop
Contoh: single layer perceptron, mutilayer
perceptron, radial basis function
JST Feed Backward (Recurrent)
Memiliki loop, lapisan output akan
memberi input lagi bagi lapisan input
Contoh: competitive networks, kohonen,
hopfield, ART
Paradigma pembelajaran
Supervised Learning
Kumpulan input berusaha membentuk target output
yang sudah diketahui sebelumnya
Perbedaan antara output yang masih salah dengan
output yang diharapkan harus sekecil mungkin
Biasanya lebih baik daripada unsupervised
Kelemahan: pertumbuhan waktu komputasi
eksponensial, data bnyk berarti semakin lambat
Unsupervised Learning
JST mengorganisasikan dirinya untuk membentuk
vektor-vektor input yang serupa tanpa menggunakan
data atau contoh-contoh pelatihan, biasanya ke dalam
suatu kategori/kelompok2 tertentu
Hibrida Learning
Gabungan antara unsupervised dan supervised
Algoritma Pembelajaran
Umum
Dimasukkan n data pelatihan
Inisialisasi bobot-bobot jaringan, set i = 1
Masukkan contoh ke-i ke dalam input
Cari tingkat aktivasi unit output
menggunakan algoritma yang ditetapkan
If memenuhi kriteria output then exit
else:
Update bobot2 menggunakan fungsi galat
error, Bobot baru = bobot lama + delta
If i=n then reset i=1, else i=i+1
JST dan Aplikasi
Klasifikasi: ADALINE,
Backpropagation
Pengenalan Pola: ART,
Backpropagation
Peramalan: ADALINE, MADALINE,
Backpropagation
Optimasi: ADALINE, Hopfield,
Boltzman, Backpropagation
Fungsi-fungsi aktivasi

Stept(x) = 1 if x >= t, else 0


Sign(x) = +1 if x >= 0, else 1
Sigmoid(x) = 1/(1+e-x)
Identity Function
The first Neural Networks

AND
Fungsi AND
X1 X2 Y
X1 1 0 0 0
0 1 0
Y 1 0 0
1 1 1
Threshold=2
X2 1
Computation via activation
function
can view an artificial neuron as a computational element
accepts or classifies an input if the output fires

INPUT: x1 = 1, x2 = 1
.75*1 + .75*1 = 1.5 >= 1 OUTPUT: 1

INPUT: x1 = 1, x2 = -1
.75*1 + .75*-1 = 0 < 1 OUTPUT: -1
.75 .75

INPUT: x1 = -1, x2 = 1
.75*-1 + .75*1 = 0 < 1 OUTPUT: -1
x1 x2
INPUT: x1 = -1, x2 = -1
.75*-1 + .75*-1 = -1.5 < 1 OUTPUT: -1

this neuron computes the AND function


The first Neural Networks

OR
Fungsi OR
X1 X2 Y
X1 2 0 0 0
0 1 1
Y 1 0 1
1 1 1
Threshold=2
X2 2
In-class exercise
specify weights and thresholds to compute OR

INPUT: x1 = 1, x2 = 1

w1*1 + w2*1 >= OUTPUT: 1

INPUT: x1 = 1, x2 = -1

w w w1*1 + w2*-1 >= OUTPUT: 1


1 2

INPUT: x1 = -1, x2 = 1

w1*-1 + w2*1 >= OUTPUT: 1


x1 x2

INPUT: x1 = -1, x2 = -1

w1*-1 + w2*-1 < OUTPUT: -1


The first Neural Networks

AND-NOT
Fungsi AND-NOT
X1 X2 Y
X1 2 0 0 0
0 1 0
Y 1 0 1
1 1 0
Threshold=2
X2 -1
The first Neural Networks
Fungsi XOR
XOR
X1 X2 Y
2
X1 Z1 2 0 0 0
-1
0 1 1
Y 1 0 1
-1
Threshold=2
1 1 0
X2 Z2 2
2

Threshold=2

X1 XOR X2 = (X1 AND NOT X2) OR (X2 AND NOT X1)


Normalizing thresholds
to make life more uniform, can normalize the threshold to 0
simply add an additional input x0 = 1, w0 = -

w w w
1 n n
w 2
w 1
w 2

... ...

x1 x2 xn 1 x1 x2 xn

advantage: threshold = 0 for all neurons


wixi >= - *1 + wixi >= 0
Perceptron

Sinonim untuk
Single-Layer,
Feed-Forward
Network
Dipelajari
pertama kali
pada tahun
50-an
What can perceptrons represent?

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

0,0 1,0 1,0


AND 0,0
XOR
Fungsi yang memisahkan daerah menjadi seperti diatas
dikenal dengan Linearly Separable
Hanya linearly Separable functions yang dapat
direpresentasikan oleh suatu perceptron
Convergence
key reason for interest in perceptrons:
Perceptron Convergence Theorem
The perceptron learning algorithm will always find weights to
classify the inputs if such a set of weights exists.

Minsky & Papert showed such weights exist if and only if the problem is linearly
separable

intuition: consider the case with 2 inputs, x1 and x2

-1 -1
if you can draw a line and separate the
accepting & non-accepting examples, then
-1 linearly separable
x1 1

1 the intuition generalizes: for n inputs, must be


able to separate with an (n-1)-dimensional
x2 plane.
Linearly separable
AND function OR function
x1 x1

1 -1 1 1 1 1

-1 -1 -1 1

1 x2 1 x2

why does this make sense?


firing depends on w0 + w1x1 + w2x2 >= 0
border case is when w 0 + w 1 x 1 + w 2x 2 = 0
i.e., x2 = (-w1/w2) x1 + (-w0 /w2) the equation of a line

the training algorithm simply shifts the line around (by


changing the weight) until the classes are separated
Inadequacy of
perceptrons XOR function
x1
inadequacy of perceptrons
is due to the fact that 1 1 -1

many simple problems are


not linearly separable -1 1

x2

-0.1

however, can compute XOR by


-3.5
introducing a new, hidden unit
1.5 1.5 1.5

1 1

x1 x2
Single Perceptron Learning

Err = Target Output


If (Err <> 0) {
Wj = Wj + * Ij * Err
}

= learning rate (-1 1)


Case study - AND
Fungsi AND dengan bias
Fungsi AND
1 W1
X1 W1

W2
Y X1 Y
W2
W3
Threshold=2
Threshold=0
X2 X2
Perceptrons
Rosenblatt (1958) devised a learning algorithm for
artificial neurons
given a training set (example inputs & corresponding desired
outputs)
1. start with some initial weights
2. iterate through the training set, collect incorrect examples
3. if all examples correct, then DONE
4. otherwise, update the weights for each incorrect example
if x1, ,xn should have fired but didn't, wi += xi (0 <= i <= n)
if x1, ,xn shouldn't have fired but did, wi -= xi (0 <= i <= n)
5. GO TO 2

artificial neurons that utilize this learning algorithm are


known as perceptrons
Example: perceptron
learning
Suppose we want to train a perceptron to compute AND
training set: x1 = 1, x2 = 1 1
x1 = 1, x2 = -1 -1
x1 = -1, x2 = 1 -1
x1 = -1, x2 = -1 -1

-0.9 0.2 randomly, let: w0 = -0.9, w1 = 0.6, w2 = 0.2


0.6
using these weights:
x1 = 1, x2 = 1: -0.9*1 + 0.6*1 + 0.2*1 = -0.1 -1 WRONG
x1 = 1, x2 = -1: -0.9*1 + 0.6*1 + 0.2*-1 = -0.5 -1 OK
1 x1 x2
x1 = -1, x2 = 1: -0.9*1 + 0.6*-1 + 0.2*1 = -1.3 -1 OK
x1 = -1, x2 = -1: -0.9*1 + 0.6*-1 + 0.2*-1 = -1.7 -1 OK

new weights: w0 = -0.9 + 1 = 0.1


w1 = 0.6 + 1 = 1.6
w2 = 0.2 + 1 = 1.2
Example: perceptron
learning (cont.)
using these updated weights:
x1 = 1, x2 = 1: 0.1*1 + 1.6*1 + 1.2*1 = 2.9 1 OK
x1 = 1, x2 = -1: 0.1*1 + 1.6*1 + 1.2*-1 = 0.5 1
0.1 1.2 WRONG
1.6
x1 = -1, x2 = 1: 0.1*1 + 1.6*-1 + 1.2*1 = -0.3 -1 OK
x1 = -1, x2 = -1: 0.1*1 + 1.6*-1 + 1.2*-1 = -2.7 -1 OK

1 x1 x2 new weights: w0 = 0.1 1 = -0.9


w1 = 1.6 1 = 0.6
w2 = 1.2 + 1 = 2.2
using these updated weights:
x1 = 1, x2 = 1: -0.9*1 + 0.6*1 + 2.2*1 = 1.9 1 OK

x1 = 1, x2 = -1: -0.9*1 + 0.6*1 + 2.2*-1 = -2.5 -1 OK
-0.9 2.2 x1 = -1, x2 = 1: -0.9*1 + 0.6*-1 + 2.2*1 = 0.7 1 WRONG
0.6 x1 = -1, x2 = -1: -0.9*1 + 0.6*-1 + 2.2*-1 = -3.7 -1 OK

new weights: w0 = -0.9 1 = -1.9


1 x1 x2
w1 = 0.6 + 1 = 1.6
w2 = 2.2 1 = 1.2
Example: perceptron learning
(cont.)
using these updated weights:
x1 = 1, x2 = 1: -1.9*1 + 1.6*1 + 1.2*1 = 0.9 1 OK
x1 = 1, x2 = -1: -1.9*1 + 1.6*1 + 1.2*-1 = -1.5 -1 OK
-1.9 1.2
1.6 x1 = -1, x2 = 1: -1.9*1 + 1.6*-1 + 1.2*1 = -2.3 -1 OK
x1 = -1, x2 = -1: -1.9*1 + 1.6*-1 + 1.2*-1 = -4.7 -1 OK

DONE!
1 x1 x2

EXERCISE: train a perceptron to compute OR


Referensi

Introduction to AI: Neural Networks, Graham


Kendall.
Introduction to Neural Networks, Rocha.
Pengenalan pola berbasis Neural Networks, Budi
Rahardjo, Jurusan Teknik Elektro, ITB.
Konsep dasar Jaringan Syaraf Tiruan dan
pemodelannya, Riyanto Sigit, Politeknik Elektronika
Negeri Surabaya, Juli 2004.
Notes on Neural Networks, Prof. Tadaki, Machine
Learning counterpart meeting, Politeknik
Elektronika Negeri Surabaya, Oktober 2005.

Anda mungkin juga menyukai