Jaringan Saraf Tiruan Neural Network

23 3. Mencari jumlah nilai produk dari tiap piksel yang kemudian dikalikan dengan fungsi Gaussian. 4. Mendefinisikan tiap piksel x,y ke dalam matriks M. 5. Menghitung nilai corner response R tiap piksel. 6. Menghitung nilai ambang R. 7. Menghitung nilai nonmax titik yang telah ditentukan. 8. Memasukkan nilai corner yang ditemukan.

2.3 Jaringan Saraf Tiruan Neural Network

Ketika manusia berpikir, aktivitas yang terjadi adalah aktivitas untuk mengingat, memahami, menyimpan, dan memanggil kembali apa yang pernah dipelajari oleh otak. Jaringan saraf tiruan hanya menirukan aktivitas tersebut. Hanya saja, manusia memiliki cara kerja yang lebih kompleks dan lebih rumit daripada yang diperkirakan Pustpitaningrum, 2006. Jaringan saraf tiruan JSS atau Neural Network NN merupakan salah satu bidang komputer yang menirukan aktivitas otak manusia, dimana komputer diusahakan agar berpikir seperti manusia. Jaringan Saraf Tiruan direpresentasikan sebagai toplogi graf yang terhubung antara yang satu dengan yang lain. Dimana dalam tiap garis edge memiliki titik node yang saling menghubungkan antara yang satu dengan yang lain. Titik-titik tersebutlah yang akan memasukkan sekaligus mengeluarkan informasi. Jaringan saraf tiruan akan mengonfirmasi informasi dalam bentuk bobot dari satu neuron ke neuron yang lainnya. Informasi tersebut diproses oleh sebuah fungsi dan semua input yang datang akan dijumlahkan, lalu dibandingkan dengan nilai ambang tertentu melalui fungsi aktivasi setiap neuron. Bila nilai melampaui nilai ambang maka neuron diaktifkan dan informasi output diteruskan ke neuron yang tersambung dengannya. Struktur jaringan saraf tiruan dapat dilihat dalam Gambar 2.19 berikut. Universitas Sumatera Utara 24 Gambar 2.19 Struktur Jaringan Saraf Tiruan Muis, 2009 2.3.1 Aristektur Pembagian arsitektur jaringan saraf tiruan bisa dilihat dari kerangka kerja dan skema interkoneksi, yang dapat dilihat dari jumlah lapisan layer dan jumlah node pada setiap lapisan. Lapisan-lapisan penyusunnya dapat dibagi menjadi tiga, yaitu: 1. Lapisan input input layer, yang menerima input dari dari luar dan merupakan penggambaran dari sebuah masalah. 2. Lapisan tersembunyi hidden layer, yang tidak dapat secara langsung diamatai, di sini dilakukan proses pengolahan informasi. 3. Lapisan keluaran output layer, yang merupakan hasil dari informasi terhadap sebuah permasalahan. Berdasarkan lapisan ini, maka Jaringan Saraf Tiruan dapat dibagi ke dalam tiga macam arsitektur, yaitu: 1. Jaringan kompetitif competitive layer, pada jaringan ini, sekumpulan neuron bersaing untuk mendapatkan hak aktif. Pada lapisan ini terdapat jaringan dengan lapisan kompetitif yang memiliki bobot - ε seperti yang ditunjukkan pada Gambar 2.20. Gambar 2.20 Jaringan Saraf Kompetitif Competitive Layer Hermawan, 2006 Universitas Sumatera Utara 25 2. Jaringan lapisan tunggal single layer net, dimana aristekturnya hanya memiliki satu buah lapisan. Jaringan ini hanya menerima input, kemudian langsung mengolahnya menjadi output tanpa harus melalui lapisan tersembunyi. Seperti yang ditunjukkan pada Gambar 2.21 terlihat lapisan input memiliki 3 neuron, yaitu X 1 , X 2 , dan X 3 . Lapisan output terdiri dari 2 neuron, yaitu Y 1 dan Y 2 . Dimana kedua neuron tersebut saling berhubungan, yang thubungan masing-masing neuron memiliki bobot yang bersesuaian. Semua input akan berhubungan dengan setiap unit output. Gambar 2.21 Jaringan Lapisan Tunggal Single Layer Net Hermawan, 2006 3. Jaringan multilapis multilayer net, memiliki satu atau lebih lapisan tersembunyi pada sebuah arsitektur. Dengan banyaknya lapisan tersembunyi, maka jaringan memiliki kemampuan yang lebih baik memecahkan masalah dibandingkan dengan jaringan lapisan tunggal. Hanya saja, pelatihan yang dilakukan menjadi lebih rumit. Untuk lebih jelasnya, dapat dilihat pada Gambar 2.22. Universitas Sumatera Utara 26 Gambar 2.22 Jaringan Saraf Multilapis Multilayer Net Hermawan, 2006 2.3.2 Paradigma Pembelajaran Masing-masing hubungan antar-unit pengolah yang terdapat pada jaringan saraf tiruan, berperan sebagai jalur penghubung. Kekuatan hubungan pada tiap sambungan akan disesuaikan selama pelatihan atau pembelajaran sehingga pada akhirnya dihasilkan jaringan saraf tiruan dengan bobot-bobot yang mantap. Sebagian besar jaringan saraf melakukan penyesuaian selama menjalani proses pelatihan atau pembelajaran. Proses ini pada dasarnya menghasilkan suatu nilai yang memengaruhi nilai bobot secara terus-menerus. Universitas Sumatera Utara 27 2.3.2.1 Pembelajaran Tak Terawasi Unsupervised Learning Pada pembelajaran ini, tidak terjadi proses penglasifikasian pola, sehingga sistem akan melakukan proses dengan sendirinya. Algoritma ini sehing kali memiliki perhitungan yang kompleks dan akurasinya lebih rendah dibandingkan dengan pembelajaran terawasi. Algoritma ini dirancang untuk belajar dengan cepat dan lebih praktis dalam hal kecepatan. 2.3.2.2 Pembelajaran Terawasi Supervised Learning Pada pembelajaran ini mengasumsikan ketersediaan contoh-contoh penglasifikasian kelas-kelas pembelajaran, yang memanfaatkan keanggotan kelas dari setiap contoh pelatihan. Dengan informasi ini, sistem dapat mendeteksi kesalahan klasifikasi pola sebagai umpan balik ke dalam jaringan, sehingga mampu menghasilkan jawaban yang semirip mungkin dengan jawaban benar yang telah diketahui oleh jaringan. Pembelajaran ini mengacu pada pencarian kemungkinan kombinasi bobot yang naik ataupun turun derajat kesalahannya. Sistem akan memanfaatkan informasi tersebut untuk mendefinisikan kesalahan numerik yang mencari penurunan kesalahan. 2.3.3 Backpropagation Backpropagation BP merupakan salah satu algoritma yang sering digunakan untuk menyelesaikan masalah-masalah yang rumit. Hal ini disebabkan karena jaringan dengan algoritma ini dilatih dengan menggunakan metode pembelajaran terbimbing. Pada jaringan diberikan pola masukan dan pola keluaran yang diinginkan. Ketika suatu pola diberikan kepada jaringan, bobot-bobot diubah untuk memperkecil perbedaan pola keluaran dan pola yang diinginkan. Latihan ini dilakukan sehingga semua pola yang dikeluarkan jaringan dapat memenuhi pola yang diinginkan, seperti yang terlihat di arsitektur backpropagation pada Gambar 2.23. Backpropagation menggunakan nilai eror output untuk mengubah nilai bobot dalam arus mundur dan termasuk ke dalam jaringan yang memiliki banyak lapisan. Di dalam algoritma ini, setiap unit yang berada pada lapisan input terhubung dengan setiap unit yang berada di lapisan tersembunyi. Unit-unit pada lapisan tersembunyi juga terhubung dengan lapisan keluaran. Universitas Sumatera Utara 28 Gambar 2.23 Arsitektur Jaringan Backpropagation Muis, 2009 Algoritma backpropagation dimulai dengan memberikan pola masukan ke dalam lapisan. Setiap pola merupakan nilai aktivasi unit-unit masukan, yang memiliki bobot dan dihitung jumlahnya dengan menggunakan: = 2.19 dimana: X j = jumlah bobot unit masukan j Y i = nilai masukan yang berasal dari unit i W ij = bobot dari unit i sampai ke j Setelah jumlah bobot dari X j dihitung dan ditemukan hasilnya, maka diterapkankanlah fungsi sigmoid yang akan menghasilkan nilai antara 0 dan 1. Pada algoritma backpropagation, fungsi sigmod yang dipakai memiliki persamaan: = 1 1 + 2.20 Hasil perhitungan Y j merupakan nilai aktivasi pada unit pengolah j. Nilai ini dikirimkan ke seluruh keluaran j. Setelah umpan maju feedforward dikerjakan, maka jaringan siap melakukan umpan mundur backpropagation. Yang dilakukan di langkah ini adalah menghitung eror dan mengubah bobot-bobot pada semua interkoneksinya. Universitas Sumatera Utara 29 Di sini eror dihitung pada semua unit pengolah dan bobotpun diubah pada semua sambungan. Perhitungan dimulai dari lapisan keluaran dan mundur sampai lapisan masukan. Hasil keluaran dari umpan maju dibandingkan dengan hasil keluaran yang diinginkan. Berdasarkan perbedaan ini kemudian dihitung eror untuk tiap-tiap lapisan pada jaringan. Pertama-tama, dihitung eror untuk lapisan keluaran, kemudian disesuaikan dengan setiap sambungan bobot-bobot yang menuju ke lapisan keluaran. Setelah itu dihitung nilai eror pada lapisan tersembunyi dan dihitung perubahan bobot yang menuju lapisan tersembunyi. Demikian proses dilakukan mundur sampai ke lapisan masukan secara iteratif. Jika j adalah salah satu unit pada lapisan keluaran, maka eror lapisan keluaran dapat ditentukan dengan persamaan: = − ′ 2.21 dimana: t j = keluaran yang diinginkan dari unit j a j = keluaran dari unit j ′ = turunan dari fungsi sigmoid X j = hasil penjumlahan berbobot Jika j adalah suatu lapisan tersembunyi, maka eror lapisan tersembunyi dapat ditentukan dengan menggunakan persamaan: = ′ 2.22 ∆ = ŋ 2.23 dimana: ∆ = perubahan bobot dari unit i ke unit j ŋ = laju belajar konvergensi δ j = eror lapisan tersembunyi a i = masukan yang berasal dari unit i Universitas Sumatera Utara 30 Variabel ŋ menyatakan suatu konstanta belajar yang berharga antara 0,25 sampai 0,75. Nilai ini menunjukkan kecepatan belajar dari jaringan. Nilai yang terlalu tinggi dapat menyebabkan jaringan menjadi tidak stabil, sedangkan nilai yang terlalu kecil dapat menjadikan waktu belajar yang lama. Oleh karena ini pemilihan nilai ŋ harus seoptimal mungkin agar didapatkan proses belajar yangc cepat. Begitu nilai keluaran dihitung, nilai tersebut akan dibandingkan dengan nilai keluaran yang dibutuhkan dengan nilai eror minumum E. Permukaan eror kadang- kadang mengalami penurunan sampai mencapai suatu kondisi minimum, yang kadang bisa naik kembali. Eror yang paling mimum, merupakan eror yang diinginkan. Eror minimum E dapat dipakai menggunakan persamaan: = 1 2 − 2.24 dimana: E = nilai eror minumum Y j = fungsi sigmoid dari unit j d j = nilai keluaran yang ditetapkan dari unit j Dalam backpropagation satu buah lapisan tersembunyi bisa dikatakan cukup memandai untuk menyelesaikan masalah sembarang fungsi sigmoid. Dengan menggunakan lebih dari satu buah lapisan tersembunyi, satu masalah lebih mudah untuk diselesaikan. Meskipun begitu, tidak ada ketentuan khusus mengenai banyaknya jumlah lapisan tersembunyi yang dibutuhkan Ganatra et al. 2011. Dalam penelitian ini, penulis menggunakan 4 empat buah lapisan tersembunyi. Prosedur pembaharuan bobot update bobot dapat dimodifikasi dengan menggunakan momentum. Dengan menambahkan momentum ke dalam rumus pembaharuan bobot, biasanya konversi akan lebih cepat dicapai. Ini disebabkan karena momentum memaksa proses perubahan bobot terus bergerak sehingga tidak terperangkap ke dalam minimum-minimum lokal. Bobot antara lapisan masukan ke lapisan tersembunyi ∆ dan dari lapisan tersembunyi ke lapisan keluaran ∆ dapat ditentukan dengan persamaan: Universitas Sumatera Utara 31 ∆ = 2.25 ∆ = 2.26 Jika eror tidak terjadi, maka menjadi 0 nol dan hal ini akan menyebabkan koreksi ∆ = 0, dengan kata lain pembaharuan bobot berlanjut dalam arah yang sama seperti yang sebelumnya. Jika parameter momentum digunakan, maka persamaan pembaharuan bobot dengan pelatihan t, dan t+1 untuk pelatihan selanjutnya, mengalami modifikasi sebagai berikut: + 1 = + + [ − − 1 ] 2.27 atau + 1 = + ∆ 2.28 dan, + 1 = + + [ − − 1 ] 2.29 atau + 1 = + ∆ 2.30 dimana: Z 1 … Z n = nilai lapisan tersembunyi V ij = bobot dari lapisan masukan dan lapisan tersembunyi W ij = bobot dari lapisan tersembunyi dan lapisan keluaran δ = eror informasi α = konstanta berkelanjutan µ = momentum Kecepatan konvergensi juga dapat ditingkatkan dengan memodifikasi laju belajar menjadi adpatif yang berubah selama proses pelatihan. Jika eror yang muncul lebih besar daripada eror sebelumnya, maka nilai bobot-bobot, indeks, keluaran, dan eror yang baru diabaikan, dan nilai laju belajar diturunkan. Jika eror yang muncul lebih kecil daripada eror sebelumnya, maka nilai nilai bobot-bobot, indeks, keluaran, dan eror yang baru disimpan, dan laju belajar ditingkatkan. Universitas Sumatera Utara 32

2.3.4 Algoritma Backpropagation

Algoritma backpropagation dapat dibagi ke dalam dua bagian, yaitu: algoritma pelatihan dan algoritma aplikasi. Pada algoritma pelatihan terdapat 3 tiga tahap, yaitu: tahap umpan maju, tahap backpropagation error dan pembaharuan bobot. Sedangkan pada algoritma aplikasi hanya menggunakan tahap umpan maju. Berikut adalah algoritma backpropagation: 0. Inisialisasi bobot. Tentukan angka pembelajaran α. Tentukan nilai ambang atau set siklus pelatihan epoch sebagai kondisi berhenti. 1. While kondisi berhenti tidak terpenuhi. Do langkah ke-2 dua sampai ke-9 sembilan. 2. Untuk setiap pasangan pelatihan, kerjakan langkah ke-3 tiga sampai langkah ke- 8 delapan. Tahap umpan maju feedforward 3. Tiap unit masukan x i , i = 1, …, n menerima masukan x i dan diteruskan ke lapisan tersembunyi. 4. Tiap unit tersembunyi z j , j = 1, …, p menjumlahkan nilai masukan terbobot _ = + 2.31 dengan menerapkan fungsi aktivasi hitung: = _ 2.32 dan dikirim ke unit-unit keluaran. 5. Tiap unit keluaran y k , k = 1, …, m menjumlahkan nilai masukan terbobot _ = + 2.33 Universitas Sumatera Utara 33 dengan menerapkan fungsi aktivasi hitung: = _ 2.34 Tahap backpropagation error 6. Tiap unit keluaran y k , k = 1, …, m menerima target pola yang berkaitan dengan pola input pembelajaran, yang kemudian dihitung nilai erornya menggunakan persamaan 2.19 dan dimodifikasi menjadi: = − ′ _ 2.35 gunakan koreksi bobot untuk memperbaiki nilai w jk pada persamaan 2.25 dan koreksi bias untuk memperbaiki nilai w 0k menggunakan: ∆ = 2.36 lalu kirim ke lapisan tersembunyi di bawahnya. 7. Tiap unit tersembunyi z j , j = 1, …, p menjumlahkan delta inputnya dari unit-unit yang berada di atasnya. _ = 2.37 Nilai ini dikalikan dengan turunan dari fungsi aktivasinya untuk mendapatkan nilai eror, seperti pada persamaan 2.24, sehingga menghasilkan: = _ ′ _ 2.38 gunakan koreksi eror pada persamaan 2.26 untuk memperbaiki nilai v ij dan koreksi bias untuk memperbaiki nilai v 0j menggunakan: ∆ = 2.39 Universitas Sumatera Utara 34 Tahap update bobot, bias dan indeks. 8. Tiap unit keluaran y k , k = 1, …, m memperbaharui bobot-bobot dan indeksnya j = 0, 1, …, p menggunakan persamaan 2.28, yang dapat disederhanakan sebagai: = + ∆ 2.40 Tiap nilai unit tersembunyi z j , j = 1, …, p memperbaharui bobot dan indeksnya i = 0, 1, …, n menggunakan persamaan 2.30, yang dapat disederhanakan sebagai: = + ∆ 2.41 9. Tes kondisi berhenti.

2.4 Format File JPEG