#Yapay Zekagamegamergamesnetworkneural networkoyunprogramlamapythonrobotsinir ağlarıyapay

Yapay Zeka Oyunları – 5

Parça parça yayınlamakta olduğum Yapay Zeka Oyunları ‘nın 5. Makalesi ve örnek kodların beşincisi olan bu makaleyi sizlerle paylaşıyorum. Yapay zeka,  yapay zeka oyun ve yapay zeka kodları ile ilgili makalelerini uzun olmaları nedeniyle sizlerle parça parça paylaştım. Umarım siz değerli okuyuculara faydalı olacaktır.

Yapay Zeka Oyunları’nda Neural Networks ve İleri Algoritmalar

Yapay sinir ağları konusu ve video oyunlarındaki uygulamaları günümüzün bilgisayar oyunları alanında en güncel konularından biri haline geldi. Bilgisayar oyunları, pek çok dergi ve birçok web portalında potansiyel uygulamaları hakkında yıllarca çok şey söylendi. “Bilgisayar oyunlarındaki sinir ağları” problemi, GDC’de (Game Developers Conference – Londra ve San Jose’de gerçekleşen yıllık bir olay) defalarca tartışılmıştır. Aynı zamanda, bir oyunun, motoru, en azından asgari olarak, yapay sinir ağı teorisinin potansiyelini temel alan bir pazara girmesini görmek ve uzunca bir süre beklemek zorunda kaldı.


Collin McRae Rally 2 oyunu, bilgisayar oyunlarındaki sinir ağlarının ilk uygulamalardan biridir ve bu da toplamda başarı kazanmıştır. Eğitimli yapay sinir ağı, mümkün olan en kısa sürede pisti müzakere etmesine izin verirken, bilgisayarın başındaki oyuncuya ise arabasını yolda tutmaktan sorumluğu veriyor. Bu oyunda, AI’da Spor Oyunları bölümünde tanımladığım gibi, her parça bir grafik oluşturan bir dizi kırık çizgi ile temsil edilir. Kaba bir sadeleştirmeyle, sinir ağının girdi parametreleri, yol virajının eğriliği, virajdan uzaklaşma, yüzey tipi, hız veya aracın özellikleri gibi bilgilerdir. Fiziksel katman modülüne daha fazla geçilmesi için çıkış verilerini üretmek sinir ağına bağlıdır. Bu veriler, AI tarafından araba belirli koşullar için optimum bir hızda engelleri veya eğrileri dolaşıp müzakere edecek şekilde seçer. Bu sayede, bilgisayar oyuncusunun sürüş tarzı, bu türdeki diğer oyunların aksine oldukça doğal görünür. AI küçük engelleri önleyebilir, eğilmeyi kesebilir, kaygan bir yüzeye çıktığında yakında uygun şekilde dönmeye başlayabilir. Oyun, Şekil 1’de görülen basitleştirilmiş form olan çok katmanlı algılayıcı modeli kullanmaktadır.


Şekil 1 Çok katmanlı algılama modeli

Yapay sinir ağları, teorik olarak, bilgisayar oyunlarında AI tarafından gerçekleştirilen çoğu görevin çözümüne uygulanabilir. Ne yazık ki, uygulamada, sinir ağlarının oyunlarda kullanımını sınırlayan bir takım engeller bulunmaktadır. Bunlar arasında şunlar bulunur:

·Sinir ağları için uygun girdi seçimi ile ilgili problemler,
·Bir oyunun eylem mantığındaki değişikliklere sinir ağlarının duyarlığı ve böyle bir durum  oluştuğunda ağın yeniden eğitilmesi ihtiyacı,
·Oldukça karmaşık teori ve sorun olması durumunda hata ayıklamayla ilgili zorluklar, 
·Ağı eğitmek için zaman alıcı ve karmaşık bir süreçtir.


Basit bir bilgisayar oyununda yapay sinir ağından yararlanmak için hangi adımları atmamız gerekiyor? Kısaca bir göz atalım:

Başlamak için, verilen sorunu çözmemize yardımcı olması için sinir ağıyla bize ne tür bilgiler vermemiz gerektiği konusunda kendi sorusunu cevaplamalıyız. Örneğin, bir sinir ağı rakibin savaş uçağının uçuşunu kontrol eden bir oyunu düşünelim. Sinir ağından elde etmemiz gereken bilgiler o halde, fizik modülüne sağlandığında düşman savaş uçağını bizim uçağımıza yönlendirecek olan hız ve ivmenin en uygun vektörleri olacaktır. Bir başka örnek, bir RTS tipi oyunda en iyi strateji seçmek için kullanılan bir sinir ağı olabilir. Durum analizi temel alınarak, ağ gelişmeye, silah üretimine, savaşlardan sonra onarılmaya ne kadar büyük konsantre olacağına karar verir. Oyunun gerektirdiği tüm parametreler çıkıştaki sinir ağı tarafından sağlanır.

Sinir ağı eylemlerinin etkisini tanımlamak oldukça kolay olsa da (tam olarak ne elde etmek istediğimizi biliyoruz), ağın giriş parametrelerini seçmek çok daha ciddi bir sorundur. Parametreler, farklı kombinasyonlarının sinir ağının örnek sinyallerde yer almayan karmaşık durumları çözmeyi öğrenmesine izin verecek şekilde seçilmelidir. Genel kural, girdi verisinin (değişkenlerin) oyun dünyasında olabildiğince fazla bilgi göstermesi gerektiğini belirtmektedir. Örneğin, en yakın engelin ve en yakın rakibin göreli konumlarının vektörleri, düşmanın gücü ya da silahlarını ve hasarın  bugünkü hali olabilir.

Bir diğer adım da, ağın eğitimi için kullanılacak bir giriş verisi elde etmektir. Doğrudan yöntem, örneğin, birkaç ila yüzlerce numuneyi, başarılı saldırıları ve bir insan oyuncusunun eylemlerini hatırlamak ve kayıt edilen veriyi sinir ağına sunmak anlamına gelebilir. Bununla birlikte, tipik olarak, kullanılan işlem otomatiktir, diğer bir deyişle, örneklerin kendileri bilgisayar tarafından üretilir. Bu da, programcılardan ek bir, çoğunlukla oldukça önemli çaba gerektirir.
Son adım, sinir ağı eğitimdir. Herhangi bir eğitim algoritması burada kullanılabilir. Eğitim süreci oyunun zorlaşmadığından emin olmak için eşzamanlı testlerle iç içe geçmelidir, aksi halde çok kolay değilse daha fazla eğitim ve optimizasyona ihtiyaç duyulur.

Sinir ağlarının pratik olarak uygulanması kolay bir iş değildir. Çok zaman, deneyim ve sabır gerektirir. Buna ek olarak, sinir ağları genellikle bulanık mantık ile birlikte kullanılır. Bu, bilgisayarın geleneksel sıfır bir akıl yürütme yönteminin, insan düşüncesine daha güçlü benzeyen bir şey haline getirilmesini mümkün kılar. Mantık, verilen ifadenin doğru olup olmadığını ve derecesinin ne olduğuna karar vermemizi sağlar. İki teknolojinin aynı anda kullanımı zor bir iş olmakla birlikte, başarılı olduğunda, sonuçlar basitçe nefes alıyor ve algoritma kodlarıyla sabit kodlanmış algoritmalar ve geleneksel mantıklarla elde edilebilecek kurallarla karşılaştırılamaz. Sinir ağları, genetik algoritmalar ve bulanık mantık gibi teknolojiler bilgisayar oyunlarının geleceğidir – ve artık uzak olmayan bir gelecek.

Yapay Zeka ve Yapay Zeka Oyunları ile ilgili makaleler uzun olduğu için daha iyi ve daha sade anlamanız için son bir makale daha yazıp sizlerle paylaşmaya devam edeceğim.

Daha önceki Yapay Zeka Oyunları – 4. bölümü için tıklayın.


Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu