Yazılım·3 dk okuma·

Kendi Kendine Merak Duyan Bir Yapay Zeka Ajanı Geliştirdim

Paylaş
Kendi Kendine Merak Duyan Bir Yapay Zeka Ajanı Geliştirdim

Yapay zeka ajanlarının çoğu "ödül avcısıdır"; en yüksek puanı getirecek eylemi seçerler. Peki, sadece şaşırmamayı hedefleyen bir ajan tasarlarsak ne olur? Bu deneysel çalışmada, ajanımız dışarıdan hiçbir komut almadan kendi kendine merak duymaya başladı. Bilgi arayışına girdi ve bu merakı sayesinde başarı oranını %48'den %100'e çıkardı.

Karar Vermenin İki Farklı Yolu

Yapay zeka modellerinin büyük kısmı ödül peşinde koşar. İyi bir şey yaptıklarında puan alırlar ve her zaman en yüksek skoru hedefleyen eylemleri seçerler. Bu yöntem basit ve etkilidir.

Beyin biliminden (neuroscience) gelen alternatif bir yaklaşım ise puan kovalamak yerine şaşırmaktan kaçınmaktır; yani dünyayı, kendi beklentileriyle uyumlu hale getirecek şekilde hareket ettirmek. Şaşırmamaya odaklandığınızda, bilmediğiniz şeyleri keşfetmek kendi başına değerli bir eyleme dönüşür. Başka bir deyişle merak, sisteme sonradan eklenmesi gereken bir özellik değil, bu yaklaşımın doğal bir sonucudur. Buna aktif çıkarım (active inference) denir.

10 Saniyelik Özet

Bir ödülün SOL ya da SAĞ kapının arkasında saklandığını düşünün (%50 ihtimal). Ayrıca, hangi kapının doğru olduğunu gösteren bir ipucu var; tabii bakmak isterseniz.

Özellik❌ Ödül Avcısı Ajan✅ Meraklı Ajan
Odak NoktasıHemen ödülü almakÖdülü almak + belirsizliği azaltmak
DavranışıRastgele bir kapı tahmin ederÖnce ipucunu kontrol eder, sonra doğru kapıyı açar
Başarı Oranı (400 Deneme)%48%100

Meraklı ajana kimse "ipucuna bak" demedi. Belirsizlikten rahatsız olduğu için bunu kendi kendine yaptı.

Nasıl Çalışıyor?

Ajan, harekete geçmeden önce her seçeneği şu iki kritere göre değerlendirir:

  • Bu eylem beni ödüle yaklaştırıyor mu?
  • Bu eylem çevremdeki belirsizliği azaltıyor mu?
value_of_checking_the_hint = how_unsure_am_i    # Belirsizlik yüksekken bu değer tavan yapar
value_of_just_guessing     = chance_of_being_right  # Kör bir tahminde sadece %50 ihtimal

if value_of_checking_the_hint > value_of_just_guessing:
    check_the_hint()     # Merak duygusunun ortaya çıktığı an!
open(best_door)          # Şimdi gidip ödülü alabiliriz

Belirsizlik yüksekken ipucuna bakmak çok değerlidir. Ajan durumu öğrendikten sonra belirsizlik kalmaz ve doğrudan ödüle yönelir. Ödül avcısı ise ipucunun değerini göremediği için sürekli yazı tura atar.

Bu Neden Önemli?

Yazılım geliştiriciler için bu yaklaşımın iki kritik pratik çıkarımı vardır:

  • Doğal Keşif (Curiosity for free): Yapay zeka ajanlarında en büyük sorun, sürekli aynı eylemleri tekrarlayıp yeni yollar keşfetmemeleridir. Geliştiriciler bunu aşmak için yapay "keşif bonusları" yazar. Aktif çıkarım ise merakı doğrudan sistemin kalbine yerleştirir; ajan sadece belirsiz hissettiğinde araştırır ve öğrendiğinde durur.
  • Beklenmedik Durumlarla Başa Çıkma: Şaşırmayı önlemek üzere tasarlanan bir sistem, eğitim verisinde olmayan durumlara hazırlıklıdır. Gerçeklik beklentileriyle uyuşmadığında, bu boşluğu kapatmak birincil hedef haline gelir. Bu da yazılımın çökmesini engeller ve sürekli adapte olmasını sağlar.

Deneyin

Projeyi klonlayıp merak duygusunun kodda nasıl hayat bulduğunu inceleyebilirsiniz:

git clone https://github.com/Shridhar-2205/living-software
cd living-software/04-active-inference
python demo.py

Pratik Çıkarım: Modern yazılım geliştirmede statik kurallardan dinamik, çevresini öğrenen ve beklenmedik hataları "merak" mekanizmasıyla çözen esnek mimarilere (Living Software) geçiş yapıyoruz. Geliştiriciler olarak sadece çıktıları optimize etmek yerine, sistemlerimizin "bilinmeyenleri öğrenme" yeteneğini tasarlamalıyız.

Orijinal makaleye buradan ulaşabilirsiniz.

Paylaş

Bu konuyu daha derinlemesine öğrenmek ister misin?

Edumints'teki ücretsiz kursları incele ve bugün başla.

Kurslara Göz At →