PROSIDING SEMINAR NASIONAL SAINS DAN PENDIDIKAN SAINS UKSW
APLIKASI JARINGAN SYARAF TIRUAN PADA PENGENALAN POLA TULISAN DENGAN METODE BACKPROPAGATION Alvama Pattiserlihun, Andreas Setiawan, Suryasatriya Trihandaru Program Studi Fisika, Fakultas Sains dan Matematika, Universitas Kristen Satya Wacana, Jl. Diponegoro 52-60, Salatiga 50711 Jawa Tengah –Indonesia e-mail:
[email protected], tlp.081342954313
ABSTRAK Keterbatasan penyandang tunanetra untuk membaca bacaan konvensional mengakibatkan diperlukannya suatu pengembangan alat yang dapat mengenali pola tulisan yang kemudian diubah ke dalam besaran fisis lain. Langkah awal dalam pengembangan tersebut dapat menggunakan Jaringan Syaraf Tiruan (JST). Metode JST yang dipakai adalah algoritma backpropagation. Pada pemrograman JST dalam penelitian ini, terdapat proses pelatihan yang dilakukan pada 1 sampai 10 unit hidden dengan 168 buah huruf kapital, di mana semakin banyak jumlah unit hidden, semakin baik pula pengenalan pola huruf yang diberikan, ditandai dengan nilai performance (unjuk kerja) serta nilai R pada regresi yang semakin baik. Namun, penambahan jumlah unit hidden yang sangat banyak tidaklah efisien, karena waktu pelatihannya pun semakin lama, sedangkan output yang dihasilkan jaringan pun tidak jauh berbeda (khususnya 5 -10 unit hidden). Dalam proses aplikasi jaringan, dengan menggunakan 78 buah huruf kapital (termasuk 26 huruf tulisan tangan ), didapatkan bahwa huruf-huruf yang sebelumnya belum diketahui oleh jaringan, dapat dikenali dengan baik. Di mana semakin besar jumlah unit hidden, semakin baik pula pengenalannya. Pada pengaplikasian jaringan ini, dihasilkan jaringan yang paling maksimal pengenalannya adalah jaringan dengan 5 unit hidden dan 7 unit hidden dengan total prosentasi keberhasilan 70,51% dan 76,92%. Kata kunci: jaringan saraf tiruan, backpropagation, pola tulisan,huruf
PENDAHULUAN Salah satu metode yang dipakai oleh penyandang tunanetra untuk membaca adalah dengan menggunakan huruf braille. Ketika menggunakan huruf braille, penyandang tunanetra harus menyentuh huruf yang dibaca dengan menggunakan tangan, mengenali pola huruf yang dipegang, setelah itu merangkai huruf-huruf berikutnya menjadi sebuah kata lalu menjadi kalimat dan seterusnya. Namun masyarakat tunanetra khususnya yang berada di Indonesia masih harus berjuang untuk mendapatkan buku edisi huruf braille untuk dibaca. Masalah tersebut membuat ketersediaan buku edisi huruf braille sampai saat ini masih cukup terbatas mengingat biaya cetak yang tidak murah. Agar penyandang tunanetra juga dapat membaca buku konvensional (bukan cetakan huruf braille), maka dibutuhkan suatu pengembangan, misalnya menggunakan sistem yang dapat mengenali pola tulisan dan memberitahukan huruf, kata, atau kalimat kepada penyandang tunanetra tersebut . Sistem tersebut dapat dibangun dengan menggunakan suatu algoritma untuk mengenali pola tulisan yang terhubung dengan sistem penampil yang memproses tulisan menjadi bentuk besaran fisis lain, seperti suara atau tekstur, yang dalam hal ini dipilih metode jaringan syaraf tiruan. Pada penelitian ini, dibatasi pada pengaplikasian jaringan syaraf tiruan khususnya model Backpropagation pada pengenalan pola tulisan, khususnya huruf kapital dan pembuatan rangkaian alat sederhana sebagai media pengambil serta pemroses data berbentuk tulisan. Penelitian ini diharapkan dapat berguna bagi pengembangan ilmu pengetahuan, di mana secara teoritis, pemrograman serta interface yang dipakai pada penelitian ini dapat dijadikan sebagai bahan ajar bagi mahasiswa. Kontribusi praktisnya adalah diharapkan pemrograman serta rangkaian alat sederhana yang dibuat dapat dipakai sebagai referensi untuk membuat alat bantu baca guna membantu para penyandang tunanetra agar dapat mengakses sumber-sumber bacaan konvensional, yang
F3-1
PROSIDING SEMINAR NASIONAL SAINS DAN PENDIDIKAN SAINS UKSW
biasanya hanya ditujukan untuk kaum awas (bukan tunanetra). Dengan demikian demikian, para penyandang tuna netra akan mendapatkan hak akses informasi yang lebih luas dan bahkan setara dengan kaum awas. DASAR TEORI
1 Jaringan Syaraf Tiruan (Artificial Artificial Neural Network Network) Sejarah perkembangan jaringan syaraf s araf tiruan telah dimulai pada tahun 1940 dengan mengasosiasikan cara kerja otak manusia dengan logika numerik yang diadaptasi peralatan komputer[1]. Sederhananya, jaringan syaraf s araf tiruan (JST) adalah sistem pemroses informasi yang memiliki karakteristik mirip dengan jaringan syaraf s biologi. Di mana jaringan syyaraf tiruan menyerupai otak manusia dalam mendapatkan pengetahuan yaitu dengan proses learning (belajar) dan menyimpan pengetahuan yang didapat di dalam dalam kekuatan koneksi antarneuron[2 antarneuron[2]. Hal tersebut membuat JST mampu mengenali kegiatan dengan berbasis pada data. Data akan dipelajari oleh JST sehingga memiliki kemampuan untuk memberi keputusan terha terhadap data yang belum dipelajari [3]. ]. JST ditentukan oleh 3 hal, yakni: pola hubungan antarneuron (arsitektur jaringan), metode untuk menentukan bobot penghubung (metode training / learning / algoritma) lgoritma) dan fungsi aktivasi [4]. [4 Perbandingan struktur jaringan jaring syaraf biologi dan jaringan syaraf araf tiruan dapat dilihat pada Gambar 1. Pada jaringan syaraf biologi, biologi neuron memiliki 3 komponen penting yaitu dendrit, soma dan axon. Dendrit menerima sinyal dari neuron lain. Sinyal tersebut berupa impuls elektrik yang dikirim ikirim melalui celah sinaptik melalui proses kimiawi. Sinyal tersebut dimodifikasi (diperkuat/diperlemah) di celah sinaptik. Berikutnya, soma menjumlahkan semua sinyal-sinyal sinyal yang masuk. Kalau jumlahan tersebut cukup kuat dan melebihi batas ambang (threshold), ), maka sinyal tersebut akan diteruskan ke sel lain melalui axon. Sedangkan pada jaringan syaraf tiruan, neuron euron Y menerima input dari neuron x1, x2 dan x3 dengan bobot hubungan masing-masing masing adalah w1, w2 dan w3. Kemudian ketiga impuls neuron yang ada dijumlahkan, sehingga dapat ditulis: net = x1w1 + x2w2 + x3w3 . . . (1) Besarnya impuls yang diterima oleh Y mengikuti fungsi aktivasi y = f(net). Apabila nilai aktivasi cukup kuat, maka sinyal akan diteruskan. Nilai fungsi aktivasi aktivasi (keluaran model jaringan) juga dapat dipakai sebagai seba dasar untuk merubah bobot [4].
Gambar 1. Perbandingan struktur jaringan syaraf biologi dengan jaringan syaraf araf tiruan
2 Model Jaringan Backpropagation Backpropagation ropagation memiliki beberapa unit un yang ada dalam satu atau lebih layar tersembunyi. Gambar 2 adalah arsitektur Backpropagation B dengan n buah masukan (ditambah sebuah bias), sebuah layar tersembunyi yang terdiri terdi dari p unit (ditambah sebuah bias), serta m buah unit keluaran. Vij merupakan bobot garis dari unit masukan xi ke unit layar tersembunyi zj (vj0 merupakan bobot garis yang menghubungkan bias di unit masukan ke unit layar tersembunyi zj). wkj merupakan bobot dari unit layar tersembunyi zj ke unit keluaran yk (wk0 merupakan bobot dari bias di layar tersembunyi ke unit keluaran zk)
PROSIDING SEMINAR NASIONAL SAINS DAN PENDIDIKAN SAINS UKSW
Gambar 2. Arsitektur Backpropagation
4 Pelatihan Standar Backpropagation Pelatihan Backpropagation meliputi 3 fase. Fase pertama adalah fase maju. Pola masukan dihitung maju mulai dari layar masukan hingga layar keluaran menggunakan fungsi aktivasi yang ditentukan. Fase kedua adalah fase mundur. Selisih antara keluaran jaringan dengan target yang diinginkan merupakan kesalahan yang terjadi. Kesalahan tersebut dipropagasikan mundur, dimulai dari garis yang berhubungan langsung dengan unit-unit di layar keluaran. Fase ketiga adalah modifikasi bobot untuk menurunkan kesalahan yang terjadi[4].
METODOLOGI 1. Penentuan Pola Huruf dan Target Pada penelitian ini, pola huruf yang dipakai adalah pola huruf latin kapital. Jenis huruf yang dipakai untuk proses pelatihan (training) adalah jenis huruf Times New Roman, Calibri, Tahoma, Comic Sans MS, Arial dan Kozuka Gothic Pro H serta tambahan 12 huruf jenis Franklin Gothic Book. Huruf yang dipakai kemudian diproses dengan metode rgb2gray dan graythresh agar warnanya hanya terbagi atas 2 bagian, hitam dan putih. Setelah itu huruf dipartisi menjadi 9x7 data digital, seperti yang dapat dilihat pada gambar 3. Pola huruf dan matriks huruf, selengkapnya dapat dilihat pada informasi pendukung.
Gambar 3. Pemrosesan huruf menjadi 9x7 data digital
Selain menentukan pola huruf, unit target juga harus ditentukan. Pada penelitian ini, unit target berupa vektor matriks “0” dan “1” sebanyak 5 bit. Unit target terdiri dari 5 bit karena disesuaikan dengan jumlah huruf yang berjumlah 26, dimana 5 bit berarti memiliki 25 atau 32 kemungkinan, dimana yang dibutuhkan pada penelitian ini hanyalah 26 kemungkinan pola unit target. Pasangan huruf dan unit target yang diinginkan dapat dilihat pada tabel berikut. `Tabel 1. Tabel Pasangan huruf dan unit target
PROSIDING SEMINAR NASIONAL SAINS DAN PENDIDIKAN SAINS UKSW
Huruf A D G J M P S V Y
2.
Vektor target 00001 00100 00111 0 1 0 10 01101 10000 10011 10110 11001
Huruf B E H K N Q T W Z
Vektor target 00010 00101 01000 01011 01110 10001 10100 10111 11 0 1 0
Huruf C F I L O R U X
Vektor target 00011 00110 01001 01100 01111 10010 10101 11000
Proses pelatihan (training)
Sebelum dapat digunakan maka JST model Backpropagation harus diberikan pelatihan lebih dahulu. Dalam proses latihan ini diberikan berbagai pola huruf dengan output yang sudah diketahui. JST Backpropagation akan melakukan perubahan bobot terus menerus untuk setiap pola yang diberikan hingga pola dapat dikenali dengan benar, yaitu diindikasikan dengan nilai kesalahan minimum. Jadi, ketika keluaran Backpropagation belum sesuai dengan target yang ingin dicapai, Backpropagation akan terus melakukan perubahan bobot. Perubahan bobot untuk seluruh pola yang diberikan disebut epoch[5]. Lebih lengkapnya dapat dilihat pada gambar 4.
Gambar 4. Diagram alir pelatihan JST Backpropagation
Proses pelatihan dilakukan dengan mengubah-ubah jumlah unit pada layer tersembunyi, yakni 1 sampai dengan 10 unit. 3. Aplikasi jaringan Setelah dilakukan proses pembelajaran (training), maka dilakukan proses pengaplikasian dengan menggunakan jaringan syaraf tiruan (JST) yang sebelumnya sudah diberi pelatihan. Alur kerja utama sistem pengolahan data berbasis jaringan syaraf tiruan (JST), dapat dilihat secara lengkap pada gambar 5.
Gambar 5. Diagram alir aplikasi jaringan saraf tiruan
Dapat dilihat pada gambar 5, bahwa huruf yang telah melewati proses rgb2gray dan graythresh kemudian diproses dengan cara partisi menjadi 63 data (ukuran 9x7 sel). Di mana pada setiap sel diberikan nilai tertentu, misalnya pada bagian yang gelap (terkena tulisan), diberi
PROSIDING SEMINAR NASIONAL SAINS DAN PENDIDIKAN SAINS UKSW
nilai “1” sedangkan pada bagian yang terang (tidak terkenai tulisan) diberi nilai “-1”. Kemudian sejumlah 63 data yang telah dipartisi dijadikan sebagai input JST, dimana keluarannya berupa pengenalan pada pola huruf tertentu . Pengaplikasian jaringan ini dilakukan untuk setiap network dengan jumlah unit yang berbeda-beda serta jenis huruf yang tidak dipakai pada proses pelatihan, yaitu MS Sans Serif, Segoe UI Semibold dan huruf tulisan tangan. Hal ini bertujuan untuk mengetahui sensitivitas jaringan dalam pengenalan pola huruf yang tidak dikenali sebelumnya. Untuk proses aplikasi dengan menggunakan huruf tulisan tangan, pengambilan obyek huruf dengan menggunakan webcam.
HASIL DAN PEMBAHASAN Proses pelatihan (training) menggunakan 6 jenis huruf kapital sebagai bahan pembelajaran, yakni Times New Roman, Calibri, Tahoma, Comic Sans MS, Arial dan Kozuka Gothic Pro H. Proses pelatihan dilakukan dengan mengubah-ubah jumlah unit pada layer tersembunyi, yakni 1 sampai dengan 10 unit. Dalam proses pelatihan, selain 6 jenis huruf yang dipakai, ditambah juga 1 jenis huruf yaitu jenis Franklin Gothic Book, namun huruf yang ditambah hanyalah huruf B, C, D, F , J, K, O, R, S, W, Y, Z. Hal ini dikarenakan tingkat pengenalan pada huruf-huruf tersebut cukup rendah, sehingga untuk memperkuat pengenalan pada huruf-huruf di atas, maka ditambah huruf-huruf tersebut sebagai bahan pelatihan. Dari hasil pelatihan (training) yang dilakukan, didapatkan data sebagai berikut: Tabel 2. Data hasil pelatihan (training)
Pelatihan 1 2 3 4 5 6 7 8 9 10
Jumlah unit pada hidden layer 1 2 3 4 5 6 7 8 9 10
Jumlah iterasi 50000 50000 50000 50000 50000 50000 50000 50000 50000 50000
Performance (mse) 0,196 0,136 0,0913 0,0491 0,0133 0,00796 0,00397 0,00283 0,00133 0,000710
Regresi (besarnya R) 0,46162 0,6721 0,79565 0,89594 0,97286 0,98387 0,99198 0,99428 0,99732 0,99857
Waktu iterasi (menit) 12:31 12:59 12:55 13:30 13:54 13:27 14:01 14:22 14:39 15:20
Dari hasil yang didapatkan, terlihat bahwa dengan adanya penambahan jumlah unit pada hidden layer (unit hidden), performance (unjuk kerja) jaringan lebih baik, terbukti dengan nilai mse (mean squared error) yang semakin kecil. Selain berpengaruh terhadap performance dari jaringan, penambahan jumlah unit pada hidden layer juga berpengaruh terhadap grafik regresi. Di mana, jika jumlah unit semakin di tambah, maka nilai R semakin mendekati nilai 1, sehingga nilai output yang dihasilkan semakin mendekati target yang diinginkan. Hal tersebut dapat diperjelas dengan membandingkan grafik regresi dari pelatihan dengan jumlah unit 1 dengan yang berjumlah 10.
F3-5
PROSIDING SEMINAR NASIONAL SAINS DAN PENDIDIKAN SAINS UKSW
(a)
(b) Gambar 6. Perbandingan grafik regresi untuk (a) 1 unit hidden dan (b) 10 unit hidden
Dari kedua grafik di atas dapat terlihat dengan jelas bahwa grafik yang paling baik adalah grafik dari unit yang berjumlah 10. Di mana, garis berwarna biru yang merupakan garis kemiringan data, berhimpit dengan dengan garis putus-putus yang merupakan garis ketika output (Y) = target (T). Selain itu juga terlihat bahwa nilai output pada unit yang berjumlah 10 adalah output = 1*target+0,0014 sedangkan untuk unit yang berjumlah 1, output = 0,21*target+0,37. Hal ini memperlihatkan bahwa, pengenalan pola dalam proses pelatihan dengan menggunakan 10 unit lebih baik dari 1 unit. Namun jika melihat kembali tabel 1, nilai R sudah mencapai performa terbaiknya (R=0,9) pada unit hidden yang ke-5.
PROSIDING SEMINAR NASIONAL SAINS DAN PENDIDIKAN SAINS UKSW
Hal-hal di atas menandakan bahwa semakin banyak unit hidden semakin baik jaringan mengenali pola-pola huruf yang diberikan. Tetapi jika dilihat dari waktu yang diperlukan untuk melakukan training, semakin banyak unit tersembunyi, semakin lama proses training, sedangkan output yang dihasilkan jaringan relatif sama (5 – 10 hidden unit ). Ini menandakan bahwa tidaklah efisien jika menggunakan jumlah hidden unit yang banyak. Setelah melakukan pelatihan (training) maka network yang sudah diperoleh dapat diaplikasikan untuk pengenalan huruf dengan menggunakan jenis huruf yang tidak dipakai pada proses pelatihan. Huruf yang dipakai adalah MS Sans Serif, Segoe UI Semibold serta huruf dengan tulisan tangan. Aplikasi jaringan juga dilakukan pada 1 – 10 unit hidden. Dari pengaplikasian jaringan yang dilakukan , didapatkan data sebagai berikut: Tabel 3. Data pengaplikasian jaringan untuk huruf MS Sans Serif
Unit hidden
1 2 3 4 5 6 7 8 9 10
Jumlah huruf yang terdeteksi dengan benar 2 5 9 23 25 25 25 25 25 26
Prosentase keberhasilan (%) 7,69 19,23 34,61 88,46 96,15 96,15 96,15 96,15 96,15 100
Tabel 4. Data pengaplikasian untuk huruf Segoe UI Semibold
Unit hidden
1 2 3 4 5 6 7 8 9 10
Jumlah huruf yang terdeteksi dengan benar 2 6 4 11 19 17 15 17 16 15
Prosentase keberhasilan (%) 7,69 23,08 15,38 42,31 73,07 65,38 57,69 65,38 61,54 57,69
Dari data pengaplikasian jaringan di atas, dapat dilihat bahwa jaringan (network) yang dihasilkan dari proses training dapat mengenali pola huruf yang sebelumnya belum dikenal, di mana semakin banyak unit hidden yang diberikan, semakin baik pengenalan pola hurufnya. Jika dilihat pada bagian pengujian huruf MS Sans Serif, kesuksesan pengenalan hurufnya sangat baik, jika dibandingkan dengan hasil pengujian pada huruf Segoe UI Semibold. Hal ini disebabkan oleh bentuk fisik huruf MS Sans Serif hampir sama dengan salah satu huruf yang dilatihankan (training), yakni huruf Arial. Sedangkan huruf Segoe UI Semibold memiliki bentuk fisik yang berbeda dengan huruf yang dilatihankan sehingga hasil pengujiannya tidak begitu baik. Hal ini disebabakan oleh jaringan (network) dengan bobot-bobot serta bias yang dihasilkan dari proses training sudah sangat baik dalam pengenalan pola huruf yang hampir sama dengan huruf-huruf yang dijadikan sebagai bahan training. Sedangkan untuk pola huruf yang cukup berbeda dengan yang dilatihankan, jaringan belum cukup baik untuk mengenali
F3-7
PROSIDING SEMINAR NASIONAL SAINS DAN PENDIDIKAN SAINS UKSW
polanya, tetapi hasil yang didapatkan sudah cukup baik, karena pengenalan pola untuk unit hidden 5 – 10 sudah lebih dari 50%. Selain menggunakan huruf MS Sans Serif dan Segoe UI Semibold, dipakai pula huruf tulisan tangan sebagai bahan pengaplikasian jaringan yang telah dibuat. Di mana hasil pengambilan obyek huruf tulisan tangan dengan menggunakan peralatan sederhana (webcam) sudah cukup baik. Pengaplikasian ini juga menggunakan jaringan dengan jumlah unit hidden yang berbeda-beda. Hasil pengaplikasian jaringan dengan menggunakan tulisan tangan dapat dilihat pada tabel berikut: Tabel 5. Data pengujian huruf tulisan tangan
Unit hidden
Jumlah huruf yang terdeteksi dengan benar 2 3 6 7 11 5 20 7 7 8
1 2 3 4 5 6 7 8 9 10
Prosentase keberhasilan (%) 7,69 11,54 23,08 26,92 42,31 19,23 76,92 26,92 26,92 30,77
Terlihat dari tabel data di atas, bahwa jaringan yang menghasilkan pengenalan pola huruf dengan tulisan tangan paling maksimal adalah jaringan dengan 7 unit hidden. Dari semua aplikasi jaringan yang dilakukan, keberhasilan total dari setiap unit hidden yang dipakai, dapat dilihat pada tabel berikut: Tabel 6. Prosentase keberhasilan total pada aplikasi jaringan
Unit hidden 1
Prosentase keberhasilan total (%) 7,69
2
17,95
3
24,36
4
52,56
5
70,51
6
60,25
7
76,92
8
62,82
9
61,54
10
62,82
Data prosentase keberhasilan total di atas, menunjukkan bahwa jaringan yang baik untuk mengenali pola tulisan yang sebelumnya belum dikenal adalah jaringan yang menggunakan 5 dan 7 unit hidden dengan total prosentase keberhasilan sebesar 70,51% dan 76,92%. Sehingga jika ingin mengaplikasikan jaringan untuk keperluan pengenalan pola huruf, maka cukup dipakai jaringan dengan 5 unit hidden atau 7 unit hidden.
F3-8
PROSIDING SEMINAR NASIONAL SAINS DAN PENDIDIKAN SAINS UKSW
KESIMPULAN Pola tulisan, khususnya pola huruf kapital dapat dikenali dengan menggunakan jaringan syaraf tiruan, khususnya metode Backpropagation. Dari proses pelatihan (training), huruf-huruf yang dijadikan bahan pelatihan dapat dikenali dengan baik. Di mana, semakin besar jumlah unit hidden, semakin baik pengenalan pola tulisan. Tetapi hal itu berpengaruh pada lamanya proses pelatihan, jika jumlah unit hidden semakin banyak, maka lama proses pelatihannya pun semakin lama, sedangkan output yang dihasilkan jaringan relatif sama (5 – 10 hidden unit ). Hal ini menandakan bahwa tidaklah efisien jika menggunakan jumlah hidden unit yang terlalu banyak. Dalam proses aplikasi jaringan, didapatkan pula bahwa huruf-huruf yang sebelumnya belum diketahui oleh jaringan, dapat dikenali dengan baik. Di mana semakin besar jumlah unit hidden, semakin baik pula pengenalannya. Namun penggunaan unit hidden yang terlalu banyak tidaklah efisien. Pada pengaplikasian jaringan ini, jaringan (network) yang paling maksimal pengenalannya adalah jaringan dengan 5 unit hidden dan 7 unit hidden dengan total prosentasi keberhasilan sebesar 70,51% dan 76,92%. Sehingga jika ingin mengaplikasikan jaringan (network) yang sudah dibuat ini pada pengenalan pola huruf lain, cukup dipakai jaringan dengan 5 unit hidden atau 7 unit hidden. DAFTAR PUSTAKA [1] Muis, Saludin. Teknik Jaringan Saraf Tiruan. Yogyakarta : 2006 [2] Islam, M.J, dkk. Neural Network Based Handwritten Digits Recognition- An Experiment and Analysis. University of Windsor, Canada: 2009. hal 2. [3] Luthfie, Syafiie Nur. Implementasi Jaringan Saraf Tiruan Backpropagation Pada Aplikasi Pengenalan Wajah Dengan Jarak Yang Berbeda Menggunakan MATLAB 7.0.Universitas Gunadarma, Depok: 2007. hal 1. [4] Siang, Jong Jek. Jaringan Saraf Tiruan dan Pemrogramannya Menggunakan MATLAB. Yogyakarta: 2005.
F3-9