BAB 2 LANDASAN TEORI
2.1
Suara
2.1.1
Sinyal Menurut Proakis dan Manolakis (1992, p2), sinyal didefinisikan sebagai jumlah fisik (physical quantity) yang bervariasi terhadap waktu, ruang, atau variabel independen lainnya. Sebuah sinyal x(t) adalah sebuah nilai real atau nilai skalar, fungsi dari waktu (t) (Kamen, 1997, p7). Definisi lain menurut Mitra (1998, p1) adalah sebuah fungsi dari variabel independen seperti waktu, jarak, posisi, suhu, dan tekanan. Sebagai contoh, sinyal suara dan musik merepresentasikan tekanan udara sebagai fungsi terhadap waktu pada satu titik dalam ruang koordinat dan gambar hitam putih yang merepresentasikan tingkat intensitas cahaya sebagai fungsi terhadap dua titik dalam ruang koordinat. Sebuah sinyal membawa informasi dan tujuan dari pemprosesan sinyal adalah untuk mendapatkan atau mengekstrak informasi yang dibawa oleh sinyal. Metode esktraksi informasi ini bergantung pada jenis sinyal dan sifat alami dari informasi yang dibawa oleh sinyal tersebut. Oleh sebab itu, pemprosesan sinyal terkait dengan representasi matematis dari sinyal tersebut dan operasi algoritmik untuk mendapatkan informasi yang dilakukan terhadap sinyal tersebut. Menurut Mitra (1998, pp2-4), sebuah sinyal dapat dihasilkan oleh satu sumber atau banyak sumber. Sinyal satu dimensi (1-D) adalah fungsi dari satu variabel independen. Sinyal dua dimensi (2-D) adalah fungsi dari dua variabel 7
8 independen. Sinyal multidimensi (M-D) adalah fungsi dari dua atau lebih variabel independen. Sinyal suara adalah sinyal satu dimensi di mana variabel independennya adalah waktu. Nilai dari sinyal pada nilai variabel independen tertentu disebut dengan amplitudo. Variasi dari amplitudo sebagai fungsi dari variabel independen disebut sebagai waveform. Pada umumnya variabel independen untuk sinyal satu dimensi adalah waktu. Jika variabel independennya kontinu, maka sinyal tersebut disebut sebagai
sinyal
waktu
kontinu
(continuous-time
signal).
Jika
variabel
independennya diskrit, maka sinyal tersebut disebut sebagai sinyal waktu diskrit (discrete-time signal). Sinyal waktu kontinu didefinisikan setiap waktu t dalam sebuah interval yang biasanya tidak terbatas, sedangkan sinyal waktu diskrit didefinisikan pada waktu diskrit, dan biasanya berupa urutan angka.
Gambar 2.1 (a) Sinyal Waktu Kontinu dan (b) Sinyal Waktu Diskrit Sinyal waktu kontinu dengan amplitudo kontinu biasanya disebut sebagai sinyal analog. Contoh sinyal analog adalah sinyal suara. Sinyal waktu diskrit dengan amplitudo bernilai diskrit yang direpresentasikan oleh digit angka yang terbatas (finite), biasanya disebut sebagai sinyal digital.
9 Berdasarkan jenis frekuensinya, sinyal terbagi menjadi sinyal stationary dan sinyal non-stationary. Frekuensi dalam sinyal stationary tidak berubah dan selalu berulang dalam waktu, sedangkan frekuensi dalam sinyal non-stationary berubah-ubah dalam waktu.
Gambar 2.2 (a) Sinyal Stationary dan (b) Non-stationary.
2.1.2
Sinyal Suara Menurut Rabiner dan Juang (1993, p17), sinyal suara adalah sebuah sinyal yang bervariasi terhadap waktu yang jika diperiksa dalam periode waktu yang singkat (antara 5 sampai 100 milidetik), karakteristiknya tergolong stationary. Frekuensi dapat yang didengar oleh indra pendengaran manusia adalah antara 20 - 20000 Hz (Dede, 1998, p1). Suara adalah sinyal yang bergantung pada waktu (time-dependent). Oleh sebab itu, pengucapan kata yang sama dapat memiliki durasi yang berbeda.
10 Pengucapan kata yang sama dengan durasi yang sama juga dapat memiliki perbedaan di bagian tengah, dikarenakan adanya perbedaan bagian dari kata yang diucapkan dengan kecepatan yang berbeda.
(a)
(b) Gambar 2.3 (a) Sistem Vokal Manusia (b) Diagram Blok Untuk Sistem Vokal Manusia Sinyal suara dibentuk dengan cara menstimulasi rongga suara. Sinyal suara terdiri dari dua buah tipe bunyi : bersuara (voiced) dan tidak bersuara (unvoiced) (Mitra, 1998, p19). Bunyi voiced, termasuk di dalamnya bunyi vokal
11 dan beberapa konsonsan seperti B, D, L, M, N, dan R, distimulasi oleh aliran udara pulsatile yang berasal dari getaran vocal folds. Bunyi unvoiced dihasilkan downstream di bagian depan dari mulut, dengan pita suara dalam kondisi istirahat, termasuk di dalamnya bunyi seperti F, S, dan SH. Menurut Rabiner dan Juang (1993, p18), terdapat tiga kondisi representasi suara yang dihasilkan yaitu silence (tidak ada suara yang dihasilkan), unvoiced (pita suara tidak bergetar dan waveform suara hasil aperiodik atau random), dan voiced (pita suara menegang dan bergetar secara periodik dan hasil waveform suara quasi-periodik). Bentuk gelombang bunyi voiced berupa quasi-periodik dan dapat dibuat modelnya berdasarkan total jumlah dari nilai pasti sinusoid. Frekuensi terendah dari fluktuasi dalam representasi ini disebut sebagai frekuensi fundamental atau pitch frequency. Bentuk gelombang bunyi unvoiced tidak mempunyai struktur umum yang baik dan lebih menyerupai noise. Ketika suara yang berupa sinyal analog hendak direkam dengan mikrofon, sinyal tersebut harus diubah menjadi sinyal digital terlebih dahulu karena komputer hanya mengenali sinyal dalam bentuk digital. Alat yang digunakan untuk mengubah sinyal analog menjadi digital disebut analog-todigital converter (ADC). Kebalikan dari ADC adalah digital-to-analog converter (DAC) yang berfungsi untuk mereproduksi suara dari komputer dengan mengubah sinyal digital menjadi analog yang dikeluarkan melalui speaker komputer. ADC dan DAC pada komputer terletak pada sound card. Dalam komputer yang memiliki sound card yang terpasang secara on-board pada motherboard, ADC dan DAC terletak pada chip yang terpisah yang disebut codec (coder/decoder) (Mitra ,1998, p283).
12 2.1.3
Bit Rate Bit rate menyatakan jumlah bit yang digunakan setiap unit waktu dalam file suara. Sebuah suara digital terdiri dari word yang berisi 0 atau 1. Pada word 2 bit, terdapat 4 kemungkinan nilai, yaitu 00, 01, 10, dan 11. Pada word 3 bit, terdapat 8 kemungkinan nilai, yaitu 000, 111, 001, 010, 011, 100, 101, dan 110. Pada word n bit, terdapat 2n kemungkinan nilai. Jika word 8 bit digunakan untuk menyatakan volume, maka terdapat 256 kemungkinan nilai volume, berkisar dari 0 sampai dengan 255. Semakin tinggi bit rate, semakin akurat resolusi dari volume file suara tersebut.
2.1.4
Sampling Rate Sampling rate (biasa disebut juga sampling frequency) menyatakan jumlah sample per detik yang diambil dari sinyal kontinu untuk membuat sinyal diskrit. Untuk sinyal time-domain, sampling rate dapat diukur dalam hertz (Hz). Kebalikan dari sampling rate adalah sampling period yang menyatakan selang waktu di antara setiap sample (Schiel dan Draxler, 2004).
Gambar 2.4 Gelombang Suara yang Di-sampling
13 Jika waktu pada gambar 2.4 adalah satu detik, berarti terdapat enam buah sample dari suara tersebut dalam setiap detiknya atau dengan kata lain memiliki sampling rate sebesar enam (sample terakhir tidak diikutsertakan karena merupakan sample pertama untuk detik berikutnya). Semakin tinggi sampling rate, semakin akurat resolusi file suara tersebut. Sebagai contoh, suara 16 bit dan 44,1 Khz bermakna suara tersebut di-sampling 44.100 kali per detik dan diukur dengan akurasi 16 bit. Sinyal suara yang hanya berisi suara manusia (speech signal) dapat disampling pada nilai yang jauh lebih rendah. Menurut Allen (1994, pp567-577), dalam kebanyakan kasus, hampir semua energi dalam suara tersimpan dalam rentang 0-4000 Hz sehingga sampling cukup dilakukan pada 8000 Hz. Hal ini didasarkan pada teori Nyquist-Shannon yang menyebutkan bahwa untuk mencegah hilangnya informasi dalam sebuah konversi sinyal kontinu ke diskrit, sampling minimal harus dua kali lebih besar dari sinyal asli (Shannon, 1949). Tabel 2.1 Tabel Rentang Sampling Rate dan Penggunaannya Sampling rate (dalam Hz) 8000 11025 dan 22050 32000 44056 44100 47250 48000 50000 50400 96000 dan 192000
Penggunaan Telepon, speech signal Audio PCM dan MPEG kualitas rendah Perekam miniDV digital video Adaptor PCM yang menggunakan video tape NTSC CD audio, VCD, SVCD, MP3 Perekam suara PCM komersial pertama di dunia oleh Denon Suara digital pada miniDV, TV digital, DVD Perekam digital audio komersial pertama oleh 3M dan Soundstream Perekam digital audio pada Mitsubishi X-80 DVD Audio, audio pada Blu-ray dan HD-DVD
14 2.1.5
Format File
2.1.5.1 Resource Interchange File Format Menurut Murray dan vanRyper (1996), Resource Interchange File Format (RIFF) adalah format file generik untuk menyimpan data dalam chunk yang berlabel (tagged chuncks). RIFF diciptakan pada tahun 1991 oleh Microsoft dan IBM. RIFF kemudian dijadikan format standar untuk file multimedia pada sistem operasi Windows 3.1. RIFF dibuat berdasarkan Interchange File Format (IFF) milik Electronic Arts. Perbedaan antara keduanya adalah : •
Tipe data integer pada RIFF menggunakan little-endian di mana byte terkecil (least significant byte) disimpan pada alamat memori terkecil, sedangkan tipe data integer pada IFF menggunakan big-endian di mana byte terbesar (most significant byte) disimpan pada alamat memori terkecil.
•
RIFF digunakan pada prosesor seri 80x86 untuk PC IBM, sedangkan IFF digunakan pada prosesor seri 68k untuk Amiga dan Apple Macintosh.
•
Contoh format file yang menggunakan RIFF : AVI, ANI, dan WAV. Contoh format file yang menggunakan IFF : AIFF, PICS, dan ACBM. Sebuah file RIFF terdiri dari kumpulan chunk. Chunk adalah unit logikal
dari data multimedia. Setiap chunk memiliki field sebagai berikut : •
4 karakter yang menjadi pengenal chunk
•
Nilai doubleword yang menyatakan besarnya data dalam chunk
•
Field data
15
Gambar 2.5 Sebuah Chunk RIFF yang Memiliki Dua Subchunk Sebuah chunk yang terdapat dalam chunk lainnya disebut subchunk. Chunk pertama dalam sebuah file RIFF haruslah memiliki pengenal “RIFF”. Chunk lainnya merupakan subchunk dari chunk “RIFF”. Chunk “RIFF” dapat mengandung field lain dalam field data, biasanya menyatakan format data yang disimpan dalam file.
2.1.5.2 Waveform Audio Format Waveform Audio Format (WAV atau WAVE) adalah format file standar dari Microsoft dan IBM untuk menyimpan audio dalam sebuah computer. WAV merupakan bagian dari RIFF sebagai media penyimpan file multimedia. Sebuah file WAV dapat menyimpan audio dengan kompresi, namun pada umumnya format WAV berisi audio tanpa kompresi dalam format PCM (pulsecode modulation).
16
Gambar 2.6 Format File WAV Standar (Kanonikal) Menurut Wilson (2003), sebuah file WAV yang standar, disebut juga dengan bentuk kanonikal, merupakan file RIFF tunggal dengan chunk ”WAV” yang terdiri dari dua buah subchunk : •
Subchunk “fmt” yang menjelaskan format data
•
Subchunk ”data” yang berisi data sample yang sebenarnya Tabel 2.2 Tabel Deskripsi Bagian Format File WAV Menurut Gambar 2.6
Offset
Ukuran (dalam byte)
Nama
0 4
4 4
ChunkID ChunkSize
Deskripsi chunk “WAVE” Berisi huruf “RIFF” Berisi ukuran total file dalam byte setelah dikurangi 8 byte untuk menyimpan field ChunkID dan ChunkSize. Rumusnya adalah 4 + (8 + SubChunk1Size) + (8 + SubChunk2Size)
17 8
4
12 16
4 4
20
2
22
2
24
4
28
4
32
2
34
2
36 40
4 4
44
*
Format
Berisi huruf “WAVE” subchunk “fmt” Subchunk1ID Berisi huruf “fmt” Subchunk1Size Berisi ukuran dari total subchunk “fmt” setelah dikurangi 8 byte untuk menyimpan field Subchunk1ID dan Subchunk1Size AudioFormat Berisi 1 apabila merupakan file audio tanpa kompresi (PCM). Angka lain menandakan adanya kompresi. NumChannels Berisi jumlah channel, 1 untuk mono, 2 untuk stereo. SampleRate Berisi jumlah frame sample per detik di mana file suara akan diputar. ByteRate Berisi jumlah rata-rata byte per detik. Rumusnya adalah SampleRate * BlockAlign BlockAlign Berisi jumlah byte untuk satu sample untuk semua channel. Rumusnya adalah NumChannels * BitsPerSample/8 BitsPerSample Berisi jumlah bit per sample subchunk ”data” Subchunk2ID Berisi huruf ”data” Subchunk2Size Berisi jumlah byte dalam data. Data
Berisi data suara yang sebenarnya
Gambar 2.7 memberikan contoh isi dan penjelasan nilai-nilai dalam sebuah file WAV.
(a)
18
(b) Gambar 2.7 (a) 72 Byte Pertama dari Sebuah File WAV Dalam Format Heksadesimal dan (b) Penjelasannya
2.1.6
Silence-Frame Silence-frame merupakan sample pada suara yang tidak memiliki bunyi, biasanya merupakan jeda antar kata yang diucapkan ataupun kekosongan pada awal dan akhir dari sebuah pengucapan (Olsson, 2002, p27). Dalam sebuah file suara dengan bit rate sebesar n bit, nilai sample yang dihasilkan berkisar dari 0 sampai dengan 2n-1 dengan nilai tengah terletak pada ½ * 2n. Nilai tengah inilah yang disebut silence-frame.
2.1.7
Penguatan Suara Menurut Mitra (1998, p4), penguatan suara atau amplifikasi suara adalah proses pengolahan suara meningkatkan nilai amplitudo dengan faktor pengali tertentu sehingga amplitudo yang dihasilkan menjadi sejumlah kali lipat nilai semula. Penguatan suara dilakukan dengan persamaan :
19 ⎛ 2n ⎞ 2n N x = ⎜⎜ O x − ⎟⎟ × C + 2 ⎠ 2 ⎝
.................................................................(2.1)
Di mana :
2.1.8
•
Nx adalah nilai sample pada file suara output.
•
Ox adalah nilai sample pada file suara asli.
•
n adalah nilai bit rate dari file suara.
•
C adalah koefisien faktor pengali.
Normalisasi Audio Normalisasi audio adalah proses pengolahan suara menaikkan atau menurunkan amplitudo atau volume dari sebuah file suara agar semua nilai sample di dalamnya berada pada rentang tertentu. Normalisasi audio dilakukan dengan persamaan : Nx =
N max − N min × (O x − Omin ) + N min ..............................................(2.2) Omax − Omin
Di mana :
2.1.9
•
Nx adalah nilai sample pada file suara output.
•
Ox adalah nilai sample pada file suara asli.
•
Omin adalah nilai sample terendah pada file suara asli.
•
Omax adalah nilai sample tertinggi pada file suara asli.
Konvolusi Konvolusi adalah sebuah operasi matematika sederhana yang umum digunakan pada pemprosesan sinyal suara. Konvolusi menyediakan sebuah cara
20 untuk mengalikan dua buah array angka (biasanya berdimensi sama tapi dengan ukuran berbeda) untuk menghasilkan array ketiga dengan dimensi yang serupa. Teknik ini dapat digunakan dalam pemprosesan sinyal suara untuk mengimplementasikan operator-operator di mana nilai sample output-nya adalah kombinasi linear sederhana dari sample input. Dalam konteks pemprosesan sinyal suara, array input biasanya adalah nilai sample dari file suara asli, sedangkan array kedua yang biasanya berukuran lebih kecil dan harus berdimensi sama (satu dimensi) disebut sebagai kernel (mask). Konvolusi dilakukan dengan menggeser kernel di atas file suara (masking) hingga kernel tersebut melewati segala posisi sedemikian sehingga kernel
muat
semuanya
di
dalam
batasan
file.
Setiap
posisi
kernel
berkorespondensi dengan sebuah nilai sample keluaran yang didapat dari akumulasi perkalian antara nilai kernel dengan nilai sample yang dilewatinya. Secara matematis, operasi konvolusi dari file audio y(k) dan kernel x(i) dapat dituliskan dalam persamaan : z (k ) = ( x * y )(k ) = ∑ x(i ) y (k − i ) ........................................................................(2.3) i
Di mana z(k) adalah sample output hasil proses konvolusi (Gonzales, 1993, p100).
21
Gambar 2.8 Contoh Konvolusi di mana z(i) = x(i)*y(i)
2.2
Pengenalan Pola
Gambar 2.9 Diagram Proses dari Sebuah Sistem Pengenalan Pola Pengenalan pola (pattern recognition) dapat diartikan sebagai proses pengumpulan data atau pola dan pengambilan tindakan atau keputusan berdasarkan kategori dari data atau pola tersebut (Theodoridis dan Koutroumbas, 2006). Tujuan dari pengenalan pola adalah mengklasifikasikan pola berdasarkan
22 knowledge yang sudah dianggap benar atau informasi statistik yang didapat dari pola-pola tersebut. Sebuah sistem pengenalan pola terdiri dari sensor yang mengumpulkan pola yang akan diproses dan mengukur variabel dari setiap pola, pre-processing yang menghilangkan noise dalam data, mekanisme ekstraksi fitur untuk mendapatkan informasi numerik atau simbolik dari pola-pola tersebut, model pembelajaran yang mempelajari pemetaan antara fitur dan kelompok pola, metode klasifikasi yang memisah-misahkan pola-pola tersebut ke dalam kategori berdasarkan fitur dan model pembelajaran, dan post-processing yang mengevaluasi benar tidaknya hasil yang didapat. Metode klasifikasi yang digunakan pada sistem pengenalan pola memiliki dua jenis pendekatan : statistik dan struktural (atau sintaktik). Pengenalan pola statistik berdasar pada karakteristik statistikal dari pola-pola yang ada dengan asumsi bahwa pola-pola tersebut dihasilkan oleh sebuah sistem probabilistik. Pengenalan pola struktural berdasar pada hubungan struktural dari fitur dari setiap pola. Tabel 2.3 Tabel Contoh Aplikasi Sistem Pengenalan Pola Domain masalah Analisa citra dokumen Klasifikasi dokumen
Aplikasi Pengenalan karakter optikal Pencarian internet
Pola input Citra dokumen
Kelas pola Karakter, kata
Dokumen teks
Klasifikasi dokumen
Spam filter pada surat elektronik Pencarian internet
Surat elektronik
Kategori semantik Spam/bukan spam Jenis/genre video Kata yang diucapkan
Pembuatan sistem basis data multimedia Speech recognition Telephone directory assistance
Klip video Gelombang suara
23 Pemprosesan bahasa natural Pengenalan biometrik
Ekstraksi informasi Identitas personal
Kalimat
Medis
Diagnosa
Citra mikroskop
Militer
Pengenalan target otomatis Pemilahan buah
Gambar infra merah Citra yang diambil pada conveyor belt
Otomatisasi industri
Wajah, retina, sidik jari
Bagian dari kata Pengguna yang berwenang Sel kanker/bukan kanker Jenis target Tingkat kualitas
Seperti yang disebutkan dalam tabel 2.3, salah satu domain masalah dalam pengenalan pola adalah biometrik. Biometrik adalah bidang ilmu yang mempelajari metode untuk mengenali manusia secara unik berdasarkan satu atau lebih bagian fisik atau perilaku dalam dirinya. Jain et al (2002, p16) membuat tabel perbandingan teknologi biometrik seperti pada tabel 2.4. Nilai tinggi menunjukkan hasil yang baik dan sebaliknya. Tabel 2.4 Tabel Perbandingan Teknologi Biometrik Biometrik
Universality
Uniqueness
Permanence
Wajah
Tinggi
Rendah
Sidik jari
Sedang
Tinggi
Bentuk tangan
Sedang
Urat nadi Iris
Acceptability
Circum vention Rendah
Collectability
Performance
Sedang
Tinggi
Rendah
Tinggi
Tinggi
Sedang
Tinggi
Sedang
Tinggi
Sedang
Sedang
tinggi
Sedang
Sedang
Sedang
Sedang
Sedang
Sedang
Sedang
Sedang
Sedang
Tinggi
Tinggi
Tinggi
Tinggi
Sedang
Tinggi
Rendah
Tinggi
Pemindai retina
Tinggi
Tinggi
Sedang
Rendah
Tinggi
Rendah
Tinggi
Tanda tangan
Rendah
Rendah
Rendah
Tinggi
Rendah
Tinggi
Rendah
Suara Suhu tubuh (termogram) Bau badan
Sedang
Rendah
Rendah
Sedang
Rendah
Tinggi
Rendah
Tinggi
Tinggi
Rendah
Tinggi
Sedang
Tinggi
Tinggi
Tinggi
Tinggi
Tinggi
Rendah
Rendah
Sedang
Rendah
DNA
Tinggi
Tinggi
Tinggi
Rendah
Tinggi
Rendah
Rendah
Telinga
Sedang
Sedang
Tinggi
Sedang
Sedang
Tinggi
Sedang
Penjelasan istilah yang digunakan dalam tabel 2.4 : •
Universality menyatakan seberapa umum biometrik dapat ditemukan dalam setiap orang.
24 •
Uniqueness menyatakan seberapa baik biometrik membedakan seseorang dari yang lainnya.
•
Permanence mengukur seberapa besar ketahanan biometrik terhadap umur.
•
Collectability menyatakan seberapa mudah mendapatkan biometrik untuk pengukuran.
•
Performance menyatakan tingkat akurasi dan kecepatan sistem dalam mendapatkan data biometrik.
•
Acceptability menyatakan tingkat penerimaan teknologi oleh masyarakat dalam kehidupan sehari-hari.
•
2.3
Circumvention menyatakan seberapa mudah sistem dapat dikelabui.
Speaker Recognition Speaker recognition atau yang juga dikenal dengan voice recognition adalah sistem yang dapat mengenali seseorang dari suaranya (Sigmund, 2003, pp7-18). Sistem ini mengekstrak fitur dari suara, memodelkannya, dan menggunakan model tersebut untuk membedakan seseorang berdasarkan suaranya. Speaker recognition sering disamakan dengan speech recognition, padahal keduanya memiliki definisi yang berbeda. Speaker recognition mengenali siapa yang berbicara sementara speech recognition mengenali apa yang diucapkan. Speaker recognition terdiri dari dua tahap : pelatihan dan pengenalan (evaluasi). Pada tahap pelatihan, suara pembicara akan direkam dan fitur di dalamnya akan diekstrak untuk mendapatkan voice print, template, atau model
25 suara. Pada tahap evaluasi, suara pembicara dicocokkan dengan template atau model. Menurut Reynolds dan Heck (2000), terdapat beberapa faktor yang harus diperhatikan dalam evaluasi sistem speaker recognition : •
Kualitas suara (jumlah channel dan karakteristik mikrofon, tingkat noise, variasi suara pada tahap pelatihan dan evaluasi)
•
Metode input (text-dependent atau text-independent)
•
Lama suara (durasi dan jumlah sesi suara pada tahap pelatihan dan evaluasi)
•
Jumlah subjek dalam tahap pelatihan
Gambar 2.10 Rentang Performansi Beragam Sistem Speaker Recognition Riset mengenai speaker recognition telah dilakukan di berbagai laboratorium di berbagai negara. Secara kronologis, perkembangan speaker recognition dapat diurutkan seperti tabel 2.5.
26 Tabel 2.5 Tabel Perkembangan Penelitian Speaker Recognition Secara Kronologis Sumber referensi Atal 1974 Markel dan Davis 1979 Furui 1981 Schwartz, et al. 1982 Li dan Wrench 1983 Doddington 1985 Soong, et al. 1985
AT&T
Metode ekstraksi fitur Cepstrum
STI
LP
Long term statistics
Independent
17
Tingkat kesalahan i: 2%@0,5s v: 2%@1s i: 2%@39s
AT&T
Pattern match
Dependent
10
v: 0,2%@3s
BBN ITT
Cepstrum ternormalisasi LAR LP, Cepstrum
Nonparametric pdf Pattern match
Independent Independent
21 11
TI AT&T
Filter-bank LP
Dependent 10 digit
200 100
Independent
11
Dependent
90
i: 2,5%@2s i: 21%@3s i: 4%@10s v: 0,8%@6s i: 5%@1,5s i: 1,5%3,5s v: 10%@2,5s v: 4,5%@10s v: 1%@3s
Dependent
186
v: 1,7%@10s
10 digit
100
v: 2,8%@1,5s v: 0,8%@3,5s i: 0,8%@10s v:0,12%@10s i:0,56%@2,5s i: 0,14%@10s v: 0,62@2,5s i: 0,22%@10s v:0,28%@10s
Org
Teknik klasifikasi
Teks
Pop
Pattern match
Dependent
10
Higgins dan Wohlford 1986 Attili, et al. 1988
ITT
Cepstrum
RPI
Higgins, et al. 1991
ITT
Cepstrum, LP, Autocorr LAR, LPCepstrum LP
DTW VQ likelihood ratio distortion DTW likelihood scoring Projected long term statistics DTW likelihood scoring HMM (AR mix)
Tishby 1991
AT&T
Reynolds 1995
MITLL Rutgers
Mel-Cepstrum
HMM (GMM)
Dependent
138
Cepstrum
HMM
Dependent
138
Colombi, et al. 1996
AFIT
HMM monofon
Dependent
138
Reynolds 1996
MITLL
Cepstrum, Eng dCepstrum, ddCepstrum Mel-Cepstrum, Mel-dCepstrum
HMM (GMM)
Independent
416
Che dan Lin 1995
v: 11%@3s v: 6%@10s v: 3%@30s
Penjelasan istilah yang digunakan pada tabel 2.5 : •
Org (organisasi) mengacu pada badan, perusahaan, atau universitas yang mengadakan penelitian.
•
Teks mengacu pada metode speaker recognition.
•
Pop (populasi) mengacu pada jumlah subjek yang digunakan pada penelitian.
•
Tingkat kesalahan mengacu pada nilai persentase kesalahan yang muncul saat penelitian, di mana i menyatakan speaker identification, v menyatakan speaker verification, dan @ns menyatakan rentang waktu selama n detik setiap kali sampel suara diambil.
27 •
LP berarti Linear Predictive, LAR berarti Log Area Ratio, DTW berarti Dynamic Time Warping, VQ berarti Vector Quantization, HMM berarti Hidden Markov Model, dan GMM berarti Gaussian Mixture Model.
2.3.1
Berdasarkan Fungsi Menurut Reynolds dan Heck (2000), berdasarkan fungsinya, speaker recognition terbagi menjadi speaker verification (atau voice authentication) dan speaker identification. Perbedaan antara keduanya terletak pada ada tidaknya klaim atas identitas tertentu yang dilakukan oleh pengguna ketika memasukkan suara untuk dikenali.
Gambar 2.11 Bagan Sistem Speaker Verification Sebuah sistem speaker verification bertujuan untuk mengesahkan identitas seseorang berdasarkan suaranya. Ketika pengguna memberikan input suaranya, ia juga memasukkan identitas yang diklaimnya. Dalam speaker verification, suara pengguna hanya dicocokkan dengan 1 template yang diklaim ketika proses pemasukan (1:1). Speaker verification biasa digunakan dalam aplikasi yang membutuhkan akses keamanan seperti aplikasi sekuritas yang menggunakan input suara sebagai pengganti password dan PIN (Personal Identification Number).
28 Dalam speaker verification dikenal dua jenis kesalahan yaitu false rejection di mana pengguna yang mengklaim sebagai dirinya sendiri ditolak dan false acceptance di mana peniru yang mengklaim sebagai pengguna lain diterima.
Gambar 2.12 Bagan Sistem Speaker Identification Sebuah sistem speaker identification bertujuan untuk mengidentifikasi siapa yang sedang berbicara dari sekumpulan set suara yang telah dikenali dan tidak terdapat klaim identitas dari pengguna. Dalam speaker identification, suara pengguna dicocokkan dengan semua template yang ada (1:N). Ruang lingkup speaker identification terbagi dua yaitu membedakan setiap speaker dalam sebuah percakapan dan mengidentifikasi suara seseorang berdasarkan data yang telah dimasukkan sebelumnya di mana suara orang tersebut termasuk di dalamnya. Speaker identification dapat digunakan dalam investigasi polisi seperti pencarian suara seorang tersangka pada database pelaku kriminal untuk mengenali identitas tersangka.
29 2.3.2
Berdasarkan Metode Menurut Olsson (2002, pp8-9), berdasarkan metodenya, speaker recognition dibagi menjadi text-dependent dan text-independent. Dalam text-dependent, kata yang digunakan dalam pelatihan dan evaluasi harus sama. Dengan kata lain, sistem mengenali kata yang diucapkan oleh pengguna ketika evaluasi. Text-dependent terbagi dalam 3 jenis kasus : •
Fixed phrase, di mana sistem yang menentukan frasa apa yang harus diucapkan. Metode ini dapat menghasilkan tingkat akurasi yang tinggi, namun tidak user friendly dan rentan terhadap peniru (impostor) karena frasa yang diucapkan selalu sama.
•
Text prompted, di mana pengguna diminta untuk mengucapkan frasa yang ditampilkan oleh sistem. Dalam prinsipnya, frasa yang ditampilkan dapat berupa apa saja. Hal ini menimbulkan kesulitan di mana sistem mengetahui frasa apa yang akan diucapkan, tapi sistem juga harus mengenali bagaimana bunyi frasa tersebut jika diucapkan oleh pengguna tertentu. Dalam penerapannya, metode ini menggunakan angka di mana pengguna diminta mengucapkan urutan angka yang diacak.
•
Pass phrase, di mana pengguna
bebas menentukan frasa yang hendak
digunakan, tapi frasa yang sama harus digunakan pada tahap pelatihan dan evaluasi. Dalam text-independent, kata yang digunakan dalam pelatihan dan evaluasi tidak harus sama. Hal ini berarti sistem tidak mengenali kata yang diucapkan oleh pengguna ketika evaluasi.
30 2.4
Ekstraksi Fitur Tujuan dari ekstraksi fitur adalah untuk mengurangi jumlah data dengan mempertahankan fitur atau properti tertentu yang membedakan pola input (Kulkarni, 2001, p54). Keuntungan dari penggunaan tahap ekstraksi fitur adalah mempermudah pemprosesan tingkat selanjutnya dengan mengkuantisasi energi atau fitur yang biasanya jumlahnya lebih sedikit dibandingkan data aslinya. Menurut Campbell (1997), fitur dari sebuah sistem pengenalan pola yang baik harus bersifat alamiah, dapat diukur dengan mudah, tidak berubah dari waktu ke waktu atau terpengaruh oleh kondisi kesehatan pengguna, tidak terpengaruh oleh noise, dan tidak dapat ditiru oleh orang lain. Beberapa metode yang dapat digunakan untuk ekstraksi fitur antara lain : Fast Fourier Transform (FFT), Short Term Fourier Transform (STFT), dan Transformasi Wavelet Diskrit (Discrete Wavelet Transform / DWT). Tabel 2.6 Tabel Perbandingan FFT, STFT, dan DWT FFT
STFT
DWT
Jenis sinyal yang dapat diproses dengan baik
stationary
stationary dan non-stationary
stationary dan nonstationary
Transformasi
Ke dalam domain frekuensi
Ke dalam domain frekuensi dan waktu
Resolusi yang dihasilkan
Frekuensi digambarkan dengan tepat dalam domain frekuensi
Sama untuk keseluruhan sinyal, tergantung fungsi window yang digunakan
Ke dalam frekuensi dan waktu dalam tingkat resolusi yang berbeda Bervariasi untuk keseluruhan sinyal, frekuensi tinggi digambarkan lebih baik dalam domain waktu dan frekuensi rendah digambarkan lebih baik dalam domain frekuensi
31 Dari tabel 2.6 di atas, DWT memiliki kelebihan dibandingkan FFT dan STFT. DWT tidak hanya dapat bekerja pada sinyal stationary, tetapi juga pada sinyal non-stationary yang lebih sering ditemukan dalam sinyal suara. Selain itu jika dibandingkan dengan STFT yang menghasilkan resolusi yang selalu sama untuk keseluruhan sinyal, DWT menghasilkan resolusi yang beragam dalam satu sinyal dengan frekuensi tinggi lebih baik dalam domain waktu dan frekuensi rendah lebih baik dalam domain frekuensi. Hal ini memungkinkan proses analisa sinyal yang lebih baik.
2.4.1
Fast Fourier Transform Fast Fourier Transform (FFT) yang ditemukan tahun 1965 merupakan pengembangan dari Fourier Transform (FT). Penemu FT adalah J. Fourier pada tahun 1822. FT membagi sebuah sinyal menjadi frekuensi yang berbeda-beda dalam fungsi eksponensial yang kompleks. ∞
X(f ) =
∫ x(t ) • e
− 2 jπft
dt .....................................................................(2.4)
−∞
Di mana t menyatakan waktu, f menyatakan frekuensi, X(t) menyatakan sinyal dalam domain frekuensi, dan x(t) menyatakan sinyal dalam domain waktu. Untuk pemprosesan sinyal diskrit, sebuah algoritma baru yang disebut Discrete Fourier Transform (DFT) diciptakan. DFT memiliki rumus sebagai berikut : N −1
X k = ∑ xn e n =0
−
2π i nk N
...............................................................................(2.5)
32 Di mana N menyatakan jumlah sampel. Persamaan (2.5) memiliki kompleksitas algoritma O(N2). FFT membagi sampel N menjadi dua buah N1 dan N2 secara rekursif bersama perkalian dengan e
−
2π i nk N
. Hal ini membuat FFT hanya memiliki
kompleksitas O(N log N). Dalam pemprosesan sinyal suara, FFT akan mengubah sinyal suara dalam domain waktu menjadi domain frekuensi. FFT tidak dapat menampilkan informasi waktu kapan frekuensi tersebut terjadi. Hal ini akan menimbulkan masalah dalam kasus sinyal non-stationary yang memiliki frekuensi berbeda dalam setiap waktu.
Gambar 2.13 (a) Sinyal Stationary dan (b) Sinyal Non-stationary.
(c) merupakan hasil FFT dari (a). (d) merupakan hasil FFT dari (b). Tampak bahwa (c) dan (d) memiliki bentuk serupa.
33 2.4.2
Short Term Fourier Transform
Short Term Fourier Transform (STFT) mengasumsikan setiap bagian dari sinyal non-stationary adalah sinyal stationary. Dengan demikian, STFT menutupi kelemahan FFT yang tidak dapat bekerja dengan baik pada sinyal nonstationary. Perbedaan STFT dan FFT adalah STFT membagi sinyal menjadi bagian-bagian kecil di mana setiap bagian dari sinyal dapat dianggap sebagai sinyal stationary. Untuk itu, STFT membutuhkan sebuah fungsi window w yang lebarnya sama dengan bagian dari sinyal yang dapat dianggap sebagai sinyal stationary.
[
]
STFT X(ω ) (t , f ) = ∫ x(t ) • ω * (t − t ' ) • e − j 2π f t dt ..................................(2.6) t
Karena STFT merupakan fungsi waktu dan frekuensi, transformasi yang dihasilkan memiliki dua dimensi (atau tiga dimensi, jika amplitudo juga dihitung).
(a)
34
(b)
Gambar 2.14 (a) Sinyal Non-stationary dan (b) Hasil STFT-nya
Meskipun dapat menampilkan informasi waktu dan frekuensi secara bersamaan, STFT juga memiliki kelemahan. Kelemahan STFT terletak pada fungsi window yang digunakan dan prinsip ketidakpastian Heisenberg yang menyatakan bahwa momentum dan posisi dari sebuah partikel bergerak tidak dapat diketahui secara bersamaan, yang dapat diketahui hanyalah rentang frekuensi berapa yang muncul dalam interval waktu tertentu. (Heisenberg, 1927, pp172-198). Semakin lebar window yang digunakan, semakin mirip STFT dengan FFT yang menghasilkan resolusi frekuensi yang baik tetapi resolusi waktu yang buruk. Semakin sempit window yang digunakan, hasil yang didapat adalah resolusi waktu yang baik tetapi resolusi frekuensi yang buruk.
(a)
35
(b)
(c)
Gambar 2.15 (b) merupakan hasil STFT dari fungsi window 0,01 pada (a). (c)
merupakan hasil STFT dari fungsi window 0,00001 pada (a). Dari gambar 2.15(b) terlihat bahwa untuk fungsi window yang sempit, puncak-puncak yang terbentuk terpisah dengan jelas dalam domain waktu, tetapi setiap puncaknya mencakup rentang frekuensi yang cukup besar. Sedangkan pada gambar 2.15(c) terlihat bahwa untuk fungsi window yang lebar, puncakpuncak yang terbentuk mencakup rentang waktu yang besar, tetapi setiap puncaknya memiliki nilai frekuensi yang akurat.
2.4.3
Transformasi Wavelet
2.4.3.1 Transformasi Wavelet Kontinu
Wavelet adalah fungsi matematika yang memilah data menjadi berbagai komponen frekuensi dan kemudian mempelajari tiap-tiap komponen dengan resolusi yang sesuai dengan faktor skalanya (Graps, 1995). Dalam analisa wavelet, fungsi window digeser sepanjang sinyal dan nilai spektrum dihitung pada setiap posisi tersebut. Proses ini dilakukan berulang kali dengan fungsi window yang sedikit lebih kecil atau lebih besar setiap siklusnya. Hasil akhirnya adalah kumpulan representasi waktu-frekuensi dari sinyal, masing-masing dengan resolusi yang berbeda. Dengan pendekatan skala fungsi window yang
36 berubah-ubah, pada frekuensi tinggi wavelet menghasilkan resolusi waktu yang baik dan resolusi frekuensi yang buruk, sementara pada frekuensi rendah resolusi waktu yang buruk dan resolusi frekuensi yang baik. Hal ini cocok untuk diterapkan pada kebanyakan sinyal seperti pada gambar 2.16.
Gambar 2.16 Sinyal Dengan Frekuensi Tinggi Untuk Waktu Singkat
dan Frekuensi Rendah Untuk Waktu yang Lama. Analisa wavelet yang dideskripsikan di atas disebut juga dengan transformasi wavelet kontinu (Continuous Wavelet Transform / CWT) yang ditulis dengan : ..........................................................(2.7) sedangkan fungsi kebalikannya (inverse) adalah : ..................................................(2.8) Tanda * merupakan operasi konvolusi. Persamaan (2.7) di atas menunjukkan bagaimana fungsi sinyal input f (t ) didekomposisikan ke dalam beberapa fungsi
basis
yang disebut fungsi wavelet.
37 Fungsi wavelet dihasilkan melalui sebuah fungsi wavelet dasar ψ (t ) yang disebut dengan fungsi wavelet induk (mother wavelet) dengan mengubah faktor skala dan translasinya. Fungsi wavelet induk didefinisikan sebagai :
.....................................................................(2.9) 1 Pada persamaan (2.9) di atas, τ adalah faktor translasi dan faktor s adalah untuk normalisasi energi pada skala berbeda-beda.
(a)
(b)
(c)
Gambar 2.17 (a) Sinyal Non-Stationary yang Dibentuk oleh Frekuensi 30 Hz,
20 Hz, 10 Hz, dan 5 Hz. (b) dan (c) merupakan hasil transformasi wavelet kontinu dari sinyal (a) yang dilihat dari sudut yang berbeda. Gambar 2.17 menunjukkan contoh transformasi wavelet kontinu. Sumbu translation pada gambar (b) dan (c) dapat dianggap mewakili waktu, sedangkan
38 sumbu scale menyatakan kebalikan dari frekuensi. Scale rendah menandakan frekuensi tinggi dan sebaliknya. Pada gambar 2.17(b), resolusi waktu (sumbu translation) menunjukkan perbedaan yang jelas. Frekuensi tertinggi (30 Hz) tampak pada nilai translation 0-30 dengan puncak yang sejajar, namun makin rendah frekuensinya, puncak yang terbentuk makin beragam. Pada gambar 2.17(c), resolusi frekuensi (sumbu scale) menunjukkan perbedaan yang jelas. Rentang frekuensi untuk frekuensi tertinggi (30 Hz) memang kecil dengan nilai scale 0-25, namun tidak menunjukkan perbedaan dalam resolusi waktu. Sementara rentang frekuensi untuk frekuensi terendah (5 Hz) memang besar dengan nilai scale 0-150, namun menunjukkan perbedaan dalam resolusi waktu. Hal ini sesuai dengan hasil wavelet yang memiliki resolusi waktu yang baik dan resolusi frekuensi yang buruk untuk frekuensi tinggi dan resolusi waktu yang buruk dan resolusi frekuensi yang baik untuk frekuensi rendah.
2.4.3.2 Transformasi Wavelet Diskrit
Transformasi wavelet kontinu bekerja dengan menggunakan input sinyal analog yang tidak memiliki batasan nilai (infinite), sedangkan pengolahan data oleh komputer harus menggunakan data diskrit yang memiliki batasan nilai (finite). Agar transformasi wavelet dapat dikomputasi oleh komputer, maka transformasi wavelet harus dibuat dalam bentuk diskritnya yaitu Transformasi Wavelet Diskrit (Discrete Wavelet Transform / DWT). Prisip dasar pada transformasi wavelet diskrit adalah sama dengan transformasi wavelet kontinu. Komputasi pada transformasi wavelet kontinu dilakukan dengan mengubah faktor skala window, menggeser window sepanjang
39 waktu, mengalikannya dengan sinyal input, dan mengintegralkannya terhadap semua waktu. Dalam permasalahan diskrit, filter dari potongan frekuensi yang berbeda-beda digunakan untuk menganalisis sinyal pada skala yang berbeda. Sinyal input dilewatkan melalui sekelompok high-pass filter untuk menganalisa frekuensi tinggi dan dilewatkan melalui sekolompok low-pass filter untuk menganalisa frekuensi rendah (Polikar, 1996). Trasformasi wavelet diskrit menganalisis sinyal pada rentang frekuensi dan resolusi yang berbeda-beda dengan mendekomposisikan sinyal ke informasi pendekatan secara kasar dan informasi detil. Transformasi wavelet diskrit menggunakan dua set fungsi, yaitu fungsi skala dan fungsi wavelet, yang berhubungan dengan low-pass filter dan high-pas filter. Secara matematik, satu level dekomposisi dapat diekspresikan ke dalam bentuk :
.............................................................(2.10) Dimana yhigh [k ] dan ylow [k ] adalah output dari high-pass filter dan low-pass filter setelah di-subsampling dengan faktor 2.
40
Gambar 2.18 Ilustrasi Algoritma Dekomposisi Wavelet
Pada gambar 2.18 di atas, g[n] adalah high-pass filter dan h[n] adalah low-pass filter. Pada setiap level, proses filtering dan subsampling akan membagi dua
jumlah data atau sampel dan membagi dua batas rentang frekuensi. Salah satu fungsi skala (mother wavelet) yang dapat digunakan untuk menghasilkan koefisien low-pass filter dan high-pass filter adalah fungsi skala dari Daubechies-2. Persamaan fungsi skala Daubechies-2 dapat ditulis dengan : H1 =
1+ 3 3+ 3 3− 3 1− 3 , H2 = , H3 = , H4 = 4⋅ 2 4⋅ 2 4⋅ 2 4⋅ 2
.................(2.11)
Di mana Hn adalah koefisien low-pass filter, dengan 1 ≤ n ≤ 4 . High-pass filter dan low-pass filter tidak saling bebas antara satu dengan
yang lainnya. Kedua filter tersebut dihubungkan dengan : ............................................................(2.12) Di mana g[n] adalah high-pass filter, h[n] adalah low-pass filter, dan L adalah panjang filter (dalam jumlah titik).
41
2.4.3.3 Transformasi Wavelet Dalam Speaker Identification
Transformasi wavelet mampu mendekomposisi sinyal menjadi sinyalsinyal frekuensi tinggi dan sinyal-sinyal frekuensi rendah. Sinyal frekuensi rendah identik dengan sinyal bebas noise dan mengandung informasi global yang terdapat pada sinyal input yang menjadi karakteristik suara tersebut, sedangkan sinyal frekuensi tinggi identik dengan noise dan informasi detil dari sinyal input. Sinyal frekuensi rendah ini dapat dimanfaatkan untuk mengenali pola umum pada sinyal input. Sinyal global hasil dekomposisi wavelet kemudian digunakan sebagai pola umum yang membedakan satu suara dengan suara lainnya.
(a)
(b)
Gambar 2.19 (a) Transformasi Wavelet pada Sinyal Satu Dimensi dan
(B) pada Sinyal Suara Dengan menggunakan transformasi wavelet, pola-pola dalam satu kelas/subjek tidak memiliki hubungan dengan pola-pola dari kelas/subjek lainnya (independen) sehingga rekompilasi database tidak perlu dilakukan setiap kali ada
42 subjek baru yang ditambahkan. Fitur yang nantinya disimpan di dalam database adalah koefisien DWT hasil dekomposisi.
2.5
Jaringan Saraf Tiruan
2.5.1
Definisi Jaringan Saraf Tiruan
Jaringan saraf tiruan adalah suatu sistem pemprosesan informasi yang memetakan vektor data input ke dalam vektor data output (Kulkarni, 2001, p106). Menurut Forsyth (2003), jaringan saraf tiruan menghubungkan fungsi vektor f dengan beberapa input x dengan menggunakan serangkaian layer. Definisi lain dari jaringan saraf tiruan menurut Azcarraga (1999) adalah sekumpulan data set yang besar dari interkoneksi unit sederhana yang dieksekusi secara paralel untuk melakukan tugasnya.
2.5.2
Sejarah Jaringan Saraf Tiruan
Jaringan saraf tiruan memiliki sejarah yang cukup unik dalam perkembangan teknologi. Jaringan saraf tiruan sempat populer selama beberapa saat, selama dua puluh tahun berikutnya mengalami stagnasi, dan baru pada akhir-akhir ini menjadi populer kembali. Secara kronologis, perkembangan jaringan saraf tiruan dapat dijabarkan sebagai berikut (Fausett, 1994): •
1943, seorang neurophysiologist Warren McCulloch dan seorang ahli matematika Walter Pitts menulis makalah mengenai cara kerja sel saraf (neuron). Untuk menggambarkannya, mereka memodelkan sebuah jaringan saraf tiruan sederhana yang menggunakan sirkuit elektrik.
43 •
1949, Donald Hebb menulis The Organization of Behavior – sebuah karya yang menunjukkan kenyataan bahwa otak manusia belajar berdasarkan pengalaman.
•
1950-an, komputer semakin berkembang sehingga memungkinkan untuk mensimulasikan jaringan saraf tiruan seperti yang telah dicetuskan sebelumnya. Usaha pertama untuk mensimulasikan jaringan saraf tiruan ini dilakukan oleh Nathanial Rochester dari laboratorium penelitian IBM, namun sayangnya usaha ini gagal.
•
1959, Bernard Widrow dan Marcian Hoff dari Stanford mengembangkan model yang disebut ADALINE (Adaptive Linear Neuron) dan MADALINE (Many Adaptive Linear Neurons).
•
1962,
Frank
Rosenblatt
menciptakan
perceptron
pertama
dan
mengkombinasikan penggunaannya dengan ADALINE. •
1963 ke atas, perkembangan jaringan saraf tiruan mengalami stagnasi, terutama setelah berkembangnya arsitektur Von Neumann dalam dunia komputer yang menarik semua perhatian ke mesin baru tersebut, sehingga penelitian mengenai jaringan saraf tiruan dihentikan.
•
1972, dua peneliti yaitu Kohonen dan Anderson mengembangkan jaringan independen yang serupa walaupun dasar pengembangannya berbeda. Namun terdapat kesamaan dari model-model ini yakni keduanya menggunakan matriks matematika untuk menggambarkan proses kerja sel saraf tiruan.
•
1975, terinspirasi oleh kemampuan otak untuk mengorganisasikan dirinya sendiri, Kunihiko Fukushima dari Jepang memperkenalkan jaringan
44 cognitron sebagai pengembangan dari konsep perceptron. Cognitron yang
merupakan jaringan multilayer pertama yang mampu mempelajari pola-pola baru tanpa harus diajari terlebih dahulu. Kelebihan cognitron dari perceptron adalah kemampuannya untuk menangani masalah sumber dari suatu pola yang umumnya juga terdapat di pola lain yang sejenis, serta kemampuannya untuk membedakan pola analog dengan pola biner yang biasa diterima oleh lapisan pertama dari jaringan saraf tiruan. •
1982, ketertarikan di bidang jaringan saraf tiruan mulai bangkit kembali seiring dengan dipresentasikannya tulisan John Hopfield kepada National Academy of Sciences. Dalam tulisan ini, John Hopfield menggunakan
pendekatan dua arah (bidirectional lines) dalam hubungan antar sel saraf tiruan untuk menciptakan mesin baru yang lebih efisien daripada mesin sebelumnya yang hanya menggunakan hubungan satu arah dalam komunikasi antarsel saraf tiruan. •
1982, Doug Reilly dan Leon Cooper mengembangkan sebuah jaringan dua layer di mana setiap layer menggunakan strategi yang berbeda untuk
mencapai hasil yang diinginkan. Layer pertama bertanggung jawab atas proses generalisasi, sedangkan layer kedua bertanggung jawab atas proses spesifikasi. Jaringan ini disebut jaringan hybrid dan merupakan jaringan gabungan pertama yang dibuat. •
1986, tiga orang peneliti independen Rumelhart, Hinton, dan Wiliams memiliki ide yang sama untuk menerapkan konsep jaringan saraf tiruan lapis banyak (multiple layer neural networks) yang saat itu sedang hangat
45 dibicarakan. Idenya adalah mengembangkan jaringan back-propagation untuk mendistribusikan kesalahan (error) yang didapat dari pengenalan pola ke seluruh jaringan. Jaringan back-propagation menggunakan banyak layer dan akibatnya menjadi lambat dalam pembelajaran karena banyaknya iterasi yang harus dilakukan dalam proses tersebut. •
1987, berkembang generasi pertama pengenalan keseragaman pola untuk proses unsupervised learning. Proses pengenalan dilakukan dengan menerapkan ART (Adaptive Resonance Theory) pada jaringan saraf tiruan.
•
1990, dibuat sebuah jaringan saraf tiruan multivalued logic yang merupakan jaringan adaptif sederhana yang merepresentasikan susunan otak. Penelitian mengenai jaringan saraf tiruan multivalued logic masih terus dikembangkan sampai sekarang.
2.5.3
Komponen Jaringan Saraf Tiruan
Jaringan saraf tiruan disusun oleh node-node atau unit (neuron) yang terhubung dengan sambungan langsung. Sebuah sambungan dari unit j ke unit i membantu untuk mempropagasikan aktivasi aj dari j ke i. Setiap sambungan juga memiliki nilai numerik weight Wj,i yang menentukan kekuatan dan tanda (sign) dari hubungan tersebut (Russell, 2003, p737). Mula-mula, setiap unit i dikomputasikan sebagai akumulasi weight dari inputnya. Proses ini dapat ditulis dengan : n
ini = ∑ W j ,i a j j =0
.....………………………………………………...(2.13)
46 Kemudian sebuah fungsi aktivasi digunakan pada nilai akumulasi tersebut untuk menghasilkan output : ⎛ n ⎞ ai = g (ini ) = g ⎜⎜ ∑ W j ,i a j ⎟⎟ ………………………………………(2.14) ⎝ j =0 ⎠
Gambar 2.20 Model Neuron
2.5.4
Fungsi Aktivasi
Fungsi aktivasi didisain guna memenuhi dua kondisi data. Sebuah unit menjadi aktif (mendekati +1) jika input yang benar diberikan, dan tidak aktif (mendekati 0) jika input yang salah diberikan (Russel, 2003, p737). Beberapa fungsi aktivasi yang dapat digunakan antara lain : •
Fungsi identitas (identity function) Fungsi identitas disebut juga sebagai fungsi linear. Fungsi ini membatasi output yang dihasilkannya pada rentang 0 hingga 1 atau -1 hingga +1.
Fungsi identitas didefinisikan sebagai : F ( x) = x∀x ..........................................................................(2.15)
Gambar 2.21 Fungsi Identitas
47 •
Fungsi tangga (step function) Pada fungsi ini, output yang dihasilkan adalah biner (hanya dua kemungkinan) dan nilaiya dapat berupa 0 dan 1, atau -1 dan +1. F(x) = 1 jika x > 0 F(x) = 0 jika x ≤ 0 .................................................................(2.16)
Gambar 2.22 Fungsi Tangga
•
Fungsi sigmoid (sigmoid function) Fungsi sigmoid atau disebut juga fungsi logistik direpresentasikan dengan : F ( x) =
1 1 + e −x
.....................................................................(2.17)
Turunan dari fungsi F(x) di atas adalah :
∂F ( x) = F ( x)(1 − F ( x)) ......................................................(2.18) ∂x Fungsi sigmoid sering digunakan karena fungsi ini menghasilkan output yang halus dan mudah diturunkan. Fungsi ini digunakan jika output yang diinginkan berada pada rentang 0 dan 1.
Gambar 2.23 Fungsi Sigmoid
48 •
Fungsi hypertangent (hypertangent function) Fungsi hypertangent hampir serupa dengan fungsi sigmoid. Fungsi ini didefinisikan sebagai : F ( x) =
e x − e−x ...................................................................(2.19) e x + e−x
Turunan dari fungsi F(x) pada persamaan di atas adalah : ∂F ( x) = (1 + F ( x))(1 − F ( x)) ..............................................(2.20) ∂x Fungsi ini digunakan jika rentang output yang diinginkan berada pada jangkauan -1 dan +1.
Gambar 2.24 Fungsi Hypertangent
Sebuah fungsi aktivasi yang baik untuk jaringan saraf tiruan harus memiliki ciri-ciri sebagai berikut : kontinu, dapat dibedakan, dan tidak menurun secara monoton. Untuk efisiensi perhitungan, turunan dari fungsi ini harus dapat dikomputasi dengan mudah (Fausett, 1994, p292).
2.5.5
Arsitektur Jaringan Saraf Tiruan
Secara umum, terdapat dua jenis arsitektur jaringan saraf tiruan dilihat dari banyaknya lapisan dan weight yang digunakan yaitu :
49 •
Jaringan saraf tiruan lapis tunggal (single layer neural network) Jaringan saraf tiruan lapis tunggal hanya memiliki satu lapis weight antar koneksi sehingga semua input terkoneksi secara langsung dengan output-nya. Arsitektur jaringan seperti ini disebut juga dengan perceptron network. w11
X1
Y1
wi1 wn1 w 1j wij
Xi
Yj
wnj
wim
Xn
w1m
Ym
wnm
Input Layer
One Layer of Weights
Output Layer
Gambar 2.25 Jaringan Saraf Tiruan Lapis Tunggal
•
Jaringan saraf tiruan lapis banyak (multiple layer neural network) Jaringan saraf tiruan lapis banyak adalah sebuah jaringan dengan satu atau lebih lapisan di antara unit masukan (input layer) dan unit keluaran (output layer). Lapisan yang terdapat di antara unit masukan dan unit keluaran disebut dengan hidden layer. Keuntungan dari penambahan hidden layer adalah semakin besarnya lingkup hipotesa yang dapat direpresentasikan oleh jaringan tersebut (Russell, 2003, p748). X1
w11 v11 vi1
Z1
wp1
vn1 v1j
Xi
vij
Xn Input Layer
w1k
Zj
vnj v1p vip vnp
Y1
wj1
wjk wpk
Yk
w1m
Zp
wjm wpm
Hidden Units
Ym Output Layer
Gambar 2.26 Jaringan Saraf Tiruan Lapis Banyak
50 2.5.6
Metode Pembelajaran
Tujuan dari pelatihan jaringan saraf tiruan adalah mencapai titik seimbang antara kemampuan untuk merespon pola input yang digunakan dalam pelatihan dengan tepat (kemampuan mengingat) dan kemampuan untuk merespon pola input yang mirip dengan yang digunakan dalam pelatihan secara baik (kemampuan menggeneralisasi) (Fausett, 1994, p289). Di samping arsitektur jaringan, metode untuk menentukan weight juga merupakan karakteristik yang penting yang membedakan jaringan saraf tiruan. Jaringan saraf tiruan dapat dikelompokkan ke dalam dua jenis berdasarkan metode pembelajarannya, yaitu : •
Supervised learning Pada metode supervised learning, sejumlah data pelatihan tersedia untuk setiap kelas dan digunakan pada proses pelatihan. Proses pembelajaran dilakukan dengan penyesuaian nilai weight terhadap vektor input yang diasosiasikan dengan vektor output. Contoh dari kategori ini antara lain : perceptron back-propagation, Hamming network, dan Hopfield nets. Dalam supervised learning, terdapat dua buah metode untuk meng-update weight, sequential dan batch (Haykin, 1999, p172). Dalam metode sequential (atau mode on-line atau mode stochastic), update weight dilakukan setiap sebuah pola dimasukkan, sementara dalam metode batch, update weight dilakukan setelah semua pola dimasukkan.
51 •
Unsupervised learning Pada metode unsupervised learning, data pelatihan tidak tersedia, sehingga metode ini berhubungan dengan proses pembelajaran sendiri (self learning). Pada metode ini terdapat serangkaian vektor input, tetapi tidak ada target vektor yang diasosiasikan. Jaringan memodifikasi nilai weight sehingga nilai input yang serupa diasosiasikan dengan unit output yang sama. Contoh dari kategori ini antara lain : Adaptive Resonance Theory (ART), competitive learning, dan Kohonen’s Self Organizing Maps (SOM).
2.5.7
Back-Propagation
Back-propagation merupakan suatu teknik untuk meminimalisasi gradien pada dimensi weight dalam jaringan saraf tiruan lapis banyak (Haykin, 1999, p202). Kelebihan back-propagation menurut Haykin (1999, pp156-157) adalah merupakan metode yang paling populer untuk supervised learning, memiliki perhitungan yang sederhana, dan sudah terbukti dapat memecahkan masalah sulit dengan
pelatihan.
Sementara
itu,
Rumelhart
dan
McClelland
(1989)
menyebutkan kekurangan back-propagation yakni bentuk terdistribusi yang nonlinear dan konektivitasnya yang tinggi yang membuat analisa secara teori sulit untuk dilakukan, penggunaan hidden layer yang mempersulit visualisasi, dan membutuhkan pencarian yang besar karena proses pembelajaran harus dapat menentukan fitur dari input yang direpresentasikan di hidden layer. Algoritma pembelajaran back-propagation secara umum adalah sebagai berikut :
52 •
Langkah 1 : Inisialisasi nilai weight. Pada langkah ini, nilai weight pada tiap-tiap layer diinisialisasikan ke dalam sembarang nilai yang kecil.
•
Langkah 2 : Hitung nilai output pada output layer. Untuk mendapatkan nilai output layer, kalkulasi dilakukan dari layer ke layer. Tahap ini disebut juga dengan tahap komputasi forward. Input untuk jaringan pada setiap layer selanjutnya dihitung dengan : n
net i = ∑ x j w ji .....................................................................(2.21) j =1
Komponen vektor output dihitung dengan : oi = g (net i ) ..........................................................................(2.22) Di mana g(neti) merupakan fungsi aktivasi. •
Langkah 3 : Hitung perubahan pada weight. Untuk menghitung perubahan weight, vektor output pada tiap-tiap layer dibandingkan dengan nilai output yang diharapkan atau vektor target. Tahap ini disebut juga dengan tahap komputasi backward. Perhitungan perubahan weight dilakukan dengan persamaan :
ΔWij = α . δ i . o j ...................................................................(2.23) Di mana pada output layer :
δ i = (d i − oi ) . oi . (1 − oi ) .....................................................(2.24) Dan pada hidden layer : m
δ Hi = oi . (1 − oi ) . ∑ δ k Wik k =1
..................................................(2.25)
53 •
Langkah 4 : Update nilai weight. Proses update weight dilakukan dengan persamaan : wij (k + 1) = wij (k ) +Δwij ......................................................(2.26)
Di mana wij(k+1) merepresentasikan nilai dari weight pada iterasi ke-(n+1) dan wij(k) merepresentasikan nilai dari weight pada iterasi ke-k. •
Langkah 5 : Hitung tingkat error.
E=
1 N
N
∑o i =1
i
− d i ..................................................................(2.27)
Jika E lebih besar dari nilai εmin tertentu, ulangi langkah 2-4. Jika tidak, proses pelatihan dihentikan.