Hopfield ağı tek katmanlı ve geri dönüşümlü bir ağdır. Proses elemanlarının tamamı hem girdi hem de çıktı elemanlarıdır. Ağın bağlantı değerleri bir enerji fonksiyonu olarak saklanmaktadır.
Hopfield yapay sinir ağı “recurrent” ya da “recursive” yani tekrar beslemeli bir yapıya sahiptir. Bu özelliği ile diğer yapay sinir ağı modellerinden ayrılmaktadır.
Tekrar besleme kabiliyeti sayesinde girdi örüntüsü Hopfield mimarisine verildiğinde, mimari isleme bir başlangıç enerjisi ile baslar. Bu başlangıç konumundan itibaren yapı, girdi örüntüsünü bir başka girdi örüntüsüne(daha önce öğrendiği) doğru yönlendirmeye baslar.
Bu süreçte girdi örüntüsünde yapılan her ufak değişimin ardından enerji tekrar tekrar hesaplanarak girdi örüntüsünün morfolojik dönüşümünün kontrolü sağlanır. Girdi örüntüsünün bir başka öğrenilmiş olan girdi örüntüsüne benzetilme işlemi (morfolojisi), enerji stabilize olana dek sürer. Enerji stabilizasyonu ise enerjinin minimuma ulaştığı ve değişmediği yerdir.
Günümüzde geliştirilmiş iki tür Hopfield ağı vardır
Kesikli (discrete) Hopfield Ağı: Bu ağlar çağrışımlı bellek (associative memory) olarak kullanılırlar.
Sürekli (continuous) Hopfield Ağı: Bu ağlar ise daha çok kombinatoriyel optimizasyon problemlerinin çözümünde kullanılmaktadır.
Hopfield Ağı’nın Özellikleri
Aynı-uyum sınıflandırmasında kullanılan ilk ağlardan biridir.
Tek katmanlı ve geri dönüşümlü bir ağdır.
Proses elemanlarının tamamı hem girdi hem de çıktı elemanlarıdır.
Hücreler açık (+1) ya da kapalı (-1) olarak ikili mantığa göre çalışır.
İşlemci fonksiyonu süreksiz formda eşik fonksiyonu, sürekli formda sigmoid ve tanjant hiperbolik fonksiyonu olarak düşünülmüştür.
Ağın bağlantı değerleri bir enerji fonksiyonu olarak saklanmaktadır.
Ağın öğrenmesi Hebb kuralına göre yapılır.
Bir proses elemanının t. zamandaki girdisi; G(t)
Burada kullanılan A ağırlık değerini, Ç(t-1) ilgili proses elemanının bir önceki zaman dilimindeki çıktısını ve değerlerini, q ise sabit eşik değerini göstermektedir.
Aynı proses elemanının çıktısı; Ç(t) ise şöyle hesaplanır.
Ç(t) = sgn(G(t))
Buradaki sgn signum fonksiyonunu göstermektedir. Yani;
Hebbian öğrenme kuralı Hopfield Ağı Hebbian öğrenmeyi uygular. Bu şekilde bir öğrenme ilk defa Hebb (1949) tarafından ifade edilen sinaptik modülasyon yönteminin matematiksel bir çıkarımıdır. Hebb‘in kuralına göre, eğer alıcı nöron ateşliyorken bir nöron başka bir nöronu uyarıyorsa, iki hücre arasındaki bağlantı ağırlıklandırılır.Matematiksel olarak: wij = ai aj Bu, bir ağırlıktaki değişim bağlandığı birimlerin aktivasyonları çarpımına eşittir. Böylelikle, eğer iki birim de açıksa (ai=1) veya her iki birim de kapalıysa (ai=-1) ağırlığın gücü artar, aksi halde azalır. Hebb kuralının matematiksel tanımı bir ağırlığın, eğer her iki birim de kapalıysa artmasına ve eğer birimlerin aktivasyonları 1 ve –1 ise azalmasını sağlar.
Bu özellikler muhtemelen fiziksel olarak açıklanamaz ve değiştirilemez, bununla birlikte sisteme eğer Hebbian kuralı uygulanmışsa anlaşılamsı daha kolay olur. Eğer birimler dizisine bir deseni anında verip üstteki kuralı uygularsak, o desen ağın attractoru haline gelir, bu da Hopfield ağının ilgilendiği Hebbian öğrenmenin önemli bir özelliğidir. Sonuç olarak, eğer ağın aktivasyonunun deseni depolanmış bir desene yakınsa, o desene doğru gitmeye çalışacaktır. Ayrıca, attractora bir kere ulaştığında sürekli orda kalır –attractorlar sabittir.
Ağırlıkların Belirlenmesi:
ardışık yinelemeler sonunda ağın durağan hale gelmesi beklenir Ağ durağan hale gelince ürettiği çıktı ilgili örnek için ağın ürettiği çıktıdır. Girdi örneği X (X1, X2, X3,.....XN) başlangıç değerlerine atanmak üzere ağın iterasyonları yukarda da gösterilen şu formüle göre devam eder.
Girdi vektörü başlangıç değerleri olarak atandığından dolayı
Ç(0)= X= (x1, X2, X3,...XN)
olarak alınır. Ağın durağan hale gelmesi bir enerji fonksiyonunun değerinin en azlanması demektir. Bu enerji fonksiyonu;
Kesikli (discrete) Hopfield Ağı: Çağrışımlı bellek (associative memory) olarak kullanılır. (Ör:Görüntü tanıma ve onarma) Sürekli (continuous) Hopfield Ağı: Kombinetoryal optimizasyon problemlerinde kullanılır (Ör: Gezgin satıcı problemi: Bu problemde bir satıcı N adet şehire gitmek zorundadır. Bir şehre bir defa uğramak koşulu ile en kısa zamanda bütün şehirleri gezebilmesi için izlemesi gereken rotanın bulunması istenmektedir.)
Hopfield ve Optimizasyon
Girdi örüntüsünün tekrar besleme yardımıyla enerjisini düşüre düşüre yerel minimuma ulaşması (enerjinin artik düştüğü ve değişmediği süreç) olayına “convergence” denir. “Convergence” pozisyonunda olan girdi örüntüsüne ise “converged vector” adi verilir. Yani elde edilen cevap vektörüdür. Bu açıdan matematiksel olarak interpolasyon işlemine benzeyen bir operasyon olan bu öğrenme süreci sayesinde Hopfield sinir ağı modeli optimizasyon problemlerinin kaçınılmaz referans modeli olmuştur.
Referanslar Yapay Sinir Ağları İlkeleri - Zekai ŞEN Yapay Sinir Ağları – Ercan ÖZTEMEL http://www.comp.nus.edu.sg/~pris/AssociativeMemory/ http://batitrakya.dostweb.com/yapaysiniraglari/hopfieldagi.htm http://www.cbu.edu/~pong/ai/Welcome.html http://www2.psy.uq.edu.au/~brainwav/Manual/Hopfield.html#Mechanism Hopfield J. J., 1982, Neural networks and physical systems with emergent collective computational abilities," Proceedings of National Academy of Science, vol. 79, (USA), pp. 2554-2558, Hopfield J.J. and Tank D.W., 1985, "Neural computation of decisions in optimization problems", Biological Cybernetics, 52, pp. 141-152