Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Komputasi Paralel Asinkron Pada Jaringan Saraf Tiruan

2008, Seminar Nasional Aplikasi Teknologi Informasi

Seminar Nasional Aplikasi Teknologi Informasi 2008 (SNATI 2008) Yogyakarta, 21 Juni 2008 ISSN: 1907-5022 KOMPUTASI PARALEL ASINKRON PADA JARINGAN SARAF TIRUAN Agus Virgono Departemen Teknik Elektro Prodi Teknik Komputer Institut Teknologi Telkom Jl. Telekomunikasi 1, Dayeuh Kolot Bandung 40257 Telepon Kantor : 022-7565933, Telpon Pribadi : 022-76065979 Email : agv@stttelkom.ac.id ABSTRAK Jaringan Saraf Tiruan (JST) merupakan suatu model matematis yang mengambil sifat-sifat komputasi Jaringan Saraf Manusia. Selama ini untuk memudahkan pemodelan, pada JST waktu proses tiap sel saraf manusia yang disebut neuron dianggap sama/sinkron (Synchronous Paralel Processing/SPP). Penelitian ini menganalisa JST bila waktu proses tiap neuron tidak sama (Asynchronous Paralel Processing/APP) dan membandingkan performansi antara JST APP dan JST SPP. Sebagai studi kasus, diambil salah satu algoritma JST yaitu Propagasi Balik (Back Propagation/BP). Simulator digunakan untuk menghasilkan data rata-rata jumlah kuadrat error (Eav) dan jumlah pola uji yang dikenali dengan benar. Dari data Eav tersebut dapat dihasilkan grafik Eav, dan dari jumlah pola uji yang dikenali dengan benar dapat ditentukan Tingkat Generalisasi (TG). Data dan grafik Eav serta Tingkat Generalisasi dijadikan parameter performansi. Setelah dilakukan penelitian diperoleh hasil bahwa pada beberapa jaringan JST Propagasi Balik APP (JST BP APP) memiliki performansi lebih baik dibanding JST Propagasi Balik SPP (JST BP SPP). Hal ini membuka kemungkinan untuk memperoleh bobot yang lebih baik pada suatu aplikasi yang telah memperoleh bobot terbaik hasil JST BP SPP. • 1. PENDAHULUAN Penelitian ini bertujuan untuk mengamati proses komputasi paralel JST (umumnya dilakukan secara serial di sebuah komputer sehingga hasil dari komputasi setiap sel JST selalu sinkron) jika digunakan metoda asinkron dimana setiap sel akan mengeluarkan hasil sesuai dengan kecepatan komputasinya sendiri-sendiri, sehingga akan didapatkan proses komputasi yang asinkron. • • • 2. LANDASAN TEORI Ditinjau dari sudut bahasa, paralel adalah kemampuan melakukan beberapa kegiatan dalam satu waktu. Sedangkan beberapa defenisi proses paralel antara lain adalah melakukan beberapa kegiatan berbeda dalam satu waktu, membagi satu kegiatan menjadi beberapa bagian yang bekerja secara bersamaan, penggunaan k resource (sumberdaya) untuk menyelesaikan n pekerjaan, penggunaan k resource untuk menyelesaikan satu pekerjaan. Beberapa kendala timbul akibat mekanisme yang harus dijalani oleh proses paralel. Idealnya bila suatu aplikasi dijalankan pada n buah prosesor uniform (seragam) secara paralel, maka kecepatan komputasi untuk aplikasi tersebut akan meningkat sebesar n kali. Namun keadaan ini jarang dicapai karena beberapa hal berikut : • Sangat sulit menjaga tiap prosesor berjalan secara terus menerus pada kecepatan maksimumnya. Ketergantungan data suatu prosesor terhadap prosesor lainnya. Sebuah prosesor harus menunggu data hasil dari prosesor lain sebelum menjalankan prosesnya. Pemakaian recourse (sumber daya) secara bersama. Biasanya prosesor-prosesor yang bekerja secara paralel menggunakan recourse-recourse secara bergantian dimana pada satu saat hanya boleh ada satu prosesor yang menggunakan satu recourse. Hal ini menyebabkan sebuah prosesor harus menunggu sebuah sumber daya yang akan dipakai bila sumber daya tersebut sedang dipakai oleh prosesor lain. JST merupakan model matematis yang mengambil inspirasi dari struktur dan sistem kerja JSM yang mempunyai ciri [3]: • Terdiri dari sejumlah besar elemen proses sederhana yang disebut neuron. • Antar neuron dihubungkan oleh synapses yang berisi bobot sebagai dasar pengetahuan • Bekerja secara massive parallelism • Mampu belajar dari pengalaman Secara garis besar pada JST terdapat dua tahap komputasi yaitu : • Tahap Belajar Pada tahap ini proses dimulai dengan memasukkan pola-pola belajar kedalam jaringan. Dengan menggunakan pola-pola ini jaringan akan mengubah-ubah bobot yang menjadi penghubung antara node. Satu periode C-1 Seminar Nasional Aplikasi Teknologi Informasi 2008 (SNATI 2008) Yogyakarta, 21 Juni 2008 ISSN: 1907-5022 Pada JSM perubahan bobot disebabkan oleh adanya sinyal keluaran dari suatu neuron ke neuron lain. Hal ini menunjukkan bahwa komputasi perubahan bobot pada JST keluaran suatu node digunakan sama dengan keluaran yang digunakan pada perhitungan keluaran. hal ini menyebabkan gradien error lokal yang dirumuskan dengan dimana seluruh pola belajar telah diproses yang disebut 1 (satu) iterasi. Pada setiap 1 iterasi dilakukan evaluasi terhadap keluaran jaringan. Tahap ini berlangsung pada beberapa iterasi dan berhenti setelah jaringan menemukan bobot yang sesuai dimana suatu keadaan yang diinginkan telah terpenuhi. Selanjutnya bobot ini menjadi knowledge base (dasar pengetahuan) pada tahap pengenalan. Tahap Pengenalan Pada tahap ini dilakukan pengenalan terhadap suatu pola masukan dengan menggunakan bobot hasil tahap belajar. • EOk = y o ( t ) k .(1 − y o ( t ) k ). ek Q EH j = y .(1 − y h (t ) j h (t ) j ). ∑ E k wkj (2.5) k =1 dan perubahan bobot dirumuskan dengan Dalam memproses informasi ditinjau dari ada tidaknya umpan balik, secara garis besar terdapat dua arsitektur JST, yaitu : • Arsitektur Umpan Maju (Feed forward) Aliran informasi masuk melalui lapisan input diteruskan ke lapisan hidden dan selanjutnya ke lapisan Output. Pada lapisan hidden dan Output dilakukan pengolahan informasi tanpa umpan balik. • Arsitektur Balik Maju (Back forward) Pada arsitektur ini pengolahan informasi berlawanan dengan arsitektur umpan maju dimana keluaran dari suatu node diumpan balikkan menjadi nilai masukan bagi node lain. w o ( a +1) jk = w o ( a ) jk + α . EOk . y h ( t ) j (2.6) w h ( a +1)ij = w h ( a ) ij + α . EH j . C( t ) i (2.7) Nilai C(t)i, yh(t)j, yo(t)k sama dengan C(a+1)i, yh(a+1)j, y(a+1)k untuk node-node yang berstatus 1 dan C(a)i, yh(a), yo(a)k untuk yang berstatus 0. Metoda Batas Pemberhentian Tahap Belajar Secara matematis makna dari keluaran node berstatus 0 adalah node tersebut dihubungkan dengan node pada lapisan sebelumnya melalui bobot lama atau bobot pada pola ke a (wa) dan node berstatus 1 dihubungkan melalui bobot terbaru atau pada pola ke a+1 (wa+1). Sedangkan untuk menghitung nilai E(n) yang digunakan adalah wa+1. Hal ini menyebabkan seluruh perhitungan untuk menghasilkan E(n) (perhitungan keluaran dan error) harus menggunakan nilai terbaru atau dengan kata lain dilakukan secara SPP. JST Propagasi Balik APP Perbedaan waktu proses tiap node dalam menghitung keluaran, menyebabkan perbedaan keluaran yang digunakan JST BP APP dan JST BP SPP. Bila pada JST BP SPP keluaran yang digunakan selalu yang terbaru, maka pada JST BP APP keluaran terbaru dipakai bila sebuah node telah menghasilkan, sedangkan untuk yang belum digunakan keluaran lama. Proses yang terjadi pada tahap belajar dijelaskan dengan mengamati aliran informasi selama two past computation. • Forward pass Pada langkah ini dilakukan perhitungan keluaran lapisan demi lapisan. Proses pada suatu lapisan akan dimulai bila Jumlah Node Selesai (JNS) suatu lapisan telah memenuhi. Bila t adalah saat perhitungan keluaran suatu lapisan dimulai, maka keluaran suatu node pada lapisan tersebut dirumuskan dengan 3. PERANCANGAN SIMULATOR Gambar dibawah ini memperlihatkan flow chart (diagram alir) simulasi. Mulai -Stuktur Jaringan - Delta Eav dan Jumlah Iterasi Ya Tidak Masukkan Bobot Awal Ya SPP Belajar Tidak Ya Ya Inisialisasi Bobot Awal y ( a + 1) j = f sigmoid ( ∑ (C( t )i w ij ) +φ j ) .....(2.1) h h Masukkan Pola Masukkan Pola Masukkan Pola Masukkan Pola Algoritma Belajar JST BP APP Algoritma Belajar JST BP SPP Algoritma Pengenalan JST BP SPP Masukan JNS atau Urutan -Data Eav -Bobot APP -Data Eav -Bobot SPP -Bobobt Awal Jumlah data yang dikenal degan benar Ya y o ( a +1) k = f sigmoid ( ∑ ( y h ( t ) j wo jk ) +φ o k ) (2.2) Jumlah data yang dikenal dengan benar Ya Ya Tidak Tidak Pola Baru Tidak Selesai Setelah dilakukan perhitungan keluaran, selanjutnya dilakukan perhitungan error • Algoritma Pengenalan JST BP APP JNS atau Urutan Baru Tidak Jaringan Baru j =1 e k ( n ) = d k ( n) − y o ( t ) k ( n) Pola Baru JNS= N1,..,Np,Nq i =1 N Tidak Masukkan Bobot APP Ya Tidak SPP Masukkan Bobot SPP N h (2.4) Gambar 3.1 Flow chart Simulasi Secara garis besar simulasi ini dibagi kedalam 5 langkah yaitu Masukan Simulasi, Bobot Awal, Pola Masukan, Algoitma dan Hasil Simulasi. (2.3) Backward pass C-2 Seminar Nasional Aplikasi Teknologi Informasi 2008 (SNATI 2008) Yogyakarta, 21 Juni 2008 ISSN: 1907-5022 1 Uji Simulator Uji simulator dilakukan untuk mengetahui kebenaran hasil simulasi. Uji simulator dapat dilakukan dengan cara membandingkan hasil yang diperoleh dengan keadaan yang diinginkan. Pada JST BP keadaan yang diinginkan adalah kemampuan mengenali seluruh pola belajar. Sebagai contoh diambil salah satu JST BP SPP jaringan 345. Pada tahap belajar diperoleh hasil sebagai berikut. Tabel 4.1 Hasil tahap belajar JST BP SPP 345 a. Masukan Simulasi b. c. d. e. Pada langkah ini dilakukan pembentukan struktur jaringan. Khusus pada tahap belajar dimasukkan ∆Eav dan jumlah iterasi. Bobot Awal Pada langkah ini dimasukkan bobot yang akan digunakan pada algoritma JST BP. Bobot yang digunakan tergantung pada tahap komputasi (belajar atau pengenalan) dan jenis proses paralel (SPP atau APP). Pada tahap belajar digunakan bobot awal dan pada tahap pengenalan digunakan bobot hasil belajar jaringan tersebut. Bobot awal berasal dari inisialisai bobot bila jenis proses paralelnya SPP, sedangkan bila APP digunakan bobot awal yang dihasilkan pada simulasi tahap belajar JST BP SPP untuk jaringan yang sama. Tahap komputasi dan jenis proses paralel ditentukan setelah langkah masukan simulasi dan sebelum langkah bobot awal. Pola Masukan Pada langkah ini dimasukkan pola yang akan digunakan pada tahap belajar atau pengenalan. Algoritma JST BP Pada proses ini dijalankan algoritma JST BP sesuai dengan tahap komputasi dan jenis proses paralelnya. Algoritma pengenalan dapat diulangulang untuk pola yang berbeda. Khusus untuk JST BP APP pada tahap belajar dilakukan berulang-ulang dari JNS 1,..,1,1 sampai N1,..,NP,NQ. Sedangkan pada tahap pengenalan untuk pola yang sama dapat diulang pada JNS yang berbeda. Hasil Simulasi Pada langkah ini dilakukan penyimpanan keluaran simulasi. Keluaran simulasi ini digunakan sebagai data yang dianalisa. Eav terkecil Iterasi Eav konvergen Iterasi 0,0006389 10000 0,0006389 10000 Nilai Eav konvergen yang cukup kecil pada tabel 4.1 menunjukkan bobot yang dihasilkan jaringan tersebut cukup baik. JST Propagasi Balik APP Dengan mengunakan bobot awal dan kondisi jaringan yang digunakan pada tahap belajar JST BP SPP, dilakukan tahap-tahap percobaan sebagai berikut. • Seluruh jaringan dicoba satu kali. • Setiap JNS yang memiliki nilai Eav terkecil <1 dicoba sebanyak 4 kali. Hal ini dilakukan dengan harapan dihasilkan nilai yang lebih baik. • Setiap JNS yang memiliki nilai Eav terkecil <10-1 dicoba sebanyak 25 kali. Hal ini dilakukan dengan harapan dihasilkan nilai yang lebih baik. Dari 3 tahap percobaan tersebut telah dilakukan sebanyak 30 kali percobaan. Jumlah percobaan ini dianggap cukup untuk melihat perbandingan performansi. Dari data-data yang dihasilkan diperoleh beberapa data yang memiliki nilai Eav terkecil dan Eav konvergen yang lebih baik dari JST BP SPP. Pada tabel 4.2 diperlihatkan 1 buah data dari beberapa data tiap jaringan yang memiliki performansi tahap belajar JST BP APP lebih baik dari JST BP SPP . 4. ANALISA DATA Percobaan dan analisa dilakukan pada tahap belajar dan pengenalan JST Propagasi Balik SPP dan APP. Beberapa bentuk jaringan yang ditentukan secara sembarang, pada tahap belajar dilatih mengenali 10 pola belajar dan pada tahap pengenalan di uji mengenali 50 pola uji. Pola belajar dan pola uji terdapat pada pola percobaan dalam lampiran B halaman 1-3. Setiap jaringan menggunakan konstanta belajar sebesar 0.35 [3], ∆eav 10-6,10000 iterasi dan toleransi error (ε) sebesar 0,5 (optimalisasi pengenalan). Bentuk-bentuk jaringan yang digunakan adalah 75, 85, 36, 56, 37, 57 untuk jaringan dengan 1 lapisan hidden dan 345, 365, 645, 536, 846, 347, 467 untuk 2 lapisan hidden. Setiap satu pola input dipasangkan dengan satu pola output. Untuk itu pada percobaan ini digunakan sebanyak 3 jenis pola output yang masing-masing terdiri atas 10 pola. C-3 Seminar Nasional Aplikasi Teknologi Informasi 2008 (SNATI 2008) Yogyakarta, 21 Juni 2008 ISSN: 1907-5022 Kenal Tabel 4.2 Data hasil tahap belajar JST BP APP yang lebih baik dari JST BP SPP N Jari- o ngan 1 N JNS 75 Eav terkecil Iterasi Eav konvergen Iterasi o 10000 63 0.0000865 7020 0.0000973 7018 64 0.0000184 7411 0.0000184 7411 6 65 0.0000821 8388 0.0000945 8394 4 73 0.0000570 9312 0.0000570 9312 7 1 75 10000 73 0.0000028 6699 0.0000028 6699 P 74 0.0000219 9777 0.0000982 9779 7 3 2 9972 0.0000970 9690 0.0002115 10000 0.0002115 10000 3 85 36 5 5 6 6 4 6 8 0 2 % % % % % % % % % % J l 1 1 1 2 1 1 3 SP 1 1 1 1 SP 2 1 P SPP 55 5 2 3 0.0001442 0.0000961 5 0 P 10000 75 5 8 SP 0.0001442 56 4 2 h 0.0001607 85 4 0 S 10000 SPP 3 JN 0.0001607 SPP 2 Jar 4 0.0001464 0.0002016 7682 4 57 SPP 10000 56 0.0001561 5 846 SPP 0.0006202 7 4 0.0005144 9680 0.0001614 7681 0.0002016 10000 8072 0.0001652 9630 10000 0.0006202 10000 0.0005375 8494 4 56 3 1 5 0 2 1 1 3 SP 1 1 P 4 1 1 2 5 6 5 Dari tabel 4.2 terlihat bahwa untuk setiap jaringan selalu terdapat JNS kurang 1 node dari jumlah node pada salah satu lapisannnya ( misal JNS 65 untuk jaringan 75). 3 6 SP 5 P 1 1 3 1 1 5 5 6 6 4 SP 5 P 1 5 Pengenalan pola belajar JST BP APP Pada percobaan pengenalan pola belajar ada jaringan yang mampu mengenali seluruh pola dan ada yang tidak. Setiap jaringan yang mampu mengenali seluruh pola belajar selanjutnya dicoba untuk mengenali pola uji. Bila data tersebut dibandingkan dengan hasil JST BP SPP maka terdapat beberapa data yang lebih baik. Data-data tersebut sebagai berikut. 1 1 1 1 3 4 5 6 4 3 1 2 4 1 3 4 7 5 3 SP 6 P 4 1 1 3 3 3 6 5 Tabel 4.3 Data pengenalan pola uji JST BP APP yang lebih baik dari JST BP SPP 3 2 9 5 5 2 2 3 5 Angka-angka pada kolom kenal dan kolom jumlah menunjukkan jumlah percobaan. Misal pada jaringan 36 dengan JNS 35, dari 25 kali percobaan diperoleh data yang lebih baik sebanyak 13 percobaan yang terdiri dari mampu mengenali 48% sebanyak 10 percobaan, 50 % 2 percobaan dan 52% 1 percobaan. Pada tabel 4.3 terlihat data hasil pengenalan pola uji JST BP APP yang lebih baik dari JST BP SPP. Dari 25 kali percobaan kemungkinan mendapatkan data yang lebih baik bervariasi untuk tiap jaringan. Namun kemungkinan terbesar pada jaringan dengan 2 lapisan hidden selalu diperoleh jaringan dengan JNS kurang 1 node dari jumlah node pada salah satu lapisannnya. Misal JNS 538, 448 dan 547 untuk jaringan 548. Sedangkan pada jaringan dengan 1 lapisan hidden dihasilkan jaringan dengan JNS lapisan hidden minimal kurang 1 node dari jumlah node nya. Misal JNS 81, 82, .., 86, 91, 92, …, 94 dan 95 untuk jaringan 96. C-4 Seminar Nasional Aplikasi Teknologi Informasi 2008 (SNATI 2008) Yogyakarta, 21 Juni 2008 ISSN: 1907-5022 REFERENSI 5. KESIMPULAN DAN SARAN 5.1 Kesimpulan a. JST BP APP lebih baik dari JST BP SPP pada tahap pengenalan, sedangkan JST BP SOO lebih baik pada tahap belajar b. Pengenalan pola uji menunjukkan bahwa data JST BP APP yang lebih baik dari JST BP SPP dihasilkan bila. • Jaringan 1 lapisan hidden JNS lapisan hidden minimal kurang 1 node dari jumlah node lapisan hidden. Misal JNS 81, 82, .., 86, 91, 92, …, 94 dan 95 untuk jaringan 96. • Jaringan 2 lapisan hidden JNS pada salah satu lapisan kurang 1 node dari jumlah node nya. Misal JNS 538, 448 dan 547 untuk jaringan 548 [1] [2] [3] [4] [5] [6] 5.2 Saran a. Bila bobot terbaik JST BP SPP suatu aplikasi yang memiliki 1 atau 2 lapisan hidden telah ditemukan, sebaiknya dilakukan 25 kali tahap belajar dan pengenalan JST BP APP pada JNS tertentu .. b. Pada penelitian selanjutnya perlu dilakukan penelitian tentang : • JST BP APP untuk jaringan dengan 3, 4 atau 5 lapisan hidden sesuai dengan struktur jaringan sering digunakan. • APP pada algoritma JST lain yang sudah ada. • Algoritma JST baru yang dapat menerapkan APP JSM secara murni. C-5 Desiani, A. dan Arhami, M. Konsep Kecerdasan Buatan. ANDI Yogyakarta, Yogyakarta, 2006. Hermawan, A. Jaringan Syaraf tiruan Teori dan Aplikasi. ANDI yogyakarta, Yogyakarta, 2006. Myers, Catherine E., Delay Learning in Artificial Neural Network. Chapman & Hall London, London 1992. Neilsen, F. Neural Networks – algorithms and applications. Niels Brock Business College, 2001. Puspitaningrum, D. Pengantar Jaringan Syaraf Tiruan. ANDI Yogyakarta, Yogyakarta, 2006. Siang, J.J., Jaringan Saraf Tiruan dan Pemogramannya Menggunakan Matlab, ANDI Yogyakarta, Yogyakarta 2005. Seminar Nasional Aplikasi Teknologi Informasi 2008 (SNATI 2008) Yogyakarta, 21 Juni 2008 ISSN: 1907-5022 C-6