Oleh
DAFTAR ISI
Model Neuron................................................................................................................................... 4
Multilayer Neuron............................................................................................................................. 5
BAB I
PENDAHULUAN
Prinsip Jaringan Syaraf Tiruan (JST) terinspirasi dari cara kerja jaringan otak manusia. Jaringan otak
manusia terdiri dari ribuan neuron yang saling terhubung sehingga membentuk pengetahuan dan
fungsi tertentu dari proses belajar dan beradaptasi. Neuron memiliki sel tubuh yang disebut soma
sebagai pusat pemrosesan informasi dari masukan ribuan dendrites dan keluaran sebuah axon.
Keluaran dipengaruhi oleh ribuan masukan yang berbobot berbeda, inilah yang menjadi prinsip
dasar dari JST. Menurut Hecht-Nielsend (1988), “Suatu neural network (NN), adalah suatu struktur
pemroses informasi yang terdistribusi dan bekerja secara paralel, yang terdiri atas elemen pemroses
(yang memiliki memori lokal dan beroperasi dengan informasi lokal) yang diinterkoneksi bersama
dengan alur sinyal searah yang disebut koneksi. Setiap elemen pemroses memiliki koneksi keluaran
tunggal yang bercabang ke sejumlah koneksi kolateral yang diinginkan (setiap koneksi membawa
sinyal yang sama dari keluaran elemen pemroses tersebut). Keluaran dari elemen pemroses tersebut
dapat merupakan sebarang jenis persamaan matematis yang diinginkan. Seluruh proses yang
berlangsung pada setiap elemen pemroses harus benar-benar dilakukan secara lokal, yaitu keluaran
hanya bergantung pada nilai masukan pada saat itu yang diperoleh melalui koneksi dan nilai yang
tersimpan dalam memori lokal”. DARPA Neural Network Study (1988), Sebuah jaringan syaraf adalah
sebuah sistem yang dibentuk dari sejumlah elemen pemroses sederhana yang bekerja secara paralel
dimana fungsinya ditentukan oleh struktur jaringan, kekuatan hubungan, dan pegolahan dilakukan
pada komputasi elemen atau nodes. Zurada, J.M. (1992), Sistem saraf tiruan atau jaringan saraf
tiruan adalah sistem selular fisik yang dapat memperoleh, menyimpan dan menggunakan
pengetahuan yang didapatkan dari pengalaman. Haykin, S. (1994), Sebuah jaringan saraf adalah
sebuah prosesor yang terdistribusi paralel dan mempuyai kecenderungan untuk menyimpan
pengetahuan yang didapatkannya dari pengalaman dan membuatnya tetap tersedia untuk
digunakan. Hal ini menyerupai kerja otak dalam dua hal yaitu:
JST dikembangkan karena adanya kebutuhan akan sistem komputasi yang mampu belajar dan
beradaptasi sebagai mana manusia dapat melakukannya. Suatu pekerjaan bila dilakukan manusia
adalah mudah belum tentu jika dilakukan mesin menjadi lebih mudah, seperti mengenali pola wajah
seseorang, kita tidak tahu bagaimana susunan syaraf otak manusia mampu mengenai pola wajah
dengan begitu cepat. Hal lainya seperti bagaimana seorang pengemudi mampu mengendarai
kendaraan dengan begitu mudah dengan kondisi yang berubah-ubah tanpa mengalami kesalahan.
Otak manusia mampu melakukan itu semua karena mampu belajar dan beradapiptasi dengan cepat.
Pada sistem komputasi konvensional tidak memiliki kemampuan belajar dan beradaptasi yang
diperlukan dalam penanganan masalah tersebut diatas, oleh karena itu diperlukan sistem JST yang
dapat melakukan hal tersebut.
Penelitian JST untuk berbagai macam aplikasi telah banyak dilakukan, seperti JST digunakan untuk
mendiaknosa penyakit jantung, JST digunakan untuk mengenali sidik jari, JST untuk memprediksi
curah hujan, untuk mengenali wajah, mengenali suara, penerapan JST pada sistem kendali adaptif dll.
Berbagai metodepun telah banyak dilakukan untuk melakukan komputasi cerdas tersebut. Namun
demikian pembahasan mengenai bagaimana menurunkan suatu perhitungan JST sehingga mampu
belajar belum banyak diungkap secara jelas dan gamblang.
Pada penelitian ini akan dikembangkan konsep komputasi JST mengunakan prinsip propagasi balik
(backpropagation neural network). Backpropagation adalah prinsip yang sangat dikenal dalam JST,
pada metode ini nilai kesalahan (error) digunakan untuk memperbaiki nilai bobot (weight) dari
masukan sehingga nilai keluaran mendekati atau sama dengan nilai yang diinginkan. Pembahasan
diawali dengan konsep satu neuron, kemudian multilayer neuron hingga penurunan rumusan untuk
penerapannya dalam program Scilab. Program Scilab adalah program gratis untuk komputasi
matematik seperti Matlab. Pada penelitian ini akan dianalisa seberapa cepat dan mampukah
program JST tersebut dapat mengenali pola dan target yang diberikan.
Jaringan Syaraf
Struktur jaringan syaraf manusia terdiri dari jutaan neuron yang saling terbubung. Dalam neuron
terdiri dari satu badan sel yang di dalamnya terdapat sitoplasma dan inti sel. Dari badan sel keluar
dua macam serabut saraf, yaitu dendrit dan akson. Dendrit berfungsi mengirimkan impuls ke badan
sel saraf, sedangkan akson berfungsi mengirimkan impuls dari badan sel ke jaringan lain. Akson
biasanya sangat panjang. Sebaliknya, dendrit pendek. Setiap neuron hanya mempunyai satu akson
dan minimal satu dendrit. Kedua serabut saraf ini berisi plasma sel. Didalam struktur inilah pola
BAB II
JARINGAN SYARAF TIRUAN
Model Neuron
Berikut ini akan dikembangkan model neuron menggunakan pola yang sama pada jaringan syaraf
biologis seperti terlihat dalam Tabel 1. Nucleus yang merupakan inti neuron dianalogikan dengan
unit proses pada JST, dentries merupakan masukan ke unit proses dan axon adalah keluaran ke unit
proses.
Masukan (inputs)
= ∑ p ⋅w
∑
n
f ( y)
i i
w2
. a = f (n)
.
.
wi
Bobot (weight) bisa diatur
Dimana p1..pi = adalah masukan ke 1 s/d ke i, w1…wi = bobot ke 1 s/d ke i, wb = bobot bias, b=bias,
f(n) =fungsi aktivasi dan a=keluaran neuron.
Gambar 2 memperlihatkan bentuk model neuron buatan berdasarkan analog neuron sesungguhnya
pada gambar 1. Unit proses melakukan penjumlahan semua masukan yang telah dikalikan bobot
masing-masing masukan dan kemudian dihitung keluarannya dalam aktifasi fungsi. Beberapa fungsi
aktifasi yang sering digunakan adalah: sigmoid, linear dan hardlimiter.
Multilayer Neuron
Jaringan syarat terdiri dari jutaan neuron yang saling terhubung untuk membentuk ingatan,
pengetahunan dan fungsi tertentu, begitu pula JST agar model neuron dapat berfungsi sebagai
tempat penyimpan informasi dan mampu belajar maka dibentuklah jaringan neuron. Persoalan-
persoalan yang membutuhkan fungsi pengetahuan dan ingatan dapat diselesaiakan dengan
menggunakan jaringan neuron.
Gambar 3 memperlihatkan mutltilayer neuron yang terdiri dari 3 layer yaitu input layer (lapisan
input) hanya berisi satu layer, hidden layer (lapisan tersembunyi) bisa lebih dari satu layer, dan
output layer (lapisan keluaran) berisi hanya satu layer. Masing-masing input (masukan) terhubung
kesemua neuron pada lapisan tersembunyi, kemudian semua neuron pada lapisan tersembunyi
terhubungi ke semua neuron pada lapisan keluaran. Setiap neuron melakukan proses yang sama
yaitu menerima masukan dari lapisan sebelumnya kemudian diproses dan hasil proses dikeluarkan
kelapisan berikutnya, begitu seterusnya hingga lapisan keluaran. Untuk mempermudah dalam
menganalisis sinyal-sinyal masukan dari satu neuron ke neuron berikutnya, maka dapat dibuat
penyederhanaan lapisan layer menjadi hanya 3 lapisan saja yaitu satu lapisan input/masukan, satu
lapisan tersembunyai dan satu lapisan keluaran, seperti terlihat pada gambar 4. Pada gambar 4
dapat terlihat dengan jelas apa yang terjadi pada neuron yaitu ada dua proses (proses penjumlahan
masukan dan proses pengaktivasian penjuimlahan tersebut).
Arah maju (forward bias) dari sinyal setiap neuron dengan 3 lapisan dapat dituliskan dalam bentuk
matematik sebagai berikut :
=
dj ∑ ( p ⋅ w ) ) …………………………........................................................................……………….1)
i i
h j = f1 ( d j ) .………………………………...................................................................................………2)
=
qm ∑(h j ⋅ v jm ) ………………………….............................................................................…………3)
am = f 2 ( qm ) ……………………………………...........................................................................………4)
=
am f 2 ( ∑ f ( ∑ ( p ⋅ w ) d ) h ⋅ v ) ……………........................................................………5)
1 i ji j j jm
dimana: pi = masukan, i adalah banyaknya neuron pada lapisan masukan, j adalah banyaknya
neuron pada lapisan tersembunyi, w ji adalah bobot lapisan masukan ke lapisan tersembunyi, d j =
unit proses penjumlahan neuron pada lapisan tersembuyi, f1 = fungsi aktifasi pada lapisan
tersembunyi, h j = keluaran neuron dilapisan tersembunyi, v jm adalah bobot pada lapisan keluaran,
qm = unit proses penjumlahan neuron pada lapisan keluaran, m = banyaknya neuron pada lapisan
keluaran, f 2 = fungsi aktivasi pada lapisan keluaran dan am = keluaran neuron pada lapisan
Back Propagation
Back Propagation atau propagasi balik adalah tahapan selanjutnya setelah proses forward seperti
pada pembahasan sebelumnya. Dibagian propagasi balik inilah nilai bobot diubah terus menerus
sehingga nilai keluaran JST mendekati atau sesuai dengan target yang diberikan.
Gambar 5 memperlihatkan aliran sinyal pada propagasi balik, dimana nilai error (e) digunakan untuk
meng-update nilai bobot.
Error atau kesalahan adalah selisih nilai antara nilai target dengan nilai keluaran JST, dengan
menggunakan cost enegry function maka perubahan nilai error dapat diturunkan untuk mencari
perubahan nilai bobot.
E = 12 e 2 ……………..........................................................................................................………………….6)
e = t − a ……………………………..........................................................................................................….7)
Untuk meng-update nilai bobot antara lapisan keluaran dengan lapisan tersebunyi menggunakan
persamaan sebagai berikut :
v ( k +=
1) v ( k ) + ∆v ( k ) ..........................................................................................…………………….8)
∆v ( k ) =
η ehf ′ ( q ) ……................................................................................................………………….9)
Dimana
k = iterasi ke …
1
f ′ ( q ) = turunan fungsi f ( q ) ⇒ jika
= ( q ) q maka f ′ ( q ) = 1 atau jika f ( q ) =
a f=
1 + e− q
maka f ′ ( q ) = (
f (q) 1− f (q) = )
a (1 − a ) dengan a = actual output JST
w(k =
+ 1) w ( k ) + ∆w ( k ) …………………...................................................................................…….10)
∆w ( k ) =
η ef ′ ( q ) vf ′ ( d ) p .......................................................................................................11)
Dimana
f ( d ) (1 − f ( d ) ) =
1
= (d )
h f= maka f ′ ( d ) = h (1 − h )
1 + e− d
Proses Pembelajaan
Proses pembelajaran adalah proses dimana nilai bobot di update terus menerus sehingga nilai
keluaran JST mendekati atau sama dengan nilai target yang diinginkan. Pada proses ini ada beberapa
tahapan yang dilalui yaitu :
1. Inisialisasi awal yaitu proses memberi nilai awal pada setiap konstanta pada JST, seperti nilai
learning rate, nilai bobot awal pada semua lapisan, nilai masukan, fungsi aktivasi yang digunakan,
nilai target yang diinginkan, banyaknya itarasi, jumlah neuron pada lapisan tersembunyi dan
lapisan keluaran, masukan awal dan target error yang diharapkan.
2. Menghitung arah maju, setelah nilai awal diberikan maka JST dapat melakukan perhitungan awal
maju dengan rumusan yang telah diberikan pada persamaan 1), 2), 3) dan 4).
3. Menghitung error mengunakan persamaan 7)
4. Meng-update bobot di semua lapisan, dimulai dari lapisan keluaran kemudian ke lapisan
tersembunyi dengan menggunakan rumusan pada persamaan 8), 9), 10), dan 11)
5. Kembali ke tahapan 2, sampai error nol atau target error atau target iterasi tercapai.
// ——–Output Layer————-/
// Menghitung q(m)=h(j)*v(m,j) q=sigma h*v
for m = 1:nout;
qtemp=0; //qtemp=nilai q sementara untuk menjumlahkan h*v
for j = 1:nh;
qtemp = h(j)*v(m,j)+qtemp;
end;
q(m)=qtemp; // hasil hitung q= sigma h*v
end;
w(j,i) = w(j,i)+dw(j,i);
end;
end;
err_s=0;
for m=1:nout;
err_s=e(m)+err_s;
end;
err(k)=err_s;
end; // jika t=iterasi then selesai, otherwise kembali ke iterasi
//5.=======KEMBALI KE ITERASI ========= //
BAB III
HASIL DAN PEMBAHASAN
Pengujian dilakukan untuk mengetahui seberapa cepat dan mampu program JST mengikuti target
yang diberikan berikut ini masukan yang diberikan adalah 4, 3, 2 dan 1 sedangkan target yang
diinginkan adalah 0.123 ; 0.456 ; 0.789. Menggunakan struktur 3 lapisan dengan rincian 4 masukan,
5 neuron di lapisan tersembunyi dan 3 neuron dilapisan keluaran.
Gambar 7 memperlihatkan grafik banyaknya iterasi terhadap error dengan nilai learning rate (Lr)
bervariasi dari 0.1, 0.5, 1, 2 hingga 20. Dari hasil tersebut terlihat bahwa nilai learning rate
mempengaruhi kecepatan pembelajaran, namun demikian harus diperhatikan semakin besar
learning rate sistem menjadi tidak stabil. Pemilihan learning rate yang tepat sangat mempengaruhi
hasil kecepatan pembelajaran.
BAB IV
KESIMPULAN
1. Algoritma JST sudah dapat diterapkan dalam Program JST menggunakan software Scilab yang
bersifat gratis.
2. Hal yang perlu diperhatikan dalam menurunkan algoritma pembelajaran JST adalah bahwa
fungsi aktivasi harus dapat diturunkan agar proses perhitungan dapat dilakukan.
3. Pemilihan inisialisasi awal sangat menentukan proses pembelajaran JST.
DAFTAR PUSTAKA