• Tidak ada hasil yang ditemukan

Analisis Kinerja Multithreading Pada Resilient Backpropagation Chapter III V

N/A
N/A
Protected

Academic year: 2017

Membagikan "Analisis Kinerja Multithreading Pada Resilient Backpropagation Chapter III V"

Copied!
35
0
0

Teks penuh

(1)

BAB 3

METODOLOGI PENELITIAN

3.1 Pendahuluan

Algoritma ResilientBackpropagation (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.

(2)

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

artificialneural network. Dataset yang digunakan berasal dari UCI Machine Learning

(3)

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

(4)

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 ArtificialNeuralNetwork

Rancangan arsitektur artificialneuralnetwork ini bertujuan untuk menentukan jumlah neuron pada masing – masing layer.

3.4.1 InputLayer

(5)

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 HiddenLayer

Hidden Layer merupakan layer melakukan proses nilai input menghasilkan nilai function yang diteruskan ke layer output. Node atau neuron yang disediakan pada

hiddenlayer di penelitian ini ditentukan berdasarkan (Heaton, 2008):

1. Jumlah neuron pada hiddenlayer harus diantara jumlah neuron pada inputlayer

dan jumlah neuron pada outputlayer.

2. Jumlah neuron pada hiddenlayer harus 2/3 jumlah neuron pada inputlayer, dan ditambahkan dengan jumlah neuron pada outputlayer

3. Jumlah neuron pada hiddenlayer harus kurang dari dua kali jumlah neuron pada

inputlayer

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

�ℎ ℎ = �ℎ + �ℎ

�ℎ ℎ = +

�ℎ ℎ =

�ℎ ℎ =

Jumlah neuron hiddenlayer yang digunakan sebanyak 378 neuron pada hiddenlayer.

3.4.3 OutputLayer

Output Layer merupakan layer memproses nilai dari hidden layer dan menghasilkan nilai error, yang digunakan sebagai nilai untuk mengupdate nilai weight. Neuron pada

(6)

3.4.4 Rancangan Arsitektur NeuralNetwork

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 NeuralNetwork 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 inputlayer. Pada hiddenlayer

berdasarkan perhitungan yang telah didapatkan maka neuron pada hidden layer

disediakan sebanyak 378 neuron. Dan untuk output layer sesuai dengan data yang disebut pada outputlayer yaitu sebanyak 6 buah neuron.

3.5 Parallel Resilient Backpropagation

(7)

berdasarkan jumlah thread. Penelitian yang akan dilakukan menggunakan jumlah

thread dimulai dari 1 buah thread sampai 7 buah thread. Pembatasan sampai 7 buah

thread ini disebabkan oleh waktu karena pada pengujian yang dilakukan pada setiap arsitektur resilient backpropagation dengan parallel processing sehingga membutuhkan waktu untuk memprosesnya. Pada penelitian ini difokuskan pada kecepatan waktu proses dari resilient backpropagation dalam menyelesaikan satu itreasi. Waktu yang akan diambil untuk menentukan kecepatan proses tersebut akan berdasarkan pada waktu di komputer (CPU Time).

3.6 Rancangan Arsitektur Resilient BackpropagationParallel

Rancangan arsitektur resilient backpropagation parallel ada sebanyak tujuh buah model, berdasarkan pada thread yang digunakan yaitu dari satu buah thread sampai tujuh buah thread yang berfokus pada proses feedforward. Gambar arsitektur neural network akan ditampilkan pada Gambar 3.3 sampai Gambar 3.9.

X1

Y1

Y2

Y377

Y378 X2

X561

Z1

Z2

Z6 1 Thread

. . .

. . .

. . . Feed Forward

Gambar 3. 3 Arsitektur NeuralNetworkParallel dengan 1 Thread

(8)

X1

Gambar 3. 4 Arsitektur NeuralNetworkParallel dengan 2 Thread

Gambar 3.4 thread yang digunakan yaitu sebanyak 2 buah dan 1 buah thread

memproses sebanyak 189 neuron.

X1

(9)

Gambar 3.5 pada arsitektur neuralnetwork dibentuk 3 thread untuk memproses neuron pada hiddenlayer. Pada masing – masing thread memproses sebanyak 126 thread.

X1

Gambar 3. 6 Arsitektur NeuralNetworkParallel dengan 4 Thread

(10)

X1

Gambar 3. 7 Arsitektur NeuralNetworkParallel dengan 5 Thread

(11)

X1 Y126

Gambar 3. 8 Arsitektur NeuralNetworkParallel dengan 6 Thread

(12)

X1

Gambar 3. 9 Arsitektur NeuralNetworkParallel dengan 7 Thread

Gambar 3.9 arsitektur ini menggunakan 7 buah thread untuk memproses neuron pada

hiddenlayer. Pada masing – masing thread memproses neuron sebanyak 54 neuron.

3.7 Analisis Waktu Pembelajaran

(13)

Pengujian yang dilakukan dibagi menjadi beberapa bagian berdasarkan thread

yang dibentuk pada multithreading yang dijabarkan pada Tabel 3.4.

Tabel 3. 4 Pembagian Neuron HiddenLayer Berdasarkan Jumlah Thread Thread yang

terbentuk

Hidden Neuron pada sebuah Thread

Total Neuron pada

HiddenLayer

1 378 378

2 189 378

3 126 378

4 94 378

5 75 378

6 63 378

7 54 378

Berdasarkan pada Tabel 3.4 hasil dari jumlah neuron hidden yang diproses pada sebuah

thread menggunakan rumus sederhana yaitu �ℎ

� . Nh adalah jumlah neuron pada hidden layer dibagi dengan t yaitu thread yang akan digunakan pada sebuah processor. Pada penelitian ini dibentuk hanya sampai 7 thread karena terbatas sumber daya untuk memproses semua dan waktu yang dibutuhkan untuk pembelajaran tersebut.

Analisa waktu yang dilakukan berdasarakan Tabel 3.4 yang telah dibagikan jumlah neuron berdasarkan jumlah thread maka setiap pembagian tersebut dilakukan pengujian ke dalam komputer untuk mengetahui pembagian thread mana yang cepat selesai berdasarkan pada CPU time. Total waktu selesai tersebut akan diambil dari waktu selesai pada satu iterasi dan ditotal keseluruhannya sebagai contoh ada 6 iterasi dan epoch 10 maka 6 dikalikan 10 yang menghasilkan sebanyak 60 iterasi dari 60 iterasi tersebut akan dihasilkan waktu CPU time pada masing – masing iterasi tersebut dimana semua waktu tersebut akan di jumlah untuk mendapatkan total waktu CPU time.

3.8 Analisis ParallelResilientBackpropagation

Pada proses perhitungan parallel ini dijabarkan terlebih dahulu proses kerja dari algoritma resilientbackpropagation secara garis besar terlebih dahulu yaitu proses kerja

parallel resilient backpropagation. Proses kerja parallel algoritma resilient backpropagation dijabarkan sebagai berikut:

1. Pengisian data awal

(14)

2. Proses feedforward

Pada proses feedforward pada masing – masing thread yang dibentuk mengeksekusi neuron – neuron yang telah ditetapkan pada masing – masing

thread. Setelah nilai function pada masing – masing neuron di hiddenlayer telah terkumpul, maka dilanjutkan ke output layer. Pada output layer setiap neuron pada outputlayer menerima jumlah dari nilai function neuron pada hiddenlayer

dikalikan dengan weight yang menuju ke neuron outputlayer. Setelah itu nilai function output dikurangi dengan nilai target untuk mendapatkan nilai error. 3. Proses backward

Pada proses backward dari nilai error yang dihasilkan dari output layer akan digunakan sebagai penentuan learning rate yang digunakan untuk melakukan

update weight dari output layer ke hidden layer dan ini sama juga dengan melakukan updateweight dari hiddenlayer menuju ke outputlayer.

Pada proses diatas setelah mencapai proses backward maka balik ke proses feedforward

dan dilakukan secara berulang – ulang berdasarkan pada nilai epoch yang ditetapkan ataupun berdasarkan nilai error yang telah ditetapkan sampai proses pembelajaran tersebut selesai. Proses perhitungan algoritma resilient backpropagation ditunjukan sebagai berikut.

Pada proses perhitungan ini hanya menggunakan 6 input saja untuk memudahkan perhitungan yang dilakukan. Arsitektur yang ditetapkan adalah 6 – 8 – 6 yaitu 6 neuron pada input layer, 8 neuron pada hidden layer, dan 6 neuron pada output layer. Pada

hiddenlayer menggunakan 2 thread, jadi pada 1 thread terdapat 4 neuron. Nilai input

ditampilkan pada Tabel 3.5 berserta dengan targetnya.

Tabel 3. 5 Nilai Input dan Target

Iterasi X1 X2 X3 X4 X5 X6 Target

1 -0,29711074 -0,21974984 -0,54056759 -0,15985587 -0,34680107 -0,60118907 100000

2 -0,38277796 -0,26594667 -0,90660877 0,0047518659 -0,352221 -0.61701539 010000

3 -0,08941795 0,3503063 -0,61875707 0,22870880 -0,19840814 -0,72534632 001000

4 -0,99534349 -0,99294196 -0,99471662 -0,98509701 -0,99030212 -0,98772069 000100

5 -0,99500944 -0,99574572 -0,9941746 -0,98630456 -0,98702854 -0,9903605 000010

(15)

Nilai masing – masing weight neuron dari inputlayer ke hiddenlayer ditunjukan pada Tabel 3.6.

Tabel 3. 6 Nilai Weight dari InputLayer ke HiddenLayer

W1 W2 W3 W4 W5 W6

Neuron 1 0.426761 -0.209749 0.130493 0.159938 0.513239 0.259989

Neuron 2 0.147308 0.244746 0.939377 -0.958328 0.491299 -0.345167

Neuron 3 0.123516 -0.077415 0.665945 -0.902579 0.609804 0.946845

Neuron 4 -0.580798 0.079208 -0.168001 -0.195628 0.258399 -0.532974

Neuron 5 0.094000 0.219853 0.657973 -0.413534 -0.115490 -0.235629

Neuron 6 -0.022459 0.203899 -0.391928 -0.279733 -0.282830 0.251747

Neuron 7 0.419578 -0.550749 0.867966 -0.603141 0.578925 0.962164

Neuron 8 -0.198452 -0.034806 0.370672 0.850606 -0.842940 -0.320036

Nilai masing – masing weight neuron dari hiddenlayer ke outputlayer ditunjukan pada Tabel 3.7.

Tabel 3. 7 Nilai Weight dari HiddenLayer ke OutputLayer

W1 W2 W3 W4 W5 W6 W7 W8

Neuron 1 -0.210552 0.247029 0.141611 -0.006003 0.367705 0.217677 0.236928 0.833174

Neuron 2 -0.194510 -0.906991 -0.687177 0.577420 -0.069840 0.878773 -0.661131 -0.479768

Neuron 3 0.132161 0.028865 -0.621014 -0.081734 0.124832 -0.105653 0.502964 0.933528

Neuron 4 -0.708678 0.347272 0.104149 0.683817 0.692320 -0.260428 -0.990184 -0.393145

Neuron 5 -0.054912 -0.230816 0.178554 -0.422108 0.617603 0.127605 -0.875401 0.823427

Neuron 6 0.266208 -0.536563 0.719287 -0.298457 -0.125625 0.689534 -0.050286 -0.503200

Proses perhitungan dibagi menjadi 2 thread. Pada thread pertama memproses neuron 1 sampai neuron 4, sedangkan thread kedua memproses neuron 5 sampai neuron 6.

Thread tersebut akan berjalan secara bersamaan dan proses perhitungan adalah sebagai berikut:

Proses perhitungan pada thread 1

� = − . × . + − . × − .

+ − . × . + − . × .

+ − . × . + − . × .

= − .

(16)

� = − . × . + − . × .

+ − . × . + − . × − .

+ − . × . + − . × − .

= − .

= + −�ℎ = + − − . = .

� = − . × . + − . × − .

+ − . × . + − . × − .

+ − . × . + − . × .

= − .

= + −�ℎ =

+ − − . = .

� = − . × − . + − . × .

+ − . × − . + − . × − .

+ − . × . + − . × − .

= .

= + −�ℎ = + − . = .

Proses perhitungan pada thread 2

� = − . × . + − . × .

+ − . × . + − . × − .

+ − . × − . + − . × − .

= − .

= + −�ℎ = + − − . = .

� = − . × − . + − . × .

+ − . × − . + − . × − .

+ − . × − . + − . × .

(17)

= + −�ℎ = + − − . = .

� = − . × . + − . × − .

+ − . × . + − . × − .

+ − . × . + − . × .

= − .

= + −�ℎ = + − − . = .

� = − . × − . + − . × − .

+ − . × . + − . × .

+ − . × − . + − . × − .

= .

= + −�ℎ = + − . = .

Nilai function neuron pada hiddenlayer dijabarkan pada Tabel 3.8

Tabel 3. 8 Nilai Function Neuron pada HiddenLayer

Threa d 1

� � � �

. . . .

Threa d 2

� � � �

. . . .

Nilai function yang telah dihasilkan dari hidden layer pada masing – masing thread

dilanjutkan ke outputlayer. Proses perhitungan hiddenlayer ke output layer disajikan sebagai berikut.

� = . × − .

+ . × .

+ . × .

+ . × − .

+ . × .

+ . × .

+ . × .

(18)

= + −� = + − . = .

� = ���� � � − � = − .

= .

� � = � × [ − � ] × �

= . × [ − . ]

× . = .

� = . × − .

+ . × − .

+ . × − .

+ . × .

+ . × − .

+ . × .

+ . × − .

+ . × − .

= − .

= + −�� = + − − . = .

� = ���� � � − � = − .

= − .

� � = � × [ − � ] × �

= . × [ − . ]

(19)

� = . × .

+ . × .

+ . × − .

+ . × − .

+ . × .

+ . × − .

+ . × .

+ . × . = .

= + −�� =

+ − . = .

� = ���� � � − � = − .

= − .

� � = � × [ − � ] × �

= . × [ − . ]

× − . = − .

� = . × − .

+ . × .

+ . × .

+ . × .

+ . × .

+ . × − .

+ . × − .

+ . × − .

= .

= + −�� =

+ − . = .

� = ���� � � − � = − .

(20)

� � = � × [ − � ] × �

= . × [ − . ]

× − . = − .

� = . × − .

+ . × − .

+ . × .

+ . × − .

+ . × .

+ . × .

+ . × − .

+ . × . = .

= + −�� = + − . = .

� = ���� � � − � = − .

= − .

� � = � × [ − � ] × �

= . × [ − . ]

× − . = − .

� = . × .

+ . × − .

+ . × .

+ . × − .

+ . × − .

+ . × .

+ . × − .

+ . × − .

= − .

(21)

� = ���� � � − � = − .

= − .

� � = � × [ − � ] × �

= . × [ − . ]

× − . = − .

Nilai function neuron pada outputlayer ditampilkan pada Tabel 3.9.

Tabel 3. 9 Nilai Function, Error, dan Gradien Error Neuron OutputLayer

Neuron Function Error Gradien Error

1 . . .

2 . − . − .

3 . − . − .

4 . − . − .

5 . − . − .

6 . − . − .

Nilai gradien error yang telah didapatkan pada masing – masing neuron outputlayer, dilanjutkan ke fase backward yaitu melakukan update weight pada jaringan neural network tersebut. Updateweight yang pertama kali dimulai dari weighthiddenlayer ke

output layer. Resilient backpropagation menggunakan nilai gradien error untuk menentukan learning rate yang akan digunakan dan menentukan delta weight apakah ditambah atau dikurangi pada waktu melakukan update weight tersebut, jika gradien

error lebih besar dari 0 maka nilai weight ditambah dengan nilai delta dan sebaliknya jika nilai gradien error lebih kecil dari 0 maka nilai weight akan dikurangi dengan nilai

weight. Karena ini merupakan iterasi yang pertama maka gradien error terdahulu diberi nilai 0 dan dikalikan dengan nilai gradien erroroutput sekarang, maka dilanjutkan ke perhitungan updateweight dengan penjabaran sebagai berikut

∆ = − . × . = − .

= − . + − . = − .

= . + − . = .

= . + − . = .

(22)

= . + − . = .

= . + − . = .

= . + − . = .

= . + − . = .

Proses perhitungan tersebut dilanjutkan sampai neuron output ke enam dan hasil dari

weight tersebut disajikan pada Tabel 3.10.

Tabel 3. 10 Nilai Weight Baru dari HiddenLayer ke OutputLayer

W1 W2 W3 W4 W5 W6 W7 W8

Neuron

1 − . . . − . . . . .

Neuron

2 -0.09451 -0.806991 -0.587177 0.67742 0.03016 0.978773 -0.561131 -0.379768 Neuron

3 0.232161 0.128865 -0.521014 0.018266 0.224832 -0.005653 0.602964 1.033528 Neuron

4 -0.608678 0.447272 0.204149 0.783817 0.79232 -0.160428 -0.890184 -0.293145 Neuron

5 0.045088 -0.130816 0.278554 -0.322108 0.717603 0.227605 -0.775401 0.923427 Neuron

6 0.366208 -0.436563 0.819287 -0.198457 -0.025625 0.789534 0.049714 -0.4032

Setelah mengupdateweighthiddenlayer menuju ke outputlayer, maka dilanjutkan ke bagian weight input layer ke hidden layer. Untuk mengupdate weight tersebut diperlukan gradien error pada setiap neuron di hiddenlayer, maka perhitungan sebagai berikut

�ℎ � = � × [ − � ] × ∑ � .

=

= . × [ − . ]

× ( . × − .

+ − . × − .

+ − . × .

+ − . × − .

+ − . × − .

+ − . × . )

(23)

�ℎ � = � × [ − � ] × ∑ � . =

= . × [ − . ]

× ( . × .

+ − . × − .

+ − . × .

+ − . × .

+ − . × − .

+ − . × − . )

= .

�ℎ � = � × [ − � ] × ∑ � .

=

= . × [ − . ]

× ( . × .

+ − . × − .

+ − . × − .

+ − . × .

+ − . × .

+ − . × . )

= .

�ℎ � = � × [ − � ] × ∑ � .

=

= . × [ − . ]

× ( . × − .

+ − . × .

+ − . × − .

+ − . × .

+ − . × − .

+ − . × − . )

(24)

�ℎ � = � × [ − � ] × ∑ � . =

= . × [ − . ]

× ( . × .

+ − . × − .

+ − . × .

+ − . × .

+ − . × .

+ − . × − . )

= − .

�ℎ � = � × [ − � ] × ∑ � .

=

= . × [ − . ]

× ( . × .

+ − . × .

+ − . × − .

+ − . × − .

+ − . × .

+ − . × . )

= − .

�ℎ � = � × [ − � ] × ∑ � .

=

= . × [ − . ]

× ( . × .

+ − . × − .

+ − . × .

+ − . × − .

+ − . × − .

+ − . × − . )

(25)

�ℎ � = � × [ − � ] × ∑ � . =

= . × [ − . ]

× ( . × .

+ − . × − .

+ − . × .

+ − . × − .

+ − . × .

+ − . × − . )

= − .

Nilai gradien error neuron pada hiddenlayer ditampilkan pada Tabel 3.11.

Tabel 3. 11 Nilai Gradien Error Neuron pada HiddenLayer

Neuron Nilai Gradien Error

1 .

2 .

3 .

4 − .

5 − .

6 − .

7 .

8 − .

Setelah didapatkan nilai gradien error masing – masing neuron pada hiddenlayer, maka dilanjutkan ke update weight yang berada diantara input layer dan hidden layer. Perhitungan updateweight untuk hiddenlayer sama dengan updateweight pada output layer dengan perhitungan sebagai berikut

∆ ℎ = − . × . = − .

ℎ = − . + − . = − .

ℎ =− . + − . = − .

(26)

ℎ = . + − . = .

ℎ = . + − . = .

ℎ = . + − . = .

Proses perhitungan update weight tersebut dilanjutkan sampai neuron ke 8 dan hasil

updateweight tersebut akan ditampilkan pada tabel 3.12

Tabel 3. 12 Nilai Weight Baru dari InputLayer ke HiddenLayer

W1 W2 W3 W4 W5 W6

Neuron 1 − . − . . . . .

Neuron 2 0.047308 0.144746 0.839377 -1.058328 0.391299 -0.445167

Neuron 3 0.023516 -0.177415 0.565945 -1.002579 0.509804 0.846845

Neuron 4 -0.480798 0.179208 -0.068001 -0.095628 0.358399 -0.432974

Neuron 5 0.194 0.319853 0.757973 -0.313534 -0.01549 -0.135629

Neuron 6 0.077541 0.303899 -0.291928 -0.179733 -0.18283 0.351747

Neuron 7 0.319578 -0.650749 0.767966 -0.703141 0.478925 0.862164

Neuron 8 -0.098452 0.065194 0.470672 0.950606 -0.74294 -0.220036

Setelah didapatkan nilai weight baru dari iterasi pertama maka dilanjutkan ke iterasi berikutnya sampai ke iterasi ke enam, lalu setelah semua iterasi selesai maka diulangi sampai nilai error mendekati dengan nilai nol.

3.8 CPU Time untuk ParallelProcessing

Analisis CPU Time jaringan arsitektur neural network parallel processing ini difokuskan pada setiap iterasi yang diproses oleh jaringn neural network. Hasil CPU Time yang dihasilkan adalah waktu per iterasi, dan total CPU Time pemebelajaran aka didapatkan dari total dari seluruh iterasi.

� = ∑

=

T adalah total waktu jaringan neural network. adalah waktu iterasi. Waktu yang dihasilkan sebanyak 7 total waktu dari masing – masing thread yang diuji. Pengujian yang dilakukan adalah sebanyak 3 kali ini dilakukan karena hasil CPU Time yang dihasilkan tidaklah sama pada setiap waktu karena tergantung pada proses komputer tersebut, sehinga harus dilakukan tiga kali pengujian untuk memastikan jumlah thread

(27)

sebanyak tiga kali maka harus dicari rata – rata nilai tersebut dengan menggunakan rumus sebagai berikut:

�� = ∑= �

RT adalah merupakan rata – rata waktu, dan ∑= � merupakan jumlah total dari 3 pengujian tersebut dan dibagi dengan banyak pengujian tersebut dilakukan yaitu 3.

(28)

BAB 4

HASIL DAN PEMBAHASAN

4.1. Pendahuluan

Pada bab ini menjelaskan hasil penelitian dari penerapan parallelprocessing ke dalam

resilient backpropagation terhadap waktu training yang dihasilkan. Dataset tersebut diambil sample hanya 100 kasus, nilai iterasi yaitu 100 dan nilai epoch yaitu 200. Analisis waktu pelatihan resilient backpropagation dengan penerapan parallel processing berdasarkan pada CPU time, pada setiap iterasi dihasilkan CPU time ini digunakan sebagai total keseluruhan waktu proses pembelajaran tersebut dimulai sampai proses pembelajaran tersebut selesai.

4.2. Peralatan Pengujian

Hardware yang digunakan dalam pengujian adalah 1 buah komputer dengan speksifikasi:

1. Processor Core i3

2. Ram 1 GB

Software yang digunakan dalam penelitian ini adalah:

1. Sistem Operasi : Windows 7 Profesional 2. Bahasa Pemograman : Python 3.1

4.3. Hasil Penelitian

Dalam melakukan pengujian ini dilakukan sebanyak 7 pengujian berdasarkan jumlah

(29)

Hasil proses update weight pada penelitian ini akan ditampilkan dalam tabel 4.1 sebagai berikut.

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

Iterasi

Weight Hidden Weight Output CPU Time

W1 W2 W3 W1 W2 W3 thread1 3 thread 5 thread

7

thread

1 -4,95137 2,102565 -0,947173 -5,327748 -8,68779 8,345004 1,5288 1,372791 1,4508 1,4976

2 -5,05137 2,002565 -1,047173 -5,227748 -8,58779 8,445004 1,3416 1,185593 1,3416 1,3416

3 -5,15137 1,902565 -1,147173 -5,107748 -8,46779 8,565004 1,3728 1,185592 1,3416 1,2324

4 -5,15137 1,902565 -1,147173 -5,107748 -8,46779 8,565004 1,3572 1,154393 1,3416 1,3104

5 -5,15137 1,902565 -1,147173 -4,987748 -8,34779 8,685004 1,3728 1,169992 1,2948 1,3572

6 -5,15137 1,902565 -1,147173 -4,987748 -8,34779 8,685004 1,3884 1,185593 1,2168 1,326

… … … …

20000 -5,07137 1,982565 -1,067173 -5,327748 -8,68779 8,345004 1,4352 1,154393 1,24796 1,248

Pada Tabel 4.1 hanya mengambil beberapa sampel untuk bagian weight untuk hidden dan weight output, demikian pada CPU Time – nya. Pengambilan sample ini disebabkan total weight yang cukup banyak yaitu proses dari input layer ke hidden layer ada sebanyak 212058 weight pada hidden layer ke output layer ada sebanyak 2268 weight.

Hasil waktu dari algoritma resilient backpropagation dengan menggunakan teknik parallel processing menggunakan threading ditampilkan dalam bentuk tabel, hasil pengujian dilakukan sebanyak tiga kali sehingga ditampilkan tiga bentuk tabel pengujian dengan bentuk pengujian yang sama yaitu pada setiap tabel akan menampilkan tujuh bagian yang diselesaikan oleh masing – masing thread bertujuan untuk mengetahui waktu yang diselesaikan pada masing – masing thread dan dibandingkan thread manakah yang memiliki waktu proses yang paling cepat selesai.

Pengujian pada pertama kali resilient backpropagation disajikan dalam Tabel 4.2 dan Tabel 4.3 sebagai lanjutannya.

Tabel 4. 2 Hasil Pengujian I ResilientBackpropagationParallelMultithreading Thread Waktu Selesai Rata – Rata Waktu Iterasi

1 27293.694772998733 / detik 1.3646847386499366 / detik

2 25413.755037002018 / detik 1.270687751850101 / detik

3 23914.01629200012 / detik 1.195700814600006 / detik

(30)

(lanjutan)

Thread Waktu Selesai Rata – Rata Waktu Iterasi

5 25519.277693998476 / detik 1.2759638846999237 / detik

6 26835.739719997993 / detik 1.3417869859998997 / detik

7 27292.983101998594 / detik 1.3646491550999298 / detik

Tabel 4.2 dan Tabel 4.3 menunjukan pada pengujian pertama kali mendapatkan bahwa dengan menggunakan 3 buah thread pada arsitektur neural network resilient backpropagation pada dapat diselesaikan dalam waktu 23914,01629200012 / detik atau 6,643782 jam. Sedangkan pada pada proses yang menggunakan 1 buah thread dan 7 buah thread menunjukan hasil yang hampir sama yaitu 27293,694772998733 / detik untuk 1 buah thread dan 27292,983101998594 / detik untuk 7 buah thread, hanya menunjukan perbedaan 1 detik saja. Pada tabel 4.1 pada pengujian pertama ini menunjukan terjadi kecepatan penyelesaian yang dimulai dari penggunaan 1 buah

thread sampai 3 buah thread tapi setelah 4 buah thread menunjukan perlambatan waktu penyelesaian dan ini terjadi pada terus pada 5 buah thread sampai 7 buah thread. Untuk hasil visual dari peningkatan kecepatan pada penggunaan thread ditunjukan pada Gambar 4.1.

Gambar 4. 1 Grafik Peningkatan Kecepatan Waktu Berdasarkan Peningkatan Jumlah

Thread Pengujian I

Pada pengujian yang kedua menunjukan hasil sama pada pengujian pertama yaitu 3 buah thread cepat dalam penyelsaian tapi berbeda waktu penyelesaiannya pada pengujian yang pertama yaitu pada pengujian yang pertama menunjukan CPU time

22000 23000 24000 25000 26000 27000 28000

1 2 3 4 5 6 7

CPU

T

im

e

/ d

e

ti

k

(31)

yang diselesaikan 23914,01629200012 / detik pada pengujian yang kedua waktu penyelesaiannya 23910,218218001297 / detik, lebih cepat 4 detik dalam penyelesaian waktunya. Hasil dari pengujian yang kedua ini ditampilkan dalam Tabel 4.4 dan untuk grafik ditampilkan pada Gambar 4.2.

Tabel 4. 4 Hasil Pengujian II Resilient Backpropagation ParallelMultithreading Thread Waktu Selesai Rata – Rata Waktu Iterasi

1 27290.439604999618 / detik 1.3645219802499808 / detik

2 25172.112700000416 / detik 1.2586056350000208 / detik

3 23910.218218001297 / detik 1.1955109109000648 / detik

4 24732.658940000627 / detik 1.2366329470000312 / detik

5 25274.041188002 / detik 1.2637020594001 / detik

6 26885.634780998025 / detik 1.3442817390499013 / detik

7 27160.287975998206 / detik 1.3580143987999103 / detik

Gambar 4. 2 Grafik Peningkatan Kecepatan Waktu Berdasarkan Peningkatan Jumlah

Thread Pengujian II

Pada pengujian yang ketiga menampilkan hasil sama yaitu dengan menggunakan 3 buah

thread pada arsitektur neuralnetworkresilientbackpropagation menunjukan kecepatan waktu penyelesaian yang lebih cepat daripada thread lainnya, tetapi waktu penyelesaian

berbeda pada yaitu pada pengujian ketiga waktu diselesaikn dalam

24067.489326000406 / detik, penggujian kedua waktu penyelesaiannya

23910.218218001297 / detik, dan pengujian pertama waktu penyelesaiannya 22000

23000 24000 25000 26000 27000 28000

1 2 3 4 5 6 7

CPU

T

im

e

/ d

e

ti

k

(32)

23914.01629200012 / detik. Hasil pengujian ini akan ditampilkan pada Tabel 4.5 dan untuk grafik waktu akan ditampilkan pada Gambar 4.3.

Tabel 4. 5 Hasil Pengujian III ResilientBackpropagationParallelMultithreading Thread Waktu Selesai Rata – Rata Waktu Iterasi

1 32389.488616999854 / detik 1.6194744308499927 / detik

2 27906.764599999868 / detik 1.3953382299999935 / detik

3 24067.489326000406 / detik 1.2033744663000203 / detik

4 25553.457462000133 / detik 1.2776728731000067 / detik

5 25500.42951299844 / detik 1.2750214756499219 / detik

6 26590.765166998073 / detik 1.3295382583499036 / detik

7 27500.32026299811 / detik 1.3750160131499054 / detik

Gambar 4. 3 Grafik Peningkatan Kecepatan Waktu Berdasarkan Peningkatan Jumlah

Thread Pengujian II

Hasil pengujian pada Tabel 4.1, Tabel 4.2, dan Tabel 4.3 menunjukan hasil waktu yang bervariasi. Karena hasil yang bervariasi maka ketiga pengujian tersebut digabungkan dengan rata – rata waktu penyelesaian dari hasil pengujian tersebut. Hasil pengujian yang telah ditampilkan digabungkan menjadi sebuah tabel dengan menjumlahkan waktu selesai dari masing – masing proses dan hasil penjumlahan dibagi dengan banyak pengujian tersebut.

�� � − �� � ��

=

=

0 5000 10000 15000 20000 25000 30000 35000

1 2 3 4 5 6 7

CPU

T

im

e

/ d

e

ti

k

(33)

Hasil rata – rata pengujian tersebut ditunjukan pada Tabel 4.6 sebagai berikut

Tabel 4. 6 Hasil Pengujian Rata – Rata ResilientBackpropagationParallel Multithreading

Thread Waktu Selesai / detik Rata – Rata Waktu Iterasi / detik

1 28991,20766 1,449560383

2 26164,21078 1,308210539

3 23963,90795 1,198195397

4 25172,48093 1,258624046

5 25431,24946 1,271562473

6 26770,71322 1,338535661

7 27317,86378 1,365893189

Pada pengujian pertama sampai pengujian ketiga bahwa dengan menggunakan 3 thread

pada arsitektur neural network menunjukan waktu proses pembelajaran pada jaringan tersebut lebih dibandingkan dengan enam pengujian thread lainnya. Pada pengabungan waktu berfungsi untuk melihat hasil rata – rata waktu penyelesaian masing – masing

thread pada tiga pengujian tersebut. Hasil tampilan grafik waktu rata – rata waktu tersebut ditampilkan pada Gambar 4.4.

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

Hasil penelitian yang telah dilakukan pada (Stubbemann, Kramer, & Treiber, 2015)bagian diatas menunjukan 3 buah thread membantu dalam mempercepat waktu training, dengan jumlah neuroan pada hiddenlayer sebanyak 378 neuron.

0 5000 10000 15000 20000 25000 30000 35000

1 2 3 4 5 6 7

CPU

T

im

e

/ s

e

con

d

(34)

4.4. Pembahasan

Hasil pengujian yang telah dilakukan mendapatkan bahwa jaringan neural network

yaitu resilientbackpropagation dengan menambahkan teknik parallelprocessing yang diimplementasikan menggunakan multithreading menunjukan membantu kinerja pembelajaran dari jaringan neural network resilient backpropagation. Ini ditunjukan dari hasil rata – rata waktu pengujian kecepatan pembelajaran yaitu dibuktikan dari

thread 1 sampai thread 3 didapatkan penurunan waktu ini menunjukan kecepatan pembelajaran thread 3 lebih cepat dari pada thread 1 dan thread 2. Tetapi thread 4 menunjukan waktu yang berangsur – angsur naik sampai thread ke 7, ini menunjukan waktu pembelajaran menjadi lebih lambat.

Penurunan kecepatan yang dimulai dari penggunaan 4 buah thread ini dapat disebabkan oleh kemampuan hardware yang digunakan dan pergantian antar thread

yang terjadi. Pengunaan hardware yaitu Core i3 dengan dua core pada masing – masing

core dapat menjalankan 2 thread sekaligus, karena kemampuan ini dapat memproses 4

thread pada waktu yang bersamaan. Proses pada jaringan neuralnetwork menggunakan

parallelprocessing dengan teknik multithreading, pada 1 thread maka yang terjadi ada adanya penggunaan 2 thread yaitu 1 thread untuk memproses semua neuron pada

hidden layer dan 1 thread sebagai melakukan pengecekan terhadap proses neuron pada

hidden layer apakah sudah selesai semua. Pada saat 2 thread maka yang terjadi adalah pembentukan sebanyak 2 thread untuk memproses neuron pada hidden layer dan 1

thread sebagai pengecekannya. Pada saat 3 thread maka yang berjalan adalah 4 thread

yaitu 3 thread memproses neuron pada hidden layer dan 1 thread sebagai pengecekan. Pada setiap thread yang digunakan maka ditambah satu thread sebagai pengecekan proses pada hidden layer. Oleh sebab itu pemanfaatan thread yang paling optimal adalah 3 thread karena penggunaan seluruh kemampuan hardware. Tetapi pada saat penggunaan 4 thread maka yang terjadi adalah pengantian proses antar thread yaitu

thread diproses secara bergantian pada hardware secara berulang – ulang sampai proses tersebut selesai. Oleh sebab itu terjadi kenaikan waktu proses karena perpindahaan antar

(35)

BAB 5

KESIMPULAN DAN SARAN

5.1. Kesimpulan

Kesimpulan dari hasil penelitian yang dilakukan yaitu:

1. Parallel processing menggunakan multithreading yang diterapakan ke dalam arsitektur resilient backpropagation membantu kinerja waktu pembelajaran

resilient backpropagation dengan hanya memanfaatkan 3 thread pada kasus pengenalan aktifitas manusia.

2. Pengunaan lebih dari 3 thread pada arsitektur resilient backpropagation

menyebabkan penurunan waktu pembelajaran yaitu lebih lambat, ini disebabkan oleh terjadi proses perpindahaan antar thread sehingga terjadi penambahaan waktu pada setiap perpindahaan thread tersebut.

5.2. Saran

Saran yang diberikan oleh penulis adalah sebagai berikut:

1. Penggunaan parallel dengan multithreading terhadap arsitektur resilient backpropagation harus memperhatikan jumlah thread yang dapat diproses pada waktu bersamaan pada sebuah CPU karena ini berpengaruh terhadap eksekusi thread yang dapat menyebabkan waktu delay pada perpindahaan antar thread tersebut.

Gambar

Gambar 3. 1 Diagram Tahapan – Tahapan Penelitian
Tabel 3. 1 Fitur Dataset Triaxial
Tabel 3. 3 Nilai Target Output Aktifitas Manusia
Gambar 3. 2 Arsitektur Neural Network Resilient Backpropagation
+7

Referensi

Dokumen terkait

Dari hasil penelitian tentang perbandingan olahraga pagi dan malam hari terhadap kualitas tidur dapat dijelaskan bahwa, pada kelompok yang melakukan olahraga di

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

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

Hasil penelitian ini diperoleh bahwa keberadaan mikroorganisme perombak bahan organik yang paling tinggi populasinya adalah tanah yang diambil dari tegakan kemenyan

Pendidikan Agama dan Budi Pekerti3. Pendidikan Pancasila

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

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

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