JARINGAN PEMBELAJARAN TIRUAN YANG DITURUNKAN DARI SISTEM SYARAF BIOLOGIS DENGAN MENGGUNAKAN MODEL HOPFIELD (BAGIAN-1) Bambang Supeno Staf Pengajar Teknik Elektro Fakultas Teknik Universitas Jember Perum Sumber Alam D-7 Jember 68121 Abstract An artificial neural network is described that employs novel neuronal elements based on some recently revealed fundamental properties of biological neuronal networks. The dynamically stable associative learning (Dystal) network learns both correlations and anticorrelations by associating patterns through local interactions manifest only at the input of neuronal elements. The network can be configured to either classify or restore patterns simply by changing the number of output units. Dystal exhibits some desireable properties : performance of the network is stable with respect to network parameters over wide ranges of their values and over the size of the input fields. Neither global nor global feedback connections are required during learning. So that, the network is particularly suitable for hardware implementation. The training pattern may be noisy and need not be orthogonal. A very large number of pattern can be stored, network architecture is not restricted to multi-layer feed-forward or any other specific structure. For a known set of input patterns, the network weights can be computed a priori, in closed form, and computational effort scales linearly with the number of conections. These properties are described by Hopfield Neural Network. Keywords : inhibitory, excitatory, Hopfield neural-network, adaptive associative (content addressable) memory A. PENDAHULUAN Artificial Neural Network (ANN) atau Jaringan Syaraf Tiruan (JST) adalah merupakan cabang ilmu multidisiplin yang relatif masih baru. Enam puluh tahun (60 th) yang lalu, McCulloch and Pitts (1943) unsur-unsur dasar neuronal, yang saat ini lebih dikenal sebagai artificial neural network (ANN). Mereka menggambarkan bahwa sebuah neuron memiliki hubungan inhibitory dan excitatory yang dibatasi oleh suatu nilai ambang tertentu (treshold units). Hubungan inhibitory memberitahukan neuron untuk tidak membangkitkan sinyal out put (not-fire). Sedangkan hubungan excitatory memberitahukan neuron untuk membangkitkan sinyal output (fire). Selanjutnya dikembangkan oleh Hebb (1949) serta Rosenblatt (1958) dengan teori susunan jaringan dari elemen syaraf biasanya sepenuhnya saling terhubung dan kinerja dari jaringan
1
sangat ditentukan oleh sekelompok beban dengan setiap hubungan (connection). Hal ini berlanjut sampai dengan Widrow-Hoff (1960). Sampai disini laju perkembangannya menurun, karena tidak ditemukannya cara atau algoritma untuk melatih JST berlapis banyak. Hal ini diperburuk lagi oleh sikap pesimisnya para penyandang dana penelitian untuk tetap mendukung riset JST selanjutnya. Namun, beberapa pakar terus melanjutkannya, meski mereka harus bekerja tanpa penyandang dana. Barulah setelah Kohonen (1974) tampil dengan prinsip-prinsip adaptive associative memory-nya, JST kembali diminati para pakar lain dan dukungan dana penelitian. Menyusul Kohonen adalah pakar-pakar JST seperti Hopfield (1977) dan Rummelhart (1986) dengan teori jaringan propagasi balik (back propagation network), yaitu total input / masukan pada elemen syaraf adalah jumlah dari bobot input (weight), excitatory dan inhibitory serta output sistem syaraf sebagai fungsi sigmoid dari penjumlahan itu. B. METODE Pada saat ini, banyak pihak yang telah tertarik untuk mempelajari JST. Hal ini terutama disebabkan JST memiliki sifat mendasar, yakni kecerdasan yang analog dengan kecerdasan manusia. JST dapat menyelesaikan persoalan rumit yang sulit atau tidak mungkin jika diselesaikan dengan menggunakan komputasi secara konvesional (arificial intelligent). Metode kecerdasan manusia yang dimaksud adalah kemampuan untuk “belajar”, “mengingat” dan “berpikir”.
B.1. Metode Dasar Pembelajaran JST Sistem syaraf biologis merupakan susunan sel-sel syaraf yang disebut neuron. Tidak kurang dari 100 milyar neuron mendukung fungsi otak manusia dewasa. Setiap neuron berhubungan dengan neuron lain atau dengan organ efektor, melalui sambungan khusus yang disebut synapsis. Sebuah neuron dapat menerima masukan sampai sekitar 1000, dari neuron lain. Keluarannya berhubungan dengan hanya beberapa hingga 200.000 neuron lain. Dalam sistem syaraf bentuk dan ukuran neuron sangat beragam. Tetapi semua neuron tersebut mempunyai tiga kemampuan dasar yang sama, yaitu : @ kemampuan bereaksi terhadap rangsang 2
@ kemampuan mempropagasi sinyal eksitasi ke bagian lain @ kemampuan untuk merangsang neuron lain, sel-sel otot dan kelenjar. Untuk melakukan fungsi-fungsi tersebut, di dalam sel syaraf terdapat mesin metabolisme yang akan menghasilkan tenaga yang diperlukan. Semua kemampuan sel di atas dilaku-kan oleh membran sel, yang mempunyai sifat khusus.
Gambar 1; Jenis-jenis Neuron dan analoginya
Jenis-jenis neuron diperlihatkan pada gambar 1 di atas. Secara garis besar, susunan anatomi neuron terdiri atas : badan sel, dimana di dalamnya terdapat inti (nucleus), dan benang-benang perpanjangan sel, yang disebut processes yang terdiri atas satu akson dan beberapa dendrit. Secara fungsional, neuron terdiri atas ruas-ruas yang bersifat sebagai : penerima (receiver), penginisialisasi (initialzing), konduktif (conductive) dan pemancar (transmitter). Ruas penerima merupakan tranduser biologis, yang menggunakan berbagai bentuk energi rangsang (stimulus) untuk menginisialisasi energi listrik berupa impuls syaraf. Energi rangsang dapat berupa energi listrik, seperti dalam inter-neuron (gambar 1A) atau motor-neuron (Gb. 1B), maupun bentuk energi yang lain. Pada gambar di atas, gambar 1C adalah sistem neuron pada syaraf peraba, gambar 1D adalah sistem neuron pada syaraf pendengar, dan gambar 1E adalah sistem neuron pada syaraf penciuman. Dendrit merupakan benang-benang perpanjangan sel, yang menghubungkan dan menerima informasi dari sel lin. Kontak sel terjadi melalui perantara sambungan, berupa celah khusus yang disebut sinapsis. Arus masukan dijumlahkan, baik secara 3
spasial maupun temporal, oleh kapasistansi yang terdapat dalam badan sel. Arus dapat bersifat membangkitkan, akibat diterimanya potensial post-sinaptik pembangkit atau EPSP (Exitatory post synaptic potential) pada membran sel. Namun arus juga dapat bersifat menghambat, akibat diterimanya potensial post-sinaptik penghambat atau IPSP (Inhibitory Postsynaptic Potential). Jumlahan arus tersebut akan menentukan tingkat pembangkitan sebuah sel (Excitability).
B.2. Metode Matematis Pembelajaran JST Dengan berdasar pada ilmu syaraf di atas, maka dibuat model-model syaraf manusia yang diorganisasikan ke dalam jaring-jaring yang menyerupai jaring-jaring dalam syaraf dalam otak manusia. Gambar berikut menunjukkan sebuah model yang telah disederhanakan dari sebuah neuron tiruan yang merupakan bangun dasar dai JST. X1
V1
X2
V2
f
Xm
y = X.V
Vm Gambar 2; Model Matematis Jaringan Syaraf Tiruan
Di sebelah kiri neuron terdapat input x1, x2, … xm yang beranalogi dengan tingkat-tingkat rangsangan yang masuk serta beberapa nilai bobot koneksi (weights) v1, v2, … vm yang secara biologis mempunyai analogis dengan kekuatan sinaptik (synaptic strengths) yang dimiliki oleh neuron. Sebuah neuron memiliki hubungan inhibitory dan excitatory. Hubungan inhibitory memberitahukan neuron untuk tidak membangkitkan sinyal output (not fire). Sedangkan hubungan excitatory memberitahukan neuron untuk membangkitkan sinyal output (fire). Dengan kalimat matematis, hubungan ini dapat dinyatakan sebagai perkalian antara input dan nilai bobot koneksi dijumlahkan di dalam neuron, kemudian dimasukkan ke dalam fungsi non linear f. Pada aras ambang (threshold) tertentu, fungsi
4
f akan menghasilkan output dan di bawah aras ambang, fungsi f tidak menghasilkan output. Apabila hal tersebut dinyatakan dalam notasi aljabar, maka : y = f (x1*v1 + x2*v2 + …… + xm*vm) atau dalam vektor : y = f(X.V) dimana : X = vektor baris yang terdiri dari m anggota V = vektor kolom yang terdiri dari m anggota y = besaran skalar f = fungsi non-linier Khusus untuk input diskrit (biner) fungsi f yang biasa digunakan adalah fungsi step. Apabila jumlah input (X.V) lebih kecil dari nilai ambang, maka ouput y menjadi nol (logika “0”). Bila jumlah input (X.V) lebih besar dari nilai ambang, maka keluaran y menjadi satu (logika “1”). Sedangkan untuk kasus input yang kontinyu (real time) biasanya digunakan fungsi sigmoid. Nonliearitas f yang biasa dipergunakan ditunjukkan dalam gambar 3 berikut ini.
Step
Treshold Logic
Sigmoid
Gambar 3 : Fungsi-fungsi Nonlinear
B.3. Metode Pembelajaran JST Satu Lapis Sel-sel syaraf tiruan yang telah dijelaskan pada bagian sebelumnya dapat digabungkan menjadi satu lapis jaringan. JST satu lapis ini dibangun pertama kali oleh Widrow-Hoff dan kawan-kawan pada tahun 1960. Dalam hal ini seluruh input sepenuhnnya dihubungkan dengan seperangkat sel syaraf dan outputnya dapat dihitung dengan cara sebagai berikut : y1 = f ( x1*w11 + x2*w21 + … + xm*wm1 )
5
y2 = f ( x1*w12 + x2*w22 + … + xm*wm2 )
yn = f ( x1*w1n + x2*w2n + … + xm*wmn ) atau dengan notasi vektor : Y = f ( X . W )
dimana :
X = vektor baris yang terdiri m anggota W = matriks koneksi berukuran m x n Y = vektor kolom yang terdiri n elemen F = fungsi non-linier X1
f
y1
X2
f
y2
Xm
f
yn
Gambar 4; Model JST satu lapis
B.4 Metode Pembelajaran JST Banyak Lapis Metode berikutnya adalah model JST banyak lapis, yang pada hakekatnya adalah merupakan pengembangan dari JST satu lapis. Metode ini secara biologis dianggap menyerupai bangun sel-sel syaraf sebenarnya. Output dari tiap lapisan sebelumnya merupakan input dari tiap lapisan sesudahnya. X1
f
f
f
y1
X2
f
f
f
y2
Xm
f
f
f
yn
Gambar 5; Model JST Banyak Lapis
6
B.3. Metode Pembelajaran JST Dua Lapis dengan Umpan Balik Metode pembelajaran JST banyak lapis di atas memiliki banyak kelemahan, antara lain bersifat non-recurrent atau tanpa umpan balik dari keluaran menuju masukan (output to input). Sedangkan sistem syaraf biologis memiliki sifat umpan balik (feed back). Namun, di samping itu juga memiliki beberapa kelebihan. Salah satu kelebihan dari metode tersebut adalah bersifat fault tolerance, yaitu bila jumlah selnya semakin besar, adanya kerusakan pada sebagian kecil sel-sel dalam jaringan tidak akan banyak berpengaruh terhadap output. X1
f
f
y1
X2
f
f
y2
Xm
f
f
yn
Gambar 6; Model JST 2 lapis dengan Umpan Balik
C. HASIL & PEMBAHASAN C.1. Hopfield Associative Memory JST Hopfield adalah JST yang menggunakan matriks koneksi yang tetap. JST Hopfield dapat digunakan sebagai associative memory atau untuk pemecahan masalah optimasi. Di dalam associative memory, semua informasi yang diinginkan tersimpan di dalam sebuah memory, sehingga memory dapat dipanggil dengan menggunakan sebagian dari informasi yang tersimpan di dalamnya. Apabila mendapat masukan yang tidak diketahui, maka informasi tersebut akan dicocokkan dengan informasi yang tersimpan. Dan informasi tersimpan yang paling dekat dengan informasi masukan merupakan informasi yang benar. Pada penggunaan jaringan Hopfield sebagai associative memory, informasi yang akan disimpan merupakan set-set belajar jaringan. Berdasarkan set-set belajar ini, bobot jaringan dihitung menggunakan formula perhitungan bobot. Dengan terbentuknya bobot jaringan, berarti jaringan sudah menyimpan informasi yang diinginkan. Dalam aplikasinya, pola masukan yang tidak diketahui, diberikan pada jaringan sebagai 7
masukan. Masukan awal ini dilewatkan oleh sel-sel dalam jaringan sebagai keluaran jaringan saat t = 0. Keluaran diumpanbalikkan menjadi masukan jaringan pada saat t = t+1, melalui koneksi dengan bobot TI. Jadi, pola yang tidak dikenal dimasukkan ke jaringan satu kali saja, yaitu pada waktu t = nol. Kemudaian jaringan beriterasi hingga konvergen, yaitu bila output tidak berubah untuk iterasi selanjutnya. Pola yang dinyatakan oleh simpul-simpul output setelah jaringan konvergen adalah output JST.
C.2. Algoritma JST Hopfield
X1
X2
XN-1
XN
Gambar : 7; Model JST Hopfield
Untuk memudahkan pemahaman analisa tentang jaringan syaraf tiruan model dari J.J. Hopfield, sebaiknya kita bahas algoritma dari JST Hopfield tersebut. Adapun susunan algoritma tersebut adlah sebagai berikut : 1) Ciptakan matriks koneksi melalui rumus : N
S*X ij, i<> j
XI Wij
dimana :
atau
s 1
0, i
j, i
1 dan j
N
N
= jumlah simpul
Wij
= bobot koneksi dari simpul i ke simpul j
Xi
= elemen i dari pola s yang hanya memiliki nilai +1 atau –1.
2) Inisialisasi pola input yang tidak diketahui : Yj (0) = Xi ,
1 i
N
dimana :
Yi(t)
= output simpul ke j pada saat t.
Xi
= elemen i dari pola input, bernilai +1 ataupun -1 8
3) Iterasi hingga konvergen : N
Yi t 1
e fh
Wi j Yi t , i
j N
i 1
dimana fh adalah fungsi hard limiter. Proses diulangi hingga output tidak berubah oleh iterasi selanjutnya. Nilai dari simpul-simpul output adalah pola yang paling sesuai dengan pola input yang tidak diketahui. 4) Proses (langkah 2) diulangi. Pada proses ini, keluaran baru akan menjadi masukan pada waktu
perhitungan selanjutnya. Proses ini berlangsung terus
sampai mencapai keadaan stabil. Artinya, keluaran jaringan tidak berubah pada iterasi selanjutnya. Keluaran jaringan pada keadaan stabil ini merupakan informasi yang benar, dari informasi yang disimpannya.
C.3. Batasan-Batasan JST Hopfield Jaringan Hopfield mempunyai dua batasan utama bila digunakan sebagai associative memory. Pertama, jumlah pola yang dapat disimpan/dipanggil kembali dengan tepat, sangat terbatas. Jika terlalu banyak pola yang disimpan, jaringan mungkin konvergen pada pola “palsu” yang berbeda dengan semua pola belajar yang ada. Seperti pola palsu yang akan dihasilkan oleh jaringan pada saat digunakan sebagai pengklasifikasi, dimana keluaran jaringan tidak cocok dengan semua klas yang ada. Hopfield memperlihatkan bahwa hal ini tidak terjadi bila pola belajar dihasilkan secara acak.dan jumlah dari klas (M) kurang dari 0,15N, dimana N adalah jumlah sel. Untuk mendapatkan hasil yang memuaskan, jumlah klas yang dimasukkan pada jaringan kurang dari 0,15 N. Misalnya, Jaringan Hopfield digunakan untuk menyimpan 10 klas. Maka kebutuhan sel adalah : Klas = 0,15 x N
N = 70
N
Jumlah kelas = 0,15 x 70
= Klas / 0,15 = 10 / 0,15 = 66,6666667 ≈ 70
= 10,5 Klas < 0,15 N Klas = 10
Jadi jumlah sel adalah mendekati 70 buah dengan bobot 70 x 70 = 4900 atau bobot yang dimiliki sel untuk dapat menyimpan 10 klas adalah sekitar 5000 bobot.
9
Batasan kedua dari jaringan Hopfield adalah, bahwa sebuah pola belajar akan menjadi tidak stabil jika mempunyai bit-bit yang sama dengan pola belajar yang lain. Proses belajar akan dianggap tidak stabil jika sebuah pola belajar dimasukkan pada t = 0 dan jaringan konvergen pada pola belajar yang lain. Masalah ini dapat dihindari dan kinerjanya dapat diperbaiki dengan menggunakan sejumlah prosedur orthogonalisasi. . D. KESIMPULAN Dengan menggunakan sistem jaringan syaraf tiruan model Hopfield, kita dapat menyelesaikan beberapa persoalan, khususnya bidang pengenalan pola (pattern recognition), dengan berbagai kemungkinan aplikasi. Salah satu aplikasi yang diusulkan oleh Hopfield adalah dengan membuat associative memory untuk menganalogikan sistem dasar syaraf biologis. Semakin banyak simpul syaraf (neuron) yang dipasang, maka hasil yang diperoleh juga semakin bagus. Namun, model Hopfield ini memiliki dua keterbatasan, yaitu : pertama jumlah pola yang dapat disimpan/dipanggil kembali dengan tepat, sangat terbatas. Kedua : sebuah pola belajar akan menjadi tidak stabil jika mempunyai bit-bit yang sama dengan pola belajar yang lain.
E. DAFTAR PUSTAKA 1.
2.
3. 4. 5. 6. 7. 8.
J.J. Hopfield, 1982, Neural Networks and Physical Systems with Emergent Collective Computational Abilities, Proceedings of National Academic Science, Volume 79, hal. 2554-2558, USA. Alkon Daniel L., Thomas P. Vogl, and Kim T. Blackwell, 1991, Artificial Learning Networks Derived from Biological Neural Systems, Neural Networks : Concept, Applications and Implementations, Volume IV, Antognetti and Milutinovic Eds., New Jersey, USA. Jurusan Teknik Elektro ITB, 1991, Pemrosesan Sinyal Waktu Diskrit dan Jaringan Syaraf Tiruan, Perpustakaan Pusat ITB, Bandung, Indonesia.. Suhardi, 1991, Jaringan Hopfield, Perpustakaan Pusat ITB, Bandung, Indonesia. Joko Haryatno, 1991, Jaringan Hopfield sebagai Memory Asosiatif, Perpustakaan Pusat ITB, Bandung, Indonesia. Hakim A., 1991, Dasar Fisiologis Sel Syaraf, Perpustakaan Pusat ITB, Bandung, Indonesia. R.P. Lippmann, 1987, An Introduction to Computing with Neural Nets, IEEP ASSP Magazine, Volume April, hal. 4 - 22, USA. Ed Rietman. 1988, Experiments in Artificial Neural Networks, Tab Book Inc., Blue Ridge Summit, PA,.
10