Jaringan Syaraf Tiruan Bidirectional Associative Memory

Jaringan syaraf tiruan juga dapat dipakai untuk meramalkan apa yang akan terjadi di masa yang akan datang berdasarkan pola kejadian yang ada di masa yang lampau. Peramalan ini dapat dilakukan mengingat kemampuan jaringan syaraf tiruan dapat membuat generalisasi dari apa yang sudah ada sebelumnya. Jaringan syaraf tiruan juga dapat menyelesaikan masalah dalam bidang kontrol dan kedokteran[10].

2.6. Jaringan Syaraf Tiruan Bidirectional Associative Memory

Bidirectional Associative Memory BAM adalah salah satu model neural network dengan hetero associative memory dan menggunakan dua layer, yaitu layer input dan layer output. Masukkan untuk BAM berupa pasangan pola A i dan B i . Jadi setiap data harus diberi pasangan[2]. Setiap iterasi dilakukan dengan mengirimkan sinyal secara bolak balik di antara 2 lapisan sampai semua neuron mencapai keseimbangan. BAM menyimpan sekumpulan pola yang berasosiasi dengan menjumlahkan matriks korelasi bipolar. Jaringan ini terdiri atas dua lapisan neuron, yang dihubungkan oleh jalur hubungan yang memiliki bobot. Jaringan syaraf BAM dapat merespon terhadap input yang berada di lapisan manapun.

2.6.1. Arsitektur Bidirectional Associative Memory

Jaringan BAM memiliki n unit di X-layer dan m unit di Y-layer. Hubungan antara lapisan dua arah yaitu bobot matriks, bobot sinyal yang dikirimkan dari X- layer ke Y-layer adalah W, maka bobot untuk sinyal yang dikirim dari Y-layer ke X-layer adalah W T . Arsitektur BAM dapat dilihat pada gambar 2.7. Universitas Sumatera Utara Y1 Yj Ym X1 Xi Xn W11 Wn1 Wi1 W1j Wij W1m Wnj Wim Wnm … … … … Gambar 2.7 Model Dasar BAM[11] Arsitektur BAM menyerupai sebuah jaringan single layer feed forward. Proses pelatihan berdasarkan pada aturan pembelajaran Hebb. Jaringan ini saling terhubung penuh meskipun input dan output yang berbeda. Fitur yang paling penting dari BAM adalah koneksi yang seimbang dari kedua lapisan memungkinkan adanya hubungan timbal balik antara lapisan input dan output. Hubungan antara satu lapisan ke lapisan lain ditunjukkan pada gambar 2.7. Panah menunjukkan kedua arah. Bobot w 11 , w 1j , w 1m , w i1 , w ij , w im , w n1 , w nj , w nm disesuaikan dari X-layer ke Y-layer dan sebaliknya dari Y-layer ke X-layer. Ada 2 jenis jaringan syaraf BAM yaitu: 1. Discrete BAM 2. Continuous BAM

2.6.2. Discrete BAM

Pada Discrete BAM tipe data biner dan bipolar berkaitan erat. Matriks bobot awal dibuat sedemikian rupa sehingga dapat menyimpan pasangan vektor input dan vektor output. Bobot matriks menyimpan sekumpulan dari input vektor target sp:tp, p = 1, …, P. Universitas Sumatera Utara dimana: sp = s 1 p, …s i p, …s n p……………………….…2.3 Untuk input vektor biner, bobot matriks ditentukan sebagai: W ij = ∑ � 2 s i p – 12 t j p – 1………………..2.4 Untuk input vektor bipolar, bobot matriks ditentukan sebagai: W ij = ∑ � s i p t j p………………………………2.5 Sedangkan fungsi aktivasi yang digunakan untuk vektor input biner adalah: Y j untuk lapisan output: 1, jika y_ in j y j = y j , jika y_ in j = 0 0, jika y_ in j X i untuk lapisan input: 1, jika x_ in i x i = x i , jika x_ in i = 0 0, jika x_ in i fungsi aktivasi yang digunakan untuk vektor input bipolar adalah: Y j untuk lapisan output: 1, jika y_ in j θ j y j = y j , jika y_ in j = θ j -1, jika y_ in j θ j X i untuk lapisan input: 1, jika x_ in i θ i x i = x i , jika x_ in i = θ i -1, jika x_ in i θ i Universitas Sumatera Utara Dengan catatan bahwa input hasil olahan pada jaringan x_ in i atau y_ in j sama dengan nilai threshold-nya, maka fungsi aktivasi akan menghasilkan nilai sama dengan nilai sebelumnya. θ i menunjukkan nilai ambang[11].

2.6.3. Continuous BAM

Continuous BAM akan mentransformasikan input secara lebih halus dan kontinu ke kawasan output dengan nilai yang terletak pada range [0,1]. Fungsi aktivasi yang digunakan adalah fungsi sigmoid. Untuk input vektor biner, matriks bobot ditentukan sebagai: W ij = ∑ � 2s i p – 12 t j p – 1……………….....2.6

2.6.4. Algoritma Model Bidirectional Associative Memory

Algoritma jaringa n syaraf model BAM adalah sebagai berikut: Langkah 0: Insialisasi bobot untuk menyimpan sekumpulan P vektor. Inisialisasi semua aktivasi sama dengan 0. Langkah 1: Untuk tiap-tiap input, kerjakan langkah 2-6. Langkah 2a: Berikan input pola x kelapisan X set aktivasi lapisan X sebagai pola input. Langkah 2b: Berikan input pola y ke lapisan Y salah satu dari vektor input tersebut biasanya di-set sebagai vektor nol. Langkah 3: Kerjakan langkah 3-6 jika aktivasi-aktivasi tersebut belum konvergen. Langkah 4: Perbaiki setiap unit aktivasi di lapisan Y. Universitas Sumatera Utara Hitung: y_ in j = ∑ � W ij x i Hitung: y j = f y_ in j Berikan informasi tersebut ke lapisan X. Langkah 5: Perbaiki setiap unit aktivasi di lapisan X. Hitung: x_ in i = ∑ � W ij x i Hitung: x i = f x_ in i Berikan informasi tersebut ke lapisan Y. Langkah 6: Tes kekonvergenan. Jika vektor x dan y telah mencapai keadaan stabil, maka iterasi berhenti, jika tidak demikian lanjutkan iterasi[11].

2.6.5. BAM Connections Matrice

Associative A i , B i dapat digunakan secara logika dengan implikasi : jika A i dan B i . Begitu pula sebaliknya: jika B i dan A i . Asosiasi pasangan tersebut akan diketahui oleh BAM dengan membentuk suatu matrik bobot W. Proses untuk membentuk matriks W ini disebut encoding. Encoding: terdapat m pasangan pola {A 1 , B 1 , A 2 , B 2 , …, A m , B m }. A i = a i1 , a i2 , …, a in adalah vektor biner dengan panjang n ; A i ∈ {0, 1} n dan B i = b i1 , b i2 , …, b ip adalah vektor biner dengan panjang p ; B i ∈ {0, 1} p [2]. Universitas Sumatera Utara Formula untuk menghitung W adalah: W = ∑ all i A i T B i , i = 1, 2, …, m…………………………2.7 Dan dualitas BAM W T adalah: W T = ∑ all i A i T B i T = ∑ all i B i T A i …………………… 2.8 Jika dalam bentuk bipolar maka bentuk binary A i dan B i harus ditranform menjadi bentuk bipolar X i dan Y i dengan mengganti 0 dengan -1 dan 1 tetap 1, atau dengan rumus sebagai berikut: X i = 2 A i – 1…………………………….................2.9 Atau Y i = 2 B i – 1………………………………………….2.10 Sekarang m pasangan pola dalam bentuk bipolar {X 1 , Y 1 , X 2 , Y 2 , …, X m , Y m }. X i = x i1 , x i2 , …, x im , Y i = y i1 , y i2 , …, b im , X i ∈ {-1, 1} n , Y i ∈ {-1, 1} p . Maka perumusan W adalah: W = ∑ all i X i T Y i , i = 1, 2, …, m…………………2.11 Dan dualitas BAM W T = ∑ all i X i T Y i T = ∑ all i Y i T X i …………………2.12 Contoh: misalkan kita ingin menyimpan empat asosiasi nonorthogonal, pasangan yang disimpan masing-masing adalah A 1 , B 1 , A 2 , B 2 , A 3 , B 3 , A 4 , B 4 . A 1 = 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 B 1 = 1 1 1 1 0 0 0 0 1 1 A 2 = 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 B 2 = 1 1 1 0 0 0 1 1 1 0 A 3 = 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 B 3 = 1 1 0 0 1 1 0 0 1 1 Universitas Sumatera Utara A 4 = 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 B 4 = 1 0 1 0 1 0 1 0 1 0 Dimana m = 4, n = 15, p = 10. Langkah pertama adalah mengubah asosiasi biner menjadi asosiasi bipolar: X 1 = 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 X 2 = 1 1 -1 -1 1 1 -1 -1 1 1 -1 -1 1 1 -1 X 3 = 1 1 1 -1 -1 -1 1 1 1 -1 -1 -1 1 1 1 X 4 = 1 1 1 1 -1 -1 -1 -1 1 1 1 1 -1 -1 -1 Y 1 = 1 1 1 1 -1 -1 -1 -1 1 1 Y 2 = 1 1 1 -1 -1 -1 1 1 1 -1 Y 3 = 1 1 -1 -1 1 1 -1 -1 1 1 Y 4 = 1 -1 1 -1 1 -1 1 -1 1 -1 Kemudian keempat vektor dicari hasil matriks korelasinya X 1 T Y 1 , X 2 T Y 2 , X 3 T Y 3 , X 4 T Y 4 dan jumlahkan menjadi bentuk matriks BAM. W = X 1 T Y 1 + … + X 4 T Y 4 kerjakan dengan rumus 2.11. 4 2 2 − 2 0 − 2 0 − 2 4 0 2 0 0 − 4 2 0 2 0 2 − 2 2 0 0 0 2 0 − 2 − 4 2 2 − 2 − 4 0 0 2 0 2 0 − 2 − 2 0 2 2 2 − 4 − 2 0 2 0 0 W = − 2 0 0 0 − 2 0 2 4 − 2 − 2 4 2 2 − 2 0 − 2 0 − 2 4 0 − 2 2 − 2 0 − 2 4 2 0 − 4 − 2 2 2 0 − 2 0 − 2 0 0 −2 − 4 0 0 2 0 2 0 − 2 − 2 2 4 0 0 − 2 0 − 2 0 2 2 Universitas Sumatera Utara 0 0 2 − 2 0 2 0 2 0 0 0 0 − 2 2 0 2 − 4 − 2 0 4 Setelah A 1 , B 1 , …,A 4 , B 4 stabil nilai di {0, 1} 15 dikali {0, 1} 10 dengan energi masing-masing −56, −48, −60, dan −40. BAM ini menggambarkan konvergensi cepat dan penyelesaian pola yang akurat. Jika A = 1 0 1 0 1 0 1 0 0 0 0 0 0 0 0 ≈ A 1 , dengan HA, A 1 = 4, hingga B 1 berada pada satu iterasi yang sinkron, jadi A 1 , B 1 diambil dari memori A 1 , B 2 yang stabil. Jika B = 1 1 0 0 1 0 0 0 0 0 ≈ B 3 , dengan HB, B 3 = 3, hingga A 3 , B 3 berada pada satu iterasi yang sinkron. Salah satu pasangan dicampur A 1 , B 4 , A 2 , B 3 , A 3 , B 2 , A 4 , B 1 hingga sesuai dengan spesifikasi yang benar dari 15 vektor, sehingga B 1 sesuai dengan spesifikasi yang benar dari 10 variabel[3].

2.6.6. Stabilitas BAM

Stabilitas BAM didefinisikan Kosko 1988 dengan mengidentifikasikan fungsi Lyapunov atau fungsi energy E untuk setiap state A i , B i . Menurut Zurada, 1992 prosedur yang digunakan Kosko berdasarkan atas pendekatan dari analisis kestabilan sistem dinamik yang dikembangkan oleh A. M Lyapunov. Yang unik dari pendekatan Lyapunov ini adalah hanya bentuk persamaan differensialnya yang perlu diketahui bukan nilai hasilnya. Fungsi Lyapunov E memetakan variable-variabel sistem ke suatu bilangan real dan menurun sejalan dengan waktu. Pada BAM, E memetakan produk matriks-matriks ke dalam bilangan real yang dirumuskan sebagai berikut: EA, B = - AWB T …………………………………2.13 Model BAM menggunakan interlayer feedback, dengan melewatkan data melalui W didapatkan satu arah dan melalui transpose-nya W T didapatkan arah Universitas Sumatera Utara yang lainnya. Jika pasangan pattern A, B dilewatkan dalam BAM, maka akan dilakukan beberapa kali iterasi yang dapat digambarkan sebagai berikut: A  W  B B  W T  A’ A’  W  B’ B’  W T  A’’ . . . . . . A f  W  B f B f  W T  A f Setelah beberapa kali iterasi, A, B akan terkonvergensi secara tetap menjadi A f , B f dengan nilai energi minimum. Hal inilah yang menjadi keunggulan BAM, yaitu bersifat stabil sehingga dapat mengenali proses yang tidak sempurna[2].

2.7. Fungsi Aktivasi