Pengembangan Metode Backpropagation Dengan Menggunakan Adaptive Learning Rate Dan Parallel Training Dalam Pengenalan Huruf Atau Angka Pada Citra Digital

  BAB II DASAR TEORI

  2.1 Citra Digital Citra digital didefinisikan sebagai fungsi f (x,y) dua dimensi,dimana x dan y adalah koordinat spasial dan f(x,y) adalah disebut dengan intensitas atau tingkat keabuan citra pada koordinat x dan y (R.C.Gonzales, R.E.Woods,2002). Jika x, y, dan nilai f terbatas dalam diskrit, maka disebut dengan citra digital. Citra digital dibentuk dari sejumlah elemen terbatas, yang masing-masing elemen tersebut memiliki nilai dan koordinat tertentu. Pixel adalah elemen citra yang memiliki nilai yang menunjukkan intensitas warna (R.C.Gonzales, R.E.Woods, Woods,2002).

  Citra digital diperoleh melalui proses penangkapan atau akuisisi pada objek pada lingkungan nyata melalui perangkat yang dilengkapi dengan sensor optic yang mampu mendeteksi intensitas cahaya dan merepresentasikan intensitas tersebut menjadi nilai diskrit (Sutoyo, 2009).

Gambar 2.1 Proses Akuisisi Citra (Sutoyo, 2009)

  2.2 Sifat Citra Digital

  

Citra digital bersifat diskrit yang dapat diolah oleh komputer. Citra ini dapat dihasilkan melalui

kamera digital dan scanner ataupun citra yang telah mengalami proses digitalisasi. Sebuah citra

berukuran 150 x 100 pixel dapat dinyatakan dengan matriks yang berukuran sesuai dengan

  

pikselnya atau biasa dinyatakan dalam ukuran N x M dimana N untuk baris dan M untuk kolom.

Misalnya diambil suatu kotak kecil dari bagian citra direpresentasikan dengan matriks berukuran 9

x 9, seperti terlihat pada Gambar 2.1

  58

  41

  41

  45

  49

  51

  52

  53

  54

  56

  58

  72

  39

  82

  80

  75

  76

  80

  81

  82

  85 101 69 101

  94

  94 99 100 96 100 110 114 112 107 105 108 106 100 106

  41

  39

Gambar 2.2 Representasi Citra Digital

  40

  Sumber : R.C.Gonzales,R.E.Woods ( 2002 ) Pada gambar 2.1 dapat dilihat representasi berupa matriks m x n yang mana merupakan nilai warna dari tiap piksel pada area yang diambil pada citra. Matriks yang dapat dilihat pada gambar 2.1 merupakan nilai piksel yang diambil dari potongan citra yang berukuran 9 x 9 piksel.

  56

  58

  59

  59

  60

  59

  59

  60

  60

  43

  36

  41

  41

  41

  43

  42

  43

  43

  33

  35

  36

  121 122 115 108 106 116 116 107 116 128 125 107 105 110 118 116 110 114

  2.3 Citra Grayscale

  

Citra yang ditampilkan dari citra jenis ini terdiri atas warna abu-abu, bervariasi pada warna hitam

pada bagian yang intensitas terlemah dan warna putih pada intensitas terkuat. Citra

  grayscale

  

berbeda dengan citra "hitam-putih", dimana pada konteks komputer, citra hitam putih hanya terdiri

atas 2 warna saja yaitu "hitam" dan "putih" saja. Pada citra grayscale warna bervariasi antara

hitam dan putih, tetapi variasi warna diantaranya sangat banyak. Citra seringkali

  grayscale

  

merupakan perhitungan dari intensitas cahaya pada setiap pixel pada spektrum elektromagnetik

single band.

  2.4 Image Thinning

  (biasa disebut juga adalah suatu metode untuk merepresentasikan

  Thinning skeletonizing)

  

transformasi suatu bentuk gambar ke bentuk graph dengan mereduksi informasi tertentu dalam

gambar tersebut. Thinning ini biasa digunakan mencari bentuk dasar/rangka/skeleton dari suatu

gambar. Contohnya pada PCB (printed circuit boards) untuk mengetahui aliran/arus data pada

PCB tersebut. Selain untuk kompresi suatu gambar, kegunaan lain dari thinning adalah untuk

mencari informasi tertentu dari suatu gambar dengan menghilangkan informasi yang tidak

diperlukan. Misalnya saja untuk mencari dataran tinggi dalam peta geografis.

  Algoritma memberikan aspek sebagai berikut :

  thinning binary regions

  1. thinning tidak menghapus point terakhir 2. thinning tidak merusak konektivitas tidak menyebabkan pengikisan berlebihan dari Diasumsikan 3.

  region. region thinning points memiliki nilai 1 dan background points memiliki nilai 0. Metode ini terdiri dari 2

  langkah dasar yang dikenakan terhadap contour points dari suatu region, dimana

  contour points adalah sembarang piksel dengan nilai 1 dan memiliki paling sedikit satu

  dari 8-tetangga bernilai 0. Algoritma ini menggunakan tanda untuk memilih piksel mana yang akan dihapus. Aturannya, 8-tetangga terdekat dari setiap piksel P1 dinomori P2 (untuk piksel di atas P1) sampai dengan P9 sesuai dengan arah jarum jam.

  Beri tanda sebuah p i untuk dihapus apabila memenuhi semua kondisi- Langkah 1 contour point kondisi berikut ini :

  (a) 2 < N(Pi) < 6; (b) S(Pi) = i; (c) P2 . P4 . P6 = 0; (d) P4 . P6 . P8 = 0; di mana N(P1) adalah jumlah dari tetangga-tetangga dari p yang bukan nol; i sehingga: N(P1) = P2 + P3 + P4 + P5 + P6 + P7 + P8 + P9 dan S(P1) adalah jumlah dari transisi 0 ke 1 dalam urutan P2, P3, P4, P5, P6, P7, P8, P9.

  Hampir sama dengan langkah 1, hanya saja pada langkah 2 ini bagian (c) dan (d) Langkah 2 berubah menjadi sebagai berikut : (c)

  P2 . P4 . P8 = 0; P2 . P6 . P8 = 0;

  (d)

  Langkah 1 diterapkan untuk border pixel pada binary region. Jika satu atau lebih dari

kondisi (a) sampai dengan (d) tidak dipenuhi, maka nilai dari yang diperiksa tidak berubah

  point

  

(tidak perlu diberi tanda). Points yang diperiksa tidak akan dihapus sampai semua border points

selesai diproses. Hal ini dilakukan untuk mencegah agar tidak terjadi perubahan pada struktur data

saat pengeksekusian algoritma. Setelah langkah 1 telah selesai dilakukan terhadap semua border

  points , semua yang telah diberi tanda dihapus (diubah ke 0). Lalu, langkah 2 baru dijalankan terhadap hasil data persis sama seperti pada langkah 1.

  Jadi, satu iterasi dalam algoritma thinning ini terdiri dari : 1.

  border points untuk dihapus.

  Pengerjaan langkah 1 untuk memberi tanda pada 2. points yang telah diberi tanda. Penghapusan 3. border points yang tersisa untuk dihapus. Pengerjaan langkah 2 untuk memberi tanda 4. Penghapusan points yang telah diberi tanda.

  Prosedur dasar ini akan beriterasi hingga tidak ada yang dapat dihapus lagi,

  points

  

sehingga hasil yang didapat adalah skeleton (kerangka) dari region. Proses thinning ini,

menghilangkan informasi-informasi tertentu dalam gambar, dengan tetap mempertahankan

informasi yang paling utama atau kerangka utama gambar tersebut. Jadi misalnya terdapat suatu

gambar yang cukup tebal, jika kita lakukan proses thinning pada gambar tersebut, maka gambar

yang tersisa hanyalah kerangka utama dari gambar tersebut.

  2.5 Jaringan Syaraf Tiruan Hermawan,A.2006

  mendefinisikan Jaringan Syaraf Tiruan adalah suatu struktur pemroses informasi yang terdistribusi dan

bekerja secara paralel, yang terdiri atas elemen pemroses (yang memiliki memori lokal dan beroperasi dengan informasi lokal) yang

diinterkoneksi bersama dengan alur sinyal searah yang disebut koneksi. Setiap elemen pemroses memiliki koneksi keluaran tunggal

yang bercabang (fan out) ke sejumlah koneksi kolateral yang diinginkan (setiap koneksi membawa sinyal yang sama dari keluaran

elemen pemroses tersebut). Keluaran dari elemen pemroses tersebut dapat merupakan sebarang jenis persamaan matematis yang

diinginkan. Seluruh proses yang berlangsung pada setiap elemen pemroses harus benar-benar dilakukan secara lokal, yaitu keluaran

hanya bergantung pada nilai masukan pada saat itu yang diperoleh melalui koneksi dan nilai yang tersimpan dalam memori lokal.

  Jaringan neuron buatan terdiri atas kumpulan grup neuron yang tersusun dalam lapisan : 1. Lapisan input (Input Layer): berfungsi sebagai penghubung jaringan ke dunia luar (sumber data).

  2. Lapisan tersembunyi (hidden Layer): Suatu jaringan dapat memiliki lebih dari satu hidden layer atau bahkan bisa juga tidak memilikinya sama sekali.

  3. Lapisan Output (Output Layer): Prinsip kerja neuron-neuron pada lapisan ini sama dengan prinsip kerja neuron- neuron pada lapisan tersembunyi (hidden layer) dan di sini juga digunakan fungsi Sigmoid, tapi keluaran dari neuron pada lapisan ini sudah dianggap sebagai hasildari proses Secara umum, terdapat tiga jenis neural network yang sering digunakan berdasarkan jenis network -nya, yaitu :

  1. Single-Layer Neural adalah jaringan syaraf tiruan yang memiliki koneksi pada inputnya secara langsung ke jaringan output.

  2. Multilayer Perceptron Neural Network

  adalah jaringan syaraf tiruan yang mempunyai layer yang dinamakan "'hidden', ditengah layer input dan output.

  Hidden ini bersifat variabel, dapat digunakan lebih dari satu hidden layer.

  3. Recurrent Neural Networks Neural network

  adalah jaringan syaraf tiruan yang memiliki ciri, yaitu adanya koneksi umpan balik dari output ke input

  2.6 Jaringan Syaraf Tiruan Backpropagation Backpropagation adalah salah satu pengembangan dari arsitektur Single Layer Neural

  

Network. Arsitektur ini terdiri dari input layer, hidden layer dan output layer, dan setiap

layer terdiri dari satu atau lebih aritificial neuron. Nama umum dari arsitektur ini adalah

Multilayer neural network.

  = v

  • = n i ij i

  j

  = f(z_in

  j

  Gunakan fungsi aktivasi untuk menghitung sinyal outputnya: z

  (2.1) v=Bobot awal input ke hidden.

  v x 1

  0j

  j

Gambar 2.3 : Arsitektur Multilayer Neural Network

  dan meneruskan sinyal ke semua unit pada lapisan hidden (lapisan tersembunyi). Langkah 4 : Tiap-tiap unit lapisan tersembunyi (Zj, j=1,2,3,...,p) menjumlahkan sinyal-sinyal input terbobot: z_in

  i

  , i=1,2,3,...,n) menerima sinyal x

  i

  Langkah 1 :Bila syarat berhenti adalah salah, kerjakan langkah 2 sampai 9 Langkah 2 :Untuk setiap pasangan pelatihan, kerjakan langkah 3-8. Feedforward: Langkah 3 : Tiap-tiap unit input (X

  Algoritma selengkapnya elatihan jaringan backpropagation adalah sebagai berikut : Langkah 0 :Inisialisasi bobot (ambil bobot awal dengan nilai random yang cukup kecil).

  Dengan menggunakan arsitektur jenis ini, maka metode pelatihan yang digunakan adalahBackpropagation yang biasanya disebut juga sebagai feedforward networks.

  Sumber : Hermawan, A ( 2006

  ) (2.2) dan mengirimkan sinyal tersebut ke semua unit di lapisan atasnya (unit unit output). Langkah 5 : Tiap-tiap output (Y , k=1,2,3,...,m) menjumlahkan sinyal-sinyal input

  k terbobot. p y_in = w z w (2.3) + k 0k j = 1 j jk

  gunakan fungsi aktivasi untuk menghitung sinyal outputnya: y = f(y_in ) (2.4)

  k k

  dan kirimkan sinyal tersebut ke semua unit di lapisan hidden (lapisan tersembunyi). Catatan: Langkah (b) dilakukan sebanyak jumlah lapisan tersembunyi. Backpropagation Langkah 6 : Tiap-tiap unit output (Y , k=1,2,3,...,m) menerima target pola yang

  k

  berhubungan dengan pola input pembelajaran, hitung informasi errornya δ

  = (t -y ) f’(y_in ) (2.5)

  k k k k

  Kemudian hitung koreksi bobot (yang nantinya akan digunakan untuk memperbaiki nilai w ):

  jk

  = αδ z (2.6)

  ∆w jk k j Hitung juga koreksi bias

  ∆w = αδ (2.7)

  0k k

  Langkah 7 : Tiap-tiap unit lapisan tersembunyi (Zj, j=1,2,3,...,p) menjumlahkan m delta inputnya (dari unit-unit yang berada dilapisan hidden).

  δ

  δ_in = w j k = 1 k jk

  (2.8) Kalikan nilai ini dengan turunan dari fungsi aktivasi untuk menghitung informasi error:

  δ j j j = δ_in f’(z_in ) (2.9) kemudian hitung koreksi bobot:

  ∆v = αδ x ij j i

  (2.10) Langkah 8 :Tiap-tiap unit ouput (Y , k=1,2,3,...,m) memperbaiki bias dan bobotnya

  k

  (j=1,2,3,...,p):

  w (baru) = w (lama) + ∆w jk jk jk

  (2.11) Tiap-tiap unit lapisan tersembunyi (Zj, j=1,2,3,...,p) memperbaiki nilai bias dan bobotnya (i=1,2,3,...,n. ):

  v (baru) = v (lama) + ∆v ij ij ij

  (2.12) Langkah 9 : Uji syarat berhenti.

  2.7 Adaptive Learning Rate

  

Adaptive Learning Rate merupakan pendekatan atau metode yang bertujuan untuk

  meningkatkan efektifitas dari parameter tingkat pembelajaran atau learning rate, dimana tingkat pembelajaran merupakan parameter yang berfungsi untuk meningkatkan kecepatan belajar dari jaringan backpropagation.

  Adaptive learning rate muncul karena penelitian yang dilakukan pada nilai yang

  konstan pada tingkat pembelajaran menyebabkan metode jaringan backpropagation menjadi tidak efisien, dikarenakan sangat bergantung pada nilai tingkat pembelajaran yang dipilih (Plagianakos, 1998). Pemilihan tingkat pembelajaran yang tidak tepat akan menyebabkan jaringan sangat lambat mencapai local optima. Karena alasan tersebut maka muncullah pendekatan adaptive learning rate.

  Implementasi adaptive learning rate adalah mengganti nilai learning rate yang digunakan dalam koreksi bobot pada jaringan pada tiap iterasi menggunakan persamaan yang diusulkan oleh (Plagianakos, 1998) sebagai berikut.

  (2.13) Dimana :

  = Bobot baru untuk iterasi berikutnya (t+1) = Bobot pada iterasi saat (t) = Adaptive Learning Rate = Fungsi Error pada bobot iterasi saat (t) Nilai dapat diperoleh dari persamaan berikut.

  (2.14) Dimana :

  = = Faktor Pertumbuhan Maksimum

  2.8 Perbandingan Backpropagation Konvensional dan Adaptive Learning Rate Algoritma backpropagation merupakan algoritma yang digunakan dalam mengidentifikasi karakter huruf atau angka yang terdapat pada citra input. Secara garis besar, algoritma

  

backpropagation dibagi menjadi dua tahap, yaitu tahap forward propagation dan

backward propagation . Seperti yang telah dijelaskan pada bab landasan teori sebelumnya,

  tahap forward propagation merupakan tahap dimana data input berupa bit-bit karakter diproses melalui lapisan – lapisan yang terdapat pada jaringan dan menghasilkan output. Jika output tidak sesuai dengan yang diharapkan, maka proses pembelajaran akan dilakukan atau tahap backward propagation.

Gambar 2.4 Ilustrasi Pembelajaran Karakter Angka.

  Backward propagation melakukan koreksi nilai bobot pada tiap lapisan mulai dari

  lapisan output menuju ke lapisan input, koreksi bobot didasarkan atas selisih antara output yang dihasilkan oleh jaringan dengan output yang diharapkan. Setelah proses koreksi bobot selesai maka tahap forward propagation akan di lakukan kembali dengan bobot baru yang telah dikoreksi.

  Proses forward dan backward propagation terus dilakukan sampai jaringan mampu menghasilkan output yang diharapkan atau dianggap mampu mengenali karakter yang diberikan. Secara normal metode backpropagation membutuhkan waktu yang sangat lama dalam proses pembelajarannya dimana waktu yang dibutuhkan berbanding lurus dengan banyaknya data pelatihan, yang artinya semakin besar data pelatihan maka akan semakin lama proses pembelajaran yang dilakukan.

Gambar 2.5 Ilustrasi Lokal Minimal dan Global Minimal

  (Sumber : http://mnemstudio.org/neural-networks-multilayer-perceptron-design.htm l ,2013) Suatu jaringan dikatakan sudah belajar jika jaringan tersebut sudah mencapai kondisi global minima atau kondisi dimana jaringan telah mencapai nilai error terendah. Untuk mempercepat jaringan menuju ke global minima maka diperlukan beberapa pengembangan terhadap metode backpropagation tersebut, yang dalam penelitian ini salah satu pengembangan yang diusulkan adalah adaptive learning rate.

  Adaptive learning rate merupakan pengembangan pada algoritma

  

backpropagation . Metode adaptive learning rate dilakukan pada saat koreksi bobot

  berlangsung. Algoritma backpropagation normal menggunakan parameter learning rate sebagai konstanta, dimana parameter tersebut digunakan terus menerus selama proses iterasi pembelajaran tanpa mengalami perubahan. Dengan menggunakan adaptive

  

learning rate , parameter learning rate atau tingkat pembelajaran terus mengalami

  perubahan seiring proses pembelajaran yang perubahan nilainya bergantung pada selisih error pada tiap iterasi pembelajaran.

  Pada operasi backpropagation normal, operasi koreksi bobot dilakukan dengan perhitungan fungsi error terlebih dahulu dengan persamaan berikut.

  (2.15) Dimana :

  Fungsi Error pada iterasi ke - k

  =

  Target Output pada node ke - k

  =

  Output jaringan pada node ke – k

  =

  Sedangkan untuk mencari fungsi error pada bobot ke-k dapat dilihat pada persamaan berikut. Penggunaan fungsi error pada operasi koreksi bobot menggunakan persamaan berikut.

  (2.16) Dimana :

  Bobot baru untuk iterasi k+1

  = = Bobot pada iterasi ke –k

  Learning Rate

   =

  Fungsi Error pada iterasi ke –k

  =

  Pada operasi backpropagation normal, parameter learning rate bernilai statis dimana nilai parameter dipilih pada awal pembelajaran dan terus digunakan pada setiap iterasi tanpa mengalami perubahan.

  Penggunaan adaptive learning rate memberikan dampak positif dimana proses menuju local optima akan semakin cepat. Dimana dengan tingkat pembelajaran yang selalu menyesuaikan diri dengan nilai error yang dihasilkan mampu memberikan stabilitas dalam proses pembelajaran dibandingkan dengan tingkat pembelajaran yang konstan atau statis.

  Berdasarkan penelitian yang dilakukan oleh Plagianakos, berikut usulan persamaan dalam menghitung nilai learning rate pada tiap iterasi (Plagianakos, 1998).

  (2.17) Dimana :

  Learning Rate pada iterasi ke – k

  = = =

  Standard Inner Product

  = Pada penelitian yang dilakukan oleh Daohang Sha dan Vladimir mengenai

  

adaptive learning rate , mereka melakukan perbandingan performa dari learning rate statis

dan penggunaan adaptive learning rate yang dapat dilihat pada gambar berikut.

Gambar 2.6 Perbandingan Laju Error Pada Percobaan Learning Rate

  (Sumber : Sha & Bajic, 2000) Pada gambar 2.6 dapat dilihat lajur error dari Variable rate atau dengan kata lain

  

Adaptive learning rate memiliki laju eror yang paling baik dibandingkan dengan Fixed

rate atau nilai learning rate statis. Pada penelitian lain yang dilakukan oleh Rajesh et al,

  penggunaan metode adaptive learning rate memberikan kecepatan laju pembelajaran yang signifikan seperti yang terlihat pada gambar 2.7 berikut ini.

Gambar 2.7 Grafik Perbandingan Implementasi Learning Rate.

  (Sumber : Ranganath, 2013)

  2.9 Parallel Training

  

Parallel training merupakan pendekatan implementasi pelatihan jaringan

Backpropagation dimana proses pelatihan dilakukan secara parallel. Dipandang dari sudut

  pandang perangkat keras, parallel training dapat dibagi menjadi dua kategori yang mana kategori pertama adalah pelatihan parallel dengan memanfaatkan unit pengolah atau CPU lebih dari satu sedangkan kategori kedua adalah pelatihan parallel dengan menggunakan teknologi multithreading (Mumtazimah, 2012).

  Jaringan backpropagation adalah sebuah proses berulang yang seringkali menbutuhkan waktu yang sangat lama dalam prosesnya. Ketika proses pelatihan dibagi menjadi beberapa unit dan diproses secara bersamaan maka waktu yang dibutuhkan juga akan jauh lebih sedikit. Berikut tahap – tahap dalam implementasi Parallel Training pada jaringan Backpropagation (Schuessler & Loyola, 2011).

  Tn ). Pada penelitian ini objek yang akan di-identifikasi adalah objek karakter huruf

  dan angka dimana jumlah karakter huruf dan angka dapat dijabarkan menjadi : Jumlah Huruf Kapital = 26

  Jumlah Huruf Biasa = 26 Jumlah Angka = 10 Total Karakter = 62

  Jika terdapat sepuluh unit jaringan backpropagation maka data karakter akan dipartisi menjadi sepuluh partisi dengan rincian sebagai berikut.

  T1 = 6 Karakter (A,B,C,D,E,F) T2 = 6 Karakter (G,H,I,J,K,L) T3 = 6 Karakter (M,N,O,P,Q,R) T4 = 6 Karakter (S,T,U,V,W,X) T5 = 6 Karakter (Y,Z,a,b,c,d) T6 = 6 Karakter (e,f,g,h,i,j) T7 = 6 Karakter (k,l,m,n,o,p) T8 = 6 Karakter (q,r,s,t,u,v) T9 = 6 Karakter (w,x,y,z,0,1) T10 = 8 Karakter (2,3,4,5,6,7,8,9)

  2. Masukkan partisi – partisi data pelatihan ke dalam unit – unit jaringan backpropagation yang telah disediakan, tiap unit jaringan memiliki struktur dan parameter yang sama atau identik.

Gambar 2.8 Ilustrasi Parallel Training pada Data Input Karakter dan Angka 3.

  Lakukan proses forward propagation pada tiap unit.

  4. Hitung total perubahan bobot dari semua unit jaringan, dan terapkan koreksi perubahan bobot pada tiap jaringan.

  Perhitungan fungsi error dilakukan dengan menghitung rata-rata dari jumlah fungsi error pada tiap unit backpropagation menggunakan persamaan berikut.

  (2.18) Dimana :

  =

  Fungsi Error total ke - k

  =

  fungsi error pada unit backpropagation ke - i

  =

  Jumlah unit backpropagation Berdasarkan persamaan diatas nilai fungsi error total digunakan dalam menghitung nilai learning rate seperti yang telah dibahas pada sub bab analisis sebelumnya, dan dilanjutkan dengan perhitungan bobot baru atau . Nilai perubahan bobot akan dikirimkan ke setiap unit backpropagation untuk mengoreksi bobot pada setiap unit.

  5. Ulangi langkah tiga sampai kondisi berhenti tercapai.

  ! " # $$ % & ' $$ ( ! " # ) * + , - .

  

% &

/ 0 (

Gambar 2.9 Presentasi skema pelatihan pada jaringan (a) Pelatihan tanpa implementasi parallel, (b) Pelatihan dengan implementasi parallel.

  (Sumber : Schuessler & Loyola,2011)