Nico Saputro
Perbandingan Arsitektur Multilayer Feedforward Network dengan memakai Topologi Multiprosesor Ring Array Dan Linear Array Abstrak Jaringan Syaraf Tiruan dapat diimplementasikan secara perangkat lunak maupun perangkat keras. Perangkat keras lebih cepat dibandingkan perangkat lunak sehingga dapat dipergunakan untuk pemrosesan waktu nyata. Implementasi perangkat keras dari Jaringan Syaraf Tiruan dapat dilakukan memakai sistem multiprosesor. Ada beragam topologi multiprosesor, dalam makalah ini akan diperbandingkan 2 topologi yaitu topologi Linear Array dan Ring Array. Abstract Neural Network implementations could be done with software or hardware. Hardware is faster than software and can be used in real time processing. Hardware implementation of neural network could be done using multiprocessor system. Multiprocessor topologies used in this paper are Linear Array and Ring Array. Diterima : 12 Agustus 2002 Disetujui untuk dipublikasikan : 19 Agustus 2002
1. Pendahuluan Jaringan Syaraf Tiruan (JST) telah banyak digunakan untuk beragam aplikasi seperti pengenalan karakter atau suara, pemrosesan citra, prediksi harga saham, prediksi kurs mata uang, dsb. Pada umumnya aplikasi-aplikasi tersebut membutuhkan pemrosesan secara waktu nyata (real time). Jaringan Syaraf Tiruan selain dapat diimplementasikan dengan perangkat lunak, juga dengan perangkat keras. Perangkat keras memiliki keunggulan dibandingkan perangkat lunak pada kecepatannya. Operasi yang dilakukan perangkat keras lebih cepat dibandingkan perangkat lunak. Oleh karena itu, perangkat keras jaringan syaraf tiruan
INTEGRAL, Vol. 7, No. 2, Oktober 2002
dapat dipakai untuk melayani aplikasiaplikasi waktu nyata. Jaringan Syaraf Tiruan terdiri dari beberapa unit pemroses yang melakukan akumulasi (penjumlahan) dari masukanmasukan berbobot dan menghasilkan suatu keluaran dengan fungsi aktivasi tertentu. Sifat-sifat jaringan ditentukan oleh topologi jaringan, bobot-bobot interkoneksi, dan fungsi aktivasi.
2. Jaringan Syaraf Tiruan Jaringan Syaraf Tiruan secara formal, didefinisikan sebagai “generalisasi model matematika sistem syaraf biologis”1. Sebagai sebuah model, Jaringan Syarat
107
Tiruan harus memiliki kemampuan sebagai berikut 2 : 1. Kemampuan memodelkan transmisi sinyal antarneuron tiruan melalui saluran satu arah yang disebut koneksi. Setiap koneksi masukan hanya berhubungan dengan satu koneksi keluaran neuron tiruan lainnya. Setiap koneksi keluaran dapat berhubungan dengan beberapa koneksi masukan neuron tiruan lainnya. 2. Kemampuan memodelkan pembobotan pada tiap-tiap koneksi. Pada sebagian besar tipe jaringan syaraf, nilai bobot koneksi akan dikalikan dengan sinyal-sinyal transmisi. 3. Kemampuan memodelkan fungsi aktivasi pada setiap neuron tiruan untuk menentukan sinyal keluarannya. 4. Kemampuan memodelkan struktur informasi terdistribusi . Artinya, proses pengolahan informasi disebarkan pada beberapa neuron tiruan sekaligus. Setiap neuron tiruan
harus memiliki memori lokal dan mampu melakukan pengolahan informasi secara lokal. 2.1 Pemodelan Neuron McCulloch-Pits, pada tahun 1943 membuat lima asumsi dasar tentang sistem syaraf biologis, yaitu2 : 1. Aktivitas neuron bersifat all-ornone. 2. Untuk membuat neuron memancarkan sinyal (aktif) diperlukan sejumlah sinapsis yang mengeksitasi neuron dalam jangka waktu tertentu. 3. Sejumlah sinapsis mampu menghambat neuron untuk aktif (inhibitory). 4. Adanya delay dalam sistem syaraf yang disebabkan oleh sinapsis delay. 5. Struktur interkoneksi jaringan tidak berubah sepanjang waktu. Berdasarkan asumsi ini, McCulloch-Pitts membangun model neuron tiruan yang meniru cara kerja neuron biologis.
W1 X1 X2 Xn-1
net
W2
fungsi aktivasi
f(net)
Wn-1
Xn Wn
Gambar 2.1 Model Neuron Model neuron mempunyai n sinyal masukan, yaitu x1, x 2, …, xn dengan x ∈ {0,1}. Masing-masing sinyal tersebut kemudian dimodifikasi oleh bobot sinapsis w1, w2, …, wn sehingga sinyal net = x1w1 + x2w 2 + … + xnwn atau
yang masuk ke neuron adalah xi 1 = xiwi , i = 1,2,…,n. Selanjutnya neuron akan menghitung hasil penjumlahan seluruh sinyal masukan yang telah dimodifikasi : (2.1)
n
net = ∑ xi wi i =1
Fungsi aktivasi yang terdapat dalam neuron tiruan umumnya berupa fungsi
108
(2.2) non-linier. Fungsi aktivasi ini yang menentukan apakah neuron akan
INTEGRAL, Vol. 7, No. 2, Oktober 2002
mengalami aktivasi atau tidak. Tingkat aktivasinya diwujudkan dalam suatu nilai ambang (threshold). Fungsi aktivasi yang biasanya digunakan adalah fungsi tangga (step function), fungsi lereng (slope
1, jika net ≥ θ f (net) = 0, jika net < θ
function), dan fungsi sigmoid. Pada model McCulloch-Pitts, fungsi aktivasinya adalah fungsi tangga sehingga :
, dim ana θ = nilai ambang
2.2 Arsitektur Jaringan Syaraf Tiruan Pemodelan struktur pemrosesan informasi terdistribusi dilakukan dengan menentukan pola hubungan antar neuron tiruan (arsitektur). Pola hubungan yang umum adalah hubungan antar lapisan (layer). Setiap lapisan terdiri dari sekumpulan neuron tiruan (unit) yang memiliki fungsi tertentu, misalnya fungsi
masukan atau fungsi keluaran. Ada tiga tipe arsitektur jaringan syaraf tiruan : 1. Single-layer Feedforward Network Tipe jaringan paling sederhana, dibangun oleh lapisan masukan yang berkoneksi dengan lapisan keluaran yang berjalan satu arah (feedforward). Proses komputasi hanya terjadi pada lapisan keluaran .
Lapisan Masukan
Lapisan Masukan
(2.3)
Lapisan Keluaran
Lapisan Tersembunyi
Gambar 2.2 Single-layer Feedforward Network 2. Multilayer Feedforward Network Pada tipe ini, di antara lapisan masukan dan keluaran, terdapat satu atau lebih lapisan tersembunyi (hidden layer). Hubungan antar lapisan berlangsung satu arah.
INTEGRAL, Vol. 7, No. 2, Oktober 2002
Lapisan Keluaran
Gambar 2.3 Multilayer Feedforward Network 3. Reccurent Network Tipe recurrent berbeda dengan kedua tipe sebelumnya. Pada recurrent, sed ikitnya memiliki satu koneksi umpan balik (feedback ).
109
Gambar 2.4 Recurrent Network 2.3 Algoritma Belajar Back Propagation Algoritma ini diciptakan dengan melakukan generalisasi hukum pembelajaran Widrow-Hoff yang dikenal sebagai delta rule atau metode Least Mean Square (LMS). LMS melibatkan teknik gradient descent, teknik dimana parameter setiap bobot bergerak dalam arah yang berlawanan dengan error
gradient. Setiap langkah menuruni gradient menghasilkan error yang lebih kecil sampai suatu error minimum tercapai. Fungsi aktivasi yang dipergunakan pada JST dengan memakai algoritma Back Propagation (BP) harus fungsi yang dapat diturunkan. Umumnya fungsi aktivasi yang dipergunakan adalah fungsi Sigmoid.
Pada algoritma BP, bobot-bobot interkoneksi diperbaharui sebagai berikut :
∆wij (t ) = η δ j xi + α ∆wij (t − 1)
(2.4)
dengan δj pada persamaan (2.4) antara lapisan hidden dan keluaran adalah:
[lapisan hidden − keluaran]
(
δ j = (s j − x j )x j 1 − x j
)
(2.5)
dan δj pada persamaan (2.4) antara lapisan masukan dan hidden adalah:
[lapisan masukan− hidden]
δ i = xi (1 − xi ) dengan :
∑w
hdn−out
t = jumlah iterasi s j = data belajar untuk unit sel ke-j η = kecepatan belajar α = momentum
3. Topologi Linear Array dan Ring Array. Arsitektur Multilayer Feedforward mempunyai struktur paralel dan pemrosesan informasi terpisah, yang terdiri dari unit-unit pemroses (processing element = PE) yaitu neuronneuron. Unit-unit ini saling berhubungan satu sama lain. Untuk mengimplementasikan arsitektur ini dengan perangkat keras, setiap unit
110
(2.6)
δj
ji
pemroses ini adalah prosesor. Akibatnya karena di dalam satu jaringan terdapat beberapa unit -unit pemroses maka arsitektur perangkat kerasnya juga terdapat beberapa prosesor. Tiap prosesor harus dapat melakukan komunikasi data dengan prosesor lainnya. Agar dapat dihasilkan kinerja perangkat keras yang efektif maka topologi atau arsitektur jaringan prosesor tersebut harus benar benar diperhatikan.
INTEGRAL, Vol. 7, No. 2, Oktober 2002
3.1. Topologi linear array Topologi linear array dapat dilihat pada gambar 3.1. M isalkan tiap PE melakukan
PE
perkalian dan penjumlahan terlihat pada gambar 3.2.
PE
seperti
PE
Gambar 3.1 Topologi linear array
a x
xy + a
PE y
Gambar 3.2 Operasi PE Masukan x dikalikan dengan masukan y dan kemudian dijumlahkan dengan masukan a dalam 1 siklus waktu (clock). Keluaran PE adalah xy+a. Masukan x dan y ini berasal dari memori lokal tiap PE.
PE
3.2. Topologi ring array Topologi ring array merupakan pengembangan dari topologi linear array. Topologi ring array dapat dilihat pada gambar 3.3. Operasi perkalian dan penjumlahan pada topologi ring array sama seperti linear array.
PE
PE
Gambar 3.3 Topologi ring array
4. Cara kerja Arsitektur Multilayer Feedforward Network dengan topologi Linear Array dan topologi Ring Array
Untuk menyederhanakan pembahasan, misalkan terdapat sebuah arsitektur multilayer yang hanya terdiri dari tiga buah lapisan dengan 3 unit masukan, 3 unit hidden, dan 3 unit keluaran seperti ter lihat pada gambar 4.1. X3
X0
0
3
6
X6
X4 X1
1
4
7
X7
8
X8
X5 X2
2
Lapisan Masukan
5
Lapisan Tersembunyi
Lapisan Keluaran
Gambar 4.1 Sebuah jaringan syaraf tiruan tiga lapisan
INTEGRAL, Vol. 7, No. 2, Oktober 2002
111
4.1 Cara kerja untuk Propagasi ke depan (Feedforward) Propagasi ke depan dari jaringan pada gambar 4.1 dapat dirumuskan sebagai berikut :
x3 x4 = x 5
w30 f w40 w 50
w31 w41 w51
w32 x0 w42 x1 w52 x2
(4.1)
dimana w3 0 di baca bobot antara koneksi antara neuron 0 ke neuron 3.
x6 x7 = x 8
w63 f w73 w 83
w64 w74 w84
w 65 x3 w 75 x4 w85 x5
(4.2)
Arsitektur multilayer di atas dapat dibuatkan perangkat kerasnya dengan 3 unit prosesor, setiap unit prosesor mempunyai memori lokal seperti terlihat pada gambar 4.2. dan 4.3.
PE1
PE2
PE3
M1
M2
M3
M
Gambar 4.2 Arsitektur Perangkat Keras Topologi Linear Array Pada pembahasan berikut, di asumsikan bahwa proses penempatan data ke setiap PE memerlukan waktu 1 clock, operasi perkalian dan operas i penjumlahan dapat dilakukan dalam 1 clock, dan perhitungan fungsi aktivasi memerlukan 1 clock.
112
M
M
Gambar 4.3 Arsitektur Perangkat Keras Topologi Ring Array 4.1.1 Cara kerja Propagasi ke depan Topologi Linear Array Untuk menyelesaikan persamaan (4.1), komponen-komponen kolom dari matrik bobot di simpan di dalam memori lokal tiap PE, kemudian data masukan (x0, x 1, x2) di salurkan ke masing-masing PE seperti terlihat pada gambar 4.4.
INTEGRAL, Vol. 7, No. 2, Oktober 2002
Gambar 4.4 Penyimpanan dan penyaluran data feedforward Linear Array Keluaran aktivasi dari tiap unit masukan atau hidden diinputkan ke dalam masukan x dan komponen dari matrik bobot dimasukkan ke dalam masukan y Clock 1 2 3 4 5 6 7 8
tiap PE. Keluaran dari PE1 di transfer ke PE2, dst. Urutan proses penyelesaian persamaan (4.1) dapat dilihat pada tabel 4.1.
PE1 X0
PE2
PE3
X1 X2 x0w 3 0 x0w 4 0 x0w 5 0
x0w3 0 + x1w31 x0w40 + x1w4 1 x0w50 + x1w5 1
x0w3 0 + x1w31 + x 2w3 2 x0w40 + x1w41 + x2w 42 x0w50 + x1w51 + x2w 52
Tabel 4.1 Urutan proses perhitungan persamaan (4.1) topologi Linear Array Perhitungan persamaan (4.1) memerlukan 9 clock, dengan rincian : 3 clock penempatan data, 5 clock operasi perkalian dan penjumlahan, dan 1 clock perhitungan aktivasi. Hasil perhitungan diperoleh setelah clock keenam (x 3), clock ketujuh (x4), dan clock kedelapan (x5). Hasil ini kemudian didistribusikan kembali ke masing-masing PE untuk menyelesaikan persamaan (4.2). Komponen-komponen kolom dari matriks bobot juga di simpan di dalam X
memori lokal tiap PE. Perhitungan persamaan (4.2) juga memerlukan 9 clock. 4.1.2 Cara kerja Propagasi ke depan Topologi Ring Array Komponen-komponen kolom dari matrik bobot di simpan di dalam memori lokal tiap PE dengan urutan penempatan seperti terlihat pada gambar 4.5. Kemudian data masukan (x0, x1, x2) di salurkan ke masing-masing PE. X
X
Gambar 4.5 Penyimpanan dan penyaluran data feedforward Ring Array
INTEGRAL, Vol. 7, No. 2, Oktober 2002
113
Keluaran aktivasi dari tiap unit masukan atau hidden diinputkan ke dalam masukan x dan komponen dari matrik bobot dimasukkan ke dalam masukan y tiap PE. Keluaran dari PE1 di transfer ke PE2, keluaran dari PE2 ditransfer ke PE3 Clock 1 2 3 4 5 6
PE1 X0
dan keluaran dari PE3 ditransfer ke PE1 sehingga terlihat membentuk sebuah putaran. Urutan proses penyelesaian persamaan (4.1) dapat dilihat pada tabel 4.2.
PE2
PE3
X1 x0w30 x0w 40 +x2w42 x0w50 + x2w52 +x1w5 1
x1w5 1 x1w31 +x0w 30 x1w41 + x0w40 +x2w4 2
X2 x2w 4 2 x2w52 +x1w51 x2w32 +x1w 31 +x0w3 0
Tabel 4.2 Urutan proses perhitungan persamaan (4.1) topologi Ring Array Persamaan (4.1), dapat diselesaikan dalam 7 clock, dengan perincian : 3 clock untuk penempatan data (X0, X1, X2) ke masing-masing PE, 3 clock untuk operasi perkalian dan penjumlahan, dan 1 clock perhitungan aktivasi. Hasil perhitungan akan diperoleh setelah clock ke enam yaitu x3 berada di PE3, x4 pada PE2, dan x5 pada PE1. Hasil perhitungan ini dapat didistribusikan kembali ke masingmasing input x dari PE untuk menghitung persamaan (4.2). Perlu diperhatikan, hasil yang tersimpan di PE3 (x3) akan dimasukkan ke input x dari PE1, hasil yang tersimpan di PE2 (x4) dimasukkan kembali ke input x dari PE2, dan hasil yang tersimpan di PE1 (x5) dimasukkan kembali ke input x dari PE3. Perhitungan persamaan (4.2) juga memerlukan 7 clock. 4.2 Cara kerja untuk Back Propagation pada topologi Linear Array dan Ring Array
δ 3 w63 δ 4 = w64 δ w 5 65
114
w73 w74 w75
Untuk menperbaharui bobot-bobot antara lapisan tersembunyi dengan lapisan output dengan persamaan (2.4), terlebih dahulu dilakukan perhitungan persamaan (2.5). Persamaan (2.5) dapat dihitung dengan memakai salah satu PE saja atau setiap δ di hitung oleh masing-masing PE (karena jumlah δ sama dengan jumlah PE). Persamaan (2.4) dapat di hitung dengan cara yang sama seperti persamaan (2.5). Untuk memperbaharui bobot-bobot antara lapisan tersembunyi dengan lapisan input dengan persamaan (2.4), terlebih dahulu dilakukan perhitungan persamaan (2.6). Seperti terlihat pada persamaan (2.6), perkalian dan penjumlahan dibawah ini dibutuhkan untuk memperbaharui harga-harga tiap bobot interkoneksi antar lapisan masukan dan hidden.
w83 δ 6 w84 δ 7 w85 δ 8
(4.3)
INTEGRAL, Vol. 7, No. 2, Oktober 2002
Matriks bobot pada persamaan (4.3) ini merupakan transpos e matriks bobot pada persamaan (4.2). Komponen-komponen kolom dari persamaan (4.3) di simpan di memori lokal tiap PE dengan urutan sama seperti penyimpanan matrik bobot
untuk persamaan (4.2), seperti terlihat pada gambar 4.6 dan gambar 4.7. Setiap ∂ di masukkan ke input x dari PE. Proses operasinya sama seperti untuk perhitungan persamaan (4.1) dan (4.2).
Gambar 4.6 Penyimpanan dan penyaluran data backpropagation topologi Linear Array
Gambar 4.7 Penyimpanan dan penyaluran data backpropagation topologi Ring Array Operasi matrik yang dilakukan oleh ring array ternyata lebih cepat dibandingkan dengan operasi matrik jika menggunakan topologi linear array. Pada linear array dengan arsitektur multilayer yang sama, untuk melakukan operasi matrik diperlukan 5 clock sementara dengan ring array ini hanya 3 clock. Sementara jumlah transfer data input ke masingmasing PE-nya sama yaitu 3 clock.
5. Kesimpulan 1. Jaringan syaraf tiruan multilayer dengan jumlah neuron yang sama di setiap lapisan dapat diimplementasikan dengan
INTEGRAL, Vol. 7, No. 2, Oktober 2002
sistem multiprosesor baik dengan topologi linear array maupun ring array dimana jumlah prosesor sama dengan jumlah neuron di setiap lapisan. 2. Pada topologi linear array, secara umum jika terdapat n neuron di setiap lapisnya, jumlah clock yang diperlukan untuk menyelesaikan satu operasi matrik lengkap adalah 3n, dengan rincian n clock penempatan data ke input x setiap PE, 2n-1 clock untuk operasi matrik, dan 1 clock untuk operasi fungsi aktivasi.
115
3. Pada topologi ring array, secara umum jika terdapat n neuron di setiap lapisnya, jumlah clock yang diperlukan untuk menyelesaikan satu operasi matrik lengkap adalah 2n+1, dengan rincian n clock untuk penempatan data ke input x setiap PE, n clock untuk melakukan operasi matrik, dan 1 clock untuk operasi fungsi aktivasi. 4. Arsitektur multilayer feedforward network dengan topologi multiprosesor ring array kinerjanya lebih cepat dibandingkan topologi multiprosesor linear array. 5. Rangkaian multilayer feedforward network dengan topologi multiprosesor ring array lebih rumit dibandingkan dengan topologi multiprosesor linear array karena hasil akhir perhitungan untuk setiap elemen matrik ter sebar di setiap PE, sementara pada linear array
116
selalu diperoleh dari PE terakhir (PE n).
6. Daftar Pustaka 1. Fausett, L., “Fundamentals of Neural Network”, Prentice-Hall, 1994. 2. Freeman, J.A., Skapura, D.M., “Neural Networks : Algorithms, Applications, and Programming Techniques”, Addison-Wesley, 1991. 3. Hwang, K., Briggs, F.A., “Computer Architecture and Parallel Processing”, McGraw Hill, 1984. 4. Przytula, K. Wojtek dan Viktor K. Prasanna, “Parallel Digital Implementations of Neural Networks”, Prentice Hall International, Inc., 1993.
7. Penulis Nico Saputro adalah dosen Jurusan Ilmu Komputer FMIPA, Universitas Katolik Parahyangan, Bandung.
INTEGRAL, Vol. 7, No. 2, Oktober 2002