Kalbiscentia,Volume 2 No.2 Agustus 2015
158
ISSN 2356 - 4393
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.
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
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
Fransisca Fortuna Dewi, BI Directional Associative Memory Sebagai Normalisator ....
159
Beberapa algoritma yang telah dikembangkandemi 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 masing-masing. 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.
Kalbiscentia,Volume 2 No.2 Agustus 2015
160
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.
Gambar 6 Penampakan Gambar Sebelum dan
Sesudah Tahapan Image Trimming
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
Proses ini menambahkan area kosong ke gambar agar ukurannya fix.
Gambar 8 Penampakan Gambar Sebelum dan Sesudah Tahapan Image Centralization 2
Normalisasi dengan Bidirectional Associative Memory
BAM menggunakan 2 layer X dan Y yang saling berasosiasi. Layer-layer tersebut disimpan dalam matriks dua dimensi.
Konsep dasar BAM:
M pasang polaakan disimpulkan dalam BAM di mana 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:
M pasang pola akan disimpulkan dalam BAM di mana 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:
Jika m pasang pola telah disimpan dalam BAM w, maka pada saat diperlukan, dapat dipanggil (retrieved, recalled, decoded), sebagai berikut:
Fungsi threshold-nya didefinisikan dengan:
Contoh penerapan rumus:
Perhatikan tiga pasang pola berikut:
Konstruksikan BAM w untuk menyimpan 3 pasang pola tersebut
Jawab: +
Training
dengan
Back Propagation
Neural Network
Back Propagation adalah salah satu metode yang sering digunakan untuk training sebuah Neural Network. Back Propagation terdiri dari 2 langkah [9], yaitu: (1) Feed forward (langkah maju) – digunakan saat training dan verifikasi. (2) Backward (langkah mundur) – digunakan saat training, untuk memperbaiki bobot (weighting factors).
Gambar 9 Diagram Posisi Layer Input, Hidden, Output pada Back Propagation Neural Network
Algoritma
Training Back
Propagation
Langkah 0: Inisialisasi bobot.
Langkah 1: Selama kondisi berhenti false, lakukan langkah 2-9
Langkah 2: Untuk setiap pasangan data latihan, lakukan langkah 3-8
M pasang pola akan disimpulkan dalam BAM di mana 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:
Jika m pasang pola telah disimpan dalam BAM w, maka pada saat diperlukan, dapat dipanggil (retrieved, recalled, decoded), sebagai berikut:
Fungsi threshold-nya didefinisikan dengan:
Contoh penerapan rumus:
Perhatikan tiga pasang pola berikut:
Konstruksikan BAM w untuk menyimpan 3 pasang pola tersebut
Jawab: +
Training
dengan
Back Propagation
Neural Network
Back Propagation adalah salah satu metode yang sering digunakan untuk training sebuah Neural Network. Back Propagation terdiri dari 2 langkah [9], yaitu: (1) Feed forward (langkah maju) – digunakan saat training dan verifikasi. (2) Backward (langkah mundur) – digunakan saat training, untuk memperbaiki bobot (weighting factors).
Gambar 9 Diagram Posisi Layer Input, Hidden, Output pada Back Propagation Neural Network
Algoritma
Training Back
Propagation
Langkah 0: Inisialisasi bobot.
Langkah 1: Selama kondisi berhenti false, lakukan langkah 2-9
Langkah 2: Untuk setiap pasangan data latihan, lakukan langkah 3-8
M pasang pola akan disimpulkan dalam BAM di mana 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:
Jika m pasang pola telah disimpan dalam BAM w, maka pada saat diperlukan, dapat dipanggil (retrieved, recalled, decoded), sebagai berikut:
Fungsi threshold-nya didefinisikan dengan:
Contoh penerapan rumus:
Perhatikan tiga pasang pola berikut:
Konstruksikan BAM w untuk menyimpan 3 pasang pola tersebut
Jawab: +
Training
dengan
Back Propagation
Neural Network
Back Propagation adalah salah satu metode yang sering digunakan untuk training sebuah Neural Network. Back Propagation terdiri dari 2 langkah [9], yaitu: (1) Feed forward (langkah maju) – digunakan saat training dan verifikasi. (2) Backward (langkah mundur) – digunakan saat training, untuk memperbaiki bobot (weighting factors).
Gambar 9 Diagram Posisi Layer Input, Hidden, Output pada Back Propagation Neural Network
Algoritma
Training Back
Propagation
Langkah 0: Inisialisasi bobot.
Langkah 1: Selama kondisi berhenti false, lakukan langkah 2-9
Langkah 2: Untuk setiap pasangan data latihan, lakukan langkah 3-8
Fransisca Fortuna Dewi, BI Directional Associative Memory Sebagai Normalisator ....
161
Algoritma
Training Back
Propagation
Langkah 0: Inisialisasi bobot.
Langkah 1: Selama kondisi berhenti false, lakukan langkah 2-9
Langkah 2: Untuk setiap pasangan data latihan, lakukan langkah 3-8
Feedforward (langkah maju)
Langkah3: Setiap unit input
menerima sinyal input dan meneruskan sinyal tersebut ke semua unit pada lapisan di atas (hiddenlayer).
Langkah4: Setiap unit tersembunyi menjumlahkan sinyal-sinyal input terbobot,
Gunakan fungsi aktivasi untuk menghitung sinyal output,
Dan kiriman sinyal tersebut ke semua unit di lapisan atasnya (unit-unit output).
Langkah 5: Setiap unit output menjumlahkan sinyal-sinyal input terbobot,
Gunakan fungsi aktivasi untuk menghitung sinyal output-nya,
Backward (langkah mundur)
Langkah 6: Tiap-tiap unit output menerima pola target yang berhubungan dengan pola input pembelajaran, hitung informasi error,
)
Hitung koreksi bobot (yang nantinya akan digunakan untuk memperbaiki nilai ),
Hitung juga koreksi bias (yang nantinya akan digunakan untuk memperbaiki nilai ),
dan kirimkan nilai ke unit-unit yang ada dilapisan bawahnya.
Langkah 7: Tiap-tiap hidden unit menjumlahkan delta inputnya (dari unit yang berada pada lapisan atasnya.),
Kalikan nilai ini dengan turunan dari fungsi aktivasinya untuk menghitung informasi error,
Kemudian hitung koreksi bobot (yang nantinya digunakan untuk memperbaiki nilai ),
Hitung juga koreksi bias (yang nantinya digunakan untuk memperbaiki nilai ),
Perbaikan Bobot dan Bias;
Langkah 8: Setiap unit output memperbaiki bobot dan bias
,
Setiap unit tersembunyi
memperbaiki bobot dan bias , Langkah 9: Tes kondisi berhenti.
Algoritma
Implementasi Back
Propagation
Langkah 0: Inisialisasi bobot (dari hasil algoritma training)
Langkah 1: Selama kondisi berhenti false, lakukan langkah 2-4
Hanya bagian Feedforward (langkah maju): Langkah 2: Setiap unit input menerima sinyal input dan meneruskan sinyal tersebut ke semua unit pada lapisan di atas (hiddenlayer).
Langkah 4: Setiap unit tersembunyi menjumlahkan sinyal-sinyal input terbobot,
Gunakan fungsi aktivasi untuk menghitung sinyal output,
Training dengan Back Propagation Neural Network
Back Propagation adalah salah satu metode yang sering digunakan untuk training sebuah Neural Network. Back Propagation terdiri dari 2 langkah [9], yaitu: (1) Feed forward (langkah maju) – digunakan saat training dan verifikasi. (2) Backward (langkah mundur) – digunakan saat training, untuk memperbaiki bobot (weighting factors).
Gambar 9 Diagram Posisi Layer Input, Hidden, Output pada Back Propagation Neural Network Algoritma Training Back Propagation
Langkah 0: Inisialisasi bobot.
Langkah 1: Selama kondisi berhenti false, lakukan langkah 2-9
Langkah 2: Untuk setiap pasangan data latihan, lakukan langkah 3-8
Feedforward (langkah maju)
Backward (langkah mundur)
Perbaikan Bobot dan Bias;
Algoritma
Training Back
Propagation
Langkah 0: Inisialisasi bobot.
Langkah 1: Selama kondisi berhenti false, lakukan langkah 2-9
Langkah 2: Untuk setiap pasangan data latihan, lakukan langkah 3-8
Feedforward (langkah maju)
Langkah3: Setiap unit input
menerima sinyal input dan meneruskan sinyal tersebut ke semua unit pada lapisan di atas (hiddenlayer).
Langkah4: Setiap unit tersembunyi menjumlahkan sinyal-sinyal input terbobot,
Gunakan fungsi aktivasi untuk menghitung sinyal output,
Dan kiriman sinyal tersebut ke semua unit di lapisan atasnya (unit-unit output).
Langkah 5: Setiap unit output menjumlahkan sinyal-sinyal input terbobot,
Gunakan fungsi aktivasi untuk menghitung sinyal output-nya,
Backward (langkah mundur)
Langkah 6: Tiap-tiap unit output menerima pola target yang berhubungan dengan pola input pembelajaran, hitung informasi error,
)
Hitung koreksi bobot (yang nantinya akan digunakan untuk memperbaiki nilai ),
Hitung juga koreksi bias (yang nantinya akan digunakan untuk memperbaiki nilai ),
dan kirimkan nilai ke unit-unit yang ada dilapisan bawahnya.
Langkah 7: Tiap-tiap hidden unit menjumlahkan delta inputnya (dari unit yang berada pada lapisan atasnya.),
Kalikan nilai ini dengan turunan dari fungsi aktivasinya untuk menghitung informasi error,
Kemudian hitung koreksi bobot (yang nantinya digunakan untuk memperbaiki nilai ),
Hitung juga koreksi bias (yang nantinya digunakan untuk memperbaiki nilai ),
Perbaikan Bobot dan Bias;
Langkah 8: Setiap unit output memperbaiki bobot dan bias
,
Setiap unit tersembunyi
memperbaiki bobot dan bias , Langkah 9: Tes kondisi berhenti.
Algoritma
Implementasi Back
Propagation
Langkah 0: Inisialisasi bobot (dari hasil algoritma training)
Langkah 1: Selama kondisi berhenti false, lakukan langkah 2-4
Hanya bagian Feedforward (langkah maju): Langkah 2: Setiap unit input menerima sinyal input dan meneruskan sinyal tersebut ke semua unit pada lapisan di atas (hiddenlayer).
Langkah 4: Setiap unit tersembunyi menjumlahkan sinyal-sinyal input terbobot,
Gunakan fungsi aktivasi untuk menghitung sinyal output,
M pasang pola akan disimpulkan dalam BAM di mana 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:
Jika m pasang pola telah disimpan dalam BAM w, maka pada saat diperlukan, dapat dipanggil (retrieved, recalled, decoded), sebagai berikut:
Fungsi threshold-nya didefinisikan dengan:
Contoh penerapan rumus:
Perhatikan tiga pasang pola berikut:
Konstruksikan BAM w untuk menyimpan 3 pasang pola tersebut
Jawab: +
Training
dengan
Back Propagation
Neural Network
Back Propagation adalah salah satu metode yang sering digunakan untuk training sebuah Neural Network. Back Propagation terdiri dari 2 langkah [9], yaitu: (1) Feed forward (langkah maju) – digunakan saat training dan verifikasi. (2) Backward (langkah mundur) – digunakan saat training, untuk memperbaiki bobot (weighting factors).
Gambar 9 Diagram Posisi Layer Input, Hidden, Output pada Back Propagation Neural Network
Algoritma
Training Back
Propagation
Langkah 0: Inisialisasi bobot.
Langkah 1: Selama kondisi berhenti false, lakukan langkah 2-9
Langkah 2: Untuk setiap pasangan data latihan, lakukan langkah 3-8
Algoritma
Training Back
Propagation
Langkah 0: Inisialisasi bobot.
Langkah 1: Selama kondisi berhenti false, lakukan langkah 2-9
Langkah 2: Untuk setiap pasangan data latihan, lakukan langkah 3-8
Feedforward (langkah maju)
Langkah3: Setiap unit input
menerima sinyal input dan meneruskan sinyal tersebut ke semua unit pada lapisan di atas (hiddenlayer).
Langkah4: Setiap unit tersembunyi menjumlahkan sinyal-sinyal input terbobot,
Gunakan fungsi aktivasi untuk menghitung sinyal output,
Dan kiriman sinyal tersebut ke semua unit di lapisan atasnya (unit-unit output).
Langkah 5: Setiap unit output menjumlahkan sinyal-sinyal input terbobot,
Gunakan fungsi aktivasi untuk menghitung sinyal output-nya,
Backward (langkah mundur)
Langkah 6: Tiap-tiap unit output menerima pola target yang berhubungan dengan pola input pembelajaran, hitung informasi error,
)
Hitung koreksi bobot (yang nantinya akan digunakan untuk memperbaiki nilai ),
Hitung juga koreksi bias (yang nantinya akan digunakan untuk memperbaiki nilai ),
dan kirimkan nilai ke unit-unit yang ada dilapisan bawahnya.
Langkah 7: Tiap-tiap hidden unit menjumlahkan delta inputnya (dari unit yang berada pada lapisan atasnya.),
Kalikan nilai ini dengan turunan dari fungsi aktivasinya untuk menghitung informasi error,
Kemudian hitung koreksi bobot (yang nantinya digunakan untuk memperbaiki nilai ),
Hitung juga koreksi bias (yang nantinya digunakan untuk memperbaiki nilai ),
Perbaikan Bobot dan Bias;
Langkah 8: Setiap unit output memperbaiki bobot dan bias
,
Setiap unit tersembunyi
memperbaiki bobot dan bias , Langkah 9: Tes kondisi berhenti.
Algoritma
Implementasi Back
Propagation
Langkah 0: Inisialisasi bobot (dari hasil algoritma training)
Langkah 1: Selama kondisi berhenti false, lakukan langkah 2-4
Hanya bagian Feedforward (langkah maju): Langkah 2: Setiap unit input menerima sinyal input dan meneruskan sinyal tersebut ke semua unit pada lapisan di atas (hiddenlayer).
Langkah 4: Setiap unit tersembunyi menjumlahkan sinyal-sinyal input terbobot,
Gunakan fungsi aktivasi untuk menghitung sinyal output,
Algoritma
Training Back
Propagation
Langkah 0: Inisialisasi bobot.
Langkah 1: Selama kondisi berhenti false, lakukan langkah 2-9
Langkah 2: Untuk setiap pasangan data latihan, lakukan langkah 3-8
Feedforward (langkah maju)
Langkah3: Setiap unit input
menerima sinyal input dan meneruskan sinyal tersebut ke semua unit pada lapisan di atas (hiddenlayer).
Langkah4: Setiap unit tersembunyi menjumlahkan sinyal-sinyal input terbobot,
Gunakan fungsi aktivasi untuk menghitung sinyal output,
Dan kiriman sinyal tersebut ke semua unit di lapisan atasnya (unit-unit output).
Langkah 5: Setiap unit output menjumlahkan sinyal-sinyal input terbobot,
Gunakan fungsi aktivasi untuk menghitung sinyal output-nya,
Backward (langkah mundur)
Langkah 6: Tiap-tiap unit output menerima pola target yang berhubungan dengan pola input pembelajaran, hitung informasi error,
)
Hitung koreksi bobot (yang nantinya akan digunakan untuk memperbaiki nilai ),
Hitung juga koreksi bias (yang nantinya akan digunakan untuk memperbaiki nilai ),
dan kirimkan nilai ke unit-unit yang ada dilapisan bawahnya.
Langkah 7: Tiap-tiap hidden unit menjumlahkan delta inputnya (dari unit yang berada pada lapisan atasnya.),
Kalikan nilai ini dengan turunan dari fungsi aktivasinya untuk menghitung informasi error,
Kemudian hitung koreksi bobot (yang nantinya digunakan untuk memperbaiki nilai ),
Hitung juga koreksi bias (yang nantinya digunakan untuk memperbaiki nilai ),
Perbaikan Bobot dan Bias;
Langkah 8: Setiap unit output memperbaiki bobot dan bias
,
Setiap unit tersembunyi
memperbaiki bobot dan bias , Langkah 9: Tes kondisi berhenti.
Algoritma
Implementasi Back
Propagation
Langkah 0: Inisialisasi bobot (dari hasil algoritma training)
Langkah 1: Selama kondisi berhenti false, lakukan langkah 2-4
Hanya bagian Feedforward (langkah maju): Langkah 2: Setiap unit input menerima sinyal input dan meneruskan sinyal tersebut ke semua unit pada lapisan di atas (hiddenlayer).
Langkah 4: Setiap unit tersembunyi menjumlahkan sinyal-sinyal input terbobot,
Gunakan fungsi aktivasi untuk menghitung sinyal output,
Algoritma
Training Back
Propagation
Langkah 0: Inisialisasi bobot.
Langkah 1: Selama kondisi berhenti false, lakukan langkah 2-9
Langkah 2: Untuk setiap pasangan data latihan, lakukan langkah 3-8
Feedforward (langkah maju)
Langkah3: Setiap unit input
menerima sinyal input dan meneruskan sinyal tersebut ke semua unit pada lapisan di atas (hiddenlayer).
Langkah4: Setiap unit tersembunyi menjumlahkan sinyal-sinyal input terbobot,
Gunakan fungsi aktivasi untuk menghitung sinyal output,
Dan kiriman sinyal tersebut ke semua unit di lapisan atasnya (unit-unit output).
Langkah 5: Setiap unit output menjumlahkan sinyal-sinyal input terbobot,
Gunakan fungsi aktivasi untuk menghitung sinyal output-nya,
Backward (langkah mundur)
Langkah 6: Tiap-tiap unit output menerima pola target yang berhubungan dengan pola input pembelajaran, hitung informasi error,
)
Hitung koreksi bobot (yang nantinya akan digunakan untuk memperbaiki nilai ),
Hitung juga koreksi bias (yang nantinya akan digunakan untuk memperbaiki nilai ),
dan kirimkan nilai ke unit-unit yang ada dilapisan bawahnya.
Langkah 7: Tiap-tiap hidden unit menjumlahkan delta inputnya (dari unit yang berada pada lapisan atasnya.),
Kalikan nilai ini dengan turunan dari fungsi aktivasinya untuk menghitung informasi error,
Kemudian hitung koreksi bobot (yang nantinya digunakan untuk memperbaiki nilai ),
Hitung juga koreksi bias (yang nantinya digunakan untuk memperbaiki nilai ),
Perbaikan Bobot dan Bias;
Langkah 8: Setiap unit output memperbaiki bobot dan bias
,
Setiap unit tersembunyi
memperbaiki bobot dan bias , Langkah 9: Tes kondisi berhenti.
Algoritma
Implementasi Back
Propagation
Langkah 0: Inisialisasi bobot (dari hasil algoritma training)
Langkah 1: Selama kondisi berhenti false, lakukan langkah 2-4
Hanya bagian Feedforward (langkah maju): Langkah 2: Setiap unit input menerima sinyal input dan meneruskan sinyal tersebut ke semua unit pada lapisan di atas (hiddenlayer).
Langkah 4: Setiap unit tersembunyi menjumlahkan sinyal-sinyal input terbobot,
Gunakan fungsi aktivasi untuk menghitung sinyal output,
Kalbiscentia,Volume 2 No.2 Agustus 2015
162
Algoritma Implementasi Back Propagation
Algoritma
Training Back
Propagation
Langkah 0: Inisialisasi bobot.
Langkah 1: Selama kondisi berhenti false, lakukan langkah 2-9
Langkah 2: Untuk setiap pasangan data latihan, lakukan langkah 3-8
Feedforward (langkah maju)
Langkah3: Setiap unit input
menerima sinyal input dan meneruskan sinyal tersebut ke semua unit pada lapisan di atas (hiddenlayer).
Langkah4: Setiap unit tersembunyi menjumlahkan sinyal-sinyal input terbobot,
Gunakan fungsi aktivasi untuk menghitung sinyal output,
Dan kiriman sinyal tersebut ke semua unit di lapisan atasnya (unit-unit output).
Langkah 5: Setiap unit output menjumlahkan sinyal-sinyal input terbobot,
Gunakan fungsi aktivasi untuk menghitung sinyal output-nya,
Backward (langkah mundur)
Langkah 6: Tiap-tiap unit output menerima pola target yang berhubungan dengan pola input pembelajaran, hitung informasi error,
)
Hitung koreksi bobot (yang nantinya akan digunakan untuk memperbaiki nilai ),
Hitung juga koreksi bias (yang nantinya akan digunakan untuk memperbaiki nilai ),
dan kirimkan nilai ke unit-unit yang ada dilapisan bawahnya.
Langkah 7: Tiap-tiap hidden unit menjumlahkan delta inputnya (dari unit yang berada pada lapisan atasnya.),
Kalikan nilai ini dengan turunan dari fungsi aktivasinya untuk menghitung informasi error,
Kemudian hitung koreksi bobot (yang nantinya digunakan untuk memperbaiki nilai ),
Hitung juga koreksi bias (yang nantinya digunakan untuk memperbaiki nilai ),
Perbaikan Bobot dan Bias;
Langkah 8: Setiap unit output memperbaiki bobot dan bias
,
Setiap unit tersembunyi
memperbaiki bobot dan bias , Langkah 9: Tes kondisi berhenti.
Algoritma
Implementasi Back
Propagation
Langkah 0: Inisialisasi bobot (dari hasil algoritma training)
Langkah 1: Selama kondisi berhenti false, lakukan langkah 2-4
Hanya bagian Feedforward (langkah maju): Langkah 2: Setiap unit input menerima sinyal input dan meneruskan sinyal tersebut ke semua unit pada lapisan di atas (hiddenlayer).
Langkah 4: Setiap unit tersembunyi menjumlahkan sinyal-sinyal input terbobot,
Gunakan fungsi aktivasi untuk menghitung sinyal output,
Dan kiriman sinyal tersebut ke semua unit di lapisan atasnya (unit-unit output).
Langkah 5: Setiap unit output menjumlahkan sinyal-sinyal input terbobot,
Gunakan fungsi aktivasi untuk menghitung sinyal output,
Contoh soal: Suatu model aplikasi pengenalan pola (Pattern Recognition) didesain menggunakan model Back propagation. Diketahui bahwa ada 1 pasang input dan output untuk training berikut:
dan
1. Gambarkan / desain model Backpropagation dengan satu hidden layer.
2. Berikan notasi untuk setiap input, output, dan koneksi antar layer, serta bias pada hidden layer dan outpu tlayer.
3. Tentukan bobot/weight pada matrik v dan 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 :
Matriks nilai bias :
Perhitungan nilai :
Dengan fungsi sigmoid biner ( = 1):
Dengan fungsi sigmoid biner ( = 1):
Dan kiriman sinyal tersebut ke semua unit di lapisan atasnya (unit-unit output).
Langkah 5: Setiap unit output menjumlahkan sinyal-sinyal input terbobot,
Gunakan fungsi aktivasi untuk menghitung sinyal output,
Contoh soal: Suatu model aplikasi pengenalan pola (Pattern Recognition) didesain menggunakan model Back propagation. Diketahui bahwa ada 1 pasang input dan output untuk training berikut:
dan
1. Gambarkan / desain model Backpropagation dengan satu hidden layer.
2. Berikan notasi untuk setiap input, output, dan koneksi antar layer, serta bias pada hidden layer dan outpu tlayer.
3. Tentukan bobot/weight pada matrik v dan 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 :
Matriks nilai bias :
Perhitungan nilai :
Dengan fungsi sigmoid biner ( = 1):
Dengan fungsi sigmoid biner ( = 1):
Dan kiriman sinyal tersebut ke semua unit di lapisan atasnya (unit-unit output).
Langkah 5: Setiap unit output menjumlahkan sinyal-sinyal input terbobot,
Gunakan fungsi aktivasi untuk menghitung sinyal output,
Contoh soal: Suatu model aplikasi pengenalan pola (Pattern Recognition) didesain menggunakan model Back propagation. Diketahui bahwa ada 1 pasang input dan output untuk training berikut:
dan
1. Gambarkan / desain model Backpropagation dengan satu hidden layer.
2. Berikan notasi untuk setiap input, output, dan koneksi antar layer, serta bias pada hidden layer dan outpu tlayer.
3. Tentukan bobot/weight pada matrik v dan 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 :
Matriks nilai bias :
Perhitungan nilai :
Dengan fungsi sigmoid biner ( = 1):
Dengan fungsi sigmoid biner ( = 1):
Algoritma
Training Back
Propagation
Langkah 0: Inisialisasi bobot.
Langkah 1: Selama kondisi berhenti false, lakukan langkah 2-9
Langkah 2: Untuk setiap pasangan data latihan, lakukan langkah 3-8
Feedforward (langkah maju)
Langkah3: Setiap unit input
menerima sinyal input dan meneruskan sinyal tersebut ke semua unit pada lapisan di atas (hiddenlayer).
Langkah4: Setiap unit tersembunyi menjumlahkan sinyal-sinyal input terbobot,
Gunakan fungsi aktivasi untuk menghitung sinyal output,
Dan kiriman sinyal tersebut ke semua unit di lapisan atasnya (unit-unit output).
Langkah 5: Setiap unit output menjumlahkan sinyal-sinyal input terbobot,
Gunakan fungsi aktivasi untuk menghitung sinyal output-nya,
Backward (langkah mundur)
Langkah 6: Tiap-tiap unit output menerima pola target yang berhubungan dengan pola input pembelajaran, hitung informasi error,
)
Hitung koreksi bobot (yang nantinya akan digunakan untuk memperbaiki nilai ),
Hitung juga koreksi bias (yang nantinya akan digunakan untuk memperbaiki nilai ),
dan kirimkan nilai ke unit-unit yang ada dilapisan bawahnya.
Langkah 7: Tiap-tiap hidden unit menjumlahkan delta inputnya (dari unit yang berada pada lapisan atasnya.),
Kalikan nilai ini dengan turunan dari fungsi aktivasinya untuk menghitung informasi error,
Kemudian hitung koreksi bobot (yang nantinya digunakan untuk memperbaiki nilai ),
Hitung juga koreksi bias (yang nantinya digunakan untuk memperbaiki nilai ),
Perbaikan Bobot dan Bias;
Langkah 8: Setiap unit output memperbaiki bobot dan bias
,
Setiap unit tersembunyi
memperbaiki bobot dan bias , Langkah 9: Tes kondisi berhenti.
Algoritma
Implementasi Back
Propagation
Langkah 0: Inisialisasi bobot (dari hasil algoritma training)
Langkah 1: Selama kondisi berhenti false, lakukan langkah 2-4
Hanya bagian Feedforward (langkah maju): Langkah 2: Setiap unit input menerima sinyal input dan meneruskan sinyal tersebut ke semua unit pada lapisan di atas (hiddenlayer).
Langkah 4: Setiap unit tersembunyi menjumlahkan sinyal-sinyal input terbobot,
Gunakan fungsi aktivasi untuk menghitung sinyal output,
Dan kiriman sinyal tersebut ke semua unit di lapisan atasnya (unit-unit output).
Langkah 5: Setiap unit output menjumlahkan sinyal-sinyal input terbobot,
Gunakan fungsi aktivasi untuk menghitung sinyal output,
Contoh soal: Suatu model aplikasi pengenalan pola (Pattern Recognition) didesain menggunakan model Back propagation. Diketahui bahwa ada 1 pasang input dan output untuk training berikut:
dan
1. Gambarkan / desain model Backpropagation dengan satu hidden layer.
2. Berikan notasi untuk setiap input, output, dan koneksi antar layer, serta bias pada hidden layer dan outpu tlayer.
3. Tentukan bobot/weight pada matrik v dan 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 :
Matriks nilai bias :
Perhitungan nilai :
Dengan fungsi sigmoid biner ( = 1):
Dengan fungsi sigmoid biner ( = 1):
Fransisca Fortuna Dewi, BI Directional Associative Memory Sebagai Normalisator ....
163
III.
HASIL DAN PEMBAHASAN
Dalam penelitian ini, dilakukan proses training sesuai dengan prosedur seperti pada Gambar 10.
Pada penelitian ini, dilakukan proses training terhadap 1041 gambar tanda tangan, baik tanpa normalisator maupun dengan normalisator Bidirectional Associative Memory, dengan metode Back Propagation Neural Network. Kedua proses training dilakukan di lingkungan yang sama, dengan perlakuan yang sama. Pelakuan-perlakuan yang sama tersebut ialah:
Untuk masing-masing gambar, dikenakan perlakuan: (1) Pemurnian gambar, yang mencakup proses binarization, noise removal, image scaling, image centralization, image rotation, dan image trimming. (2) Gambar yang telah dimurnikan, dibagi menjadi 9 bagian, membentuk 3x3 matriks, seperti gambar 11. [10].
Gambar 11 Pembagian gambar tanda tangan menjadi 3x3 region
Pada tahapan ini, diterapkan perlakuan berbeda antara algoritma yang menggunakan normalisator, 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
HASIL DAN PEMBAHASAN
Dalam penelitian ini, dilakukan proses training sesuai dengan prosedur sebagai berikut.
Gambar 10 Diagram Alur Proses Training dengan Normalisator BAM
Pada penelitian ini, dilakukan proses training terhadap 1041 gambar tanda tangan, baik tanpa normalisator maupun dengan normalisator Bidirectional Associative Memory, dengan metode Back Propagation Neural Network. Kedua proses training dilakukan di lingkungan yang sama, dengan perlakuan yang sama. Pelakuan-perlakuan yang sama tersebut ialah:
1.
Nilai koefisian learning rate = 0.52.
Fungsi aktivasi Sigmoid Biner :
3.
Nilai sigma ( ) : parameter kecurangan = 14.
Jumlah node di input layer = 95.
Jumlah node di output layer = 16.
Jumlah node di hidden layer = 77.
Jumlah iterasi maksimal = 200008.
Target error = 0.00001Untuk masing-masing gambar, dikenakan perlakuan: (1) Pemurnian gambar, yang mencakup proses binarization, noise
removal, image scaling, image centralization, image rotation, dan image trimming. (2) Gambar yang telah dimurnikan, dibagi menjadi 9 bagian, membentuk 3x3 matriks, seperti gambar 11. [10].
Gambar 11 Pembagian gambar tanda tangan menjadi 3x3 region
Pada tahapan ini, diterapkan perlakuan berbeda antara algoritma yang menggunakan normalisator, 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
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 pada gambar 4.2.
HASIL DAN PEMBAHASAN
Dalam penelitian ini, dilakukan proses training sesuai dengan prosedur sebagai berikut.
Gambar 10 Diagram Alur Proses Training dengan Normalisator BAM
Pada penelitian ini, dilakukan proses training terhadap 1041 gambar tanda tangan, baik tanpa normalisator maupun dengan normalisator Bidirectional Associative Memory, dengan metode Back Propagation Neural Network. Kedua proses training dilakukan di lingkungan yang sama, dengan perlakuan yang sama. Pelakuan-perlakuan yang sama tersebut ialah:
1.
Nilai koefisian learning rate = 0.52.
Fungsi aktivasi Sigmoid Biner :
3.
Nilai sigma ( ) : parameter kecurangan = 14.
Jumlah node di input layer = 95.
Jumlah node di output layer = 16.
Jumlah node di hidden layer = 77.
Jumlah iterasi maksimal = 200008.
Target error = 0.00001Untuk masing-masing gambar, dikenakan perlakuan: (1) Pemurnian gambar, yang mencakup proses binarization, noise
removal, image scaling, image centralization, image rotation, dan image trimming. (2) Gambar yang telah dimurnikan, dibagi menjadi 9 bagian, membentuk 3x3 matriks, seperti gambar 11. [10].
Gambar 11 Pembagian gambar tanda tangan menjadi 3x3 region
Pada tahapan ini, diterapkan perlakuan berbeda antara algoritma yang menggunakan normalisator, 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
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 pada gambar 4.2.
Dan kiriman sinyal tersebut ke semua unit di lapisan atasnya (unit-unit output).
Langkah 5: Setiap unit output menjumlahkan sinyal-sinyal input terbobot,
Gunakan fungsi aktivasi untuk menghitung sinyal output,
Contoh soal: Suatu model aplikasi pengenalan pola (Pattern Recognition) didesain menggunakan model Back propagation. Diketahui bahwa ada 1 pasang input dan output untuk training berikut:
dan
1. Gambarkan / desain model Backpropagation dengan satu hidden layer.
2. Berikan notasi untuk setiap input, output, dan koneksi antar layer, serta bias pada hidden layer dan outpu tlayer.
3. Tentukan bobot/weight pada matrik v dan 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 :
Matriks nilai bias :
Perhitungan nilai :
Dengan fungsi sigmoid biner ( = 1):
Dengan fungsi sigmoid biner ( = 1):
Gambar 10 Diagram Alur Proses Training dengan Normalisator BAM
HASIL DAN PEMBAHASAN
Dalam penelitian ini, dilakukan proses training sesuai dengan prosedur sebagai berikut.
Gambar 10 Diagram Alur Proses Training dengan Normalisator BAM
Pada penelitian ini, dilakukan proses training terhadap 1041 gambar tanda tangan, baik tanpa normalisator maupun dengan normalisator Bidirectional Associative Memory, dengan metode Back Propagation Neural Network. Kedua proses training dilakukan di lingkungan yang sama, dengan perlakuan yang sama. Pelakuan-perlakuan yang sama tersebut ialah:
1.
Nilai koefisian learning rate = 0.52.
Fungsi aktivasi Sigmoid Biner :
3.
Nilai sigma ( ) : parameter kecurangan = 14.
Jumlah node di input layer = 95.
Jumlah node di output layer = 16.
Jumlah node di hidden layer = 77.
Jumlah iterasi maksimal = 200008.
Target error = 0.00001Untuk masing-masing gambar, dikenakan perlakuan: (1) Pemurnian gambar, yang mencakup proses binarization, noise
removal, image scaling, image centralization, image rotation, dan image trimming. (2) Gambar yang telah dimurnikan, dibagi menjadi 9 bagian, membentuk 3x3 matriks, seperti gambar 11. [10].
Gambar 11 Pembagian gambar tanda tangan menjadi 3x3 region
Pada tahapan ini, diterapkan perlakuan berbeda antara algoritma yang menggunakan normalisator, 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
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 pada gambar 4.2.