2.6. Jaringan Saraf Tiruan Hopfield Jaringan syaraf Tiruan Hopfield termasuk iterative autoassociative network yang dikembangkan oleh Hopfield pada tahun 1982, 1984. Dalam jaringan Hopfield, semua neuron saling terhubung secara total (fully connected). Neuron yang satu mengeluarkan output dan kemudian menjadi input bagi semua neuron yang lain. Dalam model diskritnya, bobot sinaptik jaringan Hopfield menggunakan vektor biner dimensi n atau a{0,1}n. Model semacam ini berisi n neuron dan jaringannya terdiri dari n(n-1) interkoneksi 2 jalur. Secara matematis konsep diatas dapat disajikan dalam matriks simetris n x n dengan diagonal utamanya bernilai 0. Dalam jaringan Hopfield, vektor input biner yang dikenakan akan mengubah kondisi setiap neuron menjadi 0 atau 1 sesuai dengan ketentuan yang dibuat. Proses pengiriman dan penerimaan sinyal anatara neuron ini secara feedback (umpan balik) tertutup terus menerus sampai dicapai kondisi stabil.
Dari gambar diatas, dapat dijelaskan bahwa output setiap simpul diumpan balikkan kepada input dari simpul-simpul lainnya melalui bobot koneksi Wij yang tetap. Nilai Wij mula-mula diinisialisasi menggunakan algoritma Hopfield untuk sebuah pola yang masuk. Pola yang tidak dikenal dimasukkan ke dalam jaringan sekali saja pada waktu kondisi nol. Kemudian jaringan akan beriterasi sampai output yang dihasilkan bersifat konvergen. Konvergen adalah pola output yang tidak berubah sampai iterasi selesai. Pola yang dinyatakan oleh simpul-simpul output setelah jaringan konvergen adalah output jaringan syaraf tiruan.
2.3.2. Algoritma Jaringan Syaraf Tiruan Hopfield Ada beberapa versi dari algoritma jaringan Hopfield. Untuk deskripsi dan algoritma hopfield (1982) menggunakan input vektor yang berupa angkatan biner. Untuk menyimpan sekumpulan pola biner digunakan notasi s(p), p=1,..,P, dimana: s(p) = (s1(p),...,si (p),....,sn (p)) Sedangkan untuk menyimpan bobot matriks W={Wij}, dengan notasi: Wij = Sedangkan versi dari deskripsi algoritma Hopfield lainnya (1984)
menggunakan input vektor yang berupa angka bipolar. Untuk menyimpan sekumpulan pola bipolar digunakan notasi s(p), p=1 dimana: s(p) = (s1(p),...,si (p),....,sn (p)) Sedangkan untuk menyimpan bobot matriks W={Wij}, dengan notasi: Wij = Adapun algoritma Hopfield dari kedua penjelasan diatas dan apabila diterapkan pada pola angka yang berjumlah 10 buah yang berupa angka 0 sampai dengan 9 adalah sebagai berikut: 1.Menciptakan vektor pola ke-p, yang merupakan himpunan n simpul ∑ [ s ( p) s i p ( p)] j untuk i ≠ j dan Wij = 0 (2.5) untuk pola yang ke-p. s(p) = (s1(p), s2(p),...,si (p),....,sn (p)) Dengan p adalah jumlah pola. Misalkan ada pola sebanyak 10 buah yaitu dari angka 0 sampai dengan 9. (2.6) 2.Menciptakan matriks koneksi sebagai tempat pola contoh yaitu angak 0 sampai pola angka 9 yang disimpan dalam suatu konstanta. Siapkan S(p) untuk p= 1..10 Inisialisasi matriks W (orde n × n) untuk menyimpan pola 10 ∑ s ( p )*s ( p ) j
p=1 1 0
Wij =
i= j
i≠ j (2.7) Dengan: p = jumlah pola Wij = bobot koneksi dari simpul ke i simpul j c(p) = elemen in dari pola s yang hanya memiliki nilai +1 atau -1 sj (p) = elemen in dari pola s yang hanya memiliki nilai +1 atau -1 3. Mengerjakan langkah-langkah ini selama pola belum konvergen . Langkah a untuk tiap vektor x (x1,x2,x3,...,xn) Langkah b inisialisasi pola input yang tidak diketahui Yi = Xi (i=1..n) (2.8) ∑ [2 s ( p) − 1][2 s ( p) − 1] i p untuk i ≠ j dan Wij = 0 j
(2.3)
2.3 Algoritma Neural Network Hopfield Algoritma Neural Network Hopfield pertama kali dikenalkan oleh John Hopfield dari California Institute of Technology pada tahun 1982. John Hopfield merancang sebauh jaringan syaraf tiruan yang kemudian dikenal dengan nama jaringan Hopfield. Dalam jaringan Hopfield semua neuron berhubungan penuh. Neuron yang satu mengeluarkan output dan kemudian menjadi input untuk semua neuron yang lain. Proses penerimaan sinyal antara neuron ini secara feedback tertutup terus menerus sampai dicapai kondisi stabil. Dalam menggunakan vektor biner berdimensi n atau a{0,1}n . Model semacam ini berisi n neuron dan jaringannya terdiri dari n(n-1) interkoneksi dua jalur. Secara matematis konsep di atas dapat disajikan dalam matriks simetris n×n dengan diagonal utamanya bernilai 0. Dengan kata lain, setiap neuron tidak memberi input kepada dirinya sendiri. Kemampuan jaringan syaraf tiruan untuk mengenali pola ditentukan dengan rumus 0,15 × n. n adalah banyaknya dimensi yang digunakan. Misalkan dimensi yang digunakan adalah 100 maka pola yang akan dikenali sebanyak 15 buah. Dimensi adalah suatu vektor yang mewakili banyaknya baris dan kolom yang digunakan. Dari contoh di atas berarti baris yang digunakan berjumlah 100 dan kolom yang digunakan berjumlah 100 juga. Jaringan syaraf tiruan digunakan untuk mengenali berbagai input atau masukan yang diberikan kepadanya. Misalnya, jaringan tersebut dilatih untuk mengenali berbagai versi angka 2. Setelah mengalami cukup latihan, maka jaringan itu dapat menghasilkan angka 2 secara sempurna dari masukan angka 2 yang rusak atau kena distorsi. model diskritnya, jaringan Hopfield bobot sinaptiknya