DISUSUN OLEH :
DUDUNG SETIAWAN 310115022906
AKH. DWI WAHYONO 310115022931
MUHAMMAD NASIR 310115022905
MUHAMMAD RIZQY 310115022894
Dalam Makalah ini menjelaskan jaringan saraf tiruan secara detail dari mulai
pengertian sampai tahap pembuatan jaringan saraf tiruan dan implementasinya untuk dapat
bekerja seperti halnya yang dilakukan manusia.
Dengan adanya Makalah ini saya berharap dapat menambah wawasan ataupun
menambah Referensi dalam kaitannya dengan jaringan saraf tiruan. Kami menyadari banyak
kekurangan dalam menyusun makalah ini.kami mohon bimbingan Bapak selaku dosen kami
agar lebih mengerti banyak tentang Hal tersebut.
.
BAB I
PENDAHULUAN
Jaringan Saraf Tiruan (JST) atau Artificial Neural Network merupakan suatu
pendekatan yang berbeda dari metode AI lainnya. JST merupakan suatu model kecerdasan
yang di ilhami dari struktur otak manusia dan kemudian diimplementasikan menggunakan
program computer yang mampu menyelesaikan sejumlah proses perhitungan selama proses
pembelajaran berlangsung. Skema sederhana dari otak manusia dapat dilihat dari gambar
berikut ini.
Gambar 1.1 Struktur dasar jaringan saraf tiruan dan Struktur sederhana sebuah
neuron
Dari gambar diatas dapat dilihat bahwa setiap sel saraf mempunyai satu inti
sel(nucleus). Inti sel akan bertugas melakukan proses informasi. Informasi sel akanditerima
oleh dendrite yang merupakan dari cell body. Selain menerima informasi,dendrit juga
menyertai axon sebagai keluaran dari suatu pemrosesan informasi.Informasi hasil olahan ini
akan menjadi masukan bagi sel saraf lain dimana antardendrite tersebut akan dipertemukan
dengan sinapsis. Informasi yang dikirimkan antarneuron berupa rangsangan yang dilewatkan
melalui dendrite. Informasi yang datang dan diterima oleh dendrite akan dijumlahkan dan
dikirimkan melalui axon ke dendriteakhir yang bersentuhan dengan dendrite dari sel saraf
lain. Informasi yang akan diterima oleh neuron lain jika memenuhi batasan tertentu yang lebih
dikenal sebagai threshold (nilai ambang).
Pengembangan terhadap jaringan saraf ini terus dilakuakan dan memunculkan harapan
baru yang dicapainya suatu mesin yang dapat belajar sehingga tidak memerlukan adanya
pengulangan proses perhitungan yang sama untuk persoalan yang mirip.
1.2. Tujuan
Tujuan dalam penulisan makalah ini adalah untuk menambah pengetahuan dan
informasi bagi yang membacanya dan diharapkan dapat bermanfaat bagi kita semua.
BAB II
PEMBAHASAN
Jaringan saraf tiruan adalah suatu sistem pemrosesan informasi yang cara kerjanya
memiliki kesamaan tertentu dengan jaringan saraf biologis [Fausett,1994]. Jaringan saraf
tiruan dikembangkan sebagai model matematis dari saraf biologis dengan berdasarkan asumsi
bahwa:
Jaringan saraf dapat digolongkan menjadi berbagai jenis berdasarkan pada arsitekturnya,
yaitu pola hubungan antara neuron-neuron, dan algoritma trainingnya, yaitu cara penentuan
nilai bobot pada penghubung.
Terdapat banyak struktur NN, tetapi kesemuanya mempunyai komponen yang hampir
sama. Gambar berikut memperlihatkan struktur ideal NN.
Gambar 2.1 Struktur ideal NN
Seperti terlihat pada gambar, struktur NN mirip dengan struktur otak manusiadiatas.
Informasi (sebagai input) dikirim ke neuron melalui suatu pembobotan input.Input ini
diproses oleh suatu fungsi propagation yang menaikan nilai bobot input. Hasilnya kemudian
dibandingkan dengan threshold oleh activation function. Jika input melampaui threshold,
maka neutron akan diaktifkan, jika sebaliknya maka neutron akan inhibit. Jika diaktifkan,
neuron akan mengirim output melalui pembobotan outputke neuron lainnya, dan seterusnya.
Dalam NN, neuron dikelompokan dalam layer, yang disebut neuron layer. Biasanya
setiap neuron dari sebuah layer dihubungkan ke semua neuron yang ada di layer belakang
maupun depannya (kecuali input dan output). Informasi yang dikirim dalam sebuah NN,
dipropagasi layer – per – layer mulai dari input hingga output tanpa atau melalui satu atau
lebih hidden layers. Bergantung pada algoritma yang digunakan, informasi juga dapat
dipropagasi ke arah belakang (backpropagation). Gambar berikut menunjukan NN dengan
tiga neuron layers.
Gambar 2.2 NN tiga neuron layers.
Perlu dicatat bahwa gambar ini bukan merupakan struktur umum dari NN. Ada NN
yang tidak mempunyai hidden layer, atau ada juga NN yang layer-nya berbentuk matriks.
Multi-Layer Perceptron adalah jaringan syaraf tiruan feed-forward yang terdiri dari
sejumlah neuron yang dihubungkan oleh bobot-bobot penghubung. Neuron-neuron tersebut
disusun dalam lapisan- lapisan yang terdiri dari satu lapisan input (inputlayer), satu atau lebih
lapisan tersembunyi (hidden layer), dan satu lapisan output (output layer). Lapisan input
menerima sinyal dari luar, kemudian melewatkannya kelapisan tersembunyi pertama, yang
akan diteruskan sehingga akhirnya mencapai lapisan output [Riedmiller, 1994]. Setiap
neuroni di dalam jaringan adalah sebuah unit pemrosesan sederhana yang menghitung nilai
aktivasinya yaitusi terhadap inputeksitasi yang juga disebut melambangkan himpunan
predesesor dari unit i melambangkan bobot koneksi dari unit j ke unit i, danθi adalah nilai bias
dari unit i. Untuk membuat representasi menjadi lebih mudah, seringkali bias digantikan
dengan suatu bobot yang terhubung dengan unit bernilai 1. Dengan demikian bias dapat
diperlakukan secara sama dengan bobot koneksi.
.
A. SUPERVISED LEARNING
Supervised learning merupakan suatu pembelajaran yang terawasi dimana jika output
yang diharapkan telah diketahui sebelumnya. Biasanya pembelajaran ini dilakukan dengan
menggunakan data yang telah ada. Pada metode ini, setiap pola yang diberikan kedalam
jaringan saraf tiruan telah diketahui outputnya. Satu pola input akan diberikan ke satu neuron
pada lapisan input. Pola ini akan dirambatkan di sepanjang jaringan syaraf hingga sampai ke
neuron pada lapisan output. Lapisan output ini akan membangkitkan pola output yang
nantinya akan dicocokkan dengan pola output targetnya. Nah, apabila terjadi perbedaan antara
pola output hasil pembelajaran dengan pola output target, maka akan muncul error. Dan
apabila nilai error ini masih cukup besar, itu berarti masih perlu dilakukan pembelajaran yang
lebih lanjut. Contoh algoritma jaringan saraf tiruan yang mernggunakan metode supervised
learning adalah hebbian (hebb rule), perceptron, adaline, boltzman, hapfield, dan
backpropagation.
Pada kesempatan ini saya akan membahas tentang metode hebb rule dan perceptron.
v Hebb rule merupakan metode pembelajaran dalam supervised yang paling sederhana,
karena pada metoode ini pembelajaran dilakukan dengan cara memperbaiki nilai bobot
sedemikian rupa sehingga jika ada 2 neuron yang terhubung, dan keduanya pada kondisi
hidup (on) pada saat yang sama, maka bobot antara kedua dinaikkan. Apabila data
dipresentasiakn secara bipolar, maka perbaikan bobotnya adalah
wi(baru)=wi(lama)+xi*y
Keterangan:
wi : bobot data input ke-i;
xi : input data ke-i;
y : output data.
Misalkan kita menggunakan pasangan vektor input (s) dan vektor output sebagai pasangan
vektor yang akan dilatih. Sedangkan vektor yang hendak digunakan sebagai testing adalah
vektor (x).
Algoritma pasangan vektor diatas adalah sebagai berikut:
0. Insialisasi semua bobot dimana:
wij=0;
i =1,2……n;
j =1,2…..m
1. Pada pasangan input-output(s-t), maka terlebih dahulu dilakukan langkah-langkah
sebagai berikut:
a. Set input dengan nilai yang sama dengan vektor inputnya:
xi=si; (i=1,2……,n)
b. Set outputnya dengan nilai yang sam dengan vektor outputnya:
yj=tj; (j=1,2,…..,m)
c. Kemudian jika terjadi kesalahan maka perbaiki bobotnya:
wij(baru)=wij(lama)+xi*yj;
(i=1,2,….,n dan j=1,2,….,m)
sebagai catatan bahwa nilai bias selalu 1.
Contoh:
Sebagaimana yang kita ketahui dalam fungsi OR jika A & B= 0 maka “OR” 0, tetapi jika
salah satunya adalah 1 maka “OR” 1, atau dengan kata lain jika angkanya berbeda maka
hasilnya 1. Misalkan kita ingin membuat jaringan syaraf untuk melakukan pembelajaran
terhadap fungsi OR dengan input dan target bipolar sebagai berikut:
Input Bias Target
-1 -1 1 -1
-1 1 1 1
1 -1 1 1
1 1 1 1
X= T= Bobot awal=
-1 -1 -1 w=
-1 1 1 0
1 -1 1 0
1 1 1 b=0
(catatan penting: bobot awal dan bobot bias kita set=0)
Data ke-1
w1 = 0+1=1
w2 =0+1=1
b =0-1=-1
Data ke-2
w1 = 1-1=0
w2 =1+1=2
b =0+1=1
Data ke-3
w1 = 0+1=1
w2 =2-1=1
b =0+1=1
Data ke-4
w1 = 1+1=2
w2 =1+1=2
b =1+1=2
Kita melakukan pengetesan terhadap salah satu data yang ada, misal kita ambil x=[-1-1] dan
kita masukkan pada data ke-4 maka hasilnya adalah sebagai berikut:
y=2+(-1*2)+(-1*2)=-2
karena nilai yin=-2, maka y=f(yin)=f(-2)=-1 (cocok dengan output yang diberikan)
Perceptron merupakan salah satu bentuk jaringan syaraf tiruan yang sederhana. Perceptron
biasanya digunakan untuk mengklasifikasikan suatu tipe pola tertentu yang sering dikenal
dengan pemisahan secara linear. Pada dasarnya, perceptron pada jaringan syaraf dengan satu
lapisan memiliki bobot yang bisa diatur dan suatu nilai ambang(thershold). Algoritma yang
digunakan oleh aturan perceptron ini akan mengatur parameter-parameter bebasnya melalui
proses pembelajaran. Nilai thershold( pada fungsi aktivasi adalah non negatif. Fungsi aktivasi
ini dibuat sedemikian rupa sehingga terjadi pembatasan antara daerah positif dan daerah
negatif.
Garis pemisah antara daerah positif dan daerah nol memiliki pertidaksamaan yaitu:
w1x1+ w2x2+b >
Sedangkan garis pemisah antara daerah negatif dengan daerah nol memiliki pertidaksamaan:
w1x1+ w2x2+b < –
Misalkan kita gunakan pasangan vektor input (s) dan vektor output (t) sebagai pasangan
vektor yang akan dilatih.
Algoritmanya adalah:
0. Inisialisasi semua bobot dan bias:
(agar penyelesaiannya jadi lebih sederhana maka kita set semua bobot dan bias sama dengan
nol).
Set learning rate( ): (0< 1).
1. Selama kondisi berhenti bernilai false. Lakukan langkah-langkah sebagai berikut:
(i) Untuk setiap pasangan pembelajaran s-t, maka:
a. Set input dengan nilai sama dengan vektor input:
xi=si;
b. Hitung respon untuk unit output:
yin=b+y-
c. Perbaiki bobot dan bias jika terjadi error:
jika y≠t maka:
wi(baru)=wi(lama)+
b(baru)=b(lama)+
jika tidak, maka:
wi(baru)= wi(lama)
b(baru)=b(lama)
Selanjutnya lakukan tes kondisi berhenti: jika tidak terjadi perubahan pada bobot pada (i)
maka kondisi berhenti adalah TRUE, namun jika masih terjadi perubahan pada kondisi
berhenti maka FALSE.
Nah, algoritma seperti diatas dapat digunakan baik untuk input biner maupun bipolar, dengan
tertentu, dan bias yang dapat diatur. Pada algoritma tersebut bobot-bobot yang diperbaiki
hanyalah bobot-bobot yang berhubungan dengan input yang aktif (xi≠0) dan bobot-bobot
yang tidak menghasilkan nilai y yang benar.
Sebagai contoh, misalkan kita ingin membuat jaringan syaraf yang melakukan pembelajaran
terhadap fungsi AND dengan input biner dan target bipolar sebagai berikut:
Input Bias Target
1 1 1 1
1 0 1 -1
0 1 1 -1
0 0 1 -1
Bobot awal : w=[0,0 0,0]
Bobot bias awal : b=[0,0]
Learning rate( ) : 0,8
Thershold(tetha) : 0,5
Epoh ke-1(siklus perubahan bobot ke-1)
Data ke-1
yin=0,0+0,0+0,0=0,0
Hasil aktivasi= 0(-0,5 < yin < 0,5)
Target =1
Bobot baru yang diperoleh:
w1= 0,0+0,8*1,0*1,0=0,8
w2= 0,0+0,8*1,0*1,0=0,8
Maka bobot bias barunya:
b= 0,8+0,8*-1,0=0,8
Data ke-2
yin=0,8+0,8+0,0=1,6
Hasil aktivasi= 1(yin > 0,5)
Target = -1
Bobot baru yang diperoleh:
w1= 0,8+0,8*-1,0*1,0=0,8
w2= 0,8+0,8*-1,0*1,0=0,0
Maka bobot bias barunya:
b= 0,8+0,8*-1,0=0,0
Data ke-3
yin=0,0+0,0+0,8=0,8
Hasil aktivasi= 1( yin > 0,5)
Target = -1
Bobot baru yang diperoleh:
w1= 0,0+0,8*1,0*0,0=0,0
w2= 0,8+0,8*-1,0*1,0=0,8
Maka bobot bias barunya:
b= 0,0+0,8*-1,0=-0,8
Data ke-4
yin=-0,8+0,0+0,0=-0,8
Hasil aktivasi= -1( yin < – 0,5)
Target = -1
Epoh ke-10(siklus perubahan bobot ke-10)
Data ke-1
yin=-3,2+1,6+2,4=0,8
Hasil aktivasi=-1(yin >0,5)
Target =1
Data ke-2
yin=-3,2+1,6+0,0=-1,6
Hasil aktivasi=-1(yin <-0,5)
Target = -1
Data ke-3
yin=-3,2+0,0+2,4=-0,8
Hasil aktivasi=-1(yin <-0,5)
Target = -1
Data ke-4
yin=-3,2+0,0+0,0=-3,2
Hasil aktivasi=-1(yin <-0,5)
Target = -1
Siklus perubahan setiap bobot tersebut terus diulangi sampai tidak terjadi perubahan bobot
lagi. Nah pada algoritma ini perubahan bobot(epoh) sudah tidak terjadi pada langkah ke-10
sehingga pembelajaran dihentikan. Dan hasil yang diperoleh adalah:
Nilai bobot(w1)=1,6
Nilai bobot(w2)=2,4
Bobot bias(b) =-3,2.
Dengan demikian garis yang membatasi daerah positif dan daerah nol memenuhi
pertidaksamaan:
1,6x1+2,4x2-3,2 > 0,5
Sedangkan garuis yang membatasi antara daerah negatif dan daerah nolnya memenuhi
pertidaksamaan:
1,6x1+2,4x2-3,2 < – 0,5
BAB III
1.1. Implementasi Jaringan Saraf Tiruan Untuk Menditeksi Posisi Wajah Manusia
Pada Citra Digital
Dalam penelitian ini kami menggunakan data yang terdiri dari satu set citra untuk
pelatihan(training data set) dan satu set citra untuk pengujian (testingdata set). Untuk data
pelatihan digunakan citra wajah berukuran 20x20 pixel sebanyak 3000 buah. Sedangkan
untuk citra non-wajah diperoleh dari file- file citra yang tidak terdapat wajahmanusia di
dalamnya.Sistem ini menggunakan jaringan syaraf tiruan (JST) dengan jenis multi-layer
perceptron.Arsitektur yang digunakan diadaptasi dari hasil penelitian [Rowley, 1998], namun
lebih disederhanakan. Lapisan input terdiri dari 400 unit input, yang menerima masukan dari
nilai grayscale pixel 20x20 dari subcitra yang akan dideteksi. Sebelum dijadikan input untuk
JST, nilai grayscale yang berkisar dari 0 sampai 255 dinormalisasi menjadi antara –1 dan 1.
Lapisan output terdiri dari sebuah unit dengan nilai keluaran berkisar antara –1 dan 1. Pada
training dataset didefinisikan nilai 1 untuk data wajah dan –1 untuk data non-wajah. Lapisan
tersembunyi (hidden layer) terdiri dari total 25+16=41 unit. Bagian pertama terhubung dengan
lapisan input yang membentuk 25 area berukuran 4x4 pixel. Bagian kedua terhubung dengan
lapisan input yang membentuk 16 area berukuran 5x5 pixel. Secara keseluruhan jaringan ini
memiliki 883 bobot penghubung, sudah termasuk bias. Jaringan ini lebih sederhana
dibandingkan dengan sistem [Rowley, 1998] yang jumlah bobot penghubungnya mencapai
4357.
Training dilakukan secara bertahap dengan menggunakan metode active learning [Sung,
1994].Pada tahap pertama training dimulai dengan menggunakan sedikit data non-wajah.
Pada tahap berikutnya, data training non-wajah ditambah sedikit demi sedikit. Namun data
tambahan tersebut diseleksi hanya untuk data tertentu saja, yaitu data yang yang dideteksi
sebagai wajah(false positive) pada hasil training tahap sebelumnya. Dengan demikian jumlah
data training yang digunakan untuk jaringan syaraf tiruan akan lebih sedikit. Karena data
training yangdigunakan lebih sedikit, waktu yang diperlukan untuk proses training juga akan
lebih singkat. learning yang digunakan untuk sistem pendeteksi wajah.
1.1.2. Detektor Wajah
Bagian detector wajah menggunakan arsitektur jaringan syaraf yang sama dengan
yangdigunakan untuk training. Bobot penghubung yang digunakan diambil dari bobot terakhir
yangdihasilkan pada proses training. Hasil deteksi akan diputuskan sebagai wajah jika output
dari JST lebih dari 0, dan diputuskan sebagai non-wajah jika output JST kurang dari atau
sama dengan 0.
Posisi wajah bisa berada di mana saja pada citra yang akan dideteksi. Untuk itu
digunakan window berukuran 20x20 pixel yang akan digeser melalui seluruh daerah citra.
Daerah citra yang dilewati oleh window tersebut akan diperiksa satu persatu apakah ada
wajah atau tidak di area tersebut. Untuk mengantisipasi ukuran wajah yang bervariasi di
dalam citra yang dideteksi, citra diperkecil secara bertahap dengan skala perbandingan 1:1,2
sebagaimana dilakukan pada [Rowley, 1998]. Pada setiap ukuran citra yang diperkecil,
window 20x20 pixel akan digeser melalui seluruh area citra.
1.1.4. Preprocessing
Sebelum digunakan sebagai training data set, citra akan melalui tahap-tahap
preprocessing berikut: Histogram Equalization, untuk memperbaiki kontras citra.Masking,
yaitu menghilangkan bagian sudut- sudut citra untuk mengurangi variasi citra sehingga
memperkecil dimensi data. Normalisasi, yaitu mengkonversi nilai intensitas grayscale citra
sehingga memiliki range antara – 1 sampai dengan 1. Tahap-tahap preprocessing ini juga
digunakan pada saat proses pendeteksian wajah.
1.1.5. Merging
Pada saat dilakukan deteksi wajah pada citra, biasanya sebuah wajah akan terdeteksi
pada beberapa lokasi yang berdekatan. Lokasi-lokasi ini disebut dengan kandidat wajah.
Untuk itu perlu dilakukan proses penggabungan (merging), yaitu menyatukan lokasi kandidat-
kandidat wajah yang berdekatan.
Untuk kerja dari detektor wajah pada umumnya diukur dengan menggunakan dua
parameter,yaitu detection rated an false positive rate [Yang, 2002]. Detection rate adalah
perbandingan antara jumlah wajah yang berhasil dideteksi dengan jumlah seluruh wajah yang
ada. Sedangkanfalse positive rate adalah banyaknya subcitra non-wajah yang dideteksi
sebagai wajah. Contoh hasil deteksi yang dilakukan pada beberapa citra pengujian
ditunjukkan pada gambar 4. Pengujian dilakukan dengan data uji citra yang berasal dari
Massachusetts Institute of Technology (MIT) yang terdiri dari 23 file citra yang secara
keseluruhan berisi 149 wajah (datauji MIT-23). Kumpulan citra ini pertama kali
dipublikasikan pada [Sung, 1994]. Pada data uji ini diperoleh hasil detection rate sebesar
71,14% dan false positives sebanyak 62. Hasil ini diperoleh dari training yang menggunakan
3000 data wajah dan 5200 data non- wajah yang diperoleh melalui metode active learning.
data set yang digunakan untuk training tidak sama
jumlah data yang digunakan untuk training tidak sama.
BAB IV
PENUTUP
4.1. KESIMPULAN
Jaringan Saraf Tiruan (JST) atau Artificial Neural Network merupakan
suatupendekatan yang berbeda dari metode AI lainnya. JST merupakan suatu model
kecerdasanyang diilhami dari struktur otak manusia dan kemudian diimplementasikan
menggunakan program computer yang mampu menyelesaikan sejumlah proses perhitungan
selamaproses pembelajaran berlangsung.
Dalam NN, neuron dikelompokan dalam layer, yang disebut neuron layer. Biasanya
setiap neuron dari sebuah layer dihubungkan ke semua neuron yang ada di layer belakang
maupun depannya (kecuali input dan output). Informasi yang dikirim dalam sebuah
NN,dipropagasi layer –per –layer mulai dari input hingga output tanpa atau melalui satu atau
lebih hidden layers.
Multi-Layer Perceptron adalah jaringan syaraf tiruan feed-forward yang terdiri dari
sejumlah neuron yang dihubungkan oleh bobot-bobot penghubung. Tujuan pada pembelajaran
supervised learning adalah untuk menentukan nilai bobot-bobot koneksi didalam jaringan
sehingga jaringan dapat melakukan pemetaan (mapping) dari input keoutput sesuai dengan
yang diinginkan. Pemetaan ini ditentukan melalui satu set polacontoh atau data pelatihan
(training data set).
DAFTAR PUSTAKA
Arhami. M., 2005, Konsep Dasar Sistem Pakar, Penerbit ANDI, Yogyakarta
Kusumadewi, S, 2002, Artificial Intelligence (Teknik dan Aplikasinya), Graha
Ilmu,Yogyakarta
http://asro.wordpress.com/category/instrument-kontrol/
http://id.wikipedia.org/wiki/Jaringan_Saraf_Tiruan