Analisis Kinerja Multithreading Pada Resilient Backpropagation Chapter III V
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.
Universitas Sumatera Utara
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.
Universitas Sumatera Utara
23
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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Nama Feature
tBodyAcc-mean()-X
tBodyAcc-mean()-Y
tBodyAcc-mean()-Z
tBodyAcc-std()-X
tBodyAcc-std()-Y
tBodyAcc-std()-Z
tBodyAcc-mad()-X
tBodyAcc-mad()-X
tBodyAcc-mad()-Z
tBodyAcc-max()-X
tBodyAcc-max()-Y
tBodyAcc-max()-Z
tBodyAcc-min()-X
tBodyAcc-min()-Y
tBodyAcc-min()-Z
tBodyAcc-sma()
tBodyAcc-energy()-X
tBodyAcc-energy()-Y
tBodyAcc-energy()-Z
tBodyAcc-iqr()-X
tBodyAcc-iqr()-Y
tBodyAcc-iqr()-Z
tBodyAcc-entropy()-X
tBodyAcc-entropy()-Y
tBodyAcc-entropy()-Z
tBodyAcc-arCoeff()-X,1
tBodyAcc-arCoeff()-X,2
tBodyAcc-arCoeff()-X,3
tBodyAcc-arCoeff()-X,4
No
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
Nama Feature
fBodyAcc-sma()
fBodyAcc-energy()-X
fBodyAcc-energy()-Y
fBodyAcc-energy()-Z
fBodyAcc-iqr()-X
fBodyAcc-iqr()-Y
fBodyAcc-iqr()-Z
fBodyAcc-entropy()-X
fBodyAcc-entropy()-Y
fBodyAcc-entropy()-Z
fBodyAcc-maxInds-X
fBodyAcc-maxInds-Y
fBodyAcc-maxInds-Z
fBodyAcc-meanFreq()-X
fBodyAcc-meanFreq()-Y
fBodyAcc-meanFreq()-Z
fBodyAcc-skewness()-X
fBodyAcc-kurtosis()-X
fBodyAcc-skewness()-Y
fBodyAcc-kurtosis()-Y
fBodyAcc-skewness()-Z
fBodyAcc-kurtosis()-Z
fBodyAcc-bandsEnergy()-1,8
fBodyAcc-bandsEnergy()-9,16
fBodyAcc-bandsEnergy()-17,24
fBodyAcc-bandsEnergy()-25,32
fBodyAcc-bandsEnergy()-33,40
fBodyAcc-bandsEnergy()-41,48
fBodyAcc-bandsEnergy()-49,56
Universitas Sumatera Utara
24
Tabel 3. 2 Fitur Dataset Triaxial (Lanjutan)
No
30
31
32
33
34
Nama Feature
tBodyAcc-arCoeff()-Y,1
tBodyAcc-arCoeff()-Y,2
tBodyAcc-arCoeff()-Y,3
tBodyAcc-arCoeff()-Y,4
tBodyAcc-arCoeff()-Z,1
No
310
311
312
313
314
Nama Feature
fBodyAcc-bandsEnergy()-57,64
fBodyAcc-bandsEnergy()-1,16
fBodyAcc-bandsEnergy()-17,32
fBodyAcc-bandsEnergy()-33,48
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
3.4
No
Aktifitas
Nilai Target
1
Jalan
100000
2
Naik Tangga
010000
3
Turun Tangga
001000
4
Duduk
000100
5
Berdiri
000010
6
Tidur
000001
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,
Universitas Sumatera Utara
25
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
�ℎ
ℎ
=
�ℎ
�ℎ
ℎ
=
+
�ℎ
ℎ
=
�ℎ
ℎ
+
�ℎ
=
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.
Universitas Sumatera Utara
26
3.4.4
Rancangan Arsitektur Neural Network
Berdasarkan data yang telah disebutkan maka rancangan neural network dijelaskan
melalui Gambar 3.3.
Feed Forward
Y1
X1
Z1
Y2
X2
.
.
.
.
.
.
Y377
X 561
Input Layer
Z2
.
.
.
Z6
Y378
Output Layer
Hidden Layer
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
Universitas Sumatera Utara
27
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 Backpropagation Parallel
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.
Feed Forward
1 Thread
Y1
X1
Z1
Y2
X2
.
.
.
.
.
.
Y377
X561
Z2
.
.
.
Z6
Y378
Gambar 3. 3 Arsitektur Neural Network Parallel dengan 1 Thread
Gambar 3.3 arsitektur neural network ini satu buah thread memproses sebanyak 378
neuron pada hidden layer.
Universitas Sumatera Utara
28
Feed Forward
1 Thread
Y1
X1
.
.
.
Z1
Y188
X2
Z2
.
.
.
Y189
.
.
.
X561
.
.
.
Z6
Y378
2 Thread
Gambar 3. 4 Arsitektur Neural Network Parallel dengan 2 Thread
Gambar 3.4 thread yang digunakan yaitu sebanyak 2 buah dan 1 buah thread
memproses sebanyak 189 neuron.
Feed Forward
Y1
.
.
.
Y125
1 Thread
Z1
X1
Y126
X2
.
.
.
Z2
Y251
.
.
.
2 Thread
X561
.
.
.
Z6
Y252
.
.
.
Y378
3 Thread
Gambar 3. 5 Arsitektur Neural Network Parallel dengan 3 Thread
Universitas Sumatera Utara
29
Gambar 3.5 pada arsitektur neural network dibentuk 3 thread untuk memproses neuron
pada hidden layer. Pada masing – masing thread memproses sebanyak 126 thread.
Feed Forward
Y1
.
.
.
Y93
1 Thread
X1
Y94
.
.
.
Z1
Y187
X2
.
.
.
X561
2 Thread
Z2
Y188
.
.
.
.
.
.
Y281
3 Thread
Z6
Y282
.
.
.
Y378
4 Thread
Gambar 3. 6 Arsitektur Neural Network Parallel dengan 4 Thread
Gambar 3.6 pada arsitektur neural network ini ada 4 thread yang dibuat untuk
memproses neuron yang berada pada hidden layer. Pada thread 1 sampai 3 memproses
sebanyak 94 neuron. Pada thread 4 memproses neuron sebanyak 96 neuron, ini
disebabkan jumlah total neuron yang dibagi dengan banyak thread bukan menghasilkan
bilangan bulat. Sehingga pada thread ke empat neuron yang diproses bertambah 2
neuron.
Universitas Sumatera Utara
30
Feed Forward
Y1
.
.
.
Y74
1 Thread
Y75
.
.
.
X1
Y149
Z1
2 Thread
Y150
X2
.
.
.
.
.
.
Y224
Z2
3 Thread
.
.
.
Y225
Z6
X561
.
.
.
Y299
4 Thread
Y299
.
.
.
Y378
5 Thread
Gambar 3. 7 Arsitektur Neural Network Parallel dengan 5 Thread
Gambar 3.8 arsitektur neural network neural network ini menggunakan 5 thread untuk
memproses neuron pada hidden layer. Pada thread 1 sampai 4 memproses 75 neuron,
dan thread ke 5 memproses sebanyak 78 thread.
Universitas Sumatera Utara
31
Feed Forward
Y1
.
.
.
Y62
1 Thread
Y63
.
.
.
Y125
2 Thread
Y126
X1
Z1
.
.
.
Y188
X2
3 Thread
.
.
.
Y189
Z2
X561
.
.
.
.
.
.
Y251
Z6
4 Thread
Y252
.
.
.
Y314
5 Thread
Y315
.
.
.
Y378
6 Thread
Gambar 3. 8 Arsitektur Neural Network Parallel dengan 6 Thread
Gambar 3.8 arsitektur neural network ini menggunakan 6 thread untuk memproses
neuron pada hidden layer, pada masing – masing thread memproses 63 neuron.
Universitas Sumatera Utara
32
Feed Forward
Y1
.
.
.
Y53
1 Thread
Y54
.
.
.
Y107
2 Thread
Y108
.
.
.
Y161
Z1
3 Thread
X1
Y162
.
.
.
X2
Z2
Y205
.
.
.
4 Thread
.
.
.
X561
Y206
Z6
.
.
.
Y259
5 Thread
Y260
.
.
.
Y313
6 Thread
Y314
.
.
.
Y378
7 Thread
Gambar 3. 9 Arsitektur Neural Network Parallel dengan 7 Thread
Gambar 3.9 arsitektur ini menggunakan 7 buah thread untuk memproses neuron pada
hidden layer. Pada masing – masing thread memproses neuron sebanyak 54 neuron.
3.7
Analisis Waktu Pembelajaran
Analisa waktu training yang dilakukan berdasarkan pada CPU time. Pengambilan
waktu CPU time yang diambil dari setiap iterasi yang diproses. Waktu yang didapat
pada setiap iterasi ditotal untuk mendapatkan waktu keseluruhan pada setiap proses
training resilient backpropagation.
Universitas Sumatera Utara
33
Pengujian yang dilakukan dibagi menjadi beberapa bagian berdasarkan thread
yang dibentuk pada multithreading yang dijabarkan pada Tabel 3.4.
Tabel 3. 4 Pembagian Neuron Hidden Layer Berdasarkan Jumlah Thread
Thread yang
Hidden Neuron pada
Total Neuron pada
terbentuk
sebuah Thread
Hidden Layer
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 Parallel Resilient Backpropagation
Pada proses perhitungan parallel ini dijabarkan terlebih dahulu proses kerja dari
algoritma resilient backpropagation secara garis besar terlebih dahulu yaitu proses kerja
parallel resilient backpropagation. Proses kerja parallel algoritma resilient
backpropagation dijabarkan sebagai berikut:
1. Pengisian data awal
Pada bagian ini memasukan data berupa weight dan input data yang digunakan
untuk melakukan training.
Universitas Sumatera Utara
34
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 hidden layer telah
terkumpul, maka dilanjutkan ke output layer. Pada output layer setiap neuron
pada output layer menerima jumlah dari nilai function neuron pada hidden layer
dikalikan dengan weight yang menuju ke neuron output layer. 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 update weight dari hidden layer menuju ke output layer.
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
hidden layer 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
6
-0,99821243
-0,99713065
-0,99584015
-0,99185951
-0,99263477
-0,9612347
000001
Universitas Sumatera Utara
35
Nilai masing – masing weight neuron dari input layer ke hidden layer ditunjukan pada
Tabel 3.6.
Tabel 3. 6 Nilai Weight dari Input Layer ke Hidden Layer
Neuron 1
Neuron 2
Neuron 3
Neuron 4
Neuron 5
Neuron 6
Neuron 7
Neuron 8
W1
0.426761
0.147308
0.123516
-0.580798
0.094000
-0.022459
0.419578
-0.198452
W2
-0.209749
0.244746
-0.077415
0.079208
0.219853
0.203899
-0.550749
-0.034806
W3
0.130493
0.939377
0.665945
-0.168001
0.657973
-0.391928
0.867966
0.370672
W4
0.159938
-0.958328
-0.902579
-0.195628
-0.413534
-0.279733
-0.603141
0.850606
W5
0.513239
0.491299
0.609804
0.258399
-0.115490
-0.282830
0.578925
-0.842940
W6
0.259989
-0.345167
0.946845
-0.532974
-0.235629
0.251747
0.962164
-0.320036
Nilai masing – masing weight neuron dari hidden layer ke output layer ditunjukan pada
Tabel 3.7.
Tabel 3. 7 Nilai Weight dari Hidden Layer ke Output Layer
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
�
= − .
+ − .
× .
× .
+ − .
�
=
= − .
+
−�ℎ
+ − .
× .
=
+
− − .
+ − .
× − .
+ − .
× .
× .
= .
Universitas Sumatera Utara
36
�
= − .
+ − .
× .
× .
+ − .
�
�
×
=− .
=
−�ℎ
+
= − .
+ − .
=
× .
× .
�
=
= − .
=
−�ℎ
+
× − .
+ − .
+ − .
=
�
=
−�ℎ
=
Proses perhitungan pada thread 2
�
= − .
+ − .
× .
�
�
=
= − .
−�ℎ
+
+ − .
+ − .
=
.
+ − .
+ − .
+
+ − .
× − .
− − .
×− .
×− .
= .
+ − .
×
.
×− .
×− .
= .
× − .
=
×− .
× .
+ − .
− .
× .
+ − .
= − .
+
× − .
+ − .
× .
.
+
×− .
×− .
= .
+ − .
− − .
+
×− .
+ − .
× .
= − .
× .
+ − .
.
− − .
+
+ − .
�
+ − .
+ − .
× .
+ − .
×− .
+ − .
×− .
= .
+ − .
+ − .
×
.
×− .
× .
Universitas Sumatera Utara
37
�
�
=
−�ℎ
+
= − .
+ − .
=
× .
− − .
+
�
= − .
+
−�ℎ
+ − .
=
× − .
+ − .
=
−�ℎ
+
× .
=
+
×− .
+ − .
× .
= .
+ − .
× − .
+ − .
× − .
= .
�
− − .
+
× − .
+ − .
× .
= − .
=
+ − .
× .
+ − .
�
= .
+ − .
× .
×− .
= .
− .
Nilai function neuron pada hidden layer dijabarkan pada Tabel 3.8
Tabel 3. 8 Nilai Function Neuron pada Hidden Layer
�
Threa
d1
Threa
.
�
.
d2
.
.
�
.
�
.
�
.
�
.
�
�
Nilai function yang telah dihasilkan dari hidden layer pada masing – masing thread
dilanjutkan ke output layer. Proses perhitungan hidden layer ke output layer disajikan
sebagai berikut.
�
=
.
+
.
+
.
+
+
+
+
+
.
.
.
.
.
× − .
×
× .
.
×− .
×
× .
× .
× .
.
=
.
Universitas Sumatera Utara
38
�
�
=
�
=
�
���� �
=
�
=
−�
+
�
=
.
.
+
+
+
+
+
�
�
�
+
=
=
�
−��
=
���� �
�
× − .
] ×
− .
.
�
×[ − .
× − .
.
]
+
�
× − .
.
×− .
.
× .
.
× − .
.
× .
.
×− .
.
×− .
= − .
= − .
= .
=
=
= .
+
=
�
× .
+
�
−
× [ −
= .
=
�
− .
+
− − .
× [ −
−
�
�
=
] ×
− .
�
=
×[ − .
=− .
.
]
Universitas Sumatera Utara
39
�
=
.
+
.
+
+
�
�
�
.
×− .
.
× .
+
.
+
.
+
=
×− .
×− .
.
+
=
=
�
=
× .
× .
=
−��
�
���� �
× [ −
�
= .
�
=
�
�
× − .
.
−��
=
���� �
=
=
− .
] ×
×[ −
+
.
+
.
.
=
.
�
]
.
=− .
× − .
×
.
× .
× .
.
+
.
×
+
.
×− .
.
+
+
−
= − .
+
=
− .
+
+
�
× .
.
+
�
× .
=
.
+
�
= − .
.
×− .
.
×− .
− .
−
�
=
− .
=
.
Universitas Sumatera Utara
40
�
�
=
�
=
= .
× − .
.
+
.
+
.
+
�
�
�
× .
× .
×− .
=
���� �
=
�
× .
+
�
× − .
.
+
.
+
.
+
+
+
+
−��
=
�
�
=
=
− .
] ×
=
.
.
�
×[ − .
]
=− .
+
=
−
× [ −
+
�
− .
= − .
= .
=
]
×− .
−��
=
×[ − .
× .
.
+
�
× − .
.
+
�
× − .
.
+
] ×
=− .
.
+
=
�
.
+
�
× [ −
�
.
.
.
.
.
= − .
+
− − .
× .
× − .
× .
×− .
× − .
× .
×− .
×− .
=
.
Universitas Sumatera Utara
41
�
�
�
=
=
���� �
�
�
= − .
= .
−
× [ −
�
=
− .
] ×
�
�
×[ − .
× − .
]
=− .
Nilai function neuron pada output layer ditampilkan pada Tabel 3.9.
Tabel 3. 9 Nilai Function, Error, dan Gradien Error Neuron Output Layer
Neuron
1
2
3
4
5
6
Error
Function
.
.
.
Gradien Error
.
.
.
− .
− .
− .
− .
− .
.
− .
− .
.
− .
− .
− .
Nilai gradien error yang telah didapatkan pada masing – masing neuron output layer,
dilanjutkan ke fase backward yaitu melakukan update weight pada jaringan neural
network tersebut. Update weight yang pertama kali dimulai dari weight hidden layer 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 error output sekarang, maka dilanjutkan ke
perhitungan update weight dengan penjabaran sebagai berikut
∆
= −
=− .
= .
= .
=− .
.
+ − .
+ − .
× . =− .
=− .
+ − .
=
+ − .
=− .
=
.
.
Universitas Sumatera Utara
42
= .
= .
+ − .
= .
= .
= .
+ − .
= .
+ − .
= .
+ − .
= .
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 Hidden Layer ke Output Layer
W1
Neuron
1
Neuron
2
Neuron
3
Neuron
4
Neuron
5
Neuron
6
− .
W2
W3
.
.
-0.09451
-0.806991
-0.587177
0.232161
0.128865
-0.608678
W4
− .
W5
W6
.
.
W7
.
W8
.
0.67742
0.03016
0.978773
-0.561131
-0.379768
-0.521014
0.018266
0.224832
-0.005653
0.602964
1.033528
0.447272
0.204149
0.783817
0.79232
-0.160428
-0.890184
-0.293145
0.045088
-0.130816
0.278554
-0.322108
0.717603
0.227605
-0.775401
0.923427
0.366208
-0.436563
0.819287
-0.198457
-0.025625
0.789534
0.049714
-0.4032
Setelah mengupdate weight hidden layer menuju ke output layer, maka dilanjutkan ke
bagian weight input layer ke hidden layer. Untuk mengupdate weight tersebut
diperlukan gradien error pada setiap neuron di hidden layer, maka perhitungan sebagai
berikut
�ℎ �
=
�
= .
×[ −
×( .
+ − .
+ − .
+ − .
+ − .
+ − .
= .
�
]×∑�
=
×[ − .
.
]
×− .
×− .
× .
×− .
×− .
× .
)
Universitas Sumatera Utara
43
�ℎ �
=
�
= .
×[ −
�
×( .
]×∑�
=
×[ − .
×− .
+ − .
× .
+ − .
× .
+ − .
×− .
+ − .
�ℎ �
=
�
= .
×[ −
×− .
�
×( .
]×∑�
=
×[ − .
× .
+ − .
× .
+ − .
�
= .
×[ −
×( .
+ − .
+ − .
+ − .
+ − .
+ − .
=− .
]
×− .
+ − .
=
.
×− .
+ − .
�ℎ �
)
× .
+ − .
= .
]
× .
+ − .
= .
.
× .
�
]×∑�
=
×[ − .
)
.
]
×− .
× .
×− .
× .
×− .
×− .
)
Universitas Sumatera Utara
44
�ℎ �
=
�
= .
×[ −
�
×( .
]×∑�
=
×[ − .
×− .
+ − .
× .
+ − .
× .
+ − .
× .
+ − .
×− .
=− .
=
�
= .
×[ −
�
×( .
]×∑�
=
×[ − .
×− .
+ − .
× .
+ − .
× .
=− .
= .
×[ −
×( .
+ − .
+ − .
+ − .
+ − .
+ − .
= .
]
×− .
+ − .
�
.
× .
+ − .
=
)
× .
+ − .
�ℎ �
]
× .
+ − .
�ℎ �
.
�
]×∑�
=
×[ − .
)
.
]
× .
×− .
× .
×− .
×− .
×− .
)
Universitas Sumatera Utara
45
�ℎ �
=
×[ −
�
= .
�
]×∑�
=
×[ − .
×( .
.
]
× .
+ − .
×− .
+ − .
× .
+ − .
×− .
+ − .
× .
+ − .
×− .
=− .
)
Nilai gradien error neuron pada hidden layer ditampilkan pada Tabel 3.11.
Tabel 3. 11 Nilai Gradien Error Neuron pada Hidden Layer
Neuron
Nilai Gradien Error
.
1
2
.
3
.
− .
4
− .
5
− .
6
.
7
− .
8
Setelah didapatkan nilai gradien error masing – masing neuron pada hidden layer, maka
dilanjutkan ke update weight yang berada diantara input layer dan hidden layer.
Perhitungan update weight untuk hidden layer sama dengan update weight pada output
layer dengan perhitungan sebagai berikut
∆ ℎ = −
ℎ
ℎ
=− .
ℎ
=− .
= .
.
+ − .
+ − .
+ − .
=− .
× . =− .
=− .
= .
Universitas Sumatera Utara
46
ℎ
= .
+ − .
= .
ℎ
= .
+ − .
= .
ℎ
= .
+ − .
= .
Proses perhitungan update weight tersebut dilanjutkan sampai neuron ke 8 dan hasil
update weight tersebut akan ditampilkan pada tabel 3.12
Tabel 3. 12 Nilai Weight Baru dari Input Layer ke Hidden Layer
Neuron 1
Neuron 2
Neuron 3
Neuron 4
Neuron 5
Neuron 6
Neuron 7
Neuron 8
W1
− .
0.047308
0.023516
-0.480798
0.194
0.077541
0.319578
-0.098452
W2
− .
0.144746
-0.177415
0.179208
0.319853
0.303899
-0.650749
0.065194
W3
.
0.839377
0.565945
-0.068001
0.757973
-0.291928
0.767966
0.470672
W4
.
-1.058328
-1.002579
-0.095628
-0.313534
-0.179733
-0.703141
0.950606
W5
.
0.391299
0.509804
0.358399
-0.01549
-0.18283
0.478925
-0.74294
W6
.
-0.445167
0.846845
-0.432974
-0.135629
0.351747
0.862164
-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 Parallel Processing
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.
3.1
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
yang cepat melakukan pembelajaran neural network. Pengujian yang dilakukan
Universitas Sumatera Utara
47
sebanyak tiga kali maka harus dicari rata – rata nilai tersebut dengan menggunakan
rumus sebagai berikut:
�� =
∑= �
3.2
RT adalah merupakan rata – rata waktu, dan ∑ = � merupakan jumlah total dari 3
pengujian tersebut dan dibagi dengan banyak pengujian tersebut dilakukan yaitu 3.
Universitas Sumatera Utara
BAB 4
HASIL DAN PEMBAHASAN
4.1.
Pendahuluan
Pada bab ini menjelaskan hasil penelitian dari penerapan parallel processing 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
thread yang telah ditentukan pada metode penelitian. Pengujian yang dilakukan ini
berdasarkan banyak thread yang digunakan pada arsitektur neural network. Pengujian
yang diberikan dilakukan sebanyak tiga kali testing untuk mendapatkan waktu rata –
rata pada ketujuh pengujian tersebut.
Universitas Sumatera Utara
49
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
Weight Hidden
Weight Output
CPU Time
Iterasi
-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
…
1
…
7
thread
…
5
thread
…
3 thread
…
1
thread
…
W3
…
W2
…
W1
…
W3
…
W2
…
W1
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 Resilient Backpropagation Parallel Multithreading
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
4
25231.32637700154 / detik
1.261566318850077 / detik
Universitas Sumatera Utara
50
Tabel 4. 3 Hasil Pengujian I Resilient Backpropagation Parallel Multithreading
(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.
28000
CPU Time / detik
27000
26000
25000
24000
23000
22000
1
2
3
4
5
6
7
Thread
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
Universitas Sumatera Utara
51
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 Parallel Multithreading
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
28000
CPU Time / detik
27000
26000
25000
24000
23000
22000
1
2
3
4
5
6
7
Thread
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 neural network resilient backpropagation menunjukan kecepatan
waktu penyelesaian yang lebih cepat daripada thread lainnya, tetapi waktu penyelesaian
berbeda
pada
yaitu
24067.489326000406
pada
/
detik,
pengujian
ketiga
penggujian
waktu
kedua
diselesaikn
waktu
dalam
penyelesaiannya
23910.218218001297 / detik, dan pengujian pertama waktu penyelesaiannya
Universitas Sumatera Utara
52
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 Resilient Backpropagation Parallel Multithreading
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
35000
CPU Time / detik
30000
25000
20000
15000
10000
5000
0
1
2
3
4
5
6
7
Thread
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.
�� � − �� � ��
=
∑=
Universitas Sumatera Utara
53
Hasil rata – rata pengujian tersebut ditunjukan pada Tabel 4.6 sebagai berikut
Tabel 4. 6 Hasil Pengujian Rata – Rata Resilient Backpropagation Parallel
Multithreading
Rata – Rata Waktu Iterasi /
Thread Waktu Selesai / detik
detik
1
2
3
4
5
6
7
1,449560383
1,308210539
1,198195397
1,258624046
1,271562473
1,338535661
1,365893189
28991,20766
26164,21078
23963,90795
25172,48093
25431,24946
26770,71322
27317,86378
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.
35000
CPU Time / second
30000
25000
20000
15000
10000
5000
0
1
2
3
4
5
6
7
Thread
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 hidden layer sebanyak 378 neuron.
Universitas Sumatera Utara
54
4.4.
Pembahasan
Hasil pengujian yang telah dilakukan mendapatkan bahwa jaringan neural network
yaitu resilient backpropagation dengan menambahkan teknik parallel processing 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 neural network menggunakan
parallel processing 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
thread tersebut.
Universitas Sumatera Utara
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.
2. Untuk meningkatkan kemampuan parallel processing pada arsitektur resilient
backpropagation dapat menggunakan multiprocessor yaitu menggunakan
beberapa processor pada waktu bersamaan.
Universitas Sumatera Utara
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.
Universitas Sumatera Utara
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.
Universitas Sumatera Utara
23
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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Nama Feature
tBodyAcc-mean()-X
tBodyAcc-mean()-Y
tBodyAcc-mean()-Z
tBodyAcc-std()-X
tBodyAcc-std()-Y
tBodyAcc-std()-Z
tBodyAcc-mad()-X
tBodyAcc-mad()-X
tBodyAcc-mad()-Z
tBodyAcc-max()-X
tBodyAcc-max()-Y
tBodyAcc-max()-Z
tBodyAcc-min()-X
tBodyAcc-min()-Y
tBodyAcc-min()-Z
tBodyAcc-sma()
tBodyAcc-energy()-X
tBodyAcc-energy()-Y
tBodyAcc-energy()-Z
tBodyAcc-iqr()-X
tBodyAcc-iqr()-Y
tBodyAcc-iqr()-Z
tBodyAcc-entropy()-X
tBodyAcc-entropy()-Y
tBodyAcc-entropy()-Z
tBodyAcc-arCoeff()-X,1
tBodyAcc-arCoeff()-X,2
tBodyAcc-arCoeff()-X,3
tBodyAcc-arCoeff()-X,4
No
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
Nama Feature
fBodyAcc-sma()
fBodyAcc-energy()-X
fBodyAcc-energy()-Y
fBodyAcc-energy()-Z
fBodyAcc-iqr()-X
fBodyAcc-iqr()-Y
fBodyAcc-iqr()-Z
fBodyAcc-entropy()-X
fBodyAcc-entropy()-Y
fBodyAcc-entropy()-Z
fBodyAcc-maxInds-X
fBodyAcc-maxInds-Y
fBodyAcc-maxInds-Z
fBodyAcc-meanFreq()-X
fBodyAcc-meanFreq()-Y
fBodyAcc-meanFreq()-Z
fBodyAcc-skewness()-X
fBodyAcc-kurtosis()-X
fBodyAcc-skewness()-Y
fBodyAcc-kurtosis()-Y
fBodyAcc-skewness()-Z
fBodyAcc-kurtosis()-Z
fBodyAcc-bandsEnergy()-1,8
fBodyAcc-bandsEnergy()-9,16
fBodyAcc-bandsEnergy()-17,24
fBodyAcc-bandsEnergy()-25,32
fBodyAcc-bandsEnergy()-33,40
fBodyAcc-bandsEnergy()-41,48
fBodyAcc-bandsEnergy()-49,56
Universitas Sumatera Utara
24
Tabel 3. 2 Fitur Dataset Triaxial (Lanjutan)
No
30
31
32
33
34
Nama Feature
tBodyAcc-arCoeff()-Y,1
tBodyAcc-arCoeff()-Y,2
tBodyAcc-arCoeff()-Y,3
tBodyAcc-arCoeff()-Y,4
tBodyAcc-arCoeff()-Z,1
No
310
311
312
313
314
Nama Feature
fBodyAcc-bandsEnergy()-57,64
fBodyAcc-bandsEnergy()-1,16
fBodyAcc-bandsEnergy()-17,32
fBodyAcc-bandsEnergy()-33,48
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
3.4
No
Aktifitas
Nilai Target
1
Jalan
100000
2
Naik Tangga
010000
3
Turun Tangga
001000
4
Duduk
000100
5
Berdiri
000010
6
Tidur
000001
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,
Universitas Sumatera Utara
25
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
�ℎ
ℎ
=
�ℎ
�ℎ
ℎ
=
+
�ℎ
ℎ
=
�ℎ
ℎ
+
�ℎ
=
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.
Universitas Sumatera Utara
26
3.4.4
Rancangan Arsitektur Neural Network
Berdasarkan data yang telah disebutkan maka rancangan neural network dijelaskan
melalui Gambar 3.3.
Feed Forward
Y1
X1
Z1
Y2
X2
.
.
.
.
.
.
Y377
X 561
Input Layer
Z2
.
.
.
Z6
Y378
Output Layer
Hidden Layer
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
Universitas Sumatera Utara
27
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 Backpropagation Parallel
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.
Feed Forward
1 Thread
Y1
X1
Z1
Y2
X2
.
.
.
.
.
.
Y377
X561
Z2
.
.
.
Z6
Y378
Gambar 3. 3 Arsitektur Neural Network Parallel dengan 1 Thread
Gambar 3.3 arsitektur neural network ini satu buah thread memproses sebanyak 378
neuron pada hidden layer.
Universitas Sumatera Utara
28
Feed Forward
1 Thread
Y1
X1
.
.
.
Z1
Y188
X2
Z2
.
.
.
Y189
.
.
.
X561
.
.
.
Z6
Y378
2 Thread
Gambar 3. 4 Arsitektur Neural Network Parallel dengan 2 Thread
Gambar 3.4 thread yang digunakan yaitu sebanyak 2 buah dan 1 buah thread
memproses sebanyak 189 neuron.
Feed Forward
Y1
.
.
.
Y125
1 Thread
Z1
X1
Y126
X2
.
.
.
Z2
Y251
.
.
.
2 Thread
X561
.
.
.
Z6
Y252
.
.
.
Y378
3 Thread
Gambar 3. 5 Arsitektur Neural Network Parallel dengan 3 Thread
Universitas Sumatera Utara
29
Gambar 3.5 pada arsitektur neural network dibentuk 3 thread untuk memproses neuron
pada hidden layer. Pada masing – masing thread memproses sebanyak 126 thread.
Feed Forward
Y1
.
.
.
Y93
1 Thread
X1
Y94
.
.
.
Z1
Y187
X2
.
.
.
X561
2 Thread
Z2
Y188
.
.
.
.
.
.
Y281
3 Thread
Z6
Y282
.
.
.
Y378
4 Thread
Gambar 3. 6 Arsitektur Neural Network Parallel dengan 4 Thread
Gambar 3.6 pada arsitektur neural network ini ada 4 thread yang dibuat untuk
memproses neuron yang berada pada hidden layer. Pada thread 1 sampai 3 memproses
sebanyak 94 neuron. Pada thread 4 memproses neuron sebanyak 96 neuron, ini
disebabkan jumlah total neuron yang dibagi dengan banyak thread bukan menghasilkan
bilangan bulat. Sehingga pada thread ke empat neuron yang diproses bertambah 2
neuron.
Universitas Sumatera Utara
30
Feed Forward
Y1
.
.
.
Y74
1 Thread
Y75
.
.
.
X1
Y149
Z1
2 Thread
Y150
X2
.
.
.
.
.
.
Y224
Z2
3 Thread
.
.
.
Y225
Z6
X561
.
.
.
Y299
4 Thread
Y299
.
.
.
Y378
5 Thread
Gambar 3. 7 Arsitektur Neural Network Parallel dengan 5 Thread
Gambar 3.8 arsitektur neural network neural network ini menggunakan 5 thread untuk
memproses neuron pada hidden layer. Pada thread 1 sampai 4 memproses 75 neuron,
dan thread ke 5 memproses sebanyak 78 thread.
Universitas Sumatera Utara
31
Feed Forward
Y1
.
.
.
Y62
1 Thread
Y63
.
.
.
Y125
2 Thread
Y126
X1
Z1
.
.
.
Y188
X2
3 Thread
.
.
.
Y189
Z2
X561
.
.
.
.
.
.
Y251
Z6
4 Thread
Y252
.
.
.
Y314
5 Thread
Y315
.
.
.
Y378
6 Thread
Gambar 3. 8 Arsitektur Neural Network Parallel dengan 6 Thread
Gambar 3.8 arsitektur neural network ini menggunakan 6 thread untuk memproses
neuron pada hidden layer, pada masing – masing thread memproses 63 neuron.
Universitas Sumatera Utara
32
Feed Forward
Y1
.
.
.
Y53
1 Thread
Y54
.
.
.
Y107
2 Thread
Y108
.
.
.
Y161
Z1
3 Thread
X1
Y162
.
.
.
X2
Z2
Y205
.
.
.
4 Thread
.
.
.
X561
Y206
Z6
.
.
.
Y259
5 Thread
Y260
.
.
.
Y313
6 Thread
Y314
.
.
.
Y378
7 Thread
Gambar 3. 9 Arsitektur Neural Network Parallel dengan 7 Thread
Gambar 3.9 arsitektur ini menggunakan 7 buah thread untuk memproses neuron pada
hidden layer. Pada masing – masing thread memproses neuron sebanyak 54 neuron.
3.7
Analisis Waktu Pembelajaran
Analisa waktu training yang dilakukan berdasarkan pada CPU time. Pengambilan
waktu CPU time yang diambil dari setiap iterasi yang diproses. Waktu yang didapat
pada setiap iterasi ditotal untuk mendapatkan waktu keseluruhan pada setiap proses
training resilient backpropagation.
Universitas Sumatera Utara
33
Pengujian yang dilakukan dibagi menjadi beberapa bagian berdasarkan thread
yang dibentuk pada multithreading yang dijabarkan pada Tabel 3.4.
Tabel 3. 4 Pembagian Neuron Hidden Layer Berdasarkan Jumlah Thread
Thread yang
Hidden Neuron pada
Total Neuron pada
terbentuk
sebuah Thread
Hidden Layer
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 Parallel Resilient Backpropagation
Pada proses perhitungan parallel ini dijabarkan terlebih dahulu proses kerja dari
algoritma resilient backpropagation secara garis besar terlebih dahulu yaitu proses kerja
parallel resilient backpropagation. Proses kerja parallel algoritma resilient
backpropagation dijabarkan sebagai berikut:
1. Pengisian data awal
Pada bagian ini memasukan data berupa weight dan input data yang digunakan
untuk melakukan training.
Universitas Sumatera Utara
34
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 hidden layer telah
terkumpul, maka dilanjutkan ke output layer. Pada output layer setiap neuron
pada output layer menerima jumlah dari nilai function neuron pada hidden layer
dikalikan dengan weight yang menuju ke neuron output layer. 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 update weight dari hidden layer menuju ke output layer.
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
hidden layer 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
6
-0,99821243
-0,99713065
-0,99584015
-0,99185951
-0,99263477
-0,9612347
000001
Universitas Sumatera Utara
35
Nilai masing – masing weight neuron dari input layer ke hidden layer ditunjukan pada
Tabel 3.6.
Tabel 3. 6 Nilai Weight dari Input Layer ke Hidden Layer
Neuron 1
Neuron 2
Neuron 3
Neuron 4
Neuron 5
Neuron 6
Neuron 7
Neuron 8
W1
0.426761
0.147308
0.123516
-0.580798
0.094000
-0.022459
0.419578
-0.198452
W2
-0.209749
0.244746
-0.077415
0.079208
0.219853
0.203899
-0.550749
-0.034806
W3
0.130493
0.939377
0.665945
-0.168001
0.657973
-0.391928
0.867966
0.370672
W4
0.159938
-0.958328
-0.902579
-0.195628
-0.413534
-0.279733
-0.603141
0.850606
W5
0.513239
0.491299
0.609804
0.258399
-0.115490
-0.282830
0.578925
-0.842940
W6
0.259989
-0.345167
0.946845
-0.532974
-0.235629
0.251747
0.962164
-0.320036
Nilai masing – masing weight neuron dari hidden layer ke output layer ditunjukan pada
Tabel 3.7.
Tabel 3. 7 Nilai Weight dari Hidden Layer ke Output Layer
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
�
= − .
+ − .
× .
× .
+ − .
�
=
= − .
+
−�ℎ
+ − .
× .
=
+
− − .
+ − .
× − .
+ − .
× .
× .
= .
Universitas Sumatera Utara
36
�
= − .
+ − .
× .
× .
+ − .
�
�
×
=− .
=
−�ℎ
+
= − .
+ − .
=
× .
× .
�
=
= − .
=
−�ℎ
+
× − .
+ − .
+ − .
=
�
=
−�ℎ
=
Proses perhitungan pada thread 2
�
= − .
+ − .
× .
�
�
=
= − .
−�ℎ
+
+ − .
+ − .
=
.
+ − .
+ − .
+
+ − .
× − .
− − .
×− .
×− .
= .
+ − .
×
.
×− .
×− .
= .
× − .
=
×− .
× .
+ − .
− .
× .
+ − .
= − .
+
× − .
+ − .
× .
.
+
×− .
×− .
= .
+ − .
− − .
+
×− .
+ − .
× .
= − .
× .
+ − .
.
− − .
+
+ − .
�
+ − .
+ − .
× .
+ − .
×− .
+ − .
×− .
= .
+ − .
+ − .
×
.
×− .
× .
Universitas Sumatera Utara
37
�
�
=
−�ℎ
+
= − .
+ − .
=
× .
− − .
+
�
= − .
+
−�ℎ
+ − .
=
× − .
+ − .
=
−�ℎ
+
× .
=
+
×− .
+ − .
× .
= .
+ − .
× − .
+ − .
× − .
= .
�
− − .
+
× − .
+ − .
× .
= − .
=
+ − .
× .
+ − .
�
= .
+ − .
× .
×− .
= .
− .
Nilai function neuron pada hidden layer dijabarkan pada Tabel 3.8
Tabel 3. 8 Nilai Function Neuron pada Hidden Layer
�
Threa
d1
Threa
.
�
.
d2
.
.
�
.
�
.
�
.
�
.
�
�
Nilai function yang telah dihasilkan dari hidden layer pada masing – masing thread
dilanjutkan ke output layer. Proses perhitungan hidden layer ke output layer disajikan
sebagai berikut.
�
=
.
+
.
+
.
+
+
+
+
+
.
.
.
.
.
× − .
×
× .
.
×− .
×
× .
× .
× .
.
=
.
Universitas Sumatera Utara
38
�
�
=
�
=
�
���� �
=
�
=
−�
+
�
=
.
.
+
+
+
+
+
�
�
�
+
=
=
�
−��
=
���� �
�
× − .
] ×
− .
.
�
×[ − .
× − .
.
]
+
�
× − .
.
×− .
.
× .
.
× − .
.
× .
.
×− .
.
×− .
= − .
= − .
= .
=
=
= .
+
=
�
× .
+
�
−
× [ −
= .
=
�
− .
+
− − .
× [ −
−
�
�
=
] ×
− .
�
=
×[ − .
=− .
.
]
Universitas Sumatera Utara
39
�
=
.
+
.
+
+
�
�
�
.
×− .
.
× .
+
.
+
.
+
=
×− .
×− .
.
+
=
=
�
=
× .
× .
=
−��
�
���� �
× [ −
�
= .
�
=
�
�
× − .
.
−��
=
���� �
=
=
− .
] ×
×[ −
+
.
+
.
.
=
.
�
]
.
=− .
× − .
×
.
× .
× .
.
+
.
×
+
.
×− .
.
+
+
−
= − .
+
=
− .
+
+
�
× .
.
+
�
× .
=
.
+
�
= − .
.
×− .
.
×− .
− .
−
�
=
− .
=
.
Universitas Sumatera Utara
40
�
�
=
�
=
= .
× − .
.
+
.
+
.
+
�
�
�
× .
× .
×− .
=
���� �
=
�
× .
+
�
× − .
.
+
.
+
.
+
+
+
+
−��
=
�
�
=
=
− .
] ×
=
.
.
�
×[ − .
]
=− .
+
=
−
× [ −
+
�
− .
= − .
= .
=
]
×− .
−��
=
×[ − .
× .
.
+
�
× − .
.
+
�
× − .
.
+
] ×
=− .
.
+
=
�
.
+
�
× [ −
�
.
.
.
.
.
= − .
+
− − .
× .
× − .
× .
×− .
× − .
× .
×− .
×− .
=
.
Universitas Sumatera Utara
41
�
�
�
=
=
���� �
�
�
= − .
= .
−
× [ −
�
=
− .
] ×
�
�
×[ − .
× − .
]
=− .
Nilai function neuron pada output layer ditampilkan pada Tabel 3.9.
Tabel 3. 9 Nilai Function, Error, dan Gradien Error Neuron Output Layer
Neuron
1
2
3
4
5
6
Error
Function
.
.
.
Gradien Error
.
.
.
− .
− .
− .
− .
− .
.
− .
− .
.
− .
− .
− .
Nilai gradien error yang telah didapatkan pada masing – masing neuron output layer,
dilanjutkan ke fase backward yaitu melakukan update weight pada jaringan neural
network tersebut. Update weight yang pertama kali dimulai dari weight hidden layer 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 error output sekarang, maka dilanjutkan ke
perhitungan update weight dengan penjabaran sebagai berikut
∆
= −
=− .
= .
= .
=− .
.
+ − .
+ − .
× . =− .
=− .
+ − .
=
+ − .
=− .
=
.
.
Universitas Sumatera Utara
42
= .
= .
+ − .
= .
= .
= .
+ − .
= .
+ − .
= .
+ − .
= .
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 Hidden Layer ke Output Layer
W1
Neuron
1
Neuron
2
Neuron
3
Neuron
4
Neuron
5
Neuron
6
− .
W2
W3
.
.
-0.09451
-0.806991
-0.587177
0.232161
0.128865
-0.608678
W4
− .
W5
W6
.
.
W7
.
W8
.
0.67742
0.03016
0.978773
-0.561131
-0.379768
-0.521014
0.018266
0.224832
-0.005653
0.602964
1.033528
0.447272
0.204149
0.783817
0.79232
-0.160428
-0.890184
-0.293145
0.045088
-0.130816
0.278554
-0.322108
0.717603
0.227605
-0.775401
0.923427
0.366208
-0.436563
0.819287
-0.198457
-0.025625
0.789534
0.049714
-0.4032
Setelah mengupdate weight hidden layer menuju ke output layer, maka dilanjutkan ke
bagian weight input layer ke hidden layer. Untuk mengupdate weight tersebut
diperlukan gradien error pada setiap neuron di hidden layer, maka perhitungan sebagai
berikut
�ℎ �
=
�
= .
×[ −
×( .
+ − .
+ − .
+ − .
+ − .
+ − .
= .
�
]×∑�
=
×[ − .
.
]
×− .
×− .
× .
×− .
×− .
× .
)
Universitas Sumatera Utara
43
�ℎ �
=
�
= .
×[ −
�
×( .
]×∑�
=
×[ − .
×− .
+ − .
× .
+ − .
× .
+ − .
×− .
+ − .
�ℎ �
=
�
= .
×[ −
×− .
�
×( .
]×∑�
=
×[ − .
× .
+ − .
× .
+ − .
�
= .
×[ −
×( .
+ − .
+ − .
+ − .
+ − .
+ − .
=− .
]
×− .
+ − .
=
.
×− .
+ − .
�ℎ �
)
× .
+ − .
= .
]
× .
+ − .
= .
.
× .
�
]×∑�
=
×[ − .
)
.
]
×− .
× .
×− .
× .
×− .
×− .
)
Universitas Sumatera Utara
44
�ℎ �
=
�
= .
×[ −
�
×( .
]×∑�
=
×[ − .
×− .
+ − .
× .
+ − .
× .
+ − .
× .
+ − .
×− .
=− .
=
�
= .
×[ −
�
×( .
]×∑�
=
×[ − .
×− .
+ − .
× .
+ − .
× .
=− .
= .
×[ −
×( .
+ − .
+ − .
+ − .
+ − .
+ − .
= .
]
×− .
+ − .
�
.
× .
+ − .
=
)
× .
+ − .
�ℎ �
]
× .
+ − .
�ℎ �
.
�
]×∑�
=
×[ − .
)
.
]
× .
×− .
× .
×− .
×− .
×− .
)
Universitas Sumatera Utara
45
�ℎ �
=
×[ −
�
= .
�
]×∑�
=
×[ − .
×( .
.
]
× .
+ − .
×− .
+ − .
× .
+ − .
×− .
+ − .
× .
+ − .
×− .
=− .
)
Nilai gradien error neuron pada hidden layer ditampilkan pada Tabel 3.11.
Tabel 3. 11 Nilai Gradien Error Neuron pada Hidden Layer
Neuron
Nilai Gradien Error
.
1
2
.
3
.
− .
4
− .
5
− .
6
.
7
− .
8
Setelah didapatkan nilai gradien error masing – masing neuron pada hidden layer, maka
dilanjutkan ke update weight yang berada diantara input layer dan hidden layer.
Perhitungan update weight untuk hidden layer sama dengan update weight pada output
layer dengan perhitungan sebagai berikut
∆ ℎ = −
ℎ
ℎ
=− .
ℎ
=− .
= .
.
+ − .
+ − .
+ − .
=− .
× . =− .
=− .
= .
Universitas Sumatera Utara
46
ℎ
= .
+ − .
= .
ℎ
= .
+ − .
= .
ℎ
= .
+ − .
= .
Proses perhitungan update weight tersebut dilanjutkan sampai neuron ke 8 dan hasil
update weight tersebut akan ditampilkan pada tabel 3.12
Tabel 3. 12 Nilai Weight Baru dari Input Layer ke Hidden Layer
Neuron 1
Neuron 2
Neuron 3
Neuron 4
Neuron 5
Neuron 6
Neuron 7
Neuron 8
W1
− .
0.047308
0.023516
-0.480798
0.194
0.077541
0.319578
-0.098452
W2
− .
0.144746
-0.177415
0.179208
0.319853
0.303899
-0.650749
0.065194
W3
.
0.839377
0.565945
-0.068001
0.757973
-0.291928
0.767966
0.470672
W4
.
-1.058328
-1.002579
-0.095628
-0.313534
-0.179733
-0.703141
0.950606
W5
.
0.391299
0.509804
0.358399
-0.01549
-0.18283
0.478925
-0.74294
W6
.
-0.445167
0.846845
-0.432974
-0.135629
0.351747
0.862164
-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 Parallel Processing
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.
3.1
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
yang cepat melakukan pembelajaran neural network. Pengujian yang dilakukan
Universitas Sumatera Utara
47
sebanyak tiga kali maka harus dicari rata – rata nilai tersebut dengan menggunakan
rumus sebagai berikut:
�� =
∑= �
3.2
RT adalah merupakan rata – rata waktu, dan ∑ = � merupakan jumlah total dari 3
pengujian tersebut dan dibagi dengan banyak pengujian tersebut dilakukan yaitu 3.
Universitas Sumatera Utara
BAB 4
HASIL DAN PEMBAHASAN
4.1.
Pendahuluan
Pada bab ini menjelaskan hasil penelitian dari penerapan parallel processing 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
thread yang telah ditentukan pada metode penelitian. Pengujian yang dilakukan ini
berdasarkan banyak thread yang digunakan pada arsitektur neural network. Pengujian
yang diberikan dilakukan sebanyak tiga kali testing untuk mendapatkan waktu rata –
rata pada ketujuh pengujian tersebut.
Universitas Sumatera Utara
49
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
Weight Hidden
Weight Output
CPU Time
Iterasi
-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
…
1
…
7
thread
…
5
thread
…
3 thread
…
1
thread
…
W3
…
W2
…
W1
…
W3
…
W2
…
W1
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 Resilient Backpropagation Parallel Multithreading
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
4
25231.32637700154 / detik
1.261566318850077 / detik
Universitas Sumatera Utara
50
Tabel 4. 3 Hasil Pengujian I Resilient Backpropagation Parallel Multithreading
(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.
28000
CPU Time / detik
27000
26000
25000
24000
23000
22000
1
2
3
4
5
6
7
Thread
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
Universitas Sumatera Utara
51
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 Parallel Multithreading
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
28000
CPU Time / detik
27000
26000
25000
24000
23000
22000
1
2
3
4
5
6
7
Thread
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 neural network resilient backpropagation menunjukan kecepatan
waktu penyelesaian yang lebih cepat daripada thread lainnya, tetapi waktu penyelesaian
berbeda
pada
yaitu
24067.489326000406
pada
/
detik,
pengujian
ketiga
penggujian
waktu
kedua
diselesaikn
waktu
dalam
penyelesaiannya
23910.218218001297 / detik, dan pengujian pertama waktu penyelesaiannya
Universitas Sumatera Utara
52
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 Resilient Backpropagation Parallel Multithreading
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
35000
CPU Time / detik
30000
25000
20000
15000
10000
5000
0
1
2
3
4
5
6
7
Thread
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.
�� � − �� � ��
=
∑=
Universitas Sumatera Utara
53
Hasil rata – rata pengujian tersebut ditunjukan pada Tabel 4.6 sebagai berikut
Tabel 4. 6 Hasil Pengujian Rata – Rata Resilient Backpropagation Parallel
Multithreading
Rata – Rata Waktu Iterasi /
Thread Waktu Selesai / detik
detik
1
2
3
4
5
6
7
1,449560383
1,308210539
1,198195397
1,258624046
1,271562473
1,338535661
1,365893189
28991,20766
26164,21078
23963,90795
25172,48093
25431,24946
26770,71322
27317,86378
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.
35000
CPU Time / second
30000
25000
20000
15000
10000
5000
0
1
2
3
4
5
6
7
Thread
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 hidden layer sebanyak 378 neuron.
Universitas Sumatera Utara
54
4.4.
Pembahasan
Hasil pengujian yang telah dilakukan mendapatkan bahwa jaringan neural network
yaitu resilient backpropagation dengan menambahkan teknik parallel processing 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 neural network menggunakan
parallel processing 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
thread tersebut.
Universitas Sumatera Utara
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.
2. Untuk meningkatkan kemampuan parallel processing pada arsitektur resilient
backpropagation dapat menggunakan multiprocessor yaitu menggunakan
beberapa processor pada waktu bersamaan.
Universitas Sumatera Utara