Iwan Suhardi, Toleransi Unjuk Pengenalan Jaringan Syaraf Tiruan
TOLERANSI UNJUK PENGENALAN JARINGAN SYARAF TIRUAN PADA PENAMBAHAN DERAU DAN SUDUT PUTARAN TERHADAP POLA KARAKTER TULISAN TANGAN JENIS ANGKA Iwan Suhardi Jurusan Pendidikan Teknik Elektro Fakultas Teknik Universitas Negeri Makassar Email :
[email protected]
ABSTRAK Permasalahan yang dihadapi dalam mengenali pola tulisan tangan sangat kompleks, dikarenakan antara lain banyaknya variasi model tulisan tangan, pena untuk menulis, dan ukuran tulisan tangan. Pengenalan ini akan bertambah kerumitannya bila pola yang akan dikenali ditambah dengan derau dan diputar. Penelitian ini menganalisis sampai seberapa besar penambahan derau dan sudut putaran pada pola angka tulisan tangan yang masih dapat ditoleransi oleh arsitektur jaringan syaraf tiruan. Hasil penelitian menunjukkan jaringan syaraf tiruan memberikan unjuk pengenalan pola angka tulisan tangan mencapai 90%. Pada penambahan derau 10%, jaringan masih mampu memberikan unjuk pengenalan sebesar 75%. Pada penambahan sudut putaran 5o, jaringan masih mampu memberikan unjuk pengenalan sebesar 73%. Pengaruh gabungan penambahan derau dan besarnya sudut putaran akan menurunkan unjuk pengenalan dibandingkan dengan pengaruh penambahan derau dan sudut putaran secara terpisah (sendiri-sendiri). Jaringan hanya mampu memberikan unjuk 72% pada gabungan penambahan derau 5% dan sudut putaran 5o. Kata Kunci : Jaringan syaraf tiruan, derau, sudut putaran, pengenalan pola
JARINGAN SYARAF TIRUAN Pembacaan suatu karakter dengan komputer yang dikenal sebagai Optical Character Recognition (OCR), merupakan topik yang hangat diteliti selama bertahun-tahun. Solusi untuk permasalahan ini pada umumnya didasarkan pada proses segmentasi masukan menjadi karakterkarakter. Sistem OCR telah dikomersialkan secara luas untuk pemrosesan dokumen-dokumen hasil cetakan, namun teknik-teknik untuk membaca tulisan tangan belum sukses diaplikasikan. Hal ini dikarenakan permasalahan yang dihadapi untuk pengenalan tulisan tangan sangat kompleks, seperti bervariasinya model tulisan tangan, pena untuk menulis, dan lain lain. Jaringan syaraf tiruan diilhami oleh jaringan syaraf manusia yang dapat belajar dari pengalaman, melakukan generalisasi berdasarkan contoh yang diperolehnya dan mengabstraksi karakteristik esensial dari masukan yang mengandung informasi yang mungkin kurang relevan. Jaringan ini dapat menyelesaikan
persoalan kompleks yang sulit atau bahkan tidak mungkin jika diselesaikan dengan menggunakan komputasi secara konvensional. Saat ini jaringan syaraf tiruan berkembang dan telah diupayakan untuk berbagai bentuk aplikasi, salah satu aplikasinya yaitu pengenalan pola tulisan tangan. Algoritma perambatan-balik (backpropagation) telah dikembangkan untuk melatih jaringan syaraf tiruan yang sampai pada suatu tingkat tertentu dapat melakukan generalisasi. Kemampuan jaringan syaraf tiruan dalam mengabaikan derau dan distorsi melatarbelakangi penulis untuk mengadakan studi sampai sejauh mana pengaruh besarnya derau, sudut putaran serta gabungan penambahan derau dan sudut putaran masih dapat ditoleransi oleh jaringan syaraf tiruan dalam mengenal pola tulisan tangan jenis angka. Algoritma Jaringan Perambatan Balik Jaringan syaraf lapis-jamak (multilayer) sudah terbukti handal dipakai untuk aplikasi umum. Yang termasuk jaringan lapis-jamak
1
MEDIA ELEKTRIK, Volume 5, Nomor 1, Juni 2010
antara lain jaringan perambatan-balik (backpropagation). Metode pelatihan perambatanbalik secara sederhana adalah metode gradient descent (penurunan gradien) untuk meminimalkan total galat kuadrat keluaran. Aplikasi jaringan ini melibatkan pemetaan sekumpulan masukan terhadap sekumpulan target keluaran, sehingga termasuk kategori jaringan dengan pelatihan terbimbing. Pelatihan jaringan perambatan balik melibatkan tiga tahap yaitu umpan-maju pelatihan pola masukan, komputasi dan perambatan-balik galat, serta perubahan bobot. Setelah pelatihan, aplikasi jaringan hanya melibatkan tahap komputasi umpan-maju. Walaupun proses pelatihan jaringan berlangsung relatif lambat, namun jaringan yang telah dilatih dapat menghasilkan keluaran dengan sangat cepat.
1
pada hubungan unit-unit dengan keluaran selalu satu. Hanya aliran informasi umpan-maju yang diperlihatkan pada gambar. Selama fase pelatihan perambatan-balik, sinyal dikirim pada arah yang berlawanan. Praproses Data Karakter Tulisan Tangan Langkah-langkah praproses pengenalan karakter melibatkan proses normalisasi ukuran karakter dan dekomposisi dengan menggunakan filter wavelet Haar. Praproses menggunakan program bantu Matlab khususnya Wavelet Toolbox. Normalisasi ukuran karakter dilakukan karena tidak samanya ukuran karakter penulis yang satu dengan lainnya. Seluruh ukuran karakter dinormalisasi menjadi ukuran 16x16 piksel. Praproses tahap kedua melibatkan
1 w01
v01
X1
Z1
v11
Y1
w11 w0k
v1j vi1
wi1
v1j
Xi
w1k
Zj
vij
wjm
v1p
wp1
vn1
v0p vnj
Xn
Yk
wjk
wpk
vip Zp vnp
w0m wjm Ym
wpm
Gambar 1. Jaringan syaraf perambatan-balik dengan satu lapisan tersembunyi Jaringan syaraf lapis-jamak dengan satu lapisan tersembunyi (unit Z) diperlihatkan pada Gambar 1. Unit keluaran (unit Y) dan unit-unit tersembunyi serta bias diperlihatkan. Bias pada unit keluaran Yk dilambangkan dengan w0k, bias pada unit tersembunyi Zj dilambangkan dengan v0j. Istilah bias-bias ini berlaku sebagai bobot
dekomposisi filter wavelet pola 16x16 piksel hasil normalisasi menggunakan filter wavelet Haar dua-dimensi. Dekomposisi level pertama menghasilkan empat subband yang masingmasing berukuran 8x8 piksel yaitu subband yang membawa informasi pola aproksimasi, subband yang membawa informasi horisontal, subband
Iwan Suhardi, Toleransi Unjuk Pengenalan Jaringan Syaraf Tiruan
yang membawa informasi vertikal dan subband yang membawa informasi diagonal. Pada dekomposisi berikutnya yaitu level 2 dihasilkan subband-subband dengan ukuran 4x4 piksel. Dari hasil dekomposisi, terlihat bahwa semakin tinggi level dekomposisinya akan membuat semakin ‘kehilangan’ cirinya. Oleh karena itu, sebagai pola masukan jaringan neural digunakan dekomposisi level 2 yaitu subband informasi aproksimasi sehingga jumlah neuron pada lapisan masukan ada 4x4 buah.
METODE Pola yang dianalisis yaitu pola karakter angka tulisan tangan, yaitu 0, 1, 2, 3, 4, 5, 6, 7, 8, dan 9. Sebagai masukan adalah vektor yang dihasilkan dari pengolahan citra asli. Citra asli dipayar, dan diproses menjadi citra biner (mempunyai nilai ‘0’ dan ‘1’). Pada masukan tersebut dicoba dikenali kelas karakter yang telah dilatih dengan menggunakan jaringan neural perambatan-balik. Langkah-langkah praproses pengenalan karakter di sini melibatkan proses normalisasi dan dekomposisi.
Masukan Citra Angka
dengan penambahan variasi derau dansudut putaran secara sendiri-sendiri dan gabungan derau dan putaran secara bersama-sama. Sebagai target pengenalan karakter-karakter tulisan tangan digunakan format kode ASCII 8 bit. Tabel 1 menyatakan kesesuaian target pengenalan jaringan dengan format kode ASCII 8 bit.
HASIL DAN PEMBAHASAN Pelatihan dan Pengujian Sebelum dilakukan pelatihan dan pengujian yang sesungguhnya, jaringan diujicoba dengan 200 pola untuk pelatihan dan 100 pola untuk pengujian yang berbeda. Ujicoba jaringan syaraf tiruan mempunyai 2 tujuan. Yang pertama yaitu untuk mengetahui apakah jaringan yang dibangun dapat berfungsi dengan baik atau tidak. Tujuan yang kedua yaitu mencari parameter-parameter jaringan syaraf tiruan yang dapat menghasilkan unjuk pengenalan yang optimal antara lain fungsi aktivasi dan kemiringan, sehingga dapat mengurangi jumlah komputasi pada saat
Praproses data karakter
Tulisan Tangan
Pengenalan Normalisasi ukuran karakter
Karakter Jaringan Neural
Efek Derau dan Putaran
Dekomposisi dengan Wavelet
Angka Keluaran
Gambar 2. Diagram blok pengenalan karakter Jaringan yang dirancang adalah jaringan perambatan-balik. Arsitektur jaringan yang dibangun memiliki dua komponen, komponen pertama melibatkan neuron masukan dan keluaran dengan jumlah tetap yaitu sebanyak 4x4 neuron masukan dan 8 neuron keluaran, dan komponen yang melibatkan neuron pada lapisan tersembunyi yang jumlahnya akan dicari sampai didapatkan hasil yang optimal. Setelah jaringan syaraf tiruan mengalami proses pelatihan, selanjutnya diuji
pelatihan dan pengujian jaringan yang sesungguhnya. Dari hasil uji coba ini didapatkan bahwa fungsi aktivasi sigmoid bipolar dengan derajad kemiringan 0,8 menghasilkan kemungkinan unjuk pengenalan yang terbaik. Setelah ujicoba dianggap berhasil, dilakukan pelatihan dan pengujian atas serangkaian pola dengan penambahan derau dan besarnya sudut putaran. Pada proses pelatihan melibatkan 1000 pola dan proses pengujian melibatkan 200 pola.
3
MEDIA ELEKTRIK, Volume 5, Nomor 1, Juni 2010
Tabel 1. Kesesuaian target pengenalan jaringan dengan format ASCII Karakter 0 1 2 3 4 5 6 7 8 9
ASCII 8 bit 00110000 00110001 00110010 00110011 00110100 00110101 00110110 00110111 00111000 00111001
Target pengenalan jaringan syaraf -0.8 -0.8 0.8 0.8 -0.8 -0.8 -0.8 -0.8 -0.8 -0.8 0.8 0.8 -0.8 -0.8 -0.8 0.8 -0.8 -0.8 0.8 0.8 -0.8 -0.8 0.8 -0.8 -0.8 -0.8 0.8 0.8 -0.8 -0.8 0.8 0.8 -0.8 -0.8 0.8 0.8 -0.8 0.8 -0.8 -0.8 -0.8 -0.8 0.8 0.8 -0.8 0.8 -0.8 0.8 -0.8 -0.8 0.8 0.8 -0.8 0.8 0.8 -0.8 -0.8 -0.8 0.8 0.8 -0.8 0.8 0.8 0.8 -0.8 -0.8 0.8 0.8 0.8 -0.8 -0.8 -0.8 -0.8 -0.8 0.8 0.8 0.8 -0.8 -0.8 0.8
Ket: Kesesuaian ini dapat dilihat dari kode 0 dan 1 pada kode ASCII menjadi -0.8 dan 0.8 pada target pengenalan
Hasil pengujian ditunjukkan pada tabel 2. Berdasarkan tabel terlihat bahwa arsitektur jaringan yang menghasilkan unjuk pengenalan pada proses pengujian yang terbaik yaitu : 16 – 80 – 70 – 8, dimana dengan dipilihnya arsitektur jaringan tersebut akan menghasilkan unjuk pengenalan karakter angka sebesar 90%. Tabel 2. Unjuk pelatihan dan pengujian karakter angka Arsitektur Satu lapisan tersembunyi 16 – 30 – 8 16 – 40 – 8 16 – 50 – 8 16 – 60 – 8 16 – 70 – 8 16 – 80 – 8 Dua lapisan tersembunyi 16 – 40 – 40 – 8 16 – 40 – 50 – 8 16 – 40 – 60 – 8 16 – 40 – 70 – 8 16 – 40 – 80 – 8 16 – 50 – 40 – 8 16 – 50 – 50 – 8 16 – 50 – 60 – 8 16 – 50 – 70 – 8 16 – 50 – 80 – 8 16 – 60 – 40 – 8 16 – 60 – 50 – 8 16 – 60 – 60 – 8
Unjuk Pengenalan Proses Pelatihan
Unjuk Pengenalan Proses Pengujian
95,6 % 96,2 % 96,8 % 95,8 % 96,9 % 95,2 %
67 % 69 % 72 % 68 % 74 % 70 %
99,5 % 99,6 % 99,4 % 99,1 % 99.0 % 99,6 % 99,4 % 99,6 % 99,7 % 99,3 % 99,7 % 99,6 % 99,5 %
82% 82 % 84 % 82 % 80 % 82 % 87 % 81 % 86 % 81 % 79 % 81% 86%
16 – 60 – 70 – 8 16 – 60 – 80 – 8 16 – 70 – 40 – 8 16 – 70 – 50 – 8 16 – 70 – 60 – 8 16 – 70 – 70 – 8 16 – 70 – 80 – 8 16 – 70 – 90 - 8 16 – 80 – 40 – 8 16 – 80 – 50 – 8 16 – 80 – 60 – 8 16 – 80 – 70 – 8 16 – 80 – 80 – 8
99,7 % 99,4 % 99,4 % 99,5 % 99,6 % 99,5 % 99,7 % 99,7 % 99,2 % 99,7 % 99,6 % 99,7 % 99,3 %
81% 85 % 83 % 83 % 85 % 81% 85 % 84 % 82 % 86 % 83 % 90 % 84 %
Ket: Tabel 2 diperoleh dengan nilai laju pelatihan = 0,001, momentum = 0,001, toleransi galatnya = 0,005, dan menggunakan fungsi aktivasi sigmoid bipolar Variasi Derau dan Sudut Putaran Beberapa variasi derau dan sudut putaran pola karakter tulisan tangan jenis angka disajikan pada Gambar 3 berikut.
Iwan Suhardi, Toleransi Unjuk Pengenalan Jaringan Syaraf Tiruan
15 % 20 % 25 % 30 % 35 %
69 % 61 % 44 % 40 % 28 %
24 % 32 % 51 % 56 % 69 %
Dari Tabel 3 dan Tabel 4 dapat dilihat bahwa semakin besar tingkat deraunya maka unjuk pengenalannya akan menurun. Jaringan masih dapat menghasilkan unjuk pengenalan 75% pada penambahan derau 10%. Berarti walaupun sekitar 10% nilai-nilai biner yang terkandung dalam sampel-sampel data tersebut bertukar secara random jaringan masih mempunyai unjuk pengenalan sebesar 75%. Tabel 5. Pengaruh besarnya variasi putaran terhadap unjuk pengenalan
Gambar 3. Variasi putaran, derau dan gabungan variasi derau - putaran dari tulisan tangan angka 9 Untuk mengetahui pengaruh besarnya variasi sudut putaran dan derau terhadap unjuk jaringan dilakukan pada arsitektur 16 – 80 – 70 – 8. Hasilnya disajikan sebagai berikut : Tabel 3. Pengaruh besarnya variasi derau terhadap unjuk pengenalan Besar Variasi Derau 0% 5% 10 % 15 % 20 % 25 % 30 % 35 %
Unjuk Pengenalan 90 % 81 % 75 % 69 % 61 % 44 % 40 % 28 %
Tabel 4. Laju penurunan unjuk pengenalan terhadap penambahan variasi derau Besarnya Variasi Derau 0% 5% 10 %
Unjuk Pengenalan 90 % 81 % 75 %
Penurunan Unjuk Pengenalan 0% 10 % 17 %
Variasi Sudut Putaran (derajad) 0 5 10 20 30 45 90 180 -5 -10 -20 -30 -45 -90
Unjuk Pengenalan 90 % 73 % 67 % 44 % 25 % 12 % 10 % 18 % 79 % 72 % 49 % 31 % 13 % 9%
Tabel 6. Laju penurunan unjuk pengenalan terhadap variasi sudut putaran Variasi Sudut Putaran (derajad) 0 5 10 20 30 45 90 180 -5 -10
Unjuk Pengenalan 90 % 73 % 67 % 44 % 25 % 12 % 10 % 18 % 79 % 72 %
Penurunan Unjuk Pengenalan 0% 19% 26% 51% 72% 87% 89% 80% 12% 20%
5
MEDIA ELEKTRIK, Volume 5, Nomor 1, Juni 2010
-20 -30 -45 -90
49 % 31 % 13 % 9%
46% 66% 86% 90%
Pengaruh besarnya derajad sudut putaran dapat dilihat pada Tabel 5 dan 6. Besar variasi sudut positif artinya sampel-sampel data diputar berlawanan dengan arah jarum jam, sedangkan besar variasi sudur negatif artinya sampel-sampel data searah jarum jam. Sama seperti dengan adanya penambahan derau, semakin besar sudut putaran yang diberikan akan membuat unjuk pengenalan yang lebih kecil. Dari tabel dapat dilihat bahwa jaringan masih dapat menunjukkan unjuk 73% pada penambahan besar putaran 50. Yang menarik dapat diketahui bahwa pada saat diputaran 1800, sampel angka 0 dan 1 dikenali, sedangkan angka 6 terbaca menjadi angka 9 dan angka 9 terbaca menjadi angka 6. Pada penambahan variasi putaran yang bernilai negatif (searah dengan jarum jam) akan menghasilkan unjuk pengenalan yang lebih tinggi dibandingkan dengan variasi putaran yang bernilai positif, hal ini dikarenakan banyak sampel data yang digunakan pada penelitian ini penulisannya agak miring ke kiri, sehingga bila karakter jenis angka tersebut diputarankan searah dengan jarum jam akan menjadi data karakter angka yang tegak. Tabel 7. Pengaruh gabungan variasi derau dan putaran terhadap unjuk Variasi Derau 5% 10 % 15 % 25 % 30 % 35 % 5% 10 % 15 % 25 % 30 % 35 % 5% 10 % 15 % 25 %
Variasi Sudut Putaran 5% 5% 5% 5% 5% 5% 10 % 10 % 10 % 10 % 10 % 10 % 20 % 20 % 20 % 20 %
Unjuk Pengenalan 72 % 63 % 57 % 36 % 31 % 22 % 59 % 53 % 39 % 33 % 27 % 21 % 33 % 30% 27 % 22 %
30 % 20 % 35 % 20 % Pengujian dengan variasi lainnya
18 % 12 % < 22 %
Berdasarkan Tabel 7, dapat diamati bahwa adanya gabungan penambahan derau dan putaran akan membuat unjuk pengenalan jaringan menjadi menurun. Gabungan penambahan derau dan besarnya putaran akan menurunkan unjuk pengenalan dibandingkan dengan pengaruh penambahan derau dan besarnya putaran secara terpisah (sendiri sendiri). Jaringan hanya mampu memberikan unjuk 72% pada gabungan penambahan derau 5% dan sudut putaran 5o.
SIMPULAN Berdasarkan hasil penelitian dan pembahasan, dapat ditarik kesimpulan bahwa : 1. Jaringan syaraf tiruan dengan pemakaian format ASCII 8 bit sebagai target pengenalan karakter tulisan tangan jenis angka memberikan unjuk pengenalan yang cukup baik dengan mencapai unjuk 90% 2. Pengenalan pola karakter angka dengan penambahan derau yang makin besar akan menurunkan unjuk pengenalan pola, karena dengan semakin besar penambahan derau akan semakin mengurangi informasi pada pola sehingga akan mengurangi unjuk pengenalannya. Jaringan masih mampu memberikan unjuk pengenalan sebesar 75% pada penambahan derau 10%. 3. Pengenalan pola karakter dengan penambahan sudut putaran yang makin besar akan menurunkan unjuk pengenalan pola. Jaringan masih mampu memberikan unjuk pengenalan sebesar 73% pada penambahan sudut putaran 5o. 4. Gabungan penambahan derau dan besarnya putaran akan menurunkan unjuk pengenalan dibandingkan dengan pengaruh penambahan derau dan besarnya putaran secara terpisah (sendiri sendiri). Jaringan hanya mampu memberikan unjuk 72% pada gabungan penambahan derau 5% dan sudut putaran 5o.
DAFTAR PUSTAKA De Leone, R., Capparuccia, R., and Merelli, E., 1998, A Succsessive Overrelaxation
Iwan Suhardi, Toleransi Unjuk Pengenalan Jaringan Syaraf Tiruan
Backpropagation Algorithm for NeuralNetwork Training, IEEE Transactions on Neural Networks, vol. 9, pp. 381-388. Demuth, H., Beale, M., 1998, Neural Network Toolbox, The Math Work. Inc. Fausett, L., 1994, Fundamentals of Neural Networks : Architectures, Algorithms, and Applications, Prentice Hall, New Jersey. Jain, A.K., 1995, Fundamentals of Digital Image Processing, Prentice Hall, New Delhi.
Kröse, Ben, and Van der Smagt, Patrick, 1996, Introduction to Neural Networks, ed. 9, University of Amsterdam. Misiti, M., Oppenheim, G., and Poggi, J., 1996, Wavelet Toolbox, The Math Work. Inc. Rao, B. Valluru dan Rao, V. Hayagriva, 1993, C++ Neural Networks and Fuzzy Logic, Management Information Source, Inc., New York.
7