BAB 2 LANDASAN TEORI

dokumen-dokumen yang mirip
ANALISIS PENGGUNAAN PARALLEL PROCESSING MULTITHREADING PADA RESILIENT BACKPROPAGATION

BAB 3 METODOLOGI PENELITIAN

PERKIRAAN PENJUALAN BEBAN LISTRIK MENGGUNAKAN JARINGAN SYARAF TIRUAN RESILENT BACKPROPAGATION (RPROP)

Penerapan Jaringan Saraf Tiruan Metode Backpropagation Menggunakan VB 6

SATIN Sains dan Teknologi Informasi

PENERAPAN JARINGAN SYARAF TIRUAN DALAM MEMPREDIKSI TINGKAT PENGANGGURAN DI SUMATERA BARAT

PERANCANGAN PARAMETER TERBAIK UNTUK PREDIKSI PRODUKSI BAN GT3 MENGGUNAKAN JARINGAN SYARAF TIRUAN RESILIENT PROPAGATION

BAB II DASAR TEORI Jaringan Syaraf Tiruan. Universitas Sumatera Utara

BAB II LANDASAN TEORI

lalu menghitung sinyal keluarannya menggunakan fungsi aktivasi,

ANALISIS PENAMBAHAN NILAI MOMENTUM PADA PREDIKSI PRODUKTIVITAS KELAPA SAWIT MENGGUNAKAN BACKPROPAGATION

BAB 2 LANDASAN TEORI. fuzzy logic dengan aplikasi neuro computing. Masing-masing memiliki cara dan proses

PERBANDINGAN BEBERAPA MODEL UNTUK KINERJA ALGORITMA BACKPROPAGATION COMPARISON OF SOME MODEL FOR PEFORMANCE IMPROVEMENT IN BACKPROPAGATION ALGORITHM

NEURAL NETWORK BAB II

MODEL PEMBELAJARAN JARINGAN SYARAF TIRUAN UNTUK OTOMATISASI PENGEMUDIAN KENDARAAN BERODA TIGA

Architecture Net, Simple Neural Net

Jaringan Syaraf Tiruan

BAB II LANDASAN TEORI

BAB 3 PERANCANGAN SISTEM. Bab ini menguraikan analisa penelitian terhadap metode Backpropagation yang

PREDIKSI CURAH HUJAN DI KOTA MEDAN MENGGUNAKAN METODE BACKPROPAGATION NEURAL NETWORK

BAB 3 METODOLOGI PENELITIAN

BAB 2 KONSEP DASAR PENGENAL OBJEK

BAB II TINJAUAN PUSTAKA

PREDIKSI PRODUKSI BAN GT3 MENGGUNAKAN JARINGAN SYARAF TIRUAN RESILIENT PROPAGATION DAN WEIGHT-ELIMINATION

APLIKASI JARINGAN SYARAF TIRUAN UNTUK MEMPREDIKSI PENJUALAN OBAT Pada PT. METRO ARTHA PRAKARSA MENERAPKAN METODE BACKPROPAGATION

BAB II DASAR TEORI. 2.1 Citra Digital

BAB 3 ANALISIS DAN PERANCANGAN SISTEM

METODOLOGI PENELITIAN

Aplikasi yang dibuat adalah aplikasi untuk menghitung. prediksi jumlah dalam hal ini diambil studi kasus data balita

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 1 PENDAHULUAN. 1 Universitas Kristen Maranatha. Gambar 1.1 : Ilustrasi jaringan syaraf manusia yang diadaptasi untuk ANN (Kriesel, 2011)

BAB 2 LANDASAN TEORI

ANALISA JARINGAN SARAF TIRUAN DENGAN METODE BACKPROPAGATION UNTUK MENGETAHUI LOYALITAS KARYAWAN

Neural Network (NN) Keuntungan penggunaan Neural Network : , terdapat tiga jenis neural network Proses Pembelajaran pada Neural Network

PENGENALAN POLA GARIS DASAR KALIMAT PADA TULISAN TANGAN UNTUK MENGETAHUI KARAKTER SESEORANG DENGAN MENGGUNAKAN ALGORITMA RESILIENT BACKPROPAGATION

BAB 2 LANDASAN TEORI

JARINGAN SYARAF TIRUAN UNTUK MEMPREDIKSI CURAH HUJAN SUMATERA UTARA DENGAN METODE BACK PROPAGATION (STUDI KASUS : BMKG MEDAN)

PREDIKSI KELULUSAN MAHASISWA MENGGUNAKAN METODE NEURAL NETWORK DAN PARTICLE SWARM OPTIMIZATION

BAB 1 PENDAHULUAN. datang berdasarkan keadaan masa lalu dan sekarang yang diperlukan untuk

ANALISIS PENAMBAHAN MOMENTUM PADA PROSES PREDIKSI CURAH HUJAN KOTA MEDAN MENGGUNAKAN METODE BACKPROPAGATION NEURAL NETWORK

ARTIFICIAL NEURAL NETWORK TEKNIK PERAMALAN - A

BACK PROPAGATION NETWORK (BPN)

VOL. 01 NO. 02 [JURNAL ILMIAH BINARY] ISSN :

Perbaikan Metode Prakiraan Cuaca Bandara Abdulrahman Saleh dengan Algoritma Neural Network Backpropagation

BAB IV HASIL DAN PEMBAHASAN. Tabel 4.1 Kebutuhan Perangkat Keras. Perangkat Keras Spesifikasi Processor Intel Core i3. Sistem Operasi Windows 7

BAB II TINJAUAN PUSTAKA

Jaringan Syaraf Tiruan

BAB 2 LANDASAN TEORI

BAB I PENDAHULUAN. 1.1 Latar Belakang. Universitas Sumatera Utara

BACK PROPAGATION NETWORK (BPN)

ANALISA JARINGAN SARAF TIRUAN DENGAN METODE BACKPROPAGATION UNTUK MEMPREDIKSI PRODUKTIVITAS PEGAWAI. Jasmir, S.Kom, M.Kom

BAB 2 TINJAUAN PUSTAKA

Gambar 2.1 Neuron biologi manusia (Medsker & Liebowitz, 1994)

BAB III LANDASAN TEORI

ABSTRAKSI I. PENDAHULUAN

Jurnal Informatika Mulawarman Vol 5 No. 1 Februari

BAB 2 LANDASAN TEORI

IMPLEMENTASI JARINGAN SYARAF TIRUAN MULTI LAYER FEEDFORWARD DENGAN ALGORITMA BACKPROPAGATION SEBAGAI ESTIMASI NILAI KURS JUAL SGD-IDR

Architecture Net, Simple Neural Net

KLASIFIKASI ARITMIA EKG MENGGUNAKAN JARINGAN SYARAF TIRUAN DENGAN FUNGSI AKTIVASI ADAPTIF

Muhammad Fahrizal. Mahasiswa Teknik Informatika STMIK Budi Darma Jl. Sisingamangaraja No. 338 Simpanglimun Medan

BACKPROPAGATION NEURAL NETWORK UNTUK OPTIMASI AKURASI PADA PREDIKSI FINANCIAL DISTRESS PERUSAHAAN

BAB IV JARINGAN SYARAF TIRUAN (ARTIFICIAL NEURAL NETWORK)

JARINGAN SARAF TIRUAN (ARTIFICIAL NEURAL NETWORK) ERWIEN TJIPTA WIJAYA, ST, M.KOM

Prediksi Pergerakan Harga Harian Nilai Tukar Rupiah (IDR) Terhadap Dollar Amerika (USD) Menggunakan Metode Jaringan Saraf Tiruan Backpropagation

ANALISIS ALGORITMA INISIALISASI NGUYEN-WIDROW PADA PROSES PREDIKSI CURAH HUJAN KOTA MEDAN MENGGUNAKAN METODE BACKPROPAGATION NEURAL NETWORK

APLIKASI JARINGAN SYARAF TIRUAN UNTUK MEMPREDIKSI VOLUME PEMAKAIAN AIR BERSIH DI KOTA PONTIANAK

MATERI DAN METODE. Cara Pengambilan Data

BAB 2 LANDASAN TEORI

KLASIFIKASI DATA DENGAN QUANTUM PERCEPTRON

BAB 2 LANDASAN TEORI. Pengenalan suara (voice recognition) dibagi menjadi dua jenis, yaitu

Implementasi Jaringan Syaraf Tiruan Backpropagation dan Steepest Descent untuk Prediksi Data Time Series

Klasifikasi Pola Huruf Vokal dengan Menggunakan Jaringan Saraf Tiruan

BAB I PENDAHULUAN 1.1. Latar Belakang

Presentasi Tugas Akhir

PERAMALAN JUMLAH KENDARAAN DI DKI JAKARTA DENGAN JARINGAN BACKPROPAGATION

BAB II NEURAL NETWORK (NN)

PERANCANGAN PROGRAM PENGENALAN BENTUK MOBIL DENGAN METODE BACKPROPAGATION DAN ARTIFICIAL NEURAL NETWORK SKRIPSI

PENGENALAN HURUF DAN ANGKA PADA CITRA BITMAP DENGAN JARINGAN SARAF TIRUAN METODE PROPAGASI BALIK

BAB III METODOLOGI PENELITIAN

Laporan Implementasi Naïve Bayes dan Feed Forward Neural Network untuk Klasifikasi

ANALISIS JARINGAN SYARAF TIRUAN UNTUK MEMPREDIKSI JUMLAH RESERVASI KAMAR HOTEL DENGAN METODE BACKPROPAGATION (Studi Kasus Hotel Grand Zuri Padang)

Sebelumnya... Pembelajaran Mesin/Machine Learning Pembelajaran dengan Decision Tree (ID3) Teori Bayes dalam Pembelajaran

WAVELET -JARINGAN SYARAF TIRUAN UNTUK PREDIKSI DATA TIME SERIES

ANALISIS JARINGAN SARAF TIRUAN BACKPROPAGATION TERHADAP PERAMALAN NILAI TUKAR MATA UANG RUPIAH DAN DOLAR

II. TINJAUAN PUSTAKA. 2.1 Pembenihan Ikan. 2.2 Pengaruh Suhu Terhadap Ikan

Studi Modifikasi standard Backpropagasi

KOMPARASI HASIL KLASIFIKASI PENYAKIT DIABETES MELLITUS MENGGUNAKAN JARINGAN SYARAF TIRUAN BACKPROPAGATION DAN LEARNING VECTOR QUANTIZATION

ANALISIS PERBANDINGAN ONLINE DAN OFFLINE TRAINING PADA JARINGAN BACKPROPAGATION PADA KASUS PENGENALAN HURUF ABJAD

BAB 2 TINJAUAN PUSTAKA

BAB II LANDASAN TEORI

BAB I PENDAHULUAN I-1

PEMILIHAN WARNA LIPSTIK BERDASARKAN INFORMASI USIA DAN WARNA KULIT DENGAN MENGGUNAKAN METODA ARTIFICIAL NEURAL NETWORK

PERANCANGAN SISTEM PENGENALAN DAN PENYORTIRAN KARTU POS BERDASARKAN KODE POS DENGAN MENGGUNAKAN ARTIFICIAL NEURAL NETWORK

ANALISIS LEARNING RATES PADA ALGORITMA BACKPROPAGATION UNTUK KLASIFIKASI PENYAKIT DIABETES

T 11 Aplikasi Model Backpropagation Neural Network Untuk Perkiraan Produksi Tebu Pada PT. Perkebunan Nusantara IX

PENERAPAN JARINGAN SYARAF TIRUAN DALAM MEMPREDIKSI TINGKAT PENGANGGURAN DI SUMATERA UTARA MENGGUNAKAN METODE BACKPROPAGATION

Algoritma MAC Berbasis Jaringan Syaraf Tiruan

BAB II TINJAUAN PUSTAKA

BAB 2 TINJAUAN PUSTAKA

Transkripsi:

BAB 2 LANDASAN TEORI 2.1. Artificial Neural Network Artificial neural network (ANN) / jaringan saraf tiruan adalah konsep yang merefleksikan cara kerja dari jaringan saraf biologi kedalam bentuk artificial atau buatan. Tujuan dari ANN adalah untuk meniru kemampuan jaringan saraf biologi asli yaitu dalam hal pembelajaran, seperti jaringan saraf biologi salah satunya jaringan saraf manusia yang dapat belajar terhadap lingkungan sehingga dapat mengelola lingkungan berdasarkan pada pengalaman yang didapat. Tujuan dikembangkan ANN adalah mengambil kemampuan dalam melakukan pembelajaran berdasarkan pada data yang didapat dan jika diberikan data dengan kasus / lingkungan yang sama, maka jaringan saraf dapat melakukan klasifikasi yang akurat terhadap data tersebut. 2.2. Backpropagation Backpropagation adalah jaringan neural network yang bersifat supervised. Metode pada backpropagation adalah melakukan dua teknik pembelajaran yaitu feedforward dan backward. Pada pembelajaran teknik pembelajaran feedforward pada backpropagation adalah mendapatkan nilai error output pada jaringan saraf backpropagation. Setelah didapat nilai error maka melakukan pembelajaran mundur dengan mengubah atau mengupdate nilai weight-nya. Tujuan dari kedua pembelajaran itu bertujuan agar nilai error yang dihasilkan konvergen dengan nilai 0.

5 Gambar 2. 1 Neural network backpropagation Algoritma backpropagation memiliki 3 layer yaitu input layer, hidden layer, output layer, masing masing layer terdapat neuron / node. Pada input layer tujuan node / neuron ini adalah menerima input seusai dengan banyak variabel nilai yang diinputkan. Hidden layer neuron berfungsi untuk menerima nilai dari input layer yang telah dikalikan dengan nilai weight. Pada hidden layer maka nilai input diubah menjadi nilai hidden layer dengan menggunakan function, setelah itu nilai tersebut diteruskan ke output layer. Output layer menerima nilai pada hidden layer yang telah dikalkulasikan dengan nilai weight. Pada output layer berfungsi untuk mendapatkan nilai output. Setelah mendapatkan nilai output maka dicari nilai error dengan cara membandingkan dengan nilai target. Jika nilai ouput sama dengan nilai target maka pembelajaran sudah selesai, jika tidak mendekati target maka pembelajaran akan dilanjutkan dengan melakukan teknik backward yaitu pembelajaran dari output kembali ke input dengan melakukan update weight. Setelah selesai update weight maka dilanjutkan kembali pembelajaran sampai konvergen dengan nilai target. Langkah langkah perhitungan dalam pelatihan backpropagation dijabarkan sebagai berikut (Prasetyo, 2014): 1. Inisialisasi bobot / weight Pertama kali yang dilakukan adalah penentuan bobot / weight secara acak pada setiap node yang berada pada input layer, hidden layer, dan output layer. 2. Aktivasi hidden layer Menghitung nilai total masukan pada masing neuron / node pada hidden layer

6 r n h (p) = x i (p) w ih (p) i=1 n h (p) : nilai total bobot yang masukan ke hidden neuron 2.1 x i (p) : nilai input w ih (p) : nilai weight yang menuju ke hidden layer r : Jumlah masukan ke hidden neuron Setelah mendapatkan nilai total masukan pada setiap hidden layer, maka dilakukan perhitungan fungsi aktivasi pada setiap neuron di hidden layer. 1 y h (p) = 1 + e n h(p) y h (p) : nilai aktivasi hidden neuron. 3. Aktivasi output layer Menghitung total nilai yang masuk ke output neuron 2.2 m n o (p) = y h (p) w ho (p) 2.3 h=1 n o (p) : nilai total bobot yang masuk ke output neuron y h (p) : nilai aktivasi dari neuron hidden layer w ho (p) : nilai weight yang menuju ke output layer m : Jumlah neuron yang ada pada hidden layer Setelah mendapatkan nilai total masukan ke neuron output layer, maka dilakukan perhitungan fungsi aktivasi pada setiap neuron di output layer 1 y o (p) = 1 + e n o(p) y o (p) : nilai aktivasi output neuron 4. Gradien error layer output Menghitung nilai error pada setiap neuron output layer 2.4 e o (p) = y do (p) y o (p) 2.5 e o (p) : nilai error dari neuron output layer y do (p) : nilai target neuron pada output layer y o (p) : nilai aktivasi neuron pada output layer

7 Setelah mendapatkan nilai error neuron dari output layer, lalu dicari nilai gradien error dari neuron tersebut δ o (p) = y o (p) [1 y o (p)] e o (p) δ o (p) : nilai gradien error y o (p) : nilai aktivasi output neuron e o (p) : nilai error dari neuron output layer 5. Perhitungan update weight hidden layer ke output layer Menghitung delta bobot w ho (p) = η y h (p) δ o (p) w ho (p) : nilai delta bobot η : learning rate y h (p) : nilai aktivasi neuron hidden layer δ o (p) : nilai gradien error Setelah didapat delta bobot kemudian melakukan update bobot weight dari hidden layer menuju ke output layer. w ho (p + 1) = w ho (p) + w ho (p) w ho (p + 1) : weight baru dari neuron hidden layer ke neuron output layer w ho (p) : weight lama dari neuron hidden layer ke neuron output layer w ho (p) : nilai delta bobot 6. Perhitungan update weight input layer ke hidden layer Menghitung gradien error pada hidden layer δ h (p) = y h (p) [1 y h (p)] δ o (p). w ho (p) l o=1 δ h (p) : nilai gradien error dari neuron hidden layer y h (p) : nilai aktivasi pada hidden layer l : banyak neuron output layer yang terhubung ke neuron hidden layer δ o (p) : nilai gradien error neuron output layer w ho (p) : nilai weight lama neuron hidden layer ke neuron output layer Menghitung delta bobot dari input layer ke hidden layer w ih (p) = η x i (p) δ h (p) w ih (p) : nilai delta bobot untuk hidden layer ke input layer 2.6 2.7 2.8 2.9 2.10

8 η : learning rate x i (p) : nilai input δ h (p) : nilai gradien error neuron pada hidden layer Mengupdate nilai weight input layer ke hidden layer w ih (p + 1) = w ih (p) + w ih (p) 2.11 w ih (p + 1) : weight baru dari input layer ke hidden layer w ih (p) : nilai weight lama w ih (p) : delta bobot dari hidden layer ke input layer 7. Nilai iterasi (p) dinaikan sebanyak 1 dan diulangi prosesnya dari langkah 2 sampai nilai error tercapai. 2.3. Resilient Backpropagation Resilient backpropagation (RPROP) adalah algortima neural network yang bersifat supervised dan adaptive learning. RPROP merupakan perkembangan dari backpropagation. Pada resilient backpropagation parameter sudah ditetapkan jadi tidak diperlukan penentuan learning rate lagi. Kemampuan RPROP adalah untuk menghidari perubahan nilai gradien yang terlalu kecil ini bertujuan agar mempercepat laju pembelajaran RPROP dibandingkan dengan backpropagation, ini ditunjukan pada jaringan RPROP memiliki sebuah nilai delta yang mengikuti perubahan nilai weight. Jika perubahan nilai weight kecil maka nilai delta membesar, sebaliknya ketika perubahan weight aktif maka nilai delta mengecil. RPROP memiliki langkah yang sama dengan backpropagation yang membedakannya adalah pada waktu backwardnya yaitu pada bagian update weight. Untuk melakukan update weight harus dilakukan pemilihan berdasarkan gradien error yang dihasilkan, lalu penentuan learning rate yang dipakai untuk melakukan update weight. Pelatihan feedforward pada algoritma resilient propagation sama dengan pelatihan feedforward pada algoritma backpropagation, yang membedakan pada waktu melakukan update weight dengan learning rate pada pelatihan backward. Perhitungan learning rate akan dijabarkan pada langkah langkah sebagai berikut (Riedmiller, 1994):

9 (t) 1. Perhitungan nilai ij Untuk menentukan nilai (t) ij ada beberapa aturan yang harus dipenuhi untuk mendapat nilai delta tersebut yaitu : (t) ij = { η + (t 1) ij, if E(t 1) E(t) > 0 w ij w ij η (t 1) ij, if E(t 1) E(t) < 0 w ij w ij (t 1) ij, else 2.12 (t) (t 1) Untuk mendapatkan ij untuk pertama kali pembelajaran ij = 0. Nilai 0 = 0.1 nilai pada delta 0 dapat saja ditetapkan lebih besar atau lebih kecil dari 0.1, karena nilai delta 0 tidak memiliki pengaruh besar terhadap laju proses pembelajarannya (Martin Riedmiller, 1994). Untuk pembelajaran berikutnya maka ij yang terdahulu akan dikalikan dengan learning rate. Pada perkalian (t 1) ij dengan learning rate ada aturan yang harus dicapai yaitu error gradien pada hasil terdahulu E(t 1) w ij dikalikan dengan error gradien E(t) w ij. Dari hasil perkalian error tersebut maka didapatkan hasil jika hasil lebih besar dari 0 maka (t 1) ij dikalikan dengan η + (t 1), dan jika hasil lebih kecil dari 0 maka ij dikalikan dengan η. Nilai η + dan η merupakan learning rate yang membedakan adalah pada η + memiliki nilai yang lebih besar daripada η. Marthin Riedmiller (1994) menetapkan nilai standar pada η + = 1.2 sedangkan η = 0.5 untuk algoritma resilient propagation. 2. Penentuan nilai w ij (t) (t) Setelah ditentukan ij maka akan dilanjutkan ke dalam aturan untuk menentukan fungsi operator yang akan dipakai untuk melakukan update weight dengan aturan sebagai berikut:

10 w ij (t) = { (t) ij, if E(t) > 0 w ij + (t) ij, if E(t) < 0 w ij 0, else w ij (t+1) = w ij (t) + w ij (t) (t) Dengan menggunakan error function maka diketahui ij 2.13 2.14 yang akan digunakan apakah akan dikurangi atau ditambah atau tidak terjadi perubahan (t) bobot. Untuk menentukan fungsi operator yang dipakai pada ij maka dibandingkan nilai error gradien terhadap nol. Jika nilai error gradien lebih (t) (t) besar daripada nol maka w ij akan menerima nilai ij, dan jika nilai (t) (t) error gradien lebih kecil daripada 0 maka w ij akan menerima + ij. Setelah mendapatkan nilai delta w maka dilanjutkan ke update weightnya secara langsung. Pada aturan pertama untuk penentuan learning rate memiliki masalah pada aturan kedua yaitu terjadi peningkatan pembelajaran yang melebih batas minimum maka dilakukan pengurangan weight secara langsung dengan weight terdahulunya. w ij (t) = w ij (t 1), if E(t 1) w ij E(t) w ij < 0 2.14 Untuk menghindari terjadi keadaan tersebut untuk terjadi kedua kalinya maka pada E(t) w ij = 0. 2.4. Parallel Processing Parallel processing adalah sebuah kegiatan menjalankan beberapa proses sekaligus dalam waktu yang bersamaan. Teknik parallel processing ada 2 macam yaitu SIMD (Single Instruction Multiple Data streams) dan MIMD (Multiple Instruction Multiple Data streams).

11 SIMD (Single Instruction Multiple Data streams) adalah teknik parallel yang menggunakan sebuah control unit dan processor melakukan eksekusi terhadap instruksi yang sama ini ditunjukan pada Gambar 2.2. Gambar 2. 2 Single Instruction Multiple Data streams (Sumber : El-Rewini & Abd- El-Barr, 2005) MIMD (Multiple Instruction Multiple Data streams) adalah teknik parallel yang menggunakan multiple processor dan multiple memory yang tergabung dalam sebuah koneksi. Pada MIMD setiap processor memiliki control unit sendiri yang dapat memberikan instruksi yang berbeda. Arsitektur dari MIMD akan ditunjukan pada Gambar 2.3. Gambar 2. 3 Multiple Instruction Multiple Data streams (Sumber : El-Rewini & Abd- El-Barr, 2005)

12 Implementasi parallel processing maka digunakan multithreading untuk mengimplementasikan parallel processing tersebut. 2.4.1. Thread & Multithreading Thread adalah sebuah proses yang berukuran kecil yang dibuat oleh sebuah program untuk dijalankan bersamaan dengan thread thread lainnya. Tujuan thread ini adalah agar proses proses yang dapat dikerjakan bersamaan dapat dijalankan secara bersamaan tanpa memerlukan waktu tunggu untuk proses berikutnya. Ini dapat dicontohkan dari perangkat lunak pengolah kata yang membentuk beberapa thread untuk melakukan fungsi tampilan, proses pengetikan, dan proses pemeriksaan jumlah kata, dengan pembagian fungsi tersebut kedalam thread maka semua proses tersebut dapat dijalankan secara bersamaan tanpa terjadinya delay, sehingga dapat disebut berjalan secara parallel. Multithreading adalah kumpulan beberapa thread yang dijalankan bersamaan pada sebuah processor. Pada multithreading ini merupakan proses eksekusi dari kumpulan thread dimana kumpulan thread tersebut diproses secara berulang ulang dengan perpindahan dalam waktu nanosecond. 2.4.2. Parallel Arsitektur Neural Network Parallel arsitektur neural network mengikuti penelitian dari Ganeshamoorthy & Ranasinghe, 2008. Parallel yang digunakan adalah Hybrid partition pada metode parallel ini tidak membutuhkan siklus pembelajaran per pola hanya melakukan penyimpanan nilai - nilai weight pada masing masing neuron hidden unit. Bentuk arsitektur dari parallel neural network tersebut ditunjukan pada Gambar 2.4.

13 Gambar 2. 4 Arsitektur Neural Network dengan parallel (Ganeshamoorthy & Ranasinghe, 2008) Gambar 2.4 adalah sebuah teknik parallel yang bernama hybrid partition yaitu membagi arsitektur proses pada neural network menjadi subproses subproses. Subproses tersebut dikerjakan pada waktu yang bersamaan dengan menggunakan teknik multithreading. Proses yang akan dilakukan adalah dari input layer (A) akan mengirimkan data input yang telah dikalikan dengan weight ke neuron (P1) dan nilai tersebut akan dihasilkan nilai function yang akan diteruskan ke output (B). Proses di hidden layer yaitu P1, Pk, dan Pn dijalankan bersamaan dengan memproses nilai dari A dan diteruskan ke B. 2.5. Penelitian Terdahulu Penelitian jurnal Ganeshamoorthy & Ranasinghe (2008) pada penelitian yang dilakukan yaitu algoritma batch backpropagation dan non batch backpropagation, kedua algoritma tersebut digabungkan pada metode parallel hybrid partition, dan ditambahkan dengan batch backpropagation dengan metode fast parallel matrix multiplication. Teknik pengujian yang dipakai adalah menggunakan tiga arsitektur neural network yaitu NN1 (5-7-1), NN2 (36-72-1), dan NN3 (74-144-1). Selain pengujian menggunakan arsitektur yang berbeda beda pengujian parallel menggunakan dua teknik yaitu teknik distributed memory implementation

14 menggunakan program MPI dan virtual shared memory implementation menggunakan program C/Linda. Hasil penelitian yang didapatkan kecepatan pembelajaran hybrid partition dengan batch backpropagation meningkat dengan seiring penambahan processor sedangkan untuk hybrid partition dengan backpropagation dan fast parallel matrix multiplication dengan batch backpropagation menunjukan dengan penambahan processor kecepatan pembelajaran berangsur angsur meningkat tapi fast parallel matrix multiplication dengan batch backpropagation lebih unggul dibandingkan dengan hybrid partition dengan backpropagation. Penelitian jurnal Gu, Shen, & Huang (2013) yaitu menggunakan teknik paralllel computing terhadap mode pembelajaran pada jaringan neural network. Algoritma neural network yang digunakan adalah backpropagation dan teknik parallel menggunakan framework cneural. Teknik parallel pada cneural akan dijelaskan pada Gambar 2.5.

15 Sent Data Sent Data Sent Data Sent Data Gambar 2. 5 Framework cneural parallel computation pada algoritma neural network (Gu, Shen, & Huang, 2013) Framework cneural membagi dataset menjadi beberapa sub - dataset. Sub - dataset tersebut dikirim ke computer pembantu berserta dengan arsitektur neural network untuk diolah mendapatkan weight update, setelah itu delta weight yang dihasilkan dari komputer pembantu dikirim ke komputer utama untuk digabungkan dengan beberapa delta weight yang dihasilkan dari komputer pembantu lain. Proses tersebut diulangi sampai jaringan neural network dapat mengenali lingkungannya. Hasil penelitian adalah dengan menggunakan framework cneural membantu untuk meningkatkan proses pembelajaran seiring dengan penambahan komputer pembantu untuk membantu memproses dalam pembelajaran.

16 Penelitian Riedmiller & Braun (1993) pada jurnal penelitian memperkenalkan sebuah algoritma neural network yaitu Resilient Backpropagation yang memiliki kemampuan dalam adaptive learning rate, adaptive learning rate adalah sebuah kemampuan dalam mengubah learning rate berdasarkan pada nilai error gradien yang dihasilkan. Algoritma adaptive learning rate pada resilient backpropagation dijelaskan pseudocode sebagai berikut: 1. Berikan nilai awal pada semua nilai delta = 0.1 dan nilai awal gradien error = 0. 2. Lakukan perhitungan feedforward untuk mendapatkan nilai gradien error. 3. Nilai gradien error yang telah didapatkan dikalikan dengan nilai gradien terdahulu. 4. Nilai gradien error yang telah didapat akan dibadingkan dengan beberapa rule sebagai berikut: Jika nilai gradien error lebih besar dari nilai 0 dilakukan hal berikut: i. Nilai delta didapatkan dari nilai minimum antara dua nilai yaitu nilai delta terdahulu dikalikan learning rate max dengan delta max = 50.0. ii. Setelah mendapatkan nilai delta maka dilanjutkan ke delta weight. Pada delta weight akan menentukan nilai delta tersebut akan berbentuk sebagai nilai minus atau positif, yang berdasarkan dari nilai error gradiennya. Jika nilai error gradien lebih besar dari 0 maka nilai delta weight akan bernilai negatif sedangkan nilai gradien error lebih kecil dari 0 maka nilai delta weight bernilai positif. iii. Setelah didapatkan nilai delta weight dilajutkan dengan melakukan udapte weight yaitu weight terdahulu dijumlah dengan delta weight. iv. Terakhir adalah menyimpan nilai gradien error. Jika nilai gradien error lebih kecil dari 0 dilakukan hal berikut: i. Nilai delta didapatkan dari nilai maksimum dari dua nilai yaitu nilai delta terdahulu dikalikan learning rate min dengan delta min = 1e -6. ii. Nilai weight yaiut nilai weight dikurangi dengan nilai weight terdahulunya.

17 iii. Nilai gradien error menyimpan nilai 0 Jika nilai gradien error sama dengan 0 dilakukan sebagai berikut: i. Nilai delta weight menentukan nilai delta apakah nilai tersebut menjadi minus atau positif. ii. Update weight yaitu nilai weight ditambah dengan delta weight. 5. Setiap weight akan mengalami proses pada aturan keempat 6. Melakukan pembelajaran lagi dimulai dari aturan kedua sampai nilai error mendekati 0. Pada setiap weight yang digunakan pada neural network dilakukan update weight berdasarkan nilai gradien error yang dihasilkan pada setiap neuron. Resilient backpropagation menetapkan beberapa parameter awal yaitu 0 = 0.1 ini merupakan nilai penetapan awal yang diberikan pada setiap nilai delta weight awal, nilai max = 50.0 dan min = 1e 6 yang bertujuan untuk menghindari masalah overflow / underflow pada variabel floating, dan nilai learning rate η + = 1.2 dan η = 0.5. Hasil penelitian jurnal tersebut menunjukan resilient backpropagation hanya memerlukan pembelajaran / epoch yang lebih sedikit dibandingkan dengan algoritma Backpropagation, SuperSAB, dan Quickprop. Jurnal penelitian Prasad, Singh, & Lal (2013) melakukan klasifikasi terhadap serangan spam menggunakan algoritma neural network. Algoritma neural network yang digunakan pada jurnal penelitian ini adalah backpropagation dan resilient backpropagation. Dari hasil penelitian yang didapatkan menunjukan tingkat convergence yang lebih cepat pada algoritma resilient backpropagation daripada algoritma backpropagation. Dalam ukuran tingkat akurasi algoritma resilient backpropagation memiliki tingkat 77,76% dengan nilai threshold 0.4 (nilai threshold ini sebagai batasan nilai untuk 2 jenis email yaitu spam adalah surat elektronik yang dikirim secara terus menerus tanpa adanya konfirmasi dari penerima dan ham adalah surat elektronik yang telah di konfirmasi oleh penerima yang dikirim secara terus menerus), sedangkan pada backpropagation dengan nilai threshold 0.4 tingkat akurasi adalah 71,56%. Jumlah neuron pada hidden layer juga berpengaruh terhadap akurasi pada algoritma resilient backpropagation jumlah yang optimal tingkat akurasi yang tinggi untuk mengenal spam adalah dengan jumlah 40 neuron pada hidden layer yang akan ditunjukan pada Gambar 2.7.

18 Gambar 2. 6 Pengaruh tingkat akurasi jumlah neuron pada hidden layer pada algoritma Resilient Backpropagation (Prasad, Singh, & Lal, 2013) Ringkasan dari penelitian terdahulu dapat dilihat pada Tabel 2.1 Tabel 2. 1 Penelitian yang sudah pernah dilakukan No. Nama Peneliti Teknik yang Dipakai Keterangan 1 Ganeshamoorthy & Ranasinghe, 2008 2 Gu, Shen, & Huang, 2013 Batch Backrpopagation & Metode Parallel Hybrid partition Backpropagation Penelitian membandingkan beberapa metode parallel hybrid partition yang diterapkan kedalam algoritma Batch Backpropagation. Hasil yang didapat adalah parallel hybrid partition dengan algoritma Backrpopagation memiliki kemampuan dalam mengurangi waktu yang diperlukan pada waktu pembelajaran Penelitian ini memperkenalkan sebuah sistem parallel untuk neural network yang disebut dengan cneural yaitu sebuah sistem untuk melakukan komputasi secara parallel pada neural networks

19 Tabel 2. 2 Penelitian yang sudah pernah dilakukan (lanjutan) No. Nama Peneliti Teknik yang Dipakai Keterangan 3 Riedmiller & Braun, 1993 4 Prasad, Singh, & Lal, 2013 Resilient Backpropagation Backpropagation & Resilient Backpropagation Jurnal ini memperkenalkan algoritma Resilient Backpropagation dengan kemampuan memilih learning rate berdasarkan nilai error gradien. Jurnal ini melakukan perbandingan kedua jenis algoritma yaitu Backpropagation standar dan Resilient Backropagation terhadap pengenalan kasus spam. Hasil yang didapatkan adalah kecepatan pembelajaran dalam mencapai nilai nol atau konvergen pada algoritma Resilient Backpropagation dibandingkan Backpropagation. 2.6. Perbedaan Penelitian Sekarang Dengan Penelitian Terdahulu Pada penelitian yang akan dilakukan pada tesis memiliki perbedaan terhadap penelitian terdahulu yaitu pada penelitian tesis ini menggunakan algoritma resilient backpropagation sebagai algoritma dasar untuk dijadikan sebagai bentuk parallel processing. Pada parallel processing menggunakan hybrid partition yaitu yang dijelaskan pada jurnal Ganeshamoorthy & Ranasinghe (2008) yaitu memecahkan arsitektur dari jaringan neural network menjadi bagian bagian kecil yang dapat dijalankan pada waktu bersamaan pada bagian hidden layer. Perbedaan penelitian ini terhadap penelitian jurnal Ganeshamoorthy & Ranasinghe (2008) adalah algoritma yang digunakan yaitu pada penelitian jurnal terdahulu menggunakan algoritma backpropagation dan batch backpropagation, sedangkan dengan penelitian ini akan digunakan algoritma resilient backpropagation. Pada penelitian yang dilakukan oleh Gu, Shen, & Huang (2013) memiliki perbedaan dari algoritma yang digunakan dan teknik parallel yang digunakan yaitu melakukan distribusi sub - dataset dan arsitektur neural network kepada processor pembantu untuk dilakukan kalkulasi dan setelah itu

20 hasil delta weight yang dihasilkan dari masing masing processor pembantu akan dikumpulkan untuk dijumlah semua terlebih dahulu dan dilakukan update weight, sedangkan penelian yang akan dilakukan menggunakan teknik parallel hybrid partition adalah membagi kerja komputasi yang terletak pada bagian hidden layer agar dapat dikerjakan pada waktu yang bersamaan. Jurnal penelitian lain yaitu Riedmiller & Braun (1993) dan Prasad, Singh, & Lal (2013) adalah sebagai jurnal tambahan yang menunjukan kemampuan kecepatan pembelajaran pada algoritma resilient backpropagation.