• Tidak ada hasil yang ditemukan

ANALISIS KINERJA MULTITHREADING PADA RESILIENT BACKPROPAGATION TESIS KELVIN ONGGRONO

N/A
N/A
Protected

Academic year: 2022

Membagikan "ANALISIS KINERJA MULTITHREADING PADA RESILIENT BACKPROPAGATION TESIS KELVIN ONGGRONO"

Copied!
81
0
0

Teks penuh

(1)

ANALISIS KINERJA MULTITHREADING PADA RESILIENT BACKPROPAGATION

TESIS

KELVIN ONGGRONO 147038014

PROGRAM STUDI S2 TEKNIK INFORMATIKA

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

MEDAN

2016

(2)

ANALISIS KINERJA MULTITHREADING PADA RESILIENT BACKPROPAGATION

TESIS

Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Magister Teknik Informatika

KELVIN ONGGRONO 147038014

PROGRAM STUDI S2 TEKNIK INFORMATIKA

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

MEDAN

2016

(3)

PERSETUJUAN

Judul : ANALISIS KINERJA MULTITHREADING PADA

RESILIENT BACKPROPAGATION Kategori : Neural Network, Multithreading

Nama : Kelvin Onggrono

Nomor Induk Mahasiswa : 147038014

Program Studi : S2 Teknik Informatika

Fakultas : ILMU KOMPUTER DAN TEKNOLOGI

INFORMASI UNIVERSITAS SUMATERA UTARA Komisi Pembimbing :

Pembimbing 2

Dr. Erna Budhiarti Nababan, M.IT

Pembimbing 1

Prof. Dr. Tulus, Vor.Dipl, Math, M.Si

Diketahui / disetujui oleh S2 Teknik Informatika Ketua,

Prof. Dr. Muhammad Zarlis NIP. 195707011986011003

(4)

PERNYATAAN

ANALISIS KINERJA MULTITHREADING PADA RESILIENT BACKPROPAGATION

TESIS

Saya mengakui bahwa tesis ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing – masing telah disebutkan sumbernya.

Medan, 10 Nopember 2016

Kelvin Onggrono NIM. 147038014

(5)

PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN

AKADEMIS

Sebagai sivitas akademika Univesitas Sumatera Utara, saya yang bertanda tangan di bawah ini:

Nama : Kelvin Onggrono

NIM : 147038014

Program Studi : S2 Teknik Informatika Jenis Karya Ilmiah : Teknik Informatika

Demi pengembangan ilmu pengetahuan, menyetujui untuk memberikan kepada Universitas Sumatera Utara Hak Bebas Royalti Non – Eksklusif (Non – Exclusive Royalty Free Right) atas tesis saya yang berjudul:

ANALISIS KINERJA MULTITHREADING PADA RESILIENT BACKPROPAGATION

Berserta perangkat yang ada (jika diperlukan). Dengan Hak Bebas Royalti Non- Eksklusif ini, Universitas Sumatera Utara berhak menyimpan, mengalih media, memformat, mengelola dalam bentuk database, merawat dan mempublikasikan tesis saya tanpa meminta izin dari saya selama tetap mencamtumkan nama saya sebagai penulis dan sebagai pemegang dan/atau sebagai pemilik hak cipta.

Demikian pernyataan ini dibuat dengan sebenarnya.

Medan, 24 Oktober 2016

Kelvin Onggrono NIM. 147038014

(6)

Telah diuji pada

Tanggal : 23 Agustus 2016

PANITIA PENGUJI TESIS

Ketua : Prof. Dr. Muhammad Zarlis

Anggota : 1. Prof. Dr. Tulus, Vor.Dipl, Math, M.Si 2. Dr. Erna Budhiarti Nababan, M.IT 3. Prof. Dr. Muhammad Zarlis 4. Suherman, Ph.D

(7)

RIWAYAT HIDUP

DATA PRIBADI

Nama Lengkap (berikut gelar) : Kelvin Onggrono, S.Kom, M.Kom Tempat dan Tanggal Lahir : Medan, 31 Agustus 1990

Alamat Rumah : Jl. Akik No. 49A, Medan

Handphone / Telepon : 087769519681 / 061-7368067

E-mail : [email protected]

Instansi Tempat Berkerja : -

Alamat Kantor : Jl. Gajah Mada No.9

DATA PENDIDIKAN

SD : Methodist – 3 Medan TAMAT: 2002

SLTP : Methodist – 3 Medan TAMAT: 2005

SLTA : Methodist – 2 Medan TAMAT: 2008

S1 : Institut Teknologi Manajemen International (ITMI) TAMAT: 2013

S2 : Teknik Informatika USU TAMAT: 2016

(8)

UCAPAN TERIMA KASIH

Puji syukur penulis ucapkan kehadirat Allah SWT atas segala limpahan rahmat dan karunia-Nya, sehingga penulis dapat menyelesaikan skripsi ini dengan baik, kesehatan dan kesempatan yang diberikan kepada penulis sehingga dapat menyelesaikan tesis ini dengan judul “ANALISIS KINERJA MULTITHREADING PADA RESILIENT BACKPROPAGATION”.

Dalam penyusunan untuk menyelesaikan tesis ini, penulis banyak mendapatkan pelajaran yang besar, baik berupa saran maupun nasehat dari berbagai pihak terutama dari dosen pembimbing serta dosen pembanding, sehingga pengerjaan tesis ini dapat diselesaikan dengan baik. Tidak lepas dari dukungan orang tua yang telah banyak memberikan banyak bantuan dan dukungan, sehingga penulis dapat sampai pada tahap penyelesaian tesis ini.

Untuk itu penulis ingin menyampaikan ucapan terima kasih yang sebesar- besarnya kepada:

1. Bapak Prof. Dr. Runtung Sitepu, S.H., M.Hum., selaku rektor Universitas Sumatera Utara atas kesempatan yang telah diberikan kepada penulis, sehingga bisa mengikuti dan menyelesaikan pendidikan Magister Teknik Informatika.

2. Bapak Prof. Dr. Opim Salim Sitompul, selaku Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara Medan.

3. Bapak Prof. Dr. Muhammad Zarlis, selaku Ketua Program Studi Pascasarjana Teknik Informatika Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara Medan.

4. Bapak M. Andri Budiman, S.T., M.Comp.Sc, MEM., selaku Sekretaris Program Studi Magister Teknik Informatika Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.

5. Bapak Prof. Dr. Tulus, Vor.Dipl, Math, M.Si., selaku Dosen Pembimbing I yang telah bersedia memberikan bimbingan serta pengarahan hingga selesainya penulisan tesis ini.

(9)

viii 6. Ibu Dr. Erna Budhiarti Nababan, M.IT, selaku Dosen Pembimbing II yang telah bersedia memberikan bimbingan serta pengarahan hingga selesainya penulisan tesis ini.

7. Bapak Prof. Dr. Muhammad Zarlis, selaku dosen Pembanding/Penguji yang telah memberikan saran untuk perbaikan dan penyelesaian tesis ini.

8. Bapak Suherman, Ph.D, selaku dosen Pembanding/Penguji yang telah memberikan saran untuk perbaikan dan penyelesaian tesis ini.

9. Bapak dan Ibu dosen yang telah memberikan materi perkuliahan dan ilmu pengetahuan selama penulis menyelesaikan Program Studi Magister Teknik Informatika.

10. Seluruh staf atau pegawai pada Program Studi Magister Teknik Informatika Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.

11. Buat orang tua saya, yang selalu memberi semangat dan doa yang tiada putus dan dorongan moril maupun materil kepada saya sehingga dapat menyelesaikan tesis ini dengan baik.

12. Teman-teman seperjuangan angkatan 2014 Kom-B yang telah memberikan dukungan dalam penyelesaian tesis ini.

Akhir kata penulis berharap semoga karya ilmiah ini dapat bermanfaat bagi semua pihak, khususnya dalam bidang pendidikan. Penulis menyadari bahwa masih ada kekurangan dalam penulisan tesis ini, untuk itu penulis mengharapkan kritik dan saran dari pembaca demi kesempurnaan penelitian selanjutnya.

Medan, 10 Nopember 2016 Penulis

Kelvin Onggrono 147038014

(10)

ABSTRAK

Proses pembelajaran pada neural network sangat penting ini bertujuan agar jaringan neural network tersebut dapat mengenali lingkungan. Proses pembelajaran pada neural network membutuhkan waktu untuk mengenali lingkungan tergantung dari besar-nya lingkungan yang akan dikenali. Dengan permasalahan waktu yang dibutuhkan pada saat melakukan pembelajaran maka pada penelitian yang dilakukan adalah menggunakan algoritma resilient backpropagation yang memiliki kemampuan belajar lebih cepat daripada algoritma backpropagation standar. Dan untuk meningkatkan kecepatan waktu pembelajaran dari resilient backpropagation maka digunakan teknik parallel processing ke dalam resilient backpropagation tersebut. Teknik parallel yaitu multithreading yang digunakan adalah hybrid partition yaitu hanya pada bagian hidden layer proses tersebut dibagi menjadi beberapa subproses berdasarkan pada jumlah neuron hidden layer, subproses tersebut dikerjakan secara bersamaan yang dibagi berdasarkan jumlah thread. Hasil yang didapatkan adalah penerapan parallel processing menggunakan multithreading ke dalam resilient backpropagation membantu mempercepat waktu proses pembelajaran resilient backpropagation dengan thread yang digunakan sebanyak 3 buah thread.

Kata Kunci: Neural Network, Resilient Backpropagation, Parallel, Hybrid partition, Multithreading

(11)

PERFORMANCE ANALYSIS OF MULTITHREADING RESILIENT BACKPROPAGATION

ABSTRACT

The process of learning neural network very important aims in order for neural network can recognize the environment. The process of learning in neural networks takes time to recognize the environment depends on its great environment that will be recognized.

Problem with the time required at the time of learning and in research conducted using resilient backpropagation algorithms is that had the ability to learn faster than standard backpropagation algorithm. And to increase the speed learning of resilient backpropagation then used the technique of parallel processing into resilient backpropagation. Parallel processing techniques used are hybrid partition that is only in the hidden layer of the process divided into several sub – processes are based on the number of hidden layer neurons, these sub – processes are done simultaneously are divided based on the number of threads. The result obtained is the implementation of parallel processing using multithreading into the resilient backpropagation learning with threads that used as many as 3 pieces of thread.

Keyword: Neural Network, Resilient Backpropagation, Parallel, Hybrid Partition, Multithreading

(12)

DAFTAR ISI

HALAMAN JUDUL ... i

PENGESAHAN ... ii

PERNYATAAN ORISINALITAS ... iii

PERSETUJUAN PUBLIKASI ... iv

PANITIA PENGUJI ... v

RIWAYAT HIDUP ... vi

UCAPAN TERIMA KASIH ... vii

ABSTRAK ... ix

ABSTRACT ... x

DAFTAR ISI ... xi

DAFTAR GAMBAR ... xiii

DAFTAR TABEL ... xiv

BAB 1 PENDAHULUAN ... 1

1.1.Latar Belakang ... 1

1.2.Rumusan Masalah ... 2

1.3.Tujuan Penelitian ... 2

1.4.Batasan Masalah ... 2

1.5.Manfaat Penelitian ... 3

BAB 2 LANDASAN TEORI ... 4

2.1.Artificial Neural Network ... 4

2.2.Backpropagation ... 4

2.3.Resilient Backpropagation ... 8

2.4.Parallel Processing ... 10

2.4.1.Thread & Multithreading ... 12

2.4.2.Parallel Arsitektur Neural Network ... 12

2.5.Penelitian Terdahulu ... 13

2.6.Perbedaan Penelitian Sekarang Dengan Penelitian Terdahulu ... 19

BAB 3 METODOLOGI PENELITIAN ... 21

3.1. Pendahuluan ... 21

3.2. Tahapan – Tahapan Penelitian ... 22

(13)

xii

3.3. Data yang Digunakan ... 22

3.4. Arsitektur Artificial Neural Network ... 24

3.4.1. Input Layer ... 24

3.4.2. Hidden Layer ... 25

3.4.3. Output Layer ... 25

3.4.4. Rancangan Arsitektur Neural Network ... 26

3.5. Parallel Processing Resilient Backpropagation ... 26

3.6. Rancangan Arsitektur Resilient Backpropagation Parallel ... 27

3.7. Analisis Waktu Pembelajaran ... 32

3.8. Analisis Parallel Resilient Backpropagation ... 33

3.8. CPU Time untuk Parallel Processing ... 46

BAB 4 HASIL DAN PEMBAHASAN ... 48

4.1.Pendahuluan ... 48

4.2.Peralatan Pengujian ... 48

4.3.Hasil Penelitian ... 48

4.4.Pembahasan ... 54

BAB 5 KESIMPULAN DAN SARAN ... 55

5.1.Kesimpulan ... 55

5.2.Saran ... 55

DAFTAR PUSTAKA ... 56

Lampiran A ... 58

(14)

DAFTAR GAMBAR

Gambar 2. 1 Neural network backpropagation ... 5

Gambar 2. 2 Single Instruction Multiple Data streams (Sumber : El-Rewini & Abd-El- Barr, 2005) ... 11

Gambar 2. 3 Multiple Instruction Multiple Data streams (Sumber : El-Rewini & Abd- El-Barr, 2005) ... 11

Gambar 2. 4 Arsitektur Neural Network dengan parallel (Ganeshamoorthy & Ranasinghe, 2008) ... 13

Gambar 2. 5 Framework cNeural parallel computation pada algoritma neural network (Gu, Shen, & Huang, 2013) ... 15

Gambar 2. 6 Pengaruh tingkat akurasi jumlah neuron pada hidden layer pada algoritma Resilient Backpropagation (Prasad, Singh, & Lal, 2013) ... 18

Gambar 3. 1 Diagram Tahapan – Tahapan Penelitian 22

Gambar 3. 2 Arsitektur Neural Network ... 26

Gambar 3. 3 Arsitektur Neural Network Parallel dengan 1 Thread ... 27

Gambar 3. 4 Arsitektur Neural Network Parallel dengan 2 Thread ... 28

Gambar 3. 5 Arsitektur Neural Network Parallel dengan 3 Thread ... 28

Gambar 3. 6 Arsitektur Neural Network Parallel dengan 4 Thread ... 29

Gambar 3. 7 Arsitektur Neural Network Parallel dengan 5 Thread ... 30

Gambar 3. 8 Arsitektur Neural Network Parallel dengan 6 Thread ... 31

Gambar 3. 9 Arsitektur Neural Network Parallel dengan 7 Thread ... 32

Gambar 4. 1 Grafik Peningkatan Kecepatan Waktu Berdasarkan Peningkatan Jumlah Thread Pengujian I 50

Gambar 4. 2 Grafik Peningkatan Kecepatan Waktu Berdasarkan Peningkatan Jumlah Thread Pengujian II ... 51

Gambar 4. 3 Grafik Peningkatan Kecepatan Waktu Berdasarkan Peningkatan Jumlah Thread Pengujian II ... 52

Gambar 4. 4 Grafik Rata – Rata Waktu Selesai Pembelajaran Resilient Backpropagation ... 53

(15)

DAFTAR TABEL

Tabel 2. 1 Penelitian yang sudah pernah dilakukan ... 18

Tabel 3. 1 Feature Dataset Triaxial 23

Tabel 3. 2 Feature Dataset Triaxial (Lanjutan) ... 24

Tabel 3. 3 Nilai Target Output Aktifitas Manusia ... 24

Tabel 3. 4 Pembagian Neuron Hidden Layer Berdasarkan Jumlah Thread... 33

Tabel 3. 5 Nilai Input dan Target ... 34

Tabel 3. 6 Nilai Weight dari Input Layer ke Hidden Layer ... 35

Tabel 3. 7 Nilai Weight dari Hidden Layer ke Output Layer ... 35

Tabel 3. 8 Nilai Function Neuron pada Hidden Layer ... 37

Tabel 3. 9 Nilai Function, Error, dan Gradien Error Neuron Output Layer ... 41

Tabel 3. 10 Nilai Weight Baru dari Hidden Layer ke Output Layer ... 42

Tabel 3. 11 Nilai Gradien Error Neuron pada Hidden Layer ... 45

Tabel 3. 12 Nilai Weight Baru dari Input Layer ke Hidden Layer ... 46

Tabel 4. 1 Proses update weight berserta dengan CPU Time / iterasi 49

Tabel 4. 2 Hasil Pengujian I Resilient Backpropagation Parallel Multithreading ... 49

Tabel 4. 3 Hasil Pengujian I Resilient Backpropagation Parallel Multithreading ... 50

Tabel 4. 4 Hasil Pengujian II Resilient Backpropagation Parallel Multithreading ... 51

Tabel 4. 5 Hasil Pengujian III Resilient Backpropagation Parallel Multithreading .... 52

Tabel 4. 6 Hasil Pengujian Rata – Rata Resilient Backpropagation Parallel Multithreading ... 53

(16)

ABSTRAK

Proses pembelajaran pada neural network sangat penting ini bertujuan agar jaringan neural network tersebut dapat mengenali lingkungan. Proses pembelajaran pada neural network membutuhkan waktu untuk mengenali lingkungan tergantung dari besar-nya lingkungan yang akan dikenali. Dengan permasalahan waktu yang dibutuhkan pada saat melakukan pembelajaran maka pada penelitian yang dilakukan adalah menggunakan algoritma resilient backpropagation yang memiliki kemampuan belajar lebih cepat daripada algoritma backpropagation standar. Dan untuk meningkatkan kecepatan waktu pembelajaran dari resilient backpropagation maka digunakan teknik parallel processing ke dalam resilient backpropagation tersebut. Teknik parallel yaitu multithreading yang digunakan adalah hybrid partition yaitu hanya pada bagian hidden layer proses tersebut dibagi menjadi beberapa subproses berdasarkan pada jumlah neuron hidden layer, subproses tersebut dikerjakan secara bersamaan yang dibagi berdasarkan jumlah thread. Hasil yang didapatkan adalah penerapan parallel processing menggunakan multithreading ke dalam resilient backpropagation membantu mempercepat waktu proses pembelajaran resilient backpropagation dengan thread yang digunakan sebanyak 3 buah thread.

Kata Kunci: Neural Network, Resilient Backpropagation, Parallel, Hybrid partition, Multithreading

(17)

PERFORMANCE ANALYSIS OF MULTITHREADING RESILIENT BACKPROPAGATION

ABSTRACT

The process of learning neural network very important aims in order for neural network can recognize the environment. The process of learning in neural networks takes time to recognize the environment depends on its great environment that will be recognized.

Problem with the time required at the time of learning and in research conducted using resilient backpropagation algorithms is that had the ability to learn faster than standard backpropagation algorithm. And to increase the speed learning of resilient backpropagation then used the technique of parallel processing into resilient backpropagation. Parallel processing techniques used are hybrid partition that is only in the hidden layer of the process divided into several sub – processes are based on the number of hidden layer neurons, these sub – processes are done simultaneously are divided based on the number of threads. The result obtained is the implementation of parallel processing using multithreading into the resilient backpropagation learning with threads that used as many as 3 pieces of thread.

Keyword: Neural Network, Resilient Backpropagation, Parallel, Hybrid Partition, Multithreading

(18)

BAB 1

PENDAHULUAN

1.1. Latar Belakang

Artificial Neural Network (ANN) merupakan komputasi yang mengambil sistem biologi yaitu jaringan saraf, jaringan saraf buatan ini berfungsi untuk melakukan komputasi klasifikasi, pengenalan pola, kontrol, forecasting, dll (Ganeshamoorthy &

Ranasinghe, 2008). Algoritma ANN sebelum diuji pada sebuah lingkungnan ANN perlu dilakukan training terlebih dahulu agar algoritma ANN dapat mengenali lingkungan tersebut. Pada saat algoritma ANN di training maka memakan waktu yang cukup lama tergantung dari besarnya dataset, nilai epoch, kecepatan pembelajaran mencapai titik konvergen (Gu, Shen, & Huang, 2013).

Proses training pada artificial neural network membutuhkan waktu untuk meyelesaikan masalah tersebut salah satu metode yang dapat digunakan adalah adaptive learning rate. Adaptive learning rate adalah teknik yang digunakan untuk mengubah learning rate berdasarkan pada perubahan nilai errror yang dihasilkan dari setiap iterasi (Moreira & Fiesler, 1995). Selain pengunaan metode adaptive learning rate untuk mempercepat waktu training pada ANN, ada metode lain yang dapat digunakan yaitu memasukan teknik parallel kedalam arsitektur neural network tersebut. Teknik parallel adalah membagi proses menjadi subproses yang dapat dijalankan secara bersamaan.

Penerapan parallel komputer terhadap backpropagation sangat membantu dalam proses training yaitu dapat memangkas waktu training (Torresen, 1996).

Resilient Propagation / Resilient Backpropagation (RPROP) adalah salah satu algoritma neural network yang dilengkapi dengan kemampuan adaptive learning yaitu kemampuan untuk menentukan learning rate yang digunakan berdasarkan nilai error gradien (Riedmiller & Braun, 1993). Algoritma RPROP dalam kasus untuk mengklasifikasikan gigitan ular menunjukan tingkat kecepatan pembelajaran untuk

(19)

2

mencapai titik konvergen berdasarkan pada nilai batasan MSE 0.03 dimana standar backpropagation membutuhkan pembelajaran sebanyak 378 epoch sedangkan resilient backpropagation hanya membutuhkan sebanyak 73 epoch untuk mencapai titik konvergen berdasarkan pada nilai MSE (Halim et al, 2011). Algoritma RPROP memiliki kecepatan dalam mencapai nilai konvergen dibandingkan dengan backpropagation. Pada tingkat akurasinya algoritma RPROP berada pada rata 76,88%, sedangkan rata akurasi backpropagation 69,264% (Prasad et al, 2013). Kemampuan algoritma RPROP menjadikan pengujian terhadap semua kasus dataset yang diuji sangat stabil dalam pembelajaran (Moreira & Fiesler, 1995). Pada penelitian terdahulu menunjukan kemampuan resilient propagation memiliki keunggulan kecepatan dalam training untuk mencapai titik konvergen dibandingkan dengan backpropagation standar.

Berdasarkan uraian dari latar belakang untuk mempercepat waktu training pada artificial neural network digunakan algoritma resilient backpropagation dengan memberikan teknik parallel pada proses training RPORP dan usulan judul tesis yang diambil adalah “ANALISIS KINERJA MULTITHREADING PADA RESILIENT BACKPROPAGATION”. Pengujian penelitian ini diujikan ke kasus klasifikasi penentuan aktifitas manusia menggunakan sensor accelerometer dan gyroscope.

1.2. Rumusan Masalah

Proses pembelajaran artificial neural network yaitu algoritma backpropagation membutuhkan waktu proses yang lama. Oleh karena itu diperlukan suatu pendekataan yang dapat mengurangi waktu pembelajaran backpropagation.

1.3. Tujuan Penelitian

Tujuan penelitian yang dilakukan adalah mempercepat waktu pembelajaran pada artificial neural network dengan menggunakan algoritma resilient backpropagation dengan menambahkan teknik parallel processing ke dalam algoritma resilient backpropagation.

1.4. Batasan Masalah

Penelitian yang dilakukan agar cakupan pembahasan ini tidak meluas maka batasan masalah adalah sebagai berikut:

(20)

1. Penelitian ini hanya membahas waktu pembelajaran dari resilient backpropagation artificial neural network tidak difokuskan terhadap keakuratan artificial neural network dalam mengenali lingkungannya.

2. Algoritma Artificial Neural Network (ANN) yang digunakan adalah Resilient Backpropagation tidak membahas kompleksitas dari Resilient Backpropagation.

3. Parallel yang dipakai adalah multithreading yaitu menggunakan satu buah processor digunakan untuk mengerjakan beberapa proses secara bersamaan.

4. Lingkungan yang akan dikenali oleh artificial neural network adalah pengenalan aktifitas manusia adalah berjalan, naik tangga, turun tangga, duduk, berdiri, dan tidur.

1.5. Manfaat Penelitian

Penelitian ini diharapkan dengan menggunakan algoritma resilient backpropagation dengan menerapkan metode parallel processing ke dalam algoritma artificial neural network tersebut dapat membantu waktu untuk mempercepat proses pembelajaran.

(21)

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.

(22)

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

(23)

6

𝑛

(𝑝) = ∑ 𝑥

𝑖

(𝑝) × 𝑤

𝑖ℎ

(𝑝)

𝑟

𝑖=1

𝑛(𝑝) : nilai total bobot yang masukan ke hidden neuron 𝑥𝑖(𝑝) : nilai input

𝑤𝑖ℎ(𝑝) : nilai weight yang menuju ke hidden layer 𝑟 : 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 1 + 𝑒

−𝑛(𝑝)

𝑦(𝑝) : nilai aktivasi hidden neuron.

3. Aktivasi output layer

Menghitung total nilai yang masuk ke output neuron

𝑛

𝑜

(𝑝) = ∑ 𝑦

(𝑝) × 𝑤

ℎ𝑜

(𝑝)

𝑚

ℎ=1

𝑛𝑜(𝑝) : nilai total bobot yang masuk ke output neuron 𝑦(𝑝) : nilai aktivasi dari neuron hidden layer

𝑤ℎ𝑜(𝑝) : nilai weight yang menuju ke output layer 𝑚 : 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 1 + 𝑒

−𝑛𝑜(𝑝)

𝑦𝑜(𝑝) : nilai aktivasi output neuron 4. Gradien error layer output

Menghitung nilai error pada setiap neuron output layer

𝑒

𝑜

(𝑝) = 𝑦

𝑑𝑜

(𝑝) − 𝑦

𝑜

(𝑝)

𝑒𝑜(𝑝) : nilai error dari neuron output layer 𝑦𝑑𝑜(𝑝) : nilai target neuron pada output layer 𝑦𝑜(𝑝) : nilai aktivasi neuron pada output layer

2.1

2.2

2.3

2.4

2.5

(24)

Setelah mendapatkan nilai error neuron dari output layer, lalu dicari nilai gradien error dari neuron tersebut

𝛿

𝑜

(𝑝) = 𝑦

𝑜

(𝑝) × [1 − 𝑦

𝑜

(𝑝)] × 𝑒

𝑜

(𝑝)

𝛿𝑜 (𝑝) : nilai gradien error

𝑦𝑜(𝑝) : nilai aktivasi output neuron

𝑒𝑜(𝑝) : nilai error dari neuron output layer

5. Perhitungan update weight hidden layer ke output layer Menghitung delta bobot

∆𝑤

ℎ𝑜

(𝑝) = 𝜂 × 𝑦

(𝑝) × 𝛿

𝑜

(𝑝)

∆𝑤ℎ𝑜(𝑝) : nilai delta bobot 𝜂 : learning rate

𝑦(𝑝) : nilai aktivasi neuron hidden layer 𝛿𝑜 (𝑝) : nilai gradien error

Setelah didapat delta bobot kemudian melakukan update bobot weight dari hidden layer menuju ke output layer.

𝑤

ℎ𝑜

(𝑝 + 1) = 𝑤

ℎ𝑜

(𝑝) + ∆𝑤

ℎ𝑜

(𝑝)

𝑤ℎ𝑜(𝑝 + 1) : weight baru dari neuron hidden layer ke neuron output layer 𝑤ℎ𝑜(𝑝) : weight lama dari neuron hidden layer ke neuron output layer

∆𝑤ℎ𝑜(𝑝) : nilai delta bobot

6. Perhitungan update weight input layer ke hidden layer Menghitung gradien error pada hidden layer

𝛿

(𝑝) = 𝑦

(𝑝) × [1 − 𝑦

(𝑝)] × ∑ 𝛿

𝑜

(𝑝).

𝑙

𝑜=1

𝑤

ℎ𝑜

(𝑝)

𝛿(𝑝) : nilai gradien error dari neuron hidden layer 𝑦(𝑝) : nilai aktivasi pada hidden layer

𝑙 : banyak neuron output layer yang terhubung ke neuron hidden layer 𝛿𝑜 (𝑝) : nilai gradien error neuron output layer

𝑤ℎ𝑜(𝑝) : nilai weight lama neuron hidden layer ke neuron output layer Menghitung delta bobot dari input layer ke hidden layer

∆𝑤

𝑖ℎ

(𝑝) = 𝜂 × 𝑥

𝑖

(𝑝) × 𝛿

(𝑝)

∆𝑤𝑖ℎ(𝑝) : nilai delta bobot untuk hidden layer ke input layer

2.6

2.7

2.8

2.9

2.10

(25)

8

𝜂 : learning rate 𝑥𝑖(𝑝) : nilai input

𝛿(𝑝) : nilai gradien error neuron pada hidden layer Mengupdate nilai weight input layer ke hidden layer

𝑤

𝑖ℎ

(𝑝 + 1) = 𝑤

𝑖ℎ

(𝑝) + ∆𝑤

𝑖ℎ

(𝑝)

𝑤𝑖ℎ(𝑝 + 1) : weight baru dari input layer ke hidden layer 𝑤𝑖ℎ(𝑝) : nilai weight lama

∆𝑤𝑖ℎ(𝑝) : delta bobot dari hidden layer ke input layer

7. Nilai iterasi (𝑝) 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):

2.11

(26)

1. Perhitungan nilai ∆𝑖𝑗(𝑡)

Untuk menentukan nilai ∆𝑖𝑗(𝑡) ada beberapa aturan yang harus dipenuhi untuk mendapat nilai delta tersebut yaitu :

𝑖𝑗(𝑡)

=

{

𝜂

+

∗ ∆

𝑖𝑗(𝑡−1)

, 𝑖𝑓 𝜕𝐸

(𝑡−1)

𝜕 𝑤

𝑖𝑗

∗ 𝜕𝐸

(𝑡)

𝜕 𝑤

𝑖𝑗

> 0 𝜂

∗ ∆

𝑖𝑗(𝑡−1)

, 𝑖𝑓 𝜕𝐸

(𝑡−1)

𝜕 𝑤

𝑖𝑗

∗ 𝜕𝐸

(𝑡)

𝜕 𝑤

𝑖𝑗

< 0

𝑖𝑗(𝑡−1)

, 𝑒𝑙𝑠𝑒

Untuk mendapatkan

𝑖𝑗(𝑡) untuk pertama kali pembelajaran ∆𝑖𝑗(𝑡−1)= ∆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 ∆𝑖𝑗 yang terdahulu akan dikalikan dengan learning rate. Pada perkalian

𝑖𝑗(𝑡−1) dengan learning rate ada aturan yang harus dicapai yaitu error gradien pada hasil terdahulu 𝜕𝐸

(𝑡−1)

𝜕 𝑤𝑖𝑗 dikalikan dengan error gradien𝜕𝐸

(𝑡)

𝜕 𝑤𝑖𝑗 . Dari hasil perkalian error tersebut maka didapatkan hasil jika hasil lebih besar dari 0 maka

𝑖𝑗(𝑡−1) dikalikan dengan 𝜂+, dan jika hasil lebih kecil dari 0 maka

𝑖𝑗(𝑡−1)

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

∆𝑤

𝑖𝑗(𝑡)

Setelah ditentukan

𝑖𝑗(𝑡) maka akan dilanjutkan ke dalam aturan untuk menentukan fungsi operator yang akan dipakai untuk melakukan update weight dengan aturan sebagai berikut:

2.12

(27)

10

∆𝑤

𝑖𝑗(𝑡)

=

{

− ∆

𝑖𝑗(𝑡)

, 𝑖𝑓 𝜕𝐸

(𝑡)

𝜕 𝑤

𝑖𝑗

> 0 + ∆

𝑖𝑗(𝑡)

, 𝑖𝑓 𝜕𝐸

(𝑡)

𝜕 𝑤

𝑖𝑗

< 0 0 , 𝑒𝑙𝑠𝑒

𝑤

𝑖𝑗(𝑡+1)

= 𝑤

𝑖𝑗(𝑡)

+ ∆𝑤

𝑖𝑗(𝑡)

Dengan menggunakan error function maka diketahui

𝑖𝑗(𝑡) yang akan digunakan apakah akan dikurangi atau ditambah atau tidak terjadi perubahan bobot. Untuk menentukan fungsi operator yang dipakai pada

𝑖𝑗(𝑡) maka dibandingkan nilai error gradien terhadap nol. Jika nilai error gradien lebih besar daripada nol maka

∆𝑤

𝑖𝑗(𝑡) akan menerima nilai

− ∆

𝑖𝑗(𝑡), dan jika nilai error gradien lebih kecil daripada 0 maka

∆𝑤

𝑖𝑗(𝑡) akan menerima

+ ∆

𝑖𝑗(𝑡). 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.

∆𝑤

𝑖𝑗(𝑡)

= −∆𝑤

𝑖𝑗(𝑡−1)

, 𝑖𝑓 𝜕𝐸

(𝑡−1)

𝜕 𝑤

𝑖𝑗

∗ 𝜕𝐸

(𝑡)

𝜕 𝑤

𝑖𝑗

< 0

Untuk menghindari terjadi keadaan tersebut untuk terjadi kedua kalinya maka pada 𝜕𝐸

(𝑡)

𝜕 𝑤𝑖𝑗

= 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).

2.13

2.14 2.14

(28)

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)

(29)

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.

(30)

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

(31)

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.

(32)

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.

Sent Data

Sent Data

Sent Data

Sent Data

(33)

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.

(34)

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 ∆𝑚𝑎𝑥= 50.0 dan ∆𝑚𝑖𝑛= 1𝑒−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.

(35)

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

Batch

Backrpopagation &

Metode Parallel Hybrid partition

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

2 Gu, Shen, &

Huang, 2013

Backpropagation Penelitian ini memperkenalkan sebuah sistem parallel untuk neural network yang disebut dengan cNeural yaitu sebuah sistem untuk melakukan komputasi secara parallel pada neural networks

(36)

Tabel 2. 2 Penelitian yang sudah pernah dilakukan (lanjutan) No. Nama Peneliti Teknik yang Dipakai Keterangan

3 Riedmiller &

Braun, 1993

Resilient

Backpropagation

Jurnal ini memperkenalkan algoritma Resilient Backpropagation dengan kemampuan memilih learning rate berdasarkan nilai error gradien.

4 Prasad, Singh, &

Lal, 2013

Backpropagation &

Resilient

Backpropagation

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

(37)

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.

(38)

BAB 3

METODOLOGI PENELITIAN

3.1 Pendahuluan

Algoritma Resilient Backpropagation (RPROP) dibagi menjadi dua bagian proses yaitu forward pass dan backward pass. Forward pass berfungsi untuk mendapatkan nilai error dari algoritma artificial neural network, dimana nilai error tersebut harus konvergen nilai nol yaitu nilai error mendekati nilai nol. Backward pass berfungsi untuk melakukan update pada nilai weight agar nilai yang dihasilkan pada waktu proses forward pass berikutnya menghasilkan nilai error yang konvergen terhadap nilai nol.

Kedua bagian ini merupakan bagian terpenting pada algoritma RPROP karena merupakan bagian untuk melakukan pembelajaran terhadap algoritma RPROP yang bertujuan untuk mengenali lingkungan yang akan diproses.

Proses algoritma RPROP pada kedua bagian tersebut dapat dioptimalkan pada waktu training, dengan cara melakukan komputasi parallel pada algoritma RPROP.

Pada proses RPROP dibagi menjadi beberapa sub-proses, dan sub-proses tersebut dijalankan pada waktu yang bersamaan. Penelitian yang dilakukan adalah menganalisa waktu pada pembelajaran dengan cara membuat tiga model komputasi parallel algoritma RPROP yang dijalankan pada sebuah komputer menggunakan multithreading.

Multithreading adalah teknik untuk menjalankan beberapa proses secara bersamaan dengan menggunakan satu buah processor.

Pada bab ini metodologi dibagi menjadi beberapa bagian yaitu tahapan – tahapan penelitian yang berisikan tahapan yang dilakukan pada penelitian ini, dataset adalah menjelaskan dataset yang digunakan pada penelitian ini, perancangan algoritma RPROP parallel processing, dan yang terakhir cara melakukan analisis data yang dihasilkan.

(39)

22

3.2 Tahapan – Tahapan Penelitian

Tahapan – tahapan penelitian bertujuan penelitian yang dilaksanakan tidak keluar dari jalur yang ditentukan. Tahapan penelitian yang dilakukan dijabarkan pada Gambar3.1.

Dataset yang Digunakan

Perancangan Arsitektur Resilient

Backpropagation Parallel Berdasarkan

Thread

Training Algoritma Resilient Backpropagation

Parallel

CPU Time Pembelajaran

Berdasarkan Pengunaan Thread

Gambar 3. 1 Diagram Tahapan – Tahapan Penelitian 3.3 Data yang Digunakan

Dataset adalah kumpulan data yang digunakan untuk pembelajaran dan ujicoba pada artificial neural network. Dataset yang digunakan berasal dari UCI Machine Learning dengan data HAR (Human Activity Recognition). Dataset HAR ini berisi data – data sensor dari accelerometer dan gyroscope menggunakan smartphone jenis Samsung Galaxy S II yang diletakan pada pinggang. Penelitian yang dilakukan menggunakan data dari sensor accelerometer dan gyroscope. Dataset HAR terdiri dari dua jenis data sensor dan data yang diambil adalah sensor accelerometer dan gyroscope, pada dataset ini telah disedikan dataset untuk training dan testing.

(40)

Dataset sensor accelerometer dan gyroscope didapatkan tiga buah nilai axial yaitu nilai x, y, dan z. Jumlah kasus pada masing – masing nilai axial tersebut adalah 7352 kasus. Kasus tersebut adalah aktifitas yang dilakukan oleh volunteers berjumlah 30 volunteers. Aktifitas yang dilakukan oleh volunteers yaitu berjalan, menaiki tangga, menuruni tangga, duduk, berdiri, dan tidur. Dari setiap aktifitas yang dilakukan tersebut menghasilkan nilai axial – nya yaitu x, y, dan z. Nilai triaxial tersebut diekstrak menjadi 561 feature data yang ditampilkan pada Tabel 3.1 yang hanya menampilkan beberapa fitur dataset saja untuk fitur dataset yang lebih lengkapnya akan ditampilkan pada Lampiran A

Tabel 3. 1 Fitur Dataset Triaxial

No Nama Feature No Nama Feature

1 tBodyAcc-mean()-X 281 fBodyAcc-sma() 2 tBodyAcc-mean()-Y 282 fBodyAcc-energy()-X 3 tBodyAcc-mean()-Z 283 fBodyAcc-energy()-Y 4 tBodyAcc-std()-X 284 fBodyAcc-energy()-Z 5 tBodyAcc-std()-Y 285 fBodyAcc-iqr()-X 6 tBodyAcc-std()-Z 286 fBodyAcc-iqr()-Y 7 tBodyAcc-mad()-X 287 fBodyAcc-iqr()-Z 8 tBodyAcc-mad()-X 288 fBodyAcc-entropy()-X 9 tBodyAcc-mad()-Z 289 fBodyAcc-entropy()-Y 10 tBodyAcc-max()-X 290 fBodyAcc-entropy()-Z 11 tBodyAcc-max()-Y 291 fBodyAcc-maxInds-X 12 tBodyAcc-max()-Z 292 fBodyAcc-maxInds-Y 13 tBodyAcc-min()-X 293 fBodyAcc-maxInds-Z 14 tBodyAcc-min()-Y 294 fBodyAcc-meanFreq()-X 15 tBodyAcc-min()-Z 295 fBodyAcc-meanFreq()-Y 16 tBodyAcc-sma() 296 fBodyAcc-meanFreq()-Z 17 tBodyAcc-energy()-X 297 fBodyAcc-skewness()-X 18 tBodyAcc-energy()-Y 298 fBodyAcc-kurtosis()-X 19 tBodyAcc-energy()-Z 299 fBodyAcc-skewness()-Y 20 tBodyAcc-iqr()-X 300 fBodyAcc-kurtosis()-Y 21 tBodyAcc-iqr()-Y 301 fBodyAcc-skewness()-Z 22 tBodyAcc-iqr()-Z 302 fBodyAcc-kurtosis()-Z 23 tBodyAcc-entropy()-X 303 fBodyAcc-bandsEnergy()-1,8 24 tBodyAcc-entropy()-Y 304 fBodyAcc-bandsEnergy()-9,16 25 tBodyAcc-entropy()-Z 305 fBodyAcc-bandsEnergy()-17,24 26 tBodyAcc-arCoeff()-X,1 306 fBodyAcc-bandsEnergy()-25,32 27 tBodyAcc-arCoeff()-X,2 307 fBodyAcc-bandsEnergy()-33,40 28 tBodyAcc-arCoeff()-X,3 308 fBodyAcc-bandsEnergy()-41,48 29 tBodyAcc-arCoeff()-X,4 309 fBodyAcc-bandsEnergy()-49,56

(41)

24

Tabel 3. 2 Fitur Dataset Triaxial (Lanjutan)

No Nama Feature No Nama Feature

30 tBodyAcc-arCoeff()-Y,1 310 fBodyAcc-bandsEnergy()-57,64 31 tBodyAcc-arCoeff()-Y,2 311 fBodyAcc-bandsEnergy()-1,16 32 tBodyAcc-arCoeff()-Y,3 312 fBodyAcc-bandsEnergy()-17,32 33 tBodyAcc-arCoeff()-Y,4 313 fBodyAcc-bandsEnergy()-33,48 34 tBodyAcc-arCoeff()-Z,1 314 fBodyAcc-bandsEnergy()-49,64

Feature dataset yang sebanyak 561 dijadikan sebagai nilai input pada algoritma neural network, nilai input pada bilangan tersebut adalah bilangan real.

Dataset target sensor disikan nilai menggunakan 1 dan 0. Node ouput dari algoritma artificial neural network (ANN) sebanyak aktifitas yang diklasifikasikan yaitu ada enam aktifitas yang harus diklasifikasikan. Setiap aktifitas mempunyai nilai output pada setiap node ouput pada algoritma ANN yang dijabarkan pada Tabel 3.8.

Tabel 3. 3 Nilai Target Output Aktifitas Manusia No Aktifitas Nilai Target

1 Jalan 100000

2 Naik Tangga 010000

3 Turun Tangga 001000

4 Duduk 000100

5 Berdiri 000010

6 Tidur 000001

3.4 Arsitektur Artificial Neural Network

Rancangan arsitektur artificial neural network ini bertujuan untuk menentukan jumlah neuron pada masing – masing layer.

3.4.1 Input Layer

Input Layer merupakan layer untuk memasukan nilai yang digunakan untuk dipelajari oleh artificial neural network. Node pada input layer disediakan sebanyak 561 node,

(42)

sesuai dengan dataset yang dihasilkan dari kedua sensor tersebut yang menghasilkan nilai feature sebanyak 561 node yang telah dijabarkan pada Tabel 3.1.

3.4.2 Hidden Layer

Hidden Layer merupakan layer melakukan proses nilai input menghasilkan nilai function yang diteruskan ke layer output. Node atau neuron yang disediakan pada hidden layer di penelitian ini ditentukan berdasarkan (Heaton, 2008):

1. Jumlah neuron pada hidden layer harus diantara jumlah neuron pada input layer dan jumlah neuron pada output layer.

2. Jumlah neuron pada hidden layer harus 2/3 jumlah neuron pada input layer, dan ditambahkan dengan jumlah neuron pada output layer

3. Jumlah neuron pada hidden layer harus kurang dari dua kali jumlah neuron pada input layer

Neuron hidden layer yang digunakan pada penelitian ini adalah menggunakan peraturan pada no 2 yaitu jumlah neuron pada hidden layer adalah 2/3 dari jumlah neuron input layer dan output layer. Jumlah neuron pada hidden layer yang digunakan adalah

𝐽𝑢𝑚𝑙𝑎ℎ 𝑛𝑒𝑢𝑟𝑜𝑛 ℎ𝑖𝑑𝑑𝑒𝑛 = 2

3(𝐽𝑢𝑚𝑙𝑎ℎ 𝑛𝑒𝑢𝑟𝑜𝑛 𝑖𝑛𝑝𝑢𝑡 + 𝑗𝑢𝑚𝑙𝑎ℎ 𝑛𝑒𝑢𝑟𝑜𝑛 𝑜𝑢𝑡𝑝𝑢𝑡) 𝐽𝑢𝑚𝑙𝑎ℎ 𝑛𝑒𝑢𝑟𝑜𝑛 ℎ𝑖𝑑𝑑𝑒𝑛 = 2

3(561 + 6) 𝐽𝑢𝑚𝑙𝑎ℎ 𝑛𝑒𝑢𝑟𝑜𝑛 ℎ𝑖𝑑𝑑𝑒𝑛 = 2

3 567 𝐽𝑢𝑚𝑙𝑎ℎ 𝑛𝑒𝑢𝑟𝑜𝑛 ℎ𝑖𝑑𝑑𝑒𝑛 = 378

Jumlah neuron hidden layer yang digunakan sebanyak 378 neuron pada hidden layer.

3.4.3 Output Layer

Output Layer merupakan layer memproses nilai dari hidden layer dan menghasilkan nilai error, yang digunakan sebagai nilai untuk mengupdate nilai weight. Neuron pada layer output sesuai dengan dataset target yaitu 6 buah node. Pada masing – masing node tersebut mengenal beberapa aktivitas manusia yaitu jalan, naik tangga, turun tangga, duduk, berdiri dan tidur.

(43)

26

3.4.4 Rancangan Arsitektur Neural Network

Berdasarkan data yang telah disebutkan maka rancangan neural network dijelaskan melalui Gambar 3.3.

Input Layer X1

Y1

Y2

Y377

Y378 X2

X 561

Z1

Z2

Z6

Hidden Layer

Output Layer

. . .

. . .

. . .

Feed Forward

Backward

Gambar 3. 2 Arsitektur Neural Network Resilient Backpropagation

Gambar 3.3 merupakan rancangan arsitektur standar tanpa menerapkan teknik parallel di dalamnya. Input pada rancangan arsitektur disesuakian banyak feature dataset dari UCI Machine Learning yaitu sebanyak 561 neuron pada input layer. Pada hidden layer berdasarkan perhitungan yang telah didapatkan maka neuron pada hidden layer disediakan sebanyak 378 neuron. Dan untuk output layer sesuai dengan data yang disebut pada output layer yaitu sebanyak 6 buah neuron.

3.5 Parallel Resilient Backpropagation

Parallel pada resilient backpropagation difokuskan pada waktu proses feedforward.

Proses feedforward untuk parallel menggunakan multithreading ini difokuskan pada bagian hidden layer. Implementasi parallel resilient backpropagation maka digunakan teknologi multithreading. Neuron yang berada pada bagian hidden layer akan dibagi

Gambar

Gambar 2. 3 Multiple Instruction Multiple Data streams (Sumber : El-Rewini &amp; Abd- Abd-El-Barr, 2005)
Gambar 2. 4 Arsitektur Neural Network dengan parallel (Ganeshamoorthy &amp;
Gambar 2. 5 Framework cNeural parallel computation pada algoritma neural network  (Gu, Shen, &amp; Huang, 2013)
Tabel 2. 1 Penelitian yang sudah pernah dilakukan  No.  Nama Peneliti  Teknik yang Dipakai  Keterangan  1  Ganeshamoorthy  &amp;  Ranasinghe,  2008  Batch  Backrpopagation  &amp; Metode Parallel  Hybrid partition  Penelitian  membandingkan beberapa metode
+7

Referensi

Dokumen terkait

Dalam rangka dilakukannya perbaikan guna untuk meningkatkan efektivitas dan menghindari adanya kecurangan penulis memberikan beberapa saran yang bisa bermanfaat

Tujuan yang ingin dicapai adalah Memacu para dosen untuk terus melakukan penelitian dan menulis khususnya menulis buku, Kegiatan seperti ini pada akhirnya jelas akan

Karena koefisien refraksi k bisa berbeda oleh perbedaan suasana, maka kita mengukur tinggi selalu dengan jarak sependek mungkin, dan jikalau mung- kin diperiksa dari

Kandungan serat yang terkandung dalam karbohidrat dalam tepung ampas tahu memiliki sifat mudah menyerap cairan, sehingga semakin banyak penggunaan tepung ampas tahu, maka

Di negara maju seperti Jepang, memiliki binatang peliharaan sudah sangat umum.Saat ini, jumlah kepemilikan binatang peliharaan di Jepang sudah semakin meningkat.Kenaikan

Pelayanan Penggembalaan merupakan satu tanggung jawab yang diberikan Tuhan Yesus kepada yang dipercayainya selaku gembala, namun pemahaman di antara para gembala masa kini

Adapun tujuan dari penelitian ini adalah untuk merancang aplikasi yang akan memberikan informasi jadwal serta hasil pertandingan sepakbola bagi para penggemar sepakbola yang tidak

Pendidikan Agama dan Budi Pekerti3. Pendidikan Pancasila