Kalbiscentia,Volume 2 No.2 Agustus 2015
ISSN 2356 - 4393
BI Directional Associative Memory Sebagai Normalisator Backpropagation Neural Network Fransisca Fortunata Dewi Computer Science Department, School of Computer Science, BINUS University Jalan K.H. Syahdan No. 9 Palmerah, Jakarta 11480
[email protected] Abstract: One of the technologies needed by humans is supporting security technology in digital transactions that are present in the form of digital image signature verifier technology. Development of algorithms for the needs of signature verification is required to improve the performance (accuracy and speed) from the existing algorithms. This time, combination of Bidirectional Associative Memory (BAM) and BackPropagation Neural Network is used in the training process the signature in the form of digital images. Digital image signature through the purification process the data before processed with BAM and BackPropagation. To determine the effect of normalization BAM, carried out performance comparisons between the performance with BAM and the performance without BAM. From this study, it is evident that the use of normalisator can increase the speed of the training process digital image signature. Keyword: Bi-Directional Associative Memory, Backpropagation, Neural Network, signature Abstrak: Salah satu teknologi yang dibutuhkan oleh manusia, ialah teknologi penunjang rasa aman dalam bertransaksi secara digital yang hadir dalam bentuk teknologi verifikator gambar digital tanda tangan. Pengembangan algoritma untuk kebutuhan verifikasi tanda tangan diperlukan untuk meningkatkan performa (ketepatan dan kecepatan) algoritma yang telah ada. Kali ini, dikombinasikan BiDirectional Associative Memory (BAM) dan BackPropagation Neural Network sebagai algoritma yang digunakan dalam proses training tanda tangan dalam bentuk gambar digital. Gambar digital tanda tangan melalui proses pemurnian data terlebih dahulu sebelum diproses dengan BAM dan Backpropagation. Untuk mengetahui efek dari normalisasi BAM, dilakukan perbandingan performa antara performa dengan normalisator dan performa tanpa normalisator. Dari penelitian ini, terbukti bahwa penggunaan normalisator dapat meningkatkan kecepatan proses training gambar digital tanda tangan. Kata kunci: Bi-Directional Associative Memory, Backpropagation, Neural Network, tanda tangan
I. PENDAHULUAN Seiring dengan perkembangan teknologi saat ini, semakin banyak penggunaan gambar sebagai verifikasi. Hal ini karena tingkat keamanan yang lebih tinggi dalam penggunaan gambar sebagai verifikasi daripada penggunaan kode sandi semata. Penggunaan gambar sebagai verifikasi dapat ditemui di banyak tempat, misalkan penggunaan sidik jari dan hasil pencitraan retina pada kartu tanda pengenal elektrik. Selain sebagai verifikasi pada kartu tanda pengenal elektrik, penggunaan gambar juga dapat ditemui pada pemindaian foto paspor terhadap database foto-foto para buronan. Sebelum penggunaan gambar sebagai verifikasi pada kartu tanda pengenal, verifikasi tanda tangan secara manual dipercaya cukup menunjukkan identitas bagi pemegang kartu. Saat ini, tanda tangan
masih menjadi salah satu komponen verifikasi. Hanya saja, untuk meningkatkan pelayanan dengan mempersingkat waktu layanan, telah dikembangkan berbagai algoritma verifikasi tanda tangan. Selain lebih cepat, penggunaan teknologi informasi dalam proses verifikasi tanda tangan diharapkan dapat mengurangi human error. Menurut [1], proses verifikasi tanda tangan adalah proses untuk menguji tanda tangan secara detail untuk menentukan keabsahan kepemilikannya. Sebelum penggunaaan teknologi dalam proses verifikasi tanda tangan, masih diandalkan proses pengenalan tanda tangan secara manual, yang mana menuntut ketelitian dan kejujuran yang tinggi. Dengan bantuan teknologi, proses verifikasi menjadi efektif dan efisien, serta dapat mengurangi tingkat human error yang ada.
158
05. Jurnal Binus 1.indd 158
25/02/2016 10:04:03
Fransisca Fortuna Dewi, BI Directional Associative Memory Sebagai Normalisator ....
Beberapa algoritma yang telah dikembangkan demi kepentingan verifikasi tandatangan, diantaranya Wavelet Packet secara online [2], HOG dan fitur LBP secaraoffline [3], kombinasi validasi Cross dan pendekatan Graph Matching secara offline [4] dan kombinasi Optimal Feature Representation dan Neural-Network-Driven Fuzzy Reasoning secara online [2]. Seiring dengan waktu, banyak algoritma yang telah dikembangkan sebagai alternatif untuk melakukan proses verifikasi tanda tangan, baik yang merupakan algoritma baru, turunan dari algoritma lain, maupun hasil kombinasi dari dua atau lebih algoritma oleh karena itu dua algoritma yang ada dicoba untuk dikembangkan. Algoritma yang dipilih untuk dikombinasikan ialah Bidirectional Associative Memory dan Back Propagation Neural Network. Dalam kombinasi ini, Bidirectional Associative Memory berperan sebagai normalisator dari interpretasi gambar tanda tangan sebelum ditraining oleh Back Propagation Neural Network. Menurut [5], Bidirectional Associative Memory (BAM) merupakan model Neural Network yang termasuk dalam kategori Supervised Learning Networks seperti halnya Back Propagation, yaitu dicirikan dengan adanya mekanisma training. BAM pertama kali diperkenalkan oleh Bart Kosko berdasarkan studi terdahulu dan model Associative memory lainnya. Menurut [6], Neural Network merupakan kumpulan neuron yang saling terhubung melalui garis dengan bobot masingmasing. Bobot-bobot tersebut terus diperbaharui di dalam proses oleh fungsi matematis. Sedangkan menurut [7], Back Propagation Neural Network merupakan salah satu metode paling efisien untuk menyelesaikan permasalahan yang kompleks. Karena Back Propagation Neural Network dapat memecahkan permasalahan kompleks tersebut ke struktur-struktur yang lebih sederhana dan tersusun bersebelahan dengan tidak kehilangan deskripsi dari system kompleks yang sebelumnya. Back Propagation Neural Network adalah neural network dengan konsep multilayer feed forward yang terdiri dari lapisan input, lapisan tersembunyi, dan lapisan output. [8].
II. METODE PENELITIAN Metode yang digunakan dalam penelitian ini adalah metode pengumpulan data dan analisa data. Tanda tangan hasil scan dari proses pengambilan data akan melalui berbagai proses pemurnian data [1].
Binarization Proses untuk mengubah warna gambar dari hasil scanner menjadi hitam-putih. Hal ini untuk mengantisipasi, jika tanda tangan tidak dituliskan dengan tinta hitam. Bertujuan untuk memudahkan proses komputasis selanjutnya.
Gambar 1 Penampakan Gambar Sebelum dan Sesudah Tahapan Binarization
Noise Removal Meskipun sudah menggunakan scanner untuk meminimalisir noise, tetap diperlukan proses noise removal untuk menghilangkan noise yang masih terekam pada gambar.
Gambar 2 Penampakan Gambar Sebelum dan Sesudah Tahapan Noise Removal
Image Scaling Penyesuaian ukuran gambar diperlukan agar saat dilakukan rotasi gambar, gambar tidak mengalami pemotongan.
Gambar 3 Penampakan Gambar Sebelum dan Sesudah Tahapan Image Scaling
Image Centralization 1 Proses ini juga bertujuan untuk memastikan hasil rotasi dari tanda tangan tidak mengalami perbedaan dari yang sebenarnya.
159
05. Jurnal Binus 1.indd 159
25/02/2016 10:04:03
Kalbiscentia,Volume 2 No.2 Agustus 2015
Normalisasi dengan Bidirectional Associative Memory
Gambar 4 Penampakan Gambar Sebelum dan Sesudah Tahapan Image Centrlization I
Image Rotation Setelah melalui proses Image Scaling dan Image Centralization 1 sebagai persiapan Image Rotation, sekarang gambar siap melalui proses perotasian. Proses ini bertujuan untuk memastikan gambar yang dikomputasi selajutnya bersifat seragam, dan relatif “rata” secara horizontal.
Gambar 5 Penampakan Gambar Sebelum dan Sesudah Tahapan Image Rotation
Image Trimming Proses ini dilakukan untuk membuang area kosong dari gambar tanda tangan.
BAM menggunakan 2 layer X dan Y yang M pasang pola saling berasosiasi. Layer-layer tersebut disimpan M pasang pola akan disimpulkan dalam BAM dalam matriks dua dimensi. akan disimpulkan dalam BAM di mana dan di Konsep mana dasar BAM: adalah 2 pola yang dan adalah 2 pola yang M pasang polaakan disimpulkan dalam BAM saling berasosiasi, maka m pola tersebut dapat di salingdan berasosiasi, maka myang polabentuk tersebut dapat mana adalah 2 pola saling berasosiasi, disimpan dalam BAM, dalam matriks disimpan dalam BAM, dalam bentuk matriks maka m pola tersebut dapat disimpan dalam BAM, bobot w berukuran nxp, yang disusun sebagai bobot w berukuran nxp, yang disusun sebagai dalam bentuk matriks bobot w berukuran nxp, yang berikut: berikut: disusun sebagai berikut:
Jika m pasang pola telah disimpan dalam Jika mw, pasang pola saat telahdiperlukan, disimpan dalam BAM maka pada dapat BAM w, maka pada saat diperlukan, dapat dipanggil (retrieved, recalled, decoded), dipanggil (retrieved, recalled, decoded), sebagai berikut: sebagai berikut:
Fungsi threshold-nya didefinisikan dengan: Fungsi threshold-nya didefinisikan dengan:
Contoh penerapan rumus: Contoh penerapan rumus: Gambar 6 Penampakan Gambar Sebelum dan Sesudah Tahapan Image Trimming
Perhatikan tiga pasang pola berikut: Perhatikan tiga pasang pola berikut:
Training d Training d Neural Netw Neural Netw
Back Back s metode yang metode yang sebuah Neura sebuah Neura terdiri dari 2 terdiri dari 2 forward (lang forward (lan training dan v training dan mundur) – dv mundur) – bd memperbaiki memperbaiki
Image Scaling 2 Proses ini bertujuan meminimalisir variasi dari hasil akhir.
Gambar 7 Penampakan Gambar Sebelum dan Sesudah Tahapan Image Scaling 2
Image Centralization 2
Konstruksikan BAM w untuk menyimpan 3 Konstruksikan BAM w untuk menyimpan 3 pasang pola tersebut pasang pola tersebut Jawab: Jawab:
Algoritma Algoritma Propagation Propagation
Proses ini menambahkan area kosong ke gambar agar ukurannya fix.
M pasang pola
akanGambar disimpulkan dalam Gambar 8 Penampakan Sebelum dan diSesudah mana Tahapan Image Centralization 2
160
05. Jurnal Binus 1.indd 160
BAM dan adalah 2 pola yang saling berasosiasi, maka m pola tersebut dapat disimpan dalam BAM, dalam bentuk matriks bobot w berukuran nxp, yang disusun sebagai berikut:
Gambar 9 Dia Gambar 9 DiB Output pada Output pada B
+
Langkah 0: Ini Langkah 0: Langkah 1: In S Langkah 1: S lakukan langka lakukan langk Langkah 2: Langkah 2: latihan, lakuka latihan, lakuka
25/02/2016 10:04:04
sinyal sinyal tersebut tersebut ke ke semua semua unit unit pada pada lapisan lapisan didi atas (hiddenlayer). atas (hiddenlayer). Langkah4: Langkah4: Setiap Setiap unit unit tersembunyi tersembunyi menjumlahkan menjumlahkan sinyal-sinyal sinyal-sinyal input input Fransisca Fortuna Dewi, BI Directional Associative Memory Sebagai Normalisator .... terbobot, terbobot, Gunakan Gunakan fungsi fungsi aktivasi aktivasi untuk untuk menghitung menghitung sinyal output, sinyal output,
+
an dalam BAM dan 2 pola yang a tersebut dapat bentuk matriks disusun sebagai
Setiap Setiap unit unit t memperbaiki memperbaiki ,,
Langkah Langkah 5:5: Setiap Setiap unit unit output output menjumlahkan menjumlahkan sinyal-sinyal sinyal-sinyal input input terbobot, terbobot,
Langkah Langkah9:9:Te T
Gunakan Gunakan fungsi fungsi aktivasi aktivasi untuk untuk menghitung menghitung sinyal output-nya, sinyal output-nya,
Algoritma Algoritma Propagation Propagatio
Backward (langkah mundur) Backward(langkah (langkahmundur) mundur) Backward
kan dengan:
ikut:
Training dengan Back Back Propagation adalah salahPropagation satu metode Network yang Neural sering digunakan untuk training sebuah Neural Network. Back Propagation terdiri dari 2 langkah Back Propagation adalah salah satu [9], yaitu: (1) Feed forward (langkah maju) – metode yang sering digunakan untuk training digunakan saatNeural trainingNetwork. dan verifikasi. Backward sebuah Back (2) Propagation (langkah mundur) – digunakan saat training, terdiri dari 2 langkah [9], yaitu: (1) untuk Feed memperbaiki (weighting forward bobot (langkah maju)factors). – digunakan saat training dan verifikasi. (2) Backward (langkah mundur) – digunakan saat training, untuk memperbaiki bobot (weighting factors). Algoritma Algoritma Propagation Propagation
Training Training
Back Back
Langkah 0: Inisialisasi bobot. Langkah 0: Inisialisasi bobot. Langkah 1: Selama kondisi berhenti false, Langkah 1: Selama kondisi berhenti false, lakukan langkah 2-9 Posisi Layer Input, Hidden, Gambar 9 Diagram lakukan langkah 2-9 Training Algoritma Back Langkah 2: Untuk setiap pasangan data Output Back Propagation Neural Network Langkah 2:pada Untuk setiap pasangan data Propagation latihan, lakukan langkah 3-8 latihan, lakukan langkah 3-8 Algoritma Training Back Propagation Langkah 0:Inisialisasi Inisialisasi bobot. Feedforward (langkah maju) 0: bobot. Feedforward (langkahkondisi maju) berhenti false, menyimpan 3 Langkah Langkah 1: Selama Langkah 1: Selama kondisi berhenti false, lakukan Gambar 9 Diagram Posisi Layer Input, Hidden, lakukan langkah 2-9 Langkah3: Setiap unit input langkah 2-9Setiap Langkah3: unit input Output pada Back Propagation Neural data Network Langkah 2: Untuk setiap pasangan dan meneruskan menerima sinyal input Langkah 2:sinyal Untuk setiap pasangan data latihan, dan meneruskan menerima input latihan, lakukan langkah 3-8 sinyal tersebut ke semua unit pada lapisan di sinyalAlgoritma tersebut unit pada lapisan Back di lakukan langkahke 3-8semua Training atas (hiddenlayer). atas (hiddenlayer). Feedforward (langkah Propagation Langkah4: Setiap unitmaju) tersembunyi Feedforward (langkah Langkah4: Setiap unitmaju) tersembunyi menjumlahkan sinyal-sinyal input menjumlahkan input Langkah3: Setiap unit inputsinyal-sinyal Langkah 0: Inisialisasi bobot. terbobot, terbobot, dan meneruskan menerima sinyal input kondisi Langkah 1: Selama berhenti false, sinyal tersebut ke semua unit pada lapisan di lakukan langkah 2-9 Gunakan fungsi aktivasi untuk menghitung Gunakan fungsi aktivasi untuk menghitung atas (hiddenlayer). Langkah sinyal output, 2: Untuk setiap pasangan data sinyal output,Setiap Langkah4: tersembunyi latihan, lakukanunit langkah 3-8 menjumlahkan sinyal-sinyal inputdi Dan kiriman sinyal tersebut ke semua unit Dan kiriman sinyal tersebut ke semua unit di terbobot, lapisan atasnya (unit-unit output). lapisan atasnya (unit-unit output). Gunakan aktivasiunit untuk menghitung Langkah fungsi 5: Setiap output Langkah 5: Setiap unit output sinyal output, menjumlahkan sinyal-sinyal input menjumlahkan sinyal-sinyal input terbobot, terbobot, Dan kiriman sinyal tersebut ke semua unit di lapisan atasnya (unit-unit output). Gunakan fungsi aktivasi untuk menghitung Gunakan fungsi aktivasi untuk menghitung 05. Jurnal Binus 1.indd 161 output-nya, sinyal
Perbaikan PerbaikanBo Bo
Langkah Langkah 8:8: mm
Dan Dan kiriman kiriman sinyal sinyal tersebut tersebut ke ke semua semua unit unit didi lapisan atasnya (unit-unit output). lapisan atasnya (unit-unit output).
isimpan dalam perlukan, dapat Training dengan Back Propagation Neural ed, decoded), Network
Hitung Hitung juga juga digunakan digunakan un un
Langkah Langkah 0:0: algoritma algoritmatrain trai Langkah Langkah 1:1: S lakukan lakukanlangka langk
Langkah Langkah 6:6: Tiap-tiap Tiap-tiap unit unit output output menerima menerima pola pola target target yang yang berhubungan dengan pola input pembelajaran, berhubungan dengan pola input pembelajaran, hitung hitung informasi informasi error, error, ))
Hanya Hanyabagian bagian
Hitung Hitung koreksi koreksi bobot bobot (yang (yang nantinya nantinya akan akan ),), digunakan untuk memperbaiki digunakan untuk memperbaiki nilai nilai
Langkah Langkah 2:2: mm meneruskan meneruskan s pada padalapisan lapisandd Langkah Langkah 4:4: SS men me terbobot, terbobot,
Hitung Hitungjuga jugakoreksi koreksi bias bias(yang (yangnantinya nantinya akan akan digunakan untuk memperbaiki nilai ),), digunakan untuk memperbaiki nilai dan ke unit-unit unit-unit yang yang ada ada dan kirimkan kirimkan nilai nilai ke dilapisan dilapisanbawahnya. bawahnya. Langkah 7: Tiap-tiap hidden unit Langkah 7: Tiap-tiap hidden unit menjumlahkan delta inputnya (dari menjumlahkan delta inputnya (dari unit yang berada pada lapisan atasnya.), unit yang berada pada lapisan atasnya.),
Gunakan Gunakan fung fun sinyal sinyaloutput, output,
Kalikan nilai ini dengan turunan dari fungsi Kalikan nilai ini denganhidden turunanunit dari fungsi Langkah 7: Tiap-tiap aktivasinya untuk menghitung informasi aktivasinyamenjumlahkan untuk menghitung informasi delta inputnya (dari error, error, unit yang berada pada lapisan atasnya.), Kemudian hitung koreksi bobot (yang nantinya Kemudian hitung koreksi bobot (yang nantinya ), digunakan untuk memperbaiki nilai digunakan memperbaiki nilai fungsi ), Kalikan nilaiuntuk ini dengan turunan dari aktivasinya untuk menghitung informasi error, Hitung juga koreksi bias (yang nantinya Hitung juga koreksi bias (yang nantinya ), digunakan untuk memperbaiki nilai ), digunakan untuk koreksi memperbaiki nilai nantinya Kemudian hitung bobot (yang ), digunakan untuk memperbaiki nilai Perbaikan Bobotdan dan Bias; Perbaikan Perbaikan Bobot Bobot dan Bias; Bias; Hitung juga koreksi Langkah 8: Setiap bias unit (yang output nantinya Langkah Setiap unit output ), digunakan 8:untuk memperbaiki memperbaiki bobotnilai dan bias memperbaiki bobot dan bias , , Perbaikan Bobot dan Bias; Setiap unit tersembunyi Setiap Langkahunit8: tersembunyi Setiap unit output memperbaiki bobot dan bias bobot bias dan bias 161 memperbaikimemperbaiki bobot dan , , , Langkah 9: Tes kondisi berhenti. Langkah 9: Tes kondisi berhenti. Setiap unit tersembunyi
25/02/2016 10:04:05
menghitung
enghitung
mua unit di
ua unit di
ut nyal input
nyal input
menghitung
enghitung
ut get yang mbelajaran, get yang belajaran,
tinya akan ), nilai nya akan ), lai
tinya akan ilai ), inya akan lai ), yang ada yang ada
Langkah 8: Setiap unit output memperbaiki bobot dan bias Langkah 8: Setiap unit output , memperbaiki bobot dan bias , Kalbiscentia,Volume 2 No.2 Agustus 2015 Setiap unit tersembunyi memperbaiki bobot dan bias Setiap unit tersembunyi , memperbaiki bobot dan bias , Langkah 9: Tes kondisi berhenti. Langkah 9: Tes kondisi berhenti.
Algoritma Implementasi Back Propagation Algoritma Implementasi Back Propagation Algoritma Implementasi Back Propagation Langkah 0: Inisialisasi bobot (dari hasil
algoritma training) Langkah 0: Inisialisasi bobot (dari hasil Langkah 1: Selama kondisi berhenti false, algoritma training) lakukan langkah 2-4 Langkah 1: Selama kondisi berhenti false, lakukan langkah 2-4 Hanya bagian Feedforward (langkah maju):
Hanya bagian Feedforward (langkah maju): Langkah 2: Setiap unit input menerima sinyal input dan Langkah 2: Setiap unit input meneruskan sinyal tersebut ke semua unit menerima sinyal input dan pada lapisan di atas (hiddenlayer). meneruskan sinyal tersebut ke semua unit Langkah 4: Setiap unit tersembunyi pada lapisan di atas (hiddenlayer). sinyal-sinyal input Langkah 4:menjumlahkan Setiap unit tersembunyi Dan kiriman sinyal tersebut ke semua unit di terbobot, menjumlahkan sinyal-sinyal Dan kiriman sinyal(unit-unit tersebut output). ke semua unitinput di lapisan atasnya terbobot, lapisan atasnya (unit-unit output). Gunakan fungsi aktivasi untuk menghitung Langkah 5: Setiap unit output sinyal output, Gunakan 5:fungsi aktivasi menghitung Langkah Setiap unit untuk output menjumlahkan sinyal-sinyal input sinyal output, Dan kiriman sinyal tersebut ke semua unit di menjumlahkan sinyal-sinyal input terbobot, lapisan atasnya (unit-unit output). terbobot,
Gunakan fungsi aktivasi untuk menghitung Langkahfungsi 5: Setiap unit output Gunakan sinyal output, aktivasi untuk menghitung sinyal output, menjumlahkan sinyal-sinyal input terbobot, Contoh soal: Suatu model aplikasi pengenalan Contoh Suatu model aplikasi pengenalan pola soal: (Pattern Recognition) didesain pola (Pattern Recognition) didesain Gunakan fungsi model aktivasi untuk propagation. menghitung menggunakan Back menggunakan modeladaBack propagation. sinyal output, Diketahui bahwa 1 pasang input dan Diketahui bahwa ada 1 pasang input output untuk training berikut: dan output training berikut:pengenalan Contoh untuk soal: Suatu model aplikasi dan pola (Pattern Recognition) didesain dan menggunakan 1. Gambarkan model / Back desainpropagation. model bahwa / ada dengan 1desain pasangsatu input dan 1. Diketahui Gambarkan model Backpropagation hidden Backpropagation dengan satu hidden output untuk training berikut: layer. layer. danuntuk setiap input, output, 2. Berikan notasi 2. Berikan notasi output, dan koneksi untuk antar setiap layer, input, serta bias pada koneksi layer, tlayer. serta bias pada 1.dan Gambarkan desain model hidden layerantar dan /outpu hidden layer dan outpudengan tlayer. Backpropagation 3. Tentukan bobot/weight pada satu matrikhidden v dan 3. Tentukan bobot/weight pada matrik dandan layer. w dengan nilai inisial/awal antara v-0,5 dengan inisial/awal antara -0,5output, dan 2.w Berikan notasi untuk setiap input, 0,5 padanilai setiap bobot/weight. 0,5 pada setiap bobot/weight. dan koneksi antar layer, serta bias 4. Dengan menggunakan input pada 4. Dengan menggunakan input hidden layer dan, outpu tlayer. hitung 3. Tentukan bobot/weight pada matrik v dan , hitung pada tahap Feed Forward. w dengan nilaiForward. inisial/awal antara -0,5 dan pada tahap Feed 0,5 pada setiapaktivasi bobot/weight. Gunakan fungsi sigmoid biner. 4. Dengan menggunakan input Gunakan fungsi aktivasi sigmoid biner. , hitung Jawab : Jawab : tahap pada Dimensi inputFeed layerForward. : n=3 Dimensi input layer : n=3 Dimensi output layer : k=2 Dimensi output layer : k=2 sigmoid biner. Gunakan aktivasi Dimensi fungsi hidden layer : Dimensi hidden layer : 162 Jawab : Dimensi Matriks vinput dan layer w : : n=3 Dimensi output Matriks v dan w : layer : k=2 Dimensi hidden layer : 05. Jurnal Binus 1.indd 162
w dengan nilai inisial/awal antara -0,5 dan 0,5 pada setiap bobot/weight. 4. Dengan menggunakan input , hitung pada tahap Feed Forward. Gunakan fungsi aktivasi sigmoid biner. Jawab : Dimensi input layer : n=3 Dimensi output layer : k=2 Dimensi hidden layer : Matriks v dan w :
Dengan fun Matriks nilai bias :
Perhitungan nilai : Perhitungan nilai :
Perhitungan nilai :
Dengan fungsi sigmoid biner ( = 1): Dengan fungsi sigmoid biner ( = 1): Dengan fungsi sigmoid biner (
= 1):
25/02/2016 10:04:06
removal, image scaling, image centralization, ialah: image rotation, dan image trimming. (2) Gambar telahlearning dimurnikan, 1. Nilai yang koefisian rate =dibagi 0.5 menjadi 9 bagian, membentuk 3x3 matriks, 2. Fungsi aktivasi Sigmoid Biner : seperti gambar 11. [10]. Fransisca Fortuna Dewi, BI Directional Associative Memory Sebagai Normalisator ....
d biner.
HASIL DAN PEMBAHASAN Dalam penelitian ini, dilakukan proses training sesuai dengan prosedur sebagai berikut.
Dengan fungsi sigmoid biner (
= 1):
HASIL DAN PEMBAHASAN Gambar 10 Diagram Alur Proses Training dengan Dalam penelitian ini, PEMBAHASAN dilakukan proses training III. HASIL DAN Normalisator BAM sesuai dengan prosedur sebagai berikut. Dalam penelitian ini, dilakukan proses training sesuai dengan prosedur seperti padaini, Gambar 10. proses Pada penelitian dilakukan Pada penelitian ini, dilakukan proses training terhadap 1041 gambar tanda tangan, training terhadap normalisator 1041 gambar maupun tanda tangan, baik baik tanpa dengan tanpa normalisator maupunAssociative dengan normalisator normalisator Bidirectional Memory, dengan metode Back Memory, Propagation Bidirectional Associative denganNeural metode Network. Kedua Neural proses training di Back Propagation Network. dilakukan Kedua proses lingkungan yang sama, dengan perlakuan yang training dilakukan di lingkungan yang sama, dengan sama. Pelakuan-perlakuan yang sama yang tersebut perlakuan yang sama. Pelakuan-perlakuan sama ialah: tersebut ialah:
1. Nilai koefisian learning rate = 0.5
2. Fungsi aktivasi Binerdengan : Gambar 10 Diagram Alur Sigmoid Proses Training Normalisator BAM 3. Nilai sigma ( ) : parameter kecurangan = 1 4. Jumlah di input =9 Pada node penelitian ini,layer dilakukan proses 5. Jumlah node di output layer = 1 tangan, training terhadap 1041 gambar tanda di hidden layer = 7 dengan baik6. Jumlah tanpa node normalisator maupun 7. JumlahBidirectional iterasi maksimal = 20000Memory, normalisator Associative dengan metode Back Propagation Neural 8. Target error = 0.00001
Network. Kedua proses training dilakukan di lingkungan Untuk yang sama,masing-masing dengan perlakuan gambar, yang sama. Pelakuan-perlakuan yang sama tersebut dikenakan perlakuan: (1) Pemurnian gambar, ialah: yang mencakup proses binarization, noise
1. Nilai koefisian learning rate = 0.5 2. Fungsi aktivasi Sigmoid Biner : 3. 4. 5. 6. 7. 8.
3. 4. 5. 6. 7. 8.
Nilai sigma ( ) : parameter kecurangan = 1 Jumlah node di input layer = 9 Jumlah node di output layer = 1 Jumlah node di hidden layer = 7 Jumlah iterasi maksimal = 20000 Target error = 0.00001
dengan x = n
Masing-mas sama besar, pada gambar
Untuk masing-masing gambar, dikenakan Untuk masing-masing gambar, perlakuan: (1) Pemurnian gambar, yang mencakup dikenakan perlakuan: (1) Pemurnian gambar, proses binarization, noise removal, image scaling, 11 scaling, Pembagian gambar tanda tangan removal, image image centralization, yangGambar mencakup proses binarization, noise image centralization, image rotation, dan 3x3 region image rotation, menjadi dan image trimming. (2)image trimming. (2) Gambar yang dimurnikan, dibagi Pada tahapan ini,telah diterapkan perlakuan Gambar yang telah dimurnikan, dibagi menjadi berbeda antara algoritma 9 bagian, membentuk 3x3 menggunakan matriks, 9menjadi bagian, membentuk 3x3 yang matriks, sepertiseperti normalisator, gambar 11. gambar 11. [10]. [10]. dengan yang tidak menggunakan normalisator. Tanpa normalisator: untuk setiap region, dihitung nilai perbandingan jumlah pixel hitam terhadap jumlah seluruh pixel di region tersebut. Digunakan rumus:
dengan x = nilai perbandingan Gambar 11 Pembagian gambar tanda tangan Dengan normalisator Bidirectional Associative Gambarmenjadi 11 Pembagian gambar tanda tangan 3x3 region Memory: Untuk setiap region, dihitung nilai menjadi 3x3 region Pada tahapan ini, diterapkan perlakuan perbandingan jumlah pixel hitam terhadap berbeda antara algoritma yang menggunakan Pada tahapan ini,pixel diterapkan perlakuan berbeda jumlah seluruh di region tersebut. normalisator, dengan yang tidak menggunakan Digunakan rumus: antara algoritma yang menggunakan normalisator, normalisator. Tanpamenggunakan normalisator:normalisator. untuk setiapTanpa dengan yang tidak region, dihitung nilai perbandingan jumlah nilai normalisator: untuk setiap region, dihitung pixel hitam terhadap jumlah seluruh pixel di perbandingan jumlah pixel hitam terhadap jumlah region tersebut. Digunakan rumus: seluruh pixel di region tersebut. Digunakan rumus: dengan x = nilai perbandingan
Masing-masing region, dibagi menjadi 4 bagian sama besar,x dan diberi label a,b,c, dan d, seperti dengan = nilai perbandingan dengan = nilai 4.2. perbandingan padaxgambar Dengan normalisator Bidirectional Associative Memory: Untuk setiap region, dihitung nilai perbandingan jumlah pixel hitam terhadap jumlah seluruh pixel di region tersebut. Digunakan rumus:
dengan x = nilai perbandingan
Masing-masing region, dibagi menjadi 4 bagian sama besar, dan diberi label a,b,c, dan d, seperti Nilai sigma ( ) : parameter kecurangan = 1 pada gambar 4.2. Jumlah node di input layer = 9 Jumlah node di output layer = 1 Jumlah node di hidden layer = 7 Jumlah iterasi maksimal = 20000 Target error = 0.00001 Gambar 10 Diagram Alur Proses Training dengan Normalisator BAM
Untuk masing-masing gambar, dikenakan perlakuan: (1) Pemurnian gambar, yang mencakup proses binarization, noise 05. Jurnal Binus 1.indd 163
163
25/02/2016 10:04:07
Gambar 11 Pembagian gambar tanda tangan menjadi 3x3 region
Pada tahapan ini, diterapkan perlakuan Kalbiscentia,Volume 2 No.2 Agustus 2015menggunakan berbeda antara algoritma yang normalisator, dengan yang tidak menggunakan normalisator. normalisator: untuk setiap DenganTanpa normalisator Bidirectional Associative region, dihitung nilai perbandingan jumlah Memory: Untuk setiap region, dihitung nilai pixel hitam terhadap jumlah seluruh pixel di perbandingan jumlah pixel hitam terhadap jumlah region tersebut. Digunakan rumus: seluruh pixel di region tersebut. Digunakan rumus: dengan
database sebagai data untuk melakukan analisa. Hasil analisa dirangkum dalam tabel 1. Tabel 1 Variabel yang diukur dalam penelitian BAM NN
Gambar 12 Gambar Region yang Dibagi Menjadi 4
Gambar 12 Region Dibagi 44 4 Masing-masing region, dibagi menjadi 4 Menjadi bagian Gambar 12 Gambar Region yang Dibagi Menjadi Gambar 12 Gambar Gambar Region yang Dibagi Menjadi Bagian yangyang Sama. Bagian yang Sama. sama besar, dan diberi label a,b,c, dan d, seperti Bagian yang Sama. Bagian yang Sama. pada gambar 4.2. 12 Gambar Region yang Dibagi Gambar
gan = 1
Menjadipada 4 Bagian yang Sama. Dengan mengacu algoritma pembentukan Dengan mengacu pada algoritma pembentukan Dengan mengacu pada algoritma pembentukan Dengan mengacu pada algoritma pembentukan matriks wmengacu tempatpada penyimpanan BAM, Denganw algoritma pembentukan matriks tempat penyimpanan BAM, matriks w tempat penyimpanan BAM, matriks w tempat penyimpanan BAM, didapatkan matriks: matriks w tempat penyimpanan BAM, didapatkan didapatkan matriks: didapatkan matriks: didapatkan matriks: matriks:
gambar, gambar, n, noise
Dari hasil penelitian dapat terlihat bahwa proses training dengan Back Propagation tanpa normalisator memiliki peluang yang lebih besar untuk mengalami Dengan dibandingkan normalisator dengan BAM, didapatkan divergensi normalisator BAM. Dengan BAM, Dengannormalisator normalisator BAM,didapatkan didapatkan Dengan normalisator BAM, didapatkan presentase divergensi sebesar: Dengandivergensi normalisator BAM, didapatkan presentase sebesar: presentase divergensi sebesar: presentase divergensi sebesar: presentase divergensi sebesar: 0.384245917387128 % 0.384245917387128 % 0.384245917387128 0.384245917387128 %%
Sedangkan tanpa normalisator didaptkan Sedangkantanpa tanpa normalisator didaptkan Sedangkan normalisator didaptkan Sedangkan tanpa normalisator didaptkan Sedangkan tanpa normalisator didaptkan divergensi sebesar: divergensi sebesar: divergensi sebesar: divergensi sebesar: divergensi sebesar: dengan x = nilai perbandingan
:
Average Loop 578.145057766367 2138.540436457
x a b xx11 xa1a abbb x 1 c d xx22 xc2c cddd y 2 y1 yy1 y1yy22 y2 1 2 2 aa c 2 2T 2 xT y cccb d a w a c a i i T w xxiT yxyii yib aaacc c dbbbddd w w i 1 i i bbb d d i 1 i 1 aai 1 ac bc cd d aa bc ac cd aa bc cd ac aa bc aaac bccd cd bcac cd aa aa ac bc cd aa bc acac cd ab bc bd dd ab bd bc dd abbc bc bddd dd ab bd ab bd bc dd bd bc dd ab ab bc bd dd ab bd bc dd
Kemudian dihitung determinan masing-masing Kemudian dihitung determinan masing-masing Kemudian dihitung determinan masing-masing Kemudian dihitung determinan masing-masing Kemudian dihitung determinan masing-masing matriks, sebuah angka untuk matriks,sehingga sehinggadidapatkan didapatkan sebuah angka matriks, sehingga didapatkan matriks, sehingga didapatkansebuah sebuahangka angka matriks, sehingga sebuah angka untuk masing-masing region. masing-masing region.didapatkan untuk masing-masing region. untuk masing-masing region. untuk masing-masing Untukregion. matriks Untuk matriksUntuk matriks Untuk matriks Untuk matriks
a b A aa abbb,maka det( A) ad bc AA Ac d ,,maka det( AA))A )ad bc , maka det( ad bc maka det( ad bc cc cdd d
Output dari tahapan ini untuk perlakuan Tabel 1 Variabel yang diukur dalamkedua penelitian Tabel 11 Variabel yang diukur dalam penelitian Tabel 1 Variabel yang diukur dalam penelitian Tabel Variabel yang diukur dalam penelitian adalah sebuah matriks 3x3 yang berisi identitas dari Average Time Average Loop gambar tanda tangan. Time Average Loop Average Time Average Average Loop Average Time Average Loop (second) (second) Ditentukan sebuah nilai unik yang dianalogikan (second) (second) BA 0.01073724698331 578.145057766 BA 578.145057766 0.01073724698331 578.145057766 sebagai dari pemilik tanda tangan. Proses training BABA ID0.01073724698331 0.01073724698331 578.145057766 M 19 367 M 19 M 19 M dilakukan 19 367367 yang untuk kedua 367 perlakuan merujuk NN 0.14653659263565 2138.54043645 NN NN 0.14653659263565 0.14653659263565 2138.54043645 2138.54043645 NN 0.14653659263565 2138.54043645 9 7 pada nilai 9unik ini sebagai target 7yang harus dicapai. 9 9 7 7 Waktu dan jumlah perulangan yang diperlukan Back Propagation Neural Network untuk melakukan proses Dari hasil penelitian dapat terlihat training dari kedua perlakuan disimpan diterlihat dalam Dari hasil penelitian dapat Dari hasil penelitian dapatterlihat hasil penelitian dapat terlihat bahwa Dari proses training dengan Back bahwa proses training dengan Back bahwa proses proses training dengan Back bahwa dengan Back Propagation tanpatraining normalisator memiliki 164 Propagation tanpa normalisator memiliki Propagation tanpa normalisator memiliki Propagation tanpa normalisator memiliki peluang yang lebih besar untuk mengalami peluang yang lebih besar untuk mengalami peluang yang lebih besar untuk mengalami peluang yang lebih besar untuk mengalami divergensi dibandingkan dengan normalisator divergensi dibandingkan dengan normalisator divergensi dibandingkan dengan normalisator divergensi dibandingkan dengan normalisator BAM. BAM. BAM. BAM.
05. Jurnal Binus 1.indd 164
24.7838616714697 % 24.7838616714697 % 24.7838616714697 24.7838616714697 %% Ditinjau dari jumlah perulangan yang Ditinjau dari jumlah perulangan yang diperlukan Neural Network untuk Ditinjau dari yang DitinjauBackPropagation darijumlah jumlahperulangan perulangan yang Ditinjau dari jumlah perulangan yang diperlukan BackPropagation Neural Network diperlukan BackPropagation Neural Network melakukan training, didapatkan hasil. Terlihat bahwa diperlukan BackPropagation Neural Network diperlukan BackPropagation Neural Network untuk melakukan training, didapatkan hasil: untuk melakukan training, didapatkan hasil: untuk melakukan training, didapatkan hasil: proses training tanpa normalisator memerlukan untuk melakukan training, didapatkan hasil: jumlah perulangan yang lebih banyak daripada proses training dengan normalisator. Sedangkan peninjauan dari waktu yang dibutuhkan Back Propagation Neural Network untuk melakukan training, didapatkan hasil:
Average Loop Average Loop Average Loop Average Loop
3000,000000000000 3000,000000000000 3000,000000000000 Average Loop 3000,000000000000 2500,000000000000 2000,000000000000 2000,000000000000 2000,000000000000 2000,000000000000 2000,000000000000 1500,000000000000 1000,000000000000 Average Loop Average Loop Average 1000,000000000000 Loop 1000,000000000000 1000,000000000000 1000,000000000000 Average Loop Average Loop Average Loop 2500,000000000000 500,000000000000 0,000000000000 2000,000000000000 0,000000000000 0,000000000000 0,000000000000 BAM 0,000000000000 NN 1500,000000000000 BAM NN BAM BAM NN BAM NNNN 1000,000000000000 500,000000000000
Average Loop
Gambar 0,000000000000
13 Grafik Perbandingan Jumlah
Average Time Perulangan yang Proses BAMDibutuhkan NNDalam Gambar 13 Grafik Perbandingan Jumlah Gambar 13 Grafik Perbandingan Jumlah training Gambar 13 Grafik Perbandingan Jumlah 0,1600000000000000 Gambar 13yang Grafik Perbandingan Jumlah Perulangan Dibutuhkan Dalam Proses Perulangan yang Dibutuhkan Dalam Proses 0,1400000000000000 Perulangan yang Dibutuhkan Dalam Proses Perulangan yang Dibutuhkan Dalam Proses training 0,1200000000000000 training training training Terlihat Average bahwa proses Time training tanpa 0,1000000000000000
Terlihat bahwa proses training tanpa Terlihat bahwa proses training tanpa Terlihat bahwa proses training tanpa normalisator memerlukan jumlah perulangan Average Time normalisator memerlukan jumlah perulangan normalisator memerlukan jumlah perulangan normalisator memerlukan jumlah yang lebih banyak daripada prosesperulangan training yang lebih banyak daripada proses training yang lebih banyak daripada proses training yang lebih banyak daripada proses training dengan normalisator. Sedangkan peninjauan dengan normalisator. Sedangkan peninjauan dengan normalisator. Sedangkan peninjauan dengan normalisator. Sedangkan peninjauan dari waktu yang dibutuhkan Back Propagation Average Time dari waktu yang dibutuhkan Back Propagation BAM NNBack dari waktu yang dibutuhkan Propagation dari waktu yang dibutuhkan Back Propagation 0,0600000000000000 Neural Network untuk melakukan training, Neural 0,0400000000000000 NeuralNetwork Networkuntuk untukmelakukan melakukantraining, training, Neural Network untuk melakukan training, didapatkan hasil: 0,0200000000000000 didapatkan hasil: didapatkan hasil: didapatkan hasil: 0,0000000000000000 0,0800000000000000 0,1600000000000000 0,0600000000000000 0,1400000000000000 0,0400000000000000 0,1200000000000000 0,0200000000000000 0,1000000000000000 0,0000000000000000 0,0800000000000000
BAM
NN
Average Time Average Time Average Time Average Time
Gambar 14 Grafik perbandingan waktu yang dibutuhkan dalam proses training
0,2000000000000000 0,2000000000000000 Terlihat bahwa proses training tanpa 0,2000000000000000 0,2000000000000000 0,1500000000000000 normalisator memerlukan waktu yang lebih lama 0,1500000000000000 0,1500000000000000 0,1500000000000000 0,1000000000000000 daripada proses training dengan normalisator. 0,1000000000000000 0,1000000000000000 0,1000000000000000 Average Time 0,0500000000000000 Average Time Average Time Average Time 0,0500000000000000 0,0500000000000000 0,0500000000000000 0,0000000000000000 0,0000000000000000 0,0000000000000000 0,0000000000000000 BAM BAM BAM NN BAM NN NN NN
n proses tangan, dengan Memory, Neural kukan di uan yang tersebut
dengan x = nilai perbandingan denganMasing-masing x = nilai perbandingan region, dibagi menjadi 4 bagian sama besar, dan diberi label a,b,c, dan d, seperti pada Dengan normalisator Bidirectional Associative gambar 12. Memory: Untuk setiap region, dihitung nilai perbandingan jumlah pixel hitam terhadap jumlah seluruh pixel di region tersebut. Digunakan rumus:
Average Time (second) 0.0107372469833119 0.146536592635659
25/02/2016 10:04:07
Fransisca Fortuna Dewi, BI Directional Associative Memory Sebagai Normalisator ....
IV. SIMPULAN Penelitian ini menitikberatkan pada pengembangan metode Bidirectional Associative Memory sebagai normalisator proses training gambar tanda tangan dengan metode Back Propagation Neural Network. Diharapkan dengan penggunaan normalisator, proses training dapat menjadi lebih baik tingkat keberhasilannya dan juga lebih cepat. Hasil penelitian menunjukkan, dengan penggunaan normalisator, didapatkan proses training gambar tanda tangan yang lebih cepat 13 kali, dan juga didapatkan tingkat divergensi yang lebih kecil, sebesar 0,384%, dibandingkan tanpa normalisator yang mencapai 24.783%. Walaupun dari hasil penelitian, terbukti bahwa penggunaan normalisator memberikan hasil yang lebih baik dan cepat, masih terdapat beberapa point yang dapat dikembangkan dari penelitian ini. Pengembangan penelitian tersebut yaitu penggunaan pendekatan nilai target, selain yang digunakan di penelitian ini, penggunaan metode training gambar tanda tangan lainnya, selain Back Propagation, peningkatan efisiensi dari kompleksitas algoritma yang digunakan di penelitian ini dan penggunaan normalisator Bidirectional Associative Memory untuk proses pengenalan citra lainnya, seperti wajah dan sidik jari.
V. DAFTAR PUSTAKA [1] N. A. Rasheed, “Proposed Preprocessing Algorithm for Signature Recognition,” University of Babylon [2]
[3]
M. B. Yilmaz. et al. “Offline Signature Verification Using Classifier Combination of HOG and LBP Features,”
International
Joint
Conference
on
Biometrics, pp. 1-7, 2011. [4]
D. K. Bhole. et al. “Offline Signature Using Cross, Validation and Graph Matching Approach,” International Journal of Technology and Engineering System (IJTES), vol. 2, pp. 67-70, 2011.
[5]
Y. P. Singh. et al. “Bi Directional Associative Memory Neural Network Method in the Character Recognition,” Journal of Theoretical and Applied Information Technology, Vols. 2005-2009, pp. 382-386, 2009.
[6]
M. Waadalla. et al. “Underwater Mobile Robot Global Localization by using Feedforward Backpropagation Neural Network,” Trends in Applied Sciences Research, vol. 9, pp. 312-318, 2014.
[7]
N. Salari. et al. “A Novel Hybrid Classification Model of Genetic Algorithms, Modified k-Nearest Neighbour and Developed Backpropagation Neural Network,” PLoS ONE, vol. 9, pp. 1-50, 2014.
[8]
J.
Cao.
et
al.
“An Adaboost-Backpropagation
Neural Network for Automated Image Sentiment Classification,” Hindawi Publishing Corporation - The Scientific World Journal, vol. 2014, pp. 1-9, 2014. [9]
S. J. Rusell and P. Norvig, Artificial Intelligence : a Modern Approach 3ed, Prentice Hall, 2010.
[10] M. T. Das and L. C. Dulger, “Signature Verification (SV) Toolbox: Application of PSO-NN,” Engineering Applications of Artificial Intelligence, vol. 22, pp. 688694 [4] [6], 2009. [11] S. Pal. et al. “Automatic Off-Line Signature Verification
College of Basic Education, pp. 1-10, 2012.
system: A Review,” IJCA Proceedings, vol. 14, pp. 20-
J. C. Martinez. et al. “On-line Signature Verification
27, 2011.
Based on Optimal Feature Representation and NeuralNetwork-Driven Fuzzy Reasoning,” Lecture Notes in Computer Science, vol. 5845, pp. 246-257, 2009.
165
05. Jurnal Binus 1.indd 165
25/02/2016 10:04:08