Anda di halaman 1dari 27

BAB 2

LANDASAN TEORI

2.1 Jaringan Saraf Tiruan (JST)

Saat ini, komputer modern dengan teknologi canggih merupakan sebuah kekuatan
bagi perkembangan zaman. Meskipun demikian banyak hal yang masih tetap belum
dapat diselesaikan dengan menggunakan komputer, baik karena algoritmanya yang
belum diketahui ataupun walaupun algoritma penyelesaiannya sudah diketahui
namun run time nya masih sangat lama. Hal inilah yang menjadi tantangan bagi para
ahli untuk mendapatkan metode lain untuk memecahkan masalah ini, sehingga
kegiatan manusia bahkan yang paling sederhana dapat dikerjakan secara komputasi.
Cara kerja jaringan saraf manusia menjadi inspirasi untuk menyelesaikan masalah
tersebut [5].

Minat yang sangat besar pada jaringan saraf tiruan yang terjadi baru-baru ini
dapat disebabkan oleh beberapa faktor. Pertama, pola training yang telah
dikembangkan menjadi sebuah model jaringan yang lebih pintar yang dapat
mengatasi masalah. Kedua, komputer digital dengan kecepatan tinggi membuat
simulasi proses jaringan lebih mudah dikerjakan. Ketiga, teknologi zaman sekarang
menyediakan hardware yang spesifik untuk jaringan saraf. Bagaimanapun, pada saat
yang bersamaan perkembangan pada komputasi tradisional telah membuat
pembelajaran jaringan saraf tiruan lebih mudah, keterbatasan yang dihadapi oleh
komputer tradisional telah memotivasi beberapa arah dari penelitian mengenai
jaringan saraf tiruan [3].

Universitas Sumatera Utara


2.1.1 Pengertian Jaringan Saraf Tiruan

Jaringan saraf tiruan merupakan implementasi dari teknologi artificial intelligence.


Jaringan saraf tiruan adalah salah satu representasi buatan dari otak manusia yang
selalu mencoba untuk mensimulasikan proses pembelajaran pada otak manusia
tersebut [9]. Istilah buatan digunakan karena jaringan saraf ini diimplementasikan
dengan menggunakan program komputer yang mampu menyelesaikan sejumlah
proses perhitungan selama proses pembelajaran. Jaringan saraf tiruan merupakan
sistem pemroses informasi yang memiliki karakteristik mirip dengan jaringan saraf
biologi [14]. Menurut Subiyanto [16], jaringan saraf tiruan adalah membuat model
sistem komputasi yang dapat menirukan cara kerja jaringan saraf biologi.

Secara umum Haykin [4] mendefinisikan sebuah jaringan saraf tiruan adalah
sebuah mesin yang dirancang untuk mempolakan cara bagaimana otak mengerjakan
sebuah fungsi tertentu. Jaringan biasanya diimplementasikan dengan menggunakan
komponen elektronika atau disimulasikan dalam sebuah perangkat lunak pada
komputer digital. Untuk mencapai tampilan yang baik, jaringan saraf tiruan memakai
interkoneksi yang sangat besar antara sel-sel komputasi yang disebut “neuron” atau
“unit pemroses”. Sebagai mesin yang adaptif, sebuah jaringan saraf tiruan adalah
sebuah prosessor besar terdistribusi yang paralel yang tersusun dari unit pemroses
sederhana yang mempunyai kecenderungan untuk menyimpan pengalaman dan
pengetahuan dan membuatnya siap untuk digunakan. Hal itu menyerupai otak dalam
dua aspek:

1. Pengetahuan dibutuhkan oleh jaringan dari lingkungannya melalui proses


pembelajaran.
2. Kekuatan koneksi interneuron, dikenal sebagai bobot sinapsis, digunakan
untuk menyimpan pengetahuan yang dibutuhkan.

Menurut Fausett [3] sebuah jaringan saraf tiruan adalah sistem pemroses
informasi yang mempunyai karakter tampilan tersendiri yang hampir sama dengan
jaringan saraf pada biologi. Jaringan saraf tiruan telah dikembangkan sebagai
generalisasai model matematika dari jaringan saraf biologi, berdasarkan asumsi:

Universitas Sumatera Utara


1. Pemrosesan informasi terjadi pada elemen sederhana yang disebut neuron.
2. Sinyal dilewatkan antarneuron melalui link penghubung.
3. Setiap link penghubung mempunyai sebuah bobot dimana pada jaringan
saraf tertentu bobot digandakan oleh sinyal yang dipancarkan.
4. Setiap neuron menggunakan fungsi aktivasi (biasanya nonlinear) pada
jaringan inputnya (penjumlahan bobot sinyal input) untuk menentukan
sinyal output.

Jaringan saraf tiruan dikarakteristikkan dengan pola koneksi antarneuron yang


disebut arsitektur, metode penentuan bobot pada setiap koneksinya (yang disebut
training atau learning, algoritma) dan fungsi aktivasinya [10].

Jaringan saraf terdiri dari elemen pemroses sederhana yang dinamakan neuron,
unit, sel atau node. Setiap neuron terkoneksi dengan neuron yang lain masing-masing
dengan bobot terhubung. Bobot merepresentasikan informasi yang digunakan oleh
jaringan untuk menyelesaikan masalah. Jaringan saraf dapat diaplikasikan untuk
masalah yang sangat luas, seperti penyimpanan dan pemanggilan kembali data atau
pola, mengklasifikasian pola, menampilkan pemetaan secara umum dari pola input
menjadi pola output, mengelompokkan pola yang sama, atau menemukan solusi untuk
mengoptimisasikan masalah [12].

Setiap neuron mempunyai fungsi aktivasi atau level aktivitas, yang merupakan
fungsi dari input yang telah diterima. Neuron mengirimkan aktivasinya sebagai
sebuah sinyal ke beberapa neuron yang lain. Sebuah neuron hanya dapat mengirimkan
sebuah sinyal dalam satu waktu, walaupun sinyalnya disebarkan pada beberapa
neuron yang lain.

Ciri utama yang dimiliki oleh jaringan saraf tiruan adalah kemampuannya
untuk belajar. Belajar (learning) pada jaringan saraf tiruan dapat diartikan sebagai
proses penyesuaian parameter pembobot karena keluaran yang diinginkan tergantung
pada harga pembobot interkoneksi yang dimiliki oleh sel. Proses belajar akan
dihentikan jika nilai kesalahan atau error sudah dianggap cukup kecil untuk semua

Universitas Sumatera Utara


pasangan data latihan. Jaringan yang sedang melakukan proses belajar disebut berada
dalam tahap latihan (training). Pada tahap awal pelatihan ini perlu dilakukan terlebih
dahulu sebelum melakukan pengujian suatu objek [21].

Berdasarkan tingkat kemampuannya, jaringan saraf tiruan dapat diterapkan


pada beberapa aplikasi yang cocok bila diterapkan pada klasifikasi pola, yakni
memilih suatu input data ke dalam suatu kategori tertentu yang diterapkan. Di
samping itu jaringan saraf tiruan dapat diterapkan pada prediksi dan self organizing,
yakni menggambarkan suatu obyek secara keseluruhan hanya dengan mengetahui
bagian dari obyek lain dan memiliki kemampuan untuk mengolah data-data tanpa
harus memiliki data sebagai target. Selanjutnya jaringan saraf tiruan juga mampu
diterapkan pada masalah optimasi, yakni mencari jawaban atau solusi terbaik dari
suatu masalah [1].

Prosedur yang digunakan untuk menampilkan proses pembelajaran disebut


algoritma pembelajaran yang fungsinya memodifikasi bobot sinapsis pada jaringan
dalam sebuah cara yang teratur untuk mencapai rancangan objek yang diinginkan.
Modifikasi bobot sinapsis menyediakan sebuah metode untuk merancang jaringan
saraf tiruan. Seperti sebuah pendekatan yang mendekati teori linear adaptif, yang telah
didirikan dan sukses diaplikasikan pada bermacam-macam bidang. Bagaimanapun,
sangat mungkin bagi jaringan saraf tiruan untuk memodifikasi topologinya sendiri
yang dimotivasi dengan fakta bahwa neuron pada otak manusia dapat mati dan
koneksi sinapsis baru dapat bertumbuh [4].

Kemampuan JST untuk belajar dan memperbaiki dirinya telah menghasilkan


banyak algoritma atau aturan belajar alternatif yang dapat digunakan, dari sekian
banyak aturan yang ada, yang paling sering digunakan adalah aturan belajar
backpropagation yang termasuk kategori supervised learning yang dapat digunakan
memperbaiki kinerja jaringan saraf tiruan [19].

Universitas Sumatera Utara


2.1.2 Manfaat Jaringan Saraf Tiruan

Sangat jelas jika sebuah jaringan saraf tiruan mendapatkan kekuatan komputasinya
melalui stuktur distribusi paralel yang sangat besar dan kemampuannya untuk belajar
dan menggeneralisasikan data. Generalisasi merujuk pada jaringan saraf tiruan yang
menghasilkan output yang sesuai walaupun input belum pernah ditemukan
sebelumnya selama pembelajaran (training). Kemampuan memproses informasi yang
seperti inilah yang memungkinkan jaringan saraf tiruan mampu mencari solusi atas
masalah dalam skala yang besar dan sulit. Dalam prakteknya, jaringan saraf tiruan
tidak dapat menyediakan solusi dengan bekerja sendiri. Jaringan saraf tiruan harus
diintegrasikan ke dalam sebuah sistem yang konsisten dengan keahlian teknik,
khususnya pada masalah yang kompleks [4]. Jaringan saraf tiruan menawarkan
kemampuan sebagai berikut:

1. Nonlinearity. Sebuah neuron buatan bisa saja linear atau tidak linear. Jaringan
saraf tiruan yang terdiri dari interkoneksi neuron yang nonlinear yang
membuat jaringan saraf tersebut nonlinear. Ketidaklinearan adalah sifat yang
sangat penting secara khusus jika mekanisme fisik yang berperan untuk
membangkitkan sinyal input bersifat nonlinear.

2. Input-output mapping. Sebuah paradigma populer dari pembelajaran disebut


learning with a teacher (belajar dengan guru) atau supervised learning
(pembelajaran terbimbing) yang melibatkan modifikasi bobot sinapsis jaringan
saraf tiruan dengan mengaplikasikan kumpulan sampel training. Setiap contoh
terdiri dari sebuah input signal yang sangat unik dan respon yang diinginkan.
Jaringan dipresentasikan dengan sebuah contoh yang diambil secara acak, dan
bobot sinapsis (parameter bebas) dari jaringan, dimodifikasikan untuk
meminimalisasi perbedaan antara hasil yang diinginkan dengan hasil yang
sebenarnya yang dihasilkan oleh jaringan dengan sinyal input sesuai dengan
kriteria statistika. Pelatihan jaringan diulangi sampai mencapai kondisi dimana
tidak ada perubahan yang signifikan pada bobot sinapsis.

Universitas Sumatera Utara


3. Adaptivity. Neural network memiliki kemampuan untuk menyesuaikan bobot
sinaptik mereka terhadap perubahan pada lingkunganya. Secara khusus,
jaringan saraf dilatih untuk beroperasi pada lingkungan tertentu terlebih dalam
menghadapi perubahan kecil yang terjadi dalam kondisi lingkungan operasi.
Arsitektur alami jaringan saraf untuk klasifikasi pola, pemrosesan sinyal dan
aplikasi kontrol, ditambah dengan kemampuan adaptif jaringan, membuatnya
menjadi alat yang berguna dalam klasifikasi pola adaptif, pengolahan
kemampuan adaptif dan kontrol adaptif. Secara umum, dapat dikatakan bahwa
semakin adaptif kita membuat sebuah sistem memastikan bahwa sistem akan
semakin stabil dan semakin kuat daya gunanya ketika sistem diperlukan untuk
beroperasi di lingkungan nonstasioner. Harus ditekankan, bagaimanapun
adaptivitas tidak selalu menimbulkan kekuatan, sebaliknya dapat berlawanan.
Misalnya. sistem adaptif dengan konstanta waktu yang singkat cenderung
untuk merespon gangguan palsu, menyebabkan penurunan drastis pada kinerja
sistem.

4. Evidential Response. Dalam konteks klasifikasi pola, jaringan saraf dapat


dirancang untuk memberikan informasi tidak hanya tentang pola yang khusus,
tetapi juga kepercayaan (confidence) tentang keputusan yang dibuat. Informasi
yang terakhir ini dapat digunakan untuk menolak pola ambigu, dengan
demikian meningkatkan kinerja klasifikasi jaringan.

5. Contextual Information. Pengetahuan direpresentasikan oleh struktur dan


aktivasi dari jaringan saraf. Setiap neuron dalam jaringan berpotensi
dipengaruhi oleh aktivitas global semua neuron lain dalam jaringan.
Akibatnya, informasi kontekstual ditangani dengan secara alami oleh jaringan
saraf.

6. Fault Tolerance. Jaringan saraf yang diimplementasikan pada bentuk


hardware, memiliki potensi untuk bersifat fault tolerant (toleran terhadap
kesalahan), dalam arti bahwa kinerjanya menurun dalam kondisi operasi
buruk. Contohnya, jika neuron atau link penghubung rusak, pemanggilan pola

Universitas Sumatera Utara


yang tersimpan akan terganggu kualitasnya. Berhubungan dengan sifat
distribusi informasi yang tersimpan dalam jaringan, kerusakan harus segera
diperbaiki sebelum respon keseluruhan jaringan menurun secara drastis. Pada
prinsipnya, sebuah jaringan saraf menunjukkan penurunan dalam kinerjanya.
Ada beberapa bukti empiris untuk komputasi yang kuat, tetapi biasanya hal ini
tidak terkendali. Untuk memastikan bahwa jaringan saraf toleran terhadap
kesalahan, mungkin perlu untuk membuat pengukuran korektif dalam
merancang algoritma yang digunakan untuk melatih jaringan.
 

7. VLSI Implementability. Sifat dasar dari jaringan saraf tiruan yang paralel
membuatnya berpotensi untuk mengkomputasikan tugas-tugas tertentu dengan
cepat. Fitur yang sama ini membuat jaringan saraf tiruan tepat pada
implementasi penggunaan teknologi VLSI (very large scale integrated). Salah
satu manfaat dari VLSI adalah menyediakan sebuah cara untuk mendapatkan
sebuah tingkah laku yang kompleks dalam sebuah kebiasaan yang hirarki.

8. Uniformity of Analysis and Design. Pada dasarnya, jaringan saraf tiruan


dikenal sebagai pemroses informasi. Dikatakan demikian sama dengan notasi
yang digunakan pada semua domain yang melibatkan aplikasi jaringan saraf
tiruan. Fitur ini memanifestasikan dirinya dengan cara yang berbeda:

a. Neuron, antara satu dengan yang lain, merepresentasikan sebuah bahan


yang sama terhadap semua jaringan saraf tiruan.
b. Keadaan yang sama ini membuat jaringan saraf tiruan mungkin untuk
berbagi teori dan algoritma pembelajaran dalam aplikasi yang berbeda.
c. Jaringan modular dapat dibangun melalui integrasi tanpa hubungan pada
modul-modul.

9. Neurobiological Analogy. Rancangan jaringan saraf tiruan dianalogikan


dengan otak manusia, yang merupakan bukti nyata bahwa toleransi terhadap
kesalahan pada pemrosesan paralel tidak hanya mungkin tetapi juga cepat dan
kuat.

Universitas Sumatera Utara


2.1.3 Struktur Dasar Jaringan Saraf Tiruan

Out Out Out


1 2 m

Internal processing

In 1 In 1 In n

Gambar 2.1 Jaringan Feedforward

Gambar 2.1 diatas mengilustrasikan struktur jaringan saraf tiruan secara umum.
Biasanya terdapat satu atau lebih masukan. Gambar di atas juga menunjukkan bahwa
neuron input terkoneksi dengan neuron output melalui sebuah proses dalam “kotak”.
Model jaringan yang sebenarnya menentukan sifat dari kotak ini. Susunan ini sangat
umum, namun bukanlah satu-satunya. Beberapa model menghilangkan media
penghubung dan langsung menghubungkan neuron input dengan neuron output.

Dalam kasus ini, seluruh beban dari jaringan diambil alih oleh proses yang
dikerjakan oleh neuron output. Model yang lain memperbolehkan neuron output
terkoneksi satu sama lain sabagaimana dengan lapisan sebelumnya. Hanya model lain
tidak membedakan secara jelas antara neuron input dan neuron output. Jika neuron
masukan telah masuk, jaringan mengolah neuron sampai kepada sebuah kesimpulan
dimana neuron input telah menjadi neuron output.

Sebuah jaringan saraf tiruan biasanya dilatih dalam dua metode. Yang paling
umum adalah pelatihan terbimbing (supervised training). Setiap contoh pada pelatihan
ini secara lengkap menspesifikasikan semua input sebagaimana output yang
diinginkan ketika input direpresentasikan. Kemudian kita memilih subset dari

Universitas Sumatera Utara


pelatihan dan merepresentasikan contoh pada subset pada jaringan pada waktu yang
sama. Untuk setiap contoh, kita membandingkan output yang dihasilkan jaringan
dengan output yang kita harapkan untuk dihasilkan. Setelah semua subset pelatihan
telah diproses, kita memperbaharui bobot yang mengkoneksikan neuron dalam
jaringan. Pembaharuan ini dilakukan dengan harapan mengurangi error pada hasil
jaringan.

Metode pelatihan lain adalah pelatihan tak terbimbing (unsupervised training).


Sebagaimana pelatihan terbimbing, kita juga harus memasukkan contoh input. Tetapi
tidak menyediakan output target untuk jaringan. Diasumsikan setiap input berasal dari
kelas yang berbeda-beda, dan output jaringan adalah identifikasi dari kelas dimana
input berasal. Proses dari pelatihan yaitu, menemukan fitur yang menonjol pada
pelatihan dan menggunakannya untuk mengelompokkan input dalam kelas-kelas dan
menemukan perbedaannya. Pelatihan tak terbimbing biasanya tidak digunakan
sepopuler pelatihan terbimbing.

Dan yang ketiga adalah metode pelatihan hibrid. Gabungan antara pelatihan
terbimbing dan tak terbimbing. Tak terbimbing dikarenakan output target tidak
dispesifikasikan. Disebut terbimbing dikarenakan pada waktu yang bersamaan,
jaringan memberikan respon pada pelatihan dimana responnya baik atau buruk.

Sangat sulit melatih sebuah jaringan dan langsung menggunakannya.


Kompetensinya harus diuji terlebih dahulu. Proses pengujian sebuah pelatihan disebut
validasi. Pelatihan digunakan untuk melatih jaringan sedangkan validasi digunakan
untuk menguji jaringan yang telah dilatih. Validasi tidak dapat diangggap remeh.
Dalam banyak bidang, validasi yang baik lebih penting daripada pelatihan yang baik.

Universitas Sumatera Utara


2.1.4 Arsitektur Jaringan

Menurut Fausett [3], sering kali sangat tepat memvisualisasikan neuron sebagai
lapisan. Umumnya, neuron-neuron pada lapisan yang sama berkelakuan sama. Faktor
kunci untuk menentukan perilaku dari sebuah neuron adalah dengan fungsi
aktivasinya dan pola koneksi dengan neuron yang lain sehingga neuron dapat
mengirim dan menerima sinyal. Lebih spesifik lagi, pada banyak jaringan saraf tiruan,
neuron pada sebuah lapisan bisa saja terkoneksi sepenuhnya atau tidak terkoneksi
sama sekali. Jika setiap neuron pada sebuah lapisan (misalkan lapisan
tersembunyi/hidden layer) terkoneksi dengan neuron pada lapisan yang lain (misalkan
lapisan output) maka setiap unit tersembunyi terkoneksi dengan setiap unit output.

Penyusunan neuron pada lapisan-lapisan dan pola koneksinya dalam dan


antarlapisan disebut arsitektur jaringan. Banyak jaringan memiliki lapisan input yang
aktivasi dari setiap unitnya sama dengan sinyal input external. Jaringan saraf
diklasifikasikan sebagai lapisan tunggal dan lapisan banyak. Dalam menentukan
jumlah dari lapisan, unit input tidak terhitung sebagai lapisan karena unit tersebut
tidak melakukan proses komputasi. Atau bisa dikatakan bahwa jumlah lapisan pada
jaringan ditentukan berdasarkan lapisan yang berisikan bobot antar koneksi dari
kumpulan neuron-neuron. Hal inilah yang mendasari bahwa bobot pada jaringan saraf
berisikan informasi yang sangat penting.

Sebuah lapisan adalah kumpulan dari neuron-neuron yang berbagi input yang
sama. Setiap neuron pada sebuah lapisan mempunyai dendrit yang berhubungan
dengan axon pada neuron pada lapisan sebelumnya. Lapisan pertama sebagai lapisan
input dimana neuron tidak mempunyai dendrit. Neuron tersebut hanya sebagai
placeholder atau penopang sehingga lapisan berikutnya dapat menyadap nilai
inputnya sama dengan cara kerja lapisan berikutnya. Lapisan terakhir merupakan
lapisan output. Lapisan diantara lapisan input dan lapisan output disebut lapisan
tersembunyi atau “hidden layer”. Lapisan pertama hanya memberikan nilai input pada
jaringan. Pada lapisan berikutnya, neuron ditugasi untuk mengidentifikasi karakter
dari input [8]. Adapun jenis arsitektur jaringan yang sering dipergunakan yaitu:

Universitas Sumatera Utara


1. Jaringan berlapis tunggal
Jaringan berlapis tunggal mempunyai satu lapisan bobot terkoneksi. Pada
lapisan ini, unit input dapat dibedakan dengan unit output. Dimana unit input
merupakan unit yang menerima sinyal dari dunia luar sedangkan unit output adalah
unit dimana respon dari jaringan dapat terlihat. Pada Gambar 2.2 jelas terlihat bahwa
unit input sepenuhnya terkoneksi dengan unit output, sedangkan unit input dengan
masing-masing unit input tidak terkoneksi demikian juga pada antara unit output
dengan unit output yang lain tidak terkoneksi.

W1j

X Wi1 Y

Wn1

W1j

Xi Wij Yj

Wnj

W1

X Wim Y

Wnm

Gambar 2.2 Topologi jaringan lapis tunggal

2. Jaringan berlapis banyak


Jaringan berlapis banyak adalah jaringan dengan satu atau lebih lapisan
diantara lapisan input dan lapisan output yang biasa disebut lapisan tersembunyi
(hidden layer). Jaringan berlapis banyak dapat memecahkan masalah yang lebih
kompleks daripada jaringan berlapis tunggal, namun pada pelatihannya akan lebih
sulit. Pada beberapa kasus, pelatihan pada jaringan ini lebih baik karena
memungkinkan bagi jaringan untuk memecahkan masalah yang tidak dapat

Universitas Sumatera Utara


diselesaikan jaringan berlapis tunggal karena jaringan tidak dapat dilatih untuk
menampilkan secara benar.

W11
X V11 Y
1 Wj1 1
Vi1
Z1
Wn1
Vn1

V1j W1k

Xi Vij Zj Wjk Y
k
Vnj
Wnk

V1p

Vip Z W1m

Wjm
X Y
Vnp m
Wpm

Gambar 2.3 Topologi jaringan berlapis banyak

3. Jaringan dengan lapisan kompetitif


Bentuk lapisan kompetitif merupakan jaringan saraf tiruan yang sangat besar.
Interkoneksi antarneuron pada lapisan ini tidak ditunjukkan pada arsitektur seperti
jaringan yang lain. Prinsip dari prosesnya adalah winner-take-all atau yang menanglah
yang mengambil bagiannya.

Universitas Sumatera Utara


1 1

A1 - Am

- - -
-

Ai - Aj

1 1

Gambar 2.4 Topologi Jaringan dengan Lapisan Kompetitif

2.2 Backpropagation

Jaringan saraf tiruan backpropagation pertama kali diperkenalkan oleh Rumelhart,


Hinton dan William pada tahun 1986, kemudian Rumelhart dan Mc Clelland
mengembangkannya pada tahun 1988[14]. Algoritma backpropagation untuk neural
network umumnya diterapkan pada perceptron berlapis banyak (multilayer
perceptrons). Perceptron paling tidak mempunyai bagian input, bagian output dan
beberapa lapis yang berada di antara input dan output. Lapis di tengah ini, yang juga
dikenal dengan lapis tersembunyi (hidden layers), bisa satu, dua, tiga dst. Dalam
praktek, banyaknya hidden layer paling banyak adalah tiga lapis. Dengan tiga lapis ini
hampir semua permasalahan dalam dunia industri telah bisa diselesaikan. Output lapis
terakhir dari hidden layer langsung dipakai sebagai output dari neural network.

Training pada metode backpropagation melibatkan 3 tahapan: pola training


feedfoward, penghitungan error dan penyesuaian bobot. Setelah training aplikasi
jaringan hanya menggunakan komputasi tahapan pertama yaitu feedfoward. Walaupun
tahap training sangat lambat, namun jaringan dapat mengasilkan output dengan sangat
cepat. Metode backpropagation telah divariasikan dan dikembangkan untuk
meningkatkan kecepatan proses training. Walaupun satu lapisan jaringan sangat

Universitas Sumatera Utara


terbatas dalam pembelajarannya, jaringan dengan lapis banyak dapat memperlajari
lebih banyak lagi. Lebih dari satu lapisan tersembunyi mungkin bermanfaat untuk
beberapa aplikasi, namun satu lapisan tersembunyi adalah cukup.

Metode backpropagation dapat digunakan untuk melakukan pendeteksian


suatu jenis penyakit, gangguan, maupun kasus yang memiliki data masa lalu dan
dengan metode backpropagation target output yang diinginkan lebih mendekati
ketepatan dalam melakukan pengujian karena terjadi penyesuaian nilai bobot dan bias
yang semakin baik pada proses pelatihan (Kusumadewi, 2003). Bahkan, jaringan saraf
tiruan telah digunakan untuk menganalisa perilaku panas pada kultur jaringan. Pada
tahun 1997, prinsip plant speaking digunakan untuk memonitor perkembangan
tanaman selada di phytotron dimana jaringan saraf tiruan digunakan sebagai otak
untuk mengendalikan pemberian air dan unsur hara untuk pertumbuhannya[15]. Selain
itu jaringan saraf tiruan dengan metode backpropagation, juga diterapkan dalam
lokalisasi target through-the-wall dengan metode time reversal music dan terbukti
sangat efisien secara komputasi [21]

2.2.1 Arsitektur Jaringan Backpropagation

Gambar 2.5 menunjukkan jaringan saraf tiruan banyak lapis dengan satu lapisan
tersembunyi (unit Z) , unit output (unit Y) dan unit tersembunyi yang juga mempunyai
bias. Bias pada unit output Y k ditandai dengan w 0k , bias pada unit tersembunyi Z j
ditandai dengan v 0j . Bias bertindak sebagaimana halnya bobot dimana outputnya
selalu 1. Selama proses pembelajaran backpropagation, sinyal dikirim dalam arah
yangberlawanan.

Universitas Sumatera Utara


Y1 Yk Ym

w01 w11 wj1 wp1 w0k w1k wjk wpk w0m w1m wjm wpm

1 Z1 Zj Zp

v01 v11 vi1 vn1 v0j v1j vij vnj v0p v1p vip vnp

1 X1 Xi Xn

Gambar 2.5 Topologi Jaringan Backpropagation

Simbol-simbol yang digunakan ini tidaklah mutlak, bisa saja berganti dengan simbol-
simbol yang lainnya asalkan fungsi logika yang dimaksudkannya tetap sama.

2.2.2 Algoritma

Algoritma pelatihan jaringan backpropagation:


1. Langkah 0 : Inisialisasi bobot.
2. Langkah 1 : Selama kondisi berhenti bernilai salah, kerjakan:
a. Untuk masing-masing pasangan pelatihan, lakukan:
1) Masing-masing unit input (X i , i = 1,2,3,…,n) menerima sinyal x i
dan meneruskan sinyal tersebut ke semua unit pada lapisan yang
ada di atasnya (lapisan tersembunyi).
2) Masing-masing unit tersembunyi (Z j , j = 1,2,3,..p) menjumlahkan
sinyal-sinyal input berbobot:
Z_in j = v 0j + X i v ij v0 = bias ; v = bobot

Universitas Sumatera Utara


Gunakan fungsi aktivasi untuk menghitung sinyal outputnya:
Z j = (Z_in j )
Kirimkan sinyal tersebut ke semua unit lapisan atasnya (unit-unit
output).
3) Masing-masing unit output (Y k , k=1,2,3,…,m) menjumlah sinyal-
sinyal input berbobot:
Y_in k = w 0k + Z j w jk w0 = bias ; v = bobot

Gunakan fungsi aktivasi untuk menghitung sinyal outputnya:


Y k = (Y_in k )
Dan kirimkan sinyal tersebut ke semua unit di lapisan sisanya (unit-
unit output).

b. Untuk masing-masing pasangan pelatihan, lakukan:


Backpropagation (perambatan mundur):
1) Masing-masing unit output (Y k ,k = 1,2,3,…,m) menerima target
pola yang berhubungan dengan pola input pembelajaran, hitung
informasi errornya
δ k = (t k – Y k ) ’ (Y_in k ) t = target output
Kemudian hitung koreksi bobot (yang nantinya akan digunakan
untuk memperoleh nilai w jk ):
Δw jk = αδ k Z j α = learning rate
Hitung juga koreksi bias (yang nantinya akan digunakan untuk
memperbaiki nilai w 0k ):
Δw 0k = αδ k
Kirimkan ini ke unit-unit yang ada di lapisan bawahnya.

2) Masing-masing unit tersembunyi (Z j , j=1,2,3,…,p) menjumlahkan


delta inputnya (dari unit-unit yang berada pada lapisan diatasnya):
δ_in j = δ k w jk

Kalikan nilai ini dengan turunan dari fungsi aktivasinya untuk


menghitung informasi error:

Universitas Sumatera Utara


δ j = δ_in j (Z_in j )
Kemudian hitung koreksi bobot (yang nantinya akan digunakan
untuk memperbaiki nilai v ij ):
Δv ij = αδ k X i
Hitung koreksi bias (yang nantinya akan digunakan untuk
memperbaiki nilai v ij )
Δv 0j = αδ j
c. Perbaharui bobot dan biasnya:
1) Masing-masing unit output (Y k , k=1,2,3,…m) memperbaiki bias
dan bobotnya (j = 1,2,3,…p):

w jk (baru) = w jk (lama) + Δw jk (bobot)


w 0k (baru) = w 0k (lama) + Δw 0k (bias)
2) Masing-masing unit tersembunyi (Z j , j=1,2,3,…p) memperbaiki
bias dan bobotnya (l = 0,1,2,3,…n):
v ij (baru) = v ij (lama) + Δv ij (bobot)
v 0j (baru) = v 0j (lama) + Δv 0j (bias)
d. Tes kondisi berhenti.

Setelah algoritma pelatihan di atas dilakukan, dan didapat output yang paling
mendekati target, maka bobot dan bias akhir dari pelatihan disimpan dan dilakukan
proses pengujian. Algoritma pengujian jaringan backpropagation:

1. Langkah 0 : inisialisasi bobot (dari algoritma pelatihan)


2. Langkah 1 : untuk setiap vektor masukan, lakukan langkah 2-4.
3. Langkah 2 : for i=1...n: atur aktivasi unit masukan x

4. Langkah 3 : for j=1...p


Z_in j = v 0j + X i v ij

Z j = (Z_in j )
5. Langkah 4 : for k=1..m:

Universitas Sumatera Utara


Y_in k = w 0k +

Y k = (Y_in k )
6. Langkah 5 : jika Y k ≥ 0.5 maka Y k = 1, else Y k = 0.

Sekali pelatihan subset dengan pembaharuan bobot jaringan disebut epoch.


Banyaknya contoh pada subset disebut epoch size/ukuran epoch. Beberapa peneliti
menggunakan sebuah epoch bernilai satu yang berarti bobot diperbaharui setelah
setiap kasus pelatihan ditampilkan. Ketika ukuran epoch lebih kecil dari seluruh
pelatihan, maka subset dipilih secara acak setiap waktunya atau gangguan bisa saja
terjadi. Epoch pelatihan diulang sampai hasil dari jaringan memuaskan atau sampai
waktunya berakhir.

Keterangan:

1. x input pelatihan, x = (x 1 . . .x i . . .x n )

2. t output target, t = (t 1 . . .t k . . .t m )
3. δ k penyesuaian bobot dari koreksi error untuk w jk yang disebabkan oleh
error pada unit output Y k yang dipropagasikan kembali terhadap lapisan
tersembunyi.
4. δ j penyesuaian bobot dari koreksi error untuk v ij yang disebabkan oleh
propagasi balik dari informasi error dari lapisan output terhadap lapisan
tersembunyi Z j .
5. α periode pembelajaran / learning rate.
6. x i input unit i. Untuk unit input, sinyal input dan sinyal output adalah
sama, yaitu x i .
7. v oj bias pada unit tersembunyi j.
8. Z j unit tersembunyi j.
9. w 0k bias pada unit output k.
10. Y k unit output k.
2.2.3 Fungsi Aktivasi

Universitas Sumatera Utara


Fungsi aktivasi pada jaringan backpropagation harus mempunyai beberapa
karakteristik penting, berlanjut (continue), dapat dibedakan, dan tidak meningkat
secara monoton. Demi keefisiensian komputasi, diharapkan turunan dari fungsi
tersebut mudah untuk dikomputasikan. Fungsi diharapkan memenuhi pendekatan nilai
maksimum dan nilai minimum.

Fungsi-fungsi aktivasi yang umum di gunakan menurut Fausett[2] adalah:

1. Fungsi Identitas
Fungsi identitas disebut juga sebagai fungsi linear. Fungsi linear memiliki nilai output
yang sama dengan nilai inputnya. y = x

Gambar 2.6 Fungsi Identitas (Linear)

f  x  x
untuk semua harga x
Fungsi ini biasanya digunakan pada unit input untuk memberi nilai awal harga setiap

unitnya.

2. Fungsi Tangga Binary


Fungsi tangga binary atau Fungsi Hard Limit

Universitas Sumatera Utara


Gambar 2.7 Fungsi Tangga Binary

Neural network berlapis tunggal sering menggunakan fungsi tangga untuk

mengkonversi unit input, di mana nilai variabelnya bersifat kontinu yang

menghasilkan nilai output bernilai biner (yaitu 1 atau 0) atau bipolar (1 atau -1).

Fungsi tangga binary ini juga dikenal sebagai fungsi threshold atau fungsi heaviside.

1 jika x 
y
0 jika x 

3. Fungsi Symetric Hard Limit


Berfungsi mengkonversikan input dari suatu variabel yang bernilai kontinyu ke suatu

output berupa nilai 1,0 atau -1.

 1 jika x0
y
1 jika x0

Gambar 2.8 Fungsi Symetric Hard Limit.

4. Fungsi Sigmoid Binary


Fungsi sigmoid (kurva dengan bentuk S) adalah fungsi aktivasi yang berguna. Fungsi

sigmoid yang umum adalah fungsi logistik dan fungsi tangent hyperbolic. Kedua

fungsi ini bermanfaat khususnya untuk penggunaan neural network karena hubungan

yang sederhana antara nilai fungsi pada sebuah point dan nilai dari derivatif pada

point itu mengurangi hambatan komputasi selama training.

Universitas Sumatera Utara


Gambar 2.9 Fungsi Sigmoid Binary.

Untuk fungsi logistik yang memiliki range 0 sampai 1, sering di gunakan

untuk menghasilkan output yang diinginkan bernilai binary atau berada pada interval

0 dan 1. Fungsi dengan range ini juga dikenal dengan binary sigmoid.

1
f  x 
1  exp   x 

f '  x    f  x  1  f  x  

5. Fungsi Sigmoid Bipolar


Fungsi sigmoid bipolar adalah fungsi logistik yang memiliki range output dari -1

sampai 1.

Gambar 2.10 Fungsi Sigmoid Bipolar.

1
g  x   2 f  x  1  1
1  exp   x 
1  exp   x 

1  exp   x 


g ' x  1  g  x   1  g  x  
2 

Universitas Sumatera Utara


Fungsi bipolar sigmoid erat kaitannya dengan fungsi tangent hyperbolic, yang

sering juga di gunakan sebagai fungsi aktivasi ketika range output yang di inginkan

bernilai -1 sampai dengan 1.

6. Fungsi Saturating Linear


Fungsi dirumuskan sebagai berikut:

 1 jika x  0.5

y   x  0.5 jika 0.5  x  0.5
 0 x  0.5
 jika

Gambar 2.11 Fungsi saturating linear.

7. Fungsi Symetric Saturating Linear


Fungsi dirumuskan sebagai berikut:

1 jika x  1

y x jika 1  x  1
1 jika x  1

Gambar 2.12 Fungsi Symetric Saturating Linear

Universitas Sumatera Utara


8. Fungsi Invers Sigmoid Bipolar
Fungsi merupakan invers Sigmoid Bipolar umum dipakai untuk recurrent network

misal model jaringan Hopfield (Haykin,1999).

Gambar 2.13 Fungsi Invers Sigmoid Bipolar

9. Fungsi Tangent Hyperbolic

exp  x   exp   x 
h  x 
exp  x   exp   x 
1  exp  2 x 

1  exp  2 x 

h '  x   1  h  x   1  h  x  

2.2.4 Bobot dan Bias

Pemilihan bobot dan bias akan mempengaruhi apakah jaringan mencapai error
minimum global atau error minimum lokal, dan bagaimana mengatasinya dengan
cepat. Pembaharuan bobot antara dua unit bergantung pada turunan aktivasi fungsi
unit di atasnya dan aktivasi fungsi unit di bawahnya. Dalam hal ini, sangat penting
menghindari pemilihan bobot dan bias yang membuat fungsi aktivasi atau turunannya
mendekati nol. Nilai inisialisasi bobot tidak dapat terlalu besar atau sinyal input
terhadap unit tersembunyi atau unit output akan jatuh di wilayah dimana turunan
fungsi sigmoid mempunyai nilai yang sangat kecil. Dengan kata lain, jika inisialisasi

Universitas Sumatera Utara


bobot terlalu kecil, input jaringan terhadap unit tersembunyi dan unit output akan
mendekati nol dan menyebabkan proses pembelajaran yang sangat lambat.

Prosedur yang umum untuk menginisialisasi bobot dan bias adalah dengan
membuat nilai acak dengan range -0,5 dan 0,5 atau -1 dan 1 atau interval lain yang
sesuai. Nilai bobot mungkin saja positif atau negatif karena nilai akhirnya setelah
pelatihan dapat berubah tanda. Modifikasi sederhana untuk inisialisasi acak
dikembangkan oleh Nguyen dan Widrow.

Pada inisialisasasi Nguyen dan Widrow, modifikasi inisialisasi bobot secara


acak biasanya menghasilkan pelatihan yang lebih cepat. Pendekatannya berdasarkan
analisi geometris respon neuron tersembunyi terhadapt sebuah input, analisis
dilanjutkan pada kasus untuk beberapa input dengan menggunakan tranfromasi
fourier. Bobot dari unit tersembunyi terhadap unit output (dan bias pada unit output)
diinisialisasikan dengan acak antara nilai -0.5 dan 0.5.

Inisialisasi bobor dari unit input ke unit tersembunyi dirancang untuk


meningkatkan kemampuan unit tersembunyi untuk belajar diselesaikan dengan
mendistribusikan bobot dan bias sehingga untuk setiap pola input berada dalam
rentang dimana neuron tersembunyi akan belajar dengan cepat. Definisi yang
digunakan adalah:

n jumlah unit input


p jumlah unit tersembunyi
β faktor skala
β = 0.7 (p)1/n = 0.7 n

Prosedur terdiri dari langkah berikut:

Untuk setiap unit tersembunyi (j = 1,...,p):

Universitas Sumatera Utara


Inisialisasikan vektor bobot dari unit input:

v ij (lama) = jumlah acak antara -0.5 dan 0.5 (atau antara –γ dan γ)

v ij (lama) =

inisialisasi ulang bobot:

Set bias:

v 0j = nilai acak antara –β dan β.

Analisis Nguyen dan Widrow didasarkan pada fungsi aktivasi

2.2.5 Lapisan Tersembunyi dan Neuron Tersembunyi

Tidak ada alasan yang teoritis yang menyatakan untuk menggunakan lebih dari dua
lapisan tersembunyi. Masalah penggunaan lebih dari dua lapisan tersembunyi dapat
kita temukan pada konsisi kehidupan nyata. Masalah yang sering terjadi adalah
pelatihan seringkali berjalan sangat lambat ketika menggunakan lebih lapisan
tersembunyi, hal ini disebabkan oleh dua efek:

1. Lapisan tambahan dimana error harus dipropagasikan kembali membuat


gradient semakin tidak stabil. Keberhasilan dari algoritma optimisasi gradient
terarah tergantung pada tingkat dimana gradient tidak berubah sebagaimana
bobot pada jaringan saraf tiruan.
2. Periode iterasi yang sangat besar akan membuat proses terhenti pada minimum
lokal dan berulang-ulang.

Universitas Sumatera Utara


Satu lapisan tersembunyi harus menjadi pilihan pertama dalam merancang
jaringan saraf tiruan. Jika dengan neuron tersembunyi yang sangat banyak tidak
memuaskan dalam memecahkan masalah, kemudian menggunakan lapisan
tersembunyi yang kedua dan mengurangi neuron tersembunyi menjadi solusi bagi
permasalahan.

Menentukan banyaknya neuron tersembunyi merupakan hal yang sangat


penting. Menggunakan neuron yang sangat sedikit akan membuat jaringan kekurangan
sumber daya pada saat memecahkan masalah. Menggunakan neuron terlalau banyak
akan membuat waktu pelatihan menjadi sangat lama dan akan mengakibatkan masalah
yang disebut overfitting.

Salah satu cara untuk menentukan jumlah neuron tersembunyi adalah dengan
aturan piramida geometris. Dimana jumlah neuron mengikuti bentuk piramida dengan
menurunnya jumlah input terhadap output. Diilustrasikan pada Gambar 2.14.

Output = m

Hidden =

Input = n

Gambar 2.14 Ilustrasi Paramida Geometris

Pendekatan yang terbaik untuk menentukan jumlah optimal neuron yang akan
dipergunakan dalam jaringan adalah komsumsi waktu. Mulai dengan jumlah neuron

Universitas Sumatera Utara


yang sangat kecil. Latih dan uji jaringan sesuai dengan tampilannya. Kemudian
tingkatkan jumlahnya, latih dan uji kembali. Ulangi sampai error yang dihasilkan
sangat kecil. Jika validasi mudah diperoleh, kita mungkin akan mencoba menaikkan
jumlah neuron, dengan perhitungan pada validasi akan mengingatkan akan terjadinya
overfitting.

Jaringan juga bisa saja mengalami overtraining, dimana terjadi kelebihan


pelatihan pada jaringan. Ada beberapa alasan mengapa kita harus membatasi pelatihan
pada jaringan:

1. Hal itu memperbaiki gejala bukan penyakitnya. Mengurangi jumlah neuron


pada titik dimana jaringan tidak mempunyai kapasitas untuk memperlajari
hal aneh yang terjadi, atau meningkatkan ukuran dan jenis pelatihan dan
penyakitnya disembuhkan.
2. Jangan melupakan bahwa pelatihan dimulai dengan inisialisasi bobot
secara acak. Kita dapat menghentikan pelatihan sebelum waktunya, kita
mungkin telah memperoleh apa yang ingin kita ketahui, atau mungkin saja
belum.

Untuk setiap pelatihan neuron tersembunyi, membangkitkan inisialisasi bobot


acak dapat diabaikan. Kemudian membangkitkan lebih banyak lagi bobot acak dan
latih. Ketika pengulangan ini telah cukup dikerjakan namun gagal meningkatkan daya
guna jaringan lagi, kita dapat dengan yakin bahwa jaringan telah dilatih dengan sangat
baik. Kemudian periksa dengan proses validasi. Jika setelah semua pelatihan daya
guna pada saat validasi lebih buruk daripada saat pelatihan atau ada terlalu banyak
neuron tersembunyi, maka jaringan tidak overtrained.

Universitas Sumatera Utara

Anda mungkin juga menyukai