Anda di halaman 1dari 14

BAHAN 10

NEURAL NETWORK/JARINGAN SYARAF TIRUAN



I. Pendahuluan
Komputasi Neural merupakan jenis komputasi baru yang diharapkan dapat
mengatasi kelemahan sistem komputasi konvensional yang berbasis von
Neumann machine.
Kele!han "#n Neu$ann $a%h!ne&
1. Fast arithmetic
2. Doing precise what the programmers programm them to do
Kele$ahan "#n Neu$ann $a%h!ne&
1. Peka terhadap noise.
2. Data struktur harus dalam format yang precise
3. Sulit mengimplementasikan massive parallelism paralelisme secara
besar!besaran"
4. #idak fault tolerant. $isal memory rusak% program berantakan."
5. Sulit beradaptasi dengan keadaan
La'a( Bela)an* Neu(al +#$,u'!n*
1. $elihat kemampuan manusia dalam memproses informasi% mengenal
wajah% tulisan% dsb. $elihat wajah dari sudut pandang yang belum pernah
dialami sebelumnya.
2. &ahkan anak!anak dapat melakukan hal tsb.
3. $asih belum tahu algoritma yang digunakan.
4. $elihat analogi biologis.
5. 'tak manusia berisi kira!kira () billion (*)" nerve cells.
6. Dipercayai bahwa kekuatan komputasi otak terletak pada
a. hubungan antar nerve cells + sel saraf%
b. hierarchical organi,ation%
c. firing characteristics%
d. banyaknya jumlah hubungan
Ha(a,an a'a& Neu(al +#$,.
1. $embantu dalam pemecahan masalah yang
a. -lgoritmanya tidak diketahui secara pasti
b. memiliki banyak contoh
c. ingin diketahui strukturnya dari contoh!contoh tsb.
A(&!'e)'u( K#$,u'a&! Neu(al
1. $emiliki beberapa hal yang menarik
a. Komputasi lokal% adaptive interaction between elements
b. Paralel
c. Simple processing elements
d. High degree of interconnections
e. $asalah sering direpresentasikan dalam struktur
f. $emungkinkan implementasi hardware vlsi% optical"
g. Biological computation.
1
PERKE-BANGAN NEURAL NETWORK
1. Tahun 1./00an 1 $a&a ,e($ulaan neu(al ne'2#()
a. Neu(an -%-ull#%h0P!''&
/arren$c0ulloch dan /alter Pitts mendesain apa yang dianggap sebagai
neural network yang pertama *123". Keduanya mendapati bahwa
mengkombinasi neural ke dalam system neural akan meningkatkan
kemampuan komputasi. &erat dari tiap neuron dari system $c$ulloch!
Pitts diset sehingga neuron membentuk sutu fungsi logika dimana
rangkaian neuron yang berbeda akan membentuk fungsi yang berbeda.
Neuron!neuron dapat dirangkai menjadi jaringan untuk menghasilkan
output yang merepresentasikan suatu fungsi tertentu.
. He lea(n!n*
Donald 4ebb% psikolog dari $c5ill 6niversity% mendesain hukum
pembelajaran pertama dalam jaringan saraf tiruan 4ebb% *121". Dia
menyatakan bahwa jika ada dua neuron diaktifkan bersamaan% kekuatan
koneksi + hubungan di antara kedua neuron itu akan meningkat.
3. Tahun 1.4001.50 1 $a&a )e6a7aan ,e('a$a
a. Pe(%e,'#n
Percepton diperkenalkan dan dikembangkan oleh Frank 7osenblatt.
Percepton terdiri dari lapisan input yang dihubungkan melalui jaringan
dengan berat yang tetap ke rangkaian neuron% dimana berat pada neuron
dapat diset. Sistem pembelajaran pada percepton menggunakan iterasi
dari pengesetan berat neuron. -turan dalam percepton mengatur
hubungan berat ke unit ketika inputnya tidak tepat. -turan dibuat untuk
mengurangi perbedaan antara input dengan output dan output yang
diinginkan. 4al ini akan menghasilkan error yang semakin mengecil.
b. Adal!ne
-daline adalah adaptive linier system. -daline dikembangkan oleh
&ernard /idrow dan $arcian. -daline hampir sama dengan percepton
hanya saja aturan pembelajarannya pada single layer adalah perintis
aturan backpropagation pada multi layer.
8. Tahun 1.900an 1 $a&a 'enan*
a. K#h#nen
$etode percepton mengalami keterbatasan pada kasus!kasus yang
sangat kompleks. Kohonen mengembangkan suatu metode yang
berkaitan dengan asosiasi memori dalam neural network. $etode yang
diperkenalkannya banyak dikembangkan untuk pengelompokkan data
clustering" dan self-organizing mapping. $etode ini dipakai dalam
speech recognizing% penyelesaian Traveling Salesman Problem dll.
. Ande(&#n
8ames -nderson mengembangkan metode asosiasi memori kohonen. 9de
yang dikembangkannya memotong output linier dari model asal untuk
menjaga output agar tidak terlalu besar ketika melakukan iterasi untuk
menghasilkan solusi yang stabil.
%. G(#&&e(*
Stephen 5rossberg mengembangkan metode yang sangat matematis dan
biologis dalam pengembangan neural network.
2
d. +a(,en'e(
0arpenter mengembangkan teori self-organizing neural network yang
dikenal dengan adaptive resonance teori
/. Tahun 1.:0 1 $a&a ,e$ul!han
a. Backpropagation
Salah satu hal yang menghambat perkembangan neural network pada
tahun :)!an adalah kegagalan percepton single layer dalam
menyelesaikan kasus!kasus sederhana dan kekurangan metode umum
untuk pembelajaran system multi layer . $etode perambatan informasi
kesalahan pada unit output ke lapisan hidden layer mampu mengurangi
kesalahan output. $etode ini merupakan salah satu cara untuk
mengoptimalkan neural network.
. H#,;!eld ne'&
4opfield mengembangkan sejumlah neural network yang didasarkan pada
fied weight dan adaptive activation. 8aringan yang dikembangkannya
mampu berfungsi sebagai asosiasi memori dan dapat menyelesaikan
beberapa persoalan seperti Salesman #raveling Problem.
%. Ne#%#*n!'(#n
Neocognitron merupakan searangkaian neural network yang berfungsi
untuk mengenal pola karakter. Neocognitron dikembangkan oleh Kunihiko
Fukushima di laboratorium N4K % #okyo.
A,l!)a&! ANN
1. &isnis
a. $emprediksi perubahan stok
b. $emprediksi market
2. $edis
a. $embantu diagnosis dokter
3. Pemrosesan sinyal
a. !daptive noise cancellation misalnya ; mengurangi noise pada sinyal
telpon% gelombang radio"
b. -nti lock breaking system -&S"
4. Kendali
a. Kendali robot
b. kendali peralatan industri
5. Pengenalan pola pattern recognition"
a. Pengenalan pola gambar image". misal untuk video surveillance%
pengenalan wajah% huruf% tanda tangan
b. Pengenalan pola suara speech recognition".
c. Pengenalan pola data data mining"
6. Speech prodution
a. 6ntuk mensintesis suara manusia
b. $ensintesis suara musik
-da beberapa definisi untuk mendeskripsikan !rtificial "eural "etwork 8aringan
Saraf #iruan " antara lain ;
*. - Neural Network is an interconnected assembly of simple procesing
elements + units + nodes% whose functionality is loosely based on the animal
neuron. #he processing ability of the network is stored in the inter!unit
connection strengths% or weights% obtained by a process of adaptation to% or
learnig from% a set of training patterns.
K. 5urney "
3
(. -n artificial neural network is an information processing system that has
certain performance characteristics in common with biological neural network.
<aurene Fausett "
-NN dikembangkan sebagai generalisasi metode matematis kesadaran
cognition" manusia atau jaringan saraf neural" didasarkan pada ;
*. Pemrosesan informasi terjadi pada banyak elemen sederhana yang
disebut saraf neural"
(. Sinyal dilewatkan di antara saraf melalui suatu titik + node + connection
3. Setiap connection mempunyai suatu asosiasi berat yang mempengaruhi
sinyal yang dilewatkan
2. Setiap neuron menerapkan suatu fungsi aktivasi ke jaringan input untuk
menentukan sinyal output
"eural "etwork dikarakteristikkan dengan ;
*. 8enis hubungan tiap koneksi antar neuron architektur"
(. $etode menyatakan berat pada tiap koneksi training% learning% algoritma"
3. Fungsi aktivasi penggerak"
#erdapat kesamaan dalam merepresentasikan sel saraf dan pemrosesan elemen
dalam neural network.
1. Komponen utama sel saraf adalah
a. Soma cell body"
b. !on output"
c. Dendrites input"
2. Synapse; hubungan a=onic nerve fiber dengan soma atau dendrite dari
neuron lain
3. Sebuah neuron memiliki *))) s+d *).))) synapes
4
Gambar 1. Sel Saraf
II. K#n&e, <a&a( Artificial Neural Network
A. A(&!'e)'u( Neural Network
-rsitekur neural network adalah susunan neuron dalam layer lapisan" dan
pola koneksi untuk tiap neuron. -da 3 jenis arsitektur neural network
berdasarkan bentuk umum lapisannya% yaitu ;
1. Ja(!n*an &!n*le la7e(
8aringan single!layer merupakan bagian dari jaringan feedforward% dimana
sinyal datang dari input mengalir ke ouput. 8aringan single layer hanya
mempunyai satu lapisan koneksi. Dalam system single layer% unit dapat
dibedakan sebagai unit input dan unit output secara jelas. &iasanya dalam
model single layer setiap unit input terhubung ke unit output tetapi tidak
terhubung ke unit input lainnya. 0ontoh single layer dapat dilihat pada
5ambar (.
3. Ja(!n*an multi layer
8aringan multi layer adalah jaringan yang mempunyai lebih dari satu lapisan
nodes titik hubung + koneksi" di antara input dan outputnya. &iasanya ada
lapisan untuk menyatakan berat weight" di antara dua level yang berdekatan.
8aringan multi layer dapat menyelesaikan permasalahan yang lebih
kompleks. 0ontoh jaringan multi layer dapat dilihat pada 5ambar 3.
input
x
1
x
2
x
3
x4
w
1
w
2
w
3
w
b
Y1
Y2
ouput
5
Gambar 2. Single-Layer Net
Gambar 3. Multi-Layer Nets
3. Competitive layer
#ompetitive layer merupakan bentuk yang banyak dipakai dalam aplikasi
neural network. Dalam competitive layer pemisahan unit input dan output sulit
dibedakan karena unit input bisa menjadi unit output yang lain begitu juga
sebaliknya. 0ontoh competitive layer dapat dilihat dalam 5ambar 2.
B. -enen'u)an e(a' =weight>
$etode menentukan berat weight" merupakan salah satu hal penting dalam
menyusun neural network. Secara umum ada dua metode yang dipakai
dalam menentukan weight yaitu metode training supervised dan
unsupervised" dan penentuan weight dengan nilai yang tetap fied-weight
nets".
1. Supervised training
pada metode supervised training dilakukan dengan menentukan
rangkaian vector training atau pola yang masing!masing diasosiasikan
dengan target outputnya. &erat akan disesuaikan dengan algoritma
pembelajarannya.
3. Unsupervised training
$etode unsupervised training hampir sama dengan metode supervised%
hanya saja dalam metode ini tidak ada vector target yang dispesifikkan.
8aringan akan memodifikasi berat sehingga vector input yang mirip akan
ditempatkan dalam vector output yang sama.
8. Fied!weight nets
Dalam metode fied-weight nets% nilai berat untuk tiap unit input dibuat
tetap% sehingga tidak memberikan training untuk menyesuaikan nilai berat.

+. Fun*&! a)'!"a&! da&a(
Salah satu operasi dasar dalam neural network adalah operasi penjumlahan
berat sinyal input untuk menghasilkan output atau fungsi aktivasi. Dalam unit
input% fungsi ini adalah fungsi identitas yang dinyatakan dengan ;
( ) x x f =
untuk semua =
sedangkan untuk fungsi aktivasinya ada beberapa macam% yang sering
digunakan adalah ;
1. Fun*&! !den'!'a&
Fungsi identitas dinyatakan dengan >
( ) x x f =
untuk semua =
5rafik dari fungsi identitas dapat dilihat pada 5ambar ?.
6
A1 A2
A3 A4
Gambar 4. Competitive Layer
2. Fun*&! &'e, !ne(
Fungsi step dinyatakan dengan ;
( )

0 __
0 __ 1
x jika
x jika
o
x f
Fungsi step biner sering disebut juga fungsi threshold ambang batas".
3. Fun*&! &!*$#!d
Fungsi sigmoid merupakan fungsi yang sangat berguna dalam fungsi
aktivasi. Fungsi sigmoid sangat berguna dalam training dengan metode
backpropagation dikarenakan kesederhanaan hubungan antara nilai
fungsi pada suatu titik dan nilai derivatif turunan" pada titik tersebut yang
mengurangi beban komputasi selama proses training. Fungsi sigmoid
dinyatakan dengan ;
( )
) exp 1
1
x
x f
+
=
( ) ( ) ( ) [ ] x f x f x f = 1
!

"
fx)
x
Gambar 5. #un$%i &dentita%
x
Gambar 6. #un$%i Step 'iner
1
<. Neu(#n -%-ull#%h0P!''&
Secara umum arsitektur neural $c$ulloch!Pitts menerima sinyal dari
sejumlah neuron. Setiap koneksi bisa mendukung% berat w@)% atau menghalangi%
berat Ap p@)". $isalkan ada sejumlah n input yang beratnya berbilai positif dan
m input yang beratnya bernilai negatif maka fungsi aktivasinya adalah ;
( )
0 _
0 _
0
1
_

=
in jika
in jika
in y f
dimana > yBin C total sinyal input yang diterima
) C adalah ambang batas
#ontoh program sederhana menggunakan matlab $
% Program sederhana kasus !"& dengan "eural "etworks
% tanpa training
%'''''''''''''''''''''''''''''''''''''''''''''''''''''''''
function output(Simple!nd)*+ ,-
% inisialisasi
threshold(,.
w*(*.
w,(*.
% pen/umlahan bobot dan masukan
0(*1w*2,1w,.
% keluaran dari /aringan
if)03(threshold-
output(*.
else
output(4.
(
X1
Xn
Xn+m
Y
)
)
*p
Ga$a( 9. -rsitektur $c$ulloch Pitts
end
+
% Program sederhana kasus "0T dengan "eural "etworks
% tanpa training
%'''''''''''''''''''''''''''''''''''''''''''''''''''''''''
function output(Simple"ot)-
% inisialisasi
threshold(-4.5.
w(-*.
% pen/umlahan bobot dan masukan
0(1w.
% keluaran dari /aringan
if)03(threshold-
output(*.
else
output(4.
end
% Program sederhana kasus 0r dengan "eural "etworks
% tanpa training
%'''''''''''''''''''''''''''''''''''''''''''''''''''''''''
function output(Simple0r)*+ ,-
% inisialisasi
threshold(,.
w*(,.
w,(,.
% pen/umlahan bobot dan masukan
0(*1w*2,1w,.
% keluaran dari /aringan
if)03(threshold-
output(*.
else
output(4.
end
% &eskripsi $ Program untuk menyelesaikan kasus !"& dengan "eural
"etworks
% dengan pembela/aran memakai bias
% 6nput $ input ( input yang akan dites
% contoh input(74 *8
% 0utput $ output ( hasil dari !"&
%'''''''''''''''''''''''''''''''''''''''''''''''''''''''''
%data input
(74 4.
4 *.
* 4.
* *8.
%data target
t(74 .4 .4 .*8.
% Pembela/aran untuk mendapatkan bobot terbaik
w(get9eights*)+ t+ 4.*+ *4-
% Test dengan input
output(:un""*)input+ w+ t-.
function w(get9eights)input+ target+ ;:+ /umlahiterasi-
10
% &eskripsi $ untuk mencari weight )bobot- pada "eural "etworks
% 6nput $ input ( input pada "eural "etworks
% target ( target pada "eural "etworks
% ;: ( ;earning rate untuk update bobot
% /umlahiterasi ( /umlah iterasi
% 0utput $ w ( bobot yang dihasilkan
%'''''''''''''''''''''''''''''''''''''''''''''''''''''''''
/umlahpattern(size)input+*-.
/umlahinput(size)input+,-.
/umlahtarget(size)target+,-.
%menambah bias pada /aringan input
for p(*$/umlahpattern
input)p+/umlahinput2*-(*.
end
%inisialisasi bobot
w(78.
for /(*$/umlahinput2*
for i(*$/umlahtarget
w)/+i-(4.*51),1rand-*-.
end
end
%pembela/aran untuk mendapatkan bobot terbaik
for itr(*$/umlahiterasi
error(4.4.
for p(*$/umlahpattern
for i(*$/umlahtarget
0)i-(input)p+$-1w)$+i-.
if)0)i-34.4-
out)i-(*.
else
out)i-(4.
end
<::)i-(target)p+i--out)i-.
error(error2abs)<::)i--.
if)<::)i-'(4-
for /(*$/umlahinput2*
w)/+i-(w)/+i-2;:1input)p+/-1<::)i-.
end
end
end
end
error(error=/umlahpattern.
fprintf)>%,d %.,f?n>+itr+error-.
e)itr-(error.
end
function output(:un"")input+ w+ /umlahoutput-
% &eskripsi $ untuk men/alankan "eural "etworks
% 6nput $ input ( input pada "eural "etworks
% w ( bobot pada "eural "etworks
% /umlahoutput ( /umlah output pada "eural "etworks
% 0utput $ output ( output yang dihasilkan
%'''''''''''''''''''''''''''''''''''''''''''''''''''''''''
11
%menghitung keluaran /aringan
/umlahinput(size)input+,-.
/umlahtarget(size)/umlahoutput+,-.
input)/umlahinput2*-(*.
output(zeros)/umlahtarget+*-.
for i(*$/umlahtarget
out(input1w)$+i-.
if)out34.4-
output)i-(*.
else
output)i-(4.
end
end
function output(;earn@0:)input-
% &eskripsi $ Program untuk menyelesaikan kasus @0: dengan "eural
"etworks
% dengan memakai bias.
% !rsitektur "" $
% input units ( , )2* bias-
% hidden units ( , )2* bias-
% output units ( *
% 6nput $ input ( input yang akan dites
% contoh input(74 *8
% 0utput $ output ( hasil dari !"&
%'''''''''''''''''''''''''''''''''''''''''''''''''''''''''
clc
%data input
(74 4.
4 *.
* 4.
* *8.
%data target
t(74 * * 48.
% Pembela/aran untuk mendapatkan bobot terbaik
7w+s8(get9eightsA@0:)+ ,+ t+ 4.*+ ,444-.
%running
output(:un""A@0:)input+w+s-.
function 7w+s8(get9eightsA@0:)input+ /umlahhidden+ target+ ;:+ /umlahiterasi-
% &eskripsi $ untuk mencari weight )bobot- pada "eural "etworks
% yang mempunyai hidden layer pada kasus @0:
% 6nput $ input ( input pada "eural "etworks
% target ( target pada "eural "etworks
% /umlahhidden ( /umlah hidden unit pada "eural "etworks
% ;: ( ;earning rate untuk update bobot
% /umlahiterasi ( /umlah iterasi
% 0utput $ w ( bobot yang dihasilkan dari lapisan input ke lapisan tersembunyi
% s ( bobot yang dihasilkan dari lapisan tersembunyi ke lapisan output
%
12
%'''''''''''''''''''''''''''''''''''''''''''''''''''''''''
/umlahpattern(size)input+*-.
/umlahpattern
/umlahinput(size)input+,-.
/umlahtarget(size)target+,-.
%menambah bias pada /aringan input
for p(*$/umlahpattern
input)p+/umlahinput2*-(*.
end
y)/umlahhidden2*-(*.
%inisialisasi bobot
for /(*$/umlahhidden
for i(*$/umlahinput2*
w)/+i-(4.*51),1rand-*-.
end
end
for k(*$/umlahhidden2*
s)k-(4.*51),1rand-*-.
end
%pembela/aran untuk mendapatkan bobot terbaik
for l(*$/umlahiterasi
error(4.4.
for p(*$/umlahpattern
0(zeros)*+,-.
for /(*$/umlahhidden
0)/-(input)p+$-1w)/+$->.
y)/-(sigmoid)0)/--.
end
0*(y1s>.
z(sigmoid)0*-.
g*(z1)*-z-.
deltaAo()target)p--z-1g*.
f*(y.1)*-y-.
for /(*$/umlahhidden
deltaAh)/-(f*)/-1deltaAo1s)/-.
end
s(s2;:1deltaAo1y.
for /(*$/umlahhidden
for i(*$/umlahinput2*
w)/+i-(w)/+i-2;:1deltaAh)/-1input)p+i-.
end
end
error(error2))target)p--z-1)target)p--z--=,.
end
error(error=B.
fprintf)>%d %.,f?n>+l+error-
e)l-(error.
end
plot)e-
function output(:un""A@0:)input+w+s-
% &eskripsi $ untuk men/alankan "eural "etworks
% 6nput $ input ( input pada "eural "etworks
% w ( bobot pada unit input ke unit tersembunyi pada "eural "etworks
13
% s ( bobot pada unit tersembunyi ke unit output pada "eural "etworks
% 0utput $ output ( output yang dihasilkan
%'''''''''''''''''''''''''''''''''''''''''''''''''''''''''
/umlahinput(size)input+,-.
/umlahinput
/umlahhidden(size)input+,-.
input)/umlahinput2*-(*. % menentukan biasnya
input
0(input1w>.
0
w
for /(*$,.
y)/-(sigmoid)0)/--.
end
y)/umlahhidden2*-(*. % bias hidden layer
0ut(y1s>.
0ut
z(sigmoid)0ut-.
if )zC4.5-
output(4.
else
output(*.
end
14

Anda mungkin juga menyukai