Dünyanın en karmaşık bilgisayarını taşıyoruz: Beynimiz. İnanılmaz işlere imza atan bu mucizevi bilgisayar, masaüstümüzde ya da cebimizde taşıdığımız bilgisayarlar kadar hızlı işlem yapamasa da çok daha güçlü.
Yüksek frekansta, hızla ve sırayla sayısız matematik işlem yapabilen CPU'lar, insan beyninin yaptıklarını yapamıyor. İnsanoğlu, henüz gibi düşünebilen bilgisayarlar yapmayı başaramasa da bu alanda çalışmalar sürüyor.
Silikon tabanlı bilgisayarlara, esneklik kazandırmak ve insan gibi karar alabilmelerini sağlamak için yazılımdan, yapay zekadan faydalanılıyor. Peki yapay zeka nasıl çalışıyor? İnsan beyninin yetenekleri, insan algısı ve karar alma mekanizmasının esnekliği bilgisayarlara nasıl kazandırılmaya çalışıyor?
İşte bu makalemizde bu ilginç konunun temellerine iniyoruz...
Hayatın her alanında
Yapay zeka günümüzde bilgisayar oyunlarından, tüketici elektroniği ürünlerine kadar her yerde var. Elbette yapay zekanın çeşitleri var ama bunlar başka bir makalenin konusu. Yapay zeka derin bir konu ve biz bu makalede işin bir yüzüne ve temeline bakacağız.
Artık neredeyse herkesin sahip olduğu dijital kameralarda yer alan yüz tanıma özelliği, bunun çok temel bir örneği. Gülümsendiğinde bunu algılayabilen ve görüntüyü odaklayan, otomatik çekim yapan kameralar yapay zekadan yararlanıyor. Sadece kameralar değil, ses tanıma yazılımları, görselleri analiz eden ve resim içerisindeki harfleri, sayıları algılayıp dönüştürebilen yazılımlar ve daha pek çok örnek var.
Bu alandaki çalışmalar zaman zaman yavaşlasa da hız kesmeden sürüyor. İnsan beynindeki sinir hücrelerinin birlikte kolayca yapabildiği işi, silikon devrelere yaptırmak hiç de kolay değil. İş programlamaya bakıyor ama sadece hangi koşulda ne yapılacağını programlamaya değil. Standart programlar, önceden belirtilen koşulda, önceden belirlenen kararları alabiliyor. Oysa insan öğrenebiliyor ve karar alabiliyor.
Bir sinir hücresinin yapısı
Peki programlar nasıl karar alabilir? Bunu anlamak için öncelikle insan beyninin temeli olan sinir hücrelerini az da olsa tanımak gerekiyor.
İnsan beyninde yer alan sinir hücrelerinin yani nöronların yapısına baktığımızda br gövde, bir kuyruk ve de saçaklar görüyoruz. Ana gövdenin adı soma ve o saçaklar da dendritler. Uzun kuyruğun adı akson ve aksonun ucunda yer alan saçaklar ise sinapslar.
Bu organik bir devre, dendritlerden gelen sinyaller ölçülüyor, işleniyor, aktarılıyor ve de depolanıyor. Eğer sinyal sayısı yeterliyse oluşan voltaj farkı, aksonun sinyal yollamasına sebep oluyor. Buradan da diğer sinir hücrelerine uyarı gidiyor. Böylece hücreler uyarılıyor, elektrk sinyalleri iletiliyor ve beyin çalışıyor.
Organik olmayan devrelerde de bu prensipler, çalışma biçimi taklit edilmeye çalışıyor. Henüz tek bir sinir hücresi bile tam olarak taklit edilebilmiş değil. Ancak ilerlemeler var, birebir olmasa dafarklı yöntemler ile sonuç alınıyor.
İnsan beyninin sırları
Sayı yaşa ya da cinsiyete göre değişse de insan beyninde 20 milyar nörön var.
Her nörön aşağı yukarı 10.000 kadar başka nöröna bağlı. Yani insanın karar alma mekanizması, hafızası ve beynin bütün işlemleri inanılmaz paralellikte ve karmaşıklıkta bir bilgisayar içinde gerçekleşiyor.
Bu karmaşık ağın yapısı ve esnekliği, bağlantıların oluşturduğu kombinasyonlar da kolay kolay taklit edilemeyecek miktarda. En azından günümüz için bu böyle, zira çok çekirdekli masaüstü işlemcilerdeki transistör sayısı 2 milyara yaklaştı. Bunu daha da arttırmak, çekirdek sayısını arttırarak mümkün. Ancak sayı 20 milyar da olsa yapı çok farklı. Mimari, amaca göre transistör sayısından daha önemlidir. Bütün bunların çalışması için gereken yazılım ise bambaşka bir makale.
Makineler belirli açılardan insan beynini geçse de, insan beyninin bütün sırlarının çözülmesine daha çok var.
Sanal nöron: Perceptron
İnsan beyninin tamamının çalışma şeklini çözmek ve kopyalamak bir yana, nörönun işini bilgisayara yaptırmak bir mesele.
Daha 1957 yılında Fran Rosenblatt bu işi yapmak için tek bir nörön modeli hazırladı: Perceptron. Algılayıcı, fark edici gibi anlamlara gelen Perceptron, biçim algılamak için hazırlandı. Biçim dediğimiz sade objelerin şekli değil, düzeni. Yani tekrar eden, benzerlik gösteren özelliklerin algılanabilmesi demek.
Bir insana birkaç tane resim gösterip ortak nokta sorduğunuzda pek çok şey algılayabilir. Örneğin resimlerdeki ortak rengi, objenin ismini, kişilerin cinsiyetini ya da da başka bir ortak noktayı bulabilir. İşte mesele bilgisayarlara bunu yaptırabilmekte yatıyor.
Kendisi amacına ulaşamasa, başarısız olsa da Perceptron'un tasarımını, meseleyi derinlemesine anlayabilmek için bilmek gerekiyor.
Perceptron nasıl çalışıyor?
Perceptron'un tasarımı gayet basit, veriler giriyor ve her verinin bir ağırlığı var. Veri temel olarak 1 ve 0 olsa da taşıdığı ek bir değer olan ağırlık ile çarpılarak hesaplanıyor.
Sonuçlar ortaya konuyor ve sonuç değerler belirli bir aktivasyon eşiğini aşıyorsa 1 yani doğru, aşmıyorsa 0 yani yanlış sinyali gönderiliyor. Böylece bilgisayar sadece doğru ve yanlış veri girişi değil, gelen verilerin doğruluk oranını da hesaba katmış oluyor. Tam aradığını bulamasa da, en yakın sonucu buluyor.
Bu işleme yardımcı olmak için başa bir de eğilim katılıyor. Eğilim de sonuçları daha doğru hale getirmek için sabit bir değer. Bu değer sayesinde perceptronun kararsız kalması engelleniyor ve ya 1 ya 0 bir sonuç iletiliyor.
Elbette akla ağırlıkların nereden geldiği sorusu geliyor. Ağırlıklar da önceden hesaplanmış sonuçlara göre belirleniyor. Biraz detaya inelim...
Eğitimin önemi
Burada eğitim setleri devreye giriyor. 1 ve 1 verisi 1 sonucunu, 0 ve 1 verisi 0'ı, 0 ve 0 verisi 0'ı, 1 ve 0 verisi de 0 sonucunu veriyorsa, burada sonuçların çoğu 0 olacaktır. Yani ağırlık 0'dır, bu şekilde belirlenen ağırlık, 4 kombinasyondan 3'ünde doğru sonuç verecektir. Bu eğitim seti 1 hata üretecektir.
Ağırlıklar bu hatayı da hesaba katacak şekilde değiştirilir. 0 ve 1 arasında bir sabit belirlenir, bunun adı da öğrenme oranıdır. Bu teoride işe yarasa da tek katmanlı perceptron başarılı olamamıştır. İşte bu yüzden çok katmanlı sisteme geçilmiştir.
İlk sistem ileri doğru veri ileten nöral ağ iken, çok katmanlı sistemde en az üç katman vardır ve daha iyi sonuçlar alınmaktadır. Girdi katmanı, gizli katman ve çıktı katmanından gizli ve çıktı katmanları birer perceptrondur. Gizli katman örnekte üç adet perceptrondan olur ama bu sayı artabilir. Bu sayı arttıkça başarı artar. Örneğin 10 tane olursa 10'luk sayı sistemindeki rakamlar, görsel olarak tanımlanabilir.
Sorunun çözümü
Bu tür ağların esas sorunu eğitim setlerinin gerekmesidir. Sinir ağını eğitmek için geri-yayılım algoritması geliştirilmiştir.
Perceptron'un çıktısını 0 ya da 1 yerine 0 ve 1 arasında bir değer olarak belirleyen bilim adamları bu sayede daha esnek ve adım adım gelişen sonuçlar verebilen bir sistem elde etmiştir.
Kullanılan standart bir fonksiyon: f(x) = 1/(1+e-x) şeklindedir. Başka algoritmalar hiperbolik tanjantı ve hata fonksiyonunu da işin içine dahil etmiştir. Ağırlıklı girdiler yoğun olduğunda 1'e yakın, çok az olduğunda 0.5'e, çok büyük ve negatif olduğunda ise 0'a yakın bir sonuç verilmektedir.
Bu sayede ağ artık daha iyi hesaplama yapabilir, hassasiyet arttırılmış ve hata oranı düşürülmüştür. Bu daha da geliştirilmiştir ancak detaylar gittikçe daha karmaşık bir hal almaktadır.
Yapay zekanın gelişimi
Başarılı benzerlik algılama algoritmaları için büyük eğitim setleri gerekmektedir. Yani önceden hesaplanmış sonuçların, birbirine benzer olduğu bilinen büyük katalogların sisteme yüklenmesi gerekiyor. Hesaplanan ağırlıklar sayesinde yapay zekanın benzer olanı bulması son derece kolaylaşmaktadır.
Ancak bu iş pek de kolay değildir, dev miktarda emek gerektirmektedir. Hassasiyeti arttırmak için kullanılması gereken veri miktarı da katlanarak artar. İşte bu yüzden bu yöntemin verimliliği de kısıtlıdır. Yine de günümüzdeki veri birikimi ve bunu işlemeye harcanan kaynaklar, başarılı yüz tanıma hatta görsel arama teknolojilerinin günlük hayatta kullanılabilir hale gelmesine yetecek denli gelişmiştir.
Yapay zekanın geliştirilmesi, hem algoritmaların, hem de uygun farklı donanımın geliştirilmesiyle yakından alakalı. Günümüzde büyük miktarda veri karşılaştırması yapabilen başarılı algoritmaların ticari değeri büyük. Bu yüzden açıkladığımız temeller üzerine gelişmeler devam edecek.
Yapay zekanın gizemleri!
Bu makalemizde yapay zekanın, insan beynini nasıl taklit ettiğini açıkladık. Ancak ileride bu temellerin de değişmesi, kendi kendine öğrenen yapay zekanın farklı donanım ve yazılım temelleri üzerine oturtulması da mümkün.
Bu konu çok derin ve tıpkı nöronlar gibi dallanıp budaklanarak, kendisine benzer en az 10.000 konuya bağlanıyor. İşte bu yüzden, En azından sadece bu makalede konunun ancak oldukça küçük, ama bir o kadar önemli bir kısmıyla yetiniyoruz.
Bugün bebeklik çağında olan, bol bol bilgi ve örnek beslenmesini gerektiren yapay zekanın yapısı henüz bilinç kazanmasına imkan tanıyacak denli gelişmedi. Ama gelecekte ne olacağını kimse bilemez...