Hesaplanabilir Evrim ve Evrimleşen Makineler

Öne Çıkanlar Teknoyaşam
Hesaplanabilir Evrim ve Evrimleşen Makineler

Alan Turing, bugün Turing Testi diye bilinen düşünce deneyini ortaya attığı 1950 tarihli “Hesaplama Makineleri ve Zeka” makalesinin, “Öğrenen Makineler” bölümünde şöyle der: “Neden bir yetişkinin zihni yerine,  bir çocuğun zihnini taklit edecek programlar üretmeye çalışmıyoruz? Uygun bir eğitime tabi tutulması durumunda yetişkin gibi davranır hale gelecektir.” Bunun üzerine problemi ikiye ayırır: “bir çocuk-makine programlama ve bu çocuk-makineyi eğitme.” Bir çocuk-makinenin, eğitime müsait hale gelmesi tabii ki kolay olmayacaktır. Bu amaçla Turing, ilhamını evrimden alan bir yöntem tasarlar. Eğitim süresince, kalıtım materyali (programı) çeşitli mutasyonlara (değişikliklere) maruz bırakılacak ve “doğal seçilim” (eğitmenin hükmü), “uyum başarısı”nı (öğrenme kabiliyetini) arttıran mutasyonları koruyacaktır. Öte yandan Turing, 1948’de yazdığı, ancak 1968’de (trajik ölümünden 14 yıl sonra) yayımlanan “Zeki Makineler” makalesinde de, “hayatta kalabilme becerisine göre en makbul gen kombinasyonlarını seçen genetik veya evrimsel bir arama” diye tanımladığı usulü, bizi “zeki makineler”e götürebilecek stratejilerden biri olarak öne sürmüştür. Alıntılanan pasajlardan anlaşılacağı üzere, “makine zekası”nın evrimsel biyolojik bir yaklaşımla gerçeklenebileceği fikri, makine zekası fikrinin kendisi ve bilgisayar bilimlerindeki diğer birçok mesele gibi, Turing’e kadar uzanır. Kullandığı betimlemeler, daha sonra bilgisayar bilimlerinde “eniyileme (optimizasyon)” amaçlı kullanılmaya başlanacak “evrimsel hesaplama” algoritmalarının paylaştığı üç temel fenomen ile özdeşleşmektedir: genetik materyaller, mutasyonlar ve uyum başarısına (fitness) bağlı seçilim.

Bilgisayar bilimcilerce çözülmeye çalışılan “hesaplanabilir” problemlerin büyük bir bölümü “optimizasyon problemi” olarak ifade edilebilir. Bu problemler, aday çözümler arasından en iyi (veya en iyiye yakın) olanını (veya olanlarını), önceden belirlenmiş kısıtlara riayet ederek bulmamızı gerektirir. Çoğu zaman arama uzayı çok büyük boyutludur ve tahayyülü zor miktarda aday çözüm barındırır. Yoğun paralel işleme kabiliyetine sahip, yüksek performanslı günümüz süper bilgisayarları dahi, deneme-yanılma yoluyla makul sürede çözüme erişemez. Burada, insan bilincinin de karar alma süreçlerinde başvurduğu “sezgiseller (heuristics)” devreye girer (ve takdir edersiniz ki bizi her zaman “en iyi” çözüme götürmezler). Evrim kuramı en kaba haliyle, genotipleri nedeniyle çevreye gereğince uyum sağlayamayan fenotiplere sahip organizmaların elendiğini, belli raslantısallıklar sonucu uyum sağlayabilenlerin ise üreyerek genetik materyallerini bir sonraki nesile aktarabildiğini söyler. Bunu bilgisayar bilimleri perspektifinden, zamansal ve uzamsal bir düzlemde, kademeli raslantısallıklar altında paralel yürütülen süreçlerden oluşan ve muhtemel çözümler uzayında çevreye uyum fonksiyonunu eniyileyecek varyasyonları arayan  sezgisel bir algoritmadır diye okumak mümkün.  Evrimsel hesaplama alanı da evrimi bu perspektiften yorumlayarak, çeşitli optimizasyon problemlerine çözüm üretmeye çalışır.

1960’larda, hesaplamada evrim kuramının mutasyon ve doğal seçilim mekanizmalarından faydalanma fikri sahiplenilmiş ve muhtelif yaklaşımlar ile desteklenmiştir. Gerçel değişkenli optimizasyon problemleri “evrim stratejileri” ile  çözülmüş ve bu yaklaşım aerodinamik kanat tasarımında kullanılmıştır (Rechenberg ve Schwefel, 1965). Dönemin “yapay zeka” alanında, “öğrenme” amacıyla faydalanılan “sonlu durum makineleri”ni eniyileştiren “evrimsel programlama” yöntemleri önerilmiştir (Fogel v.d., 1966). 1970’lere gelindiğinde ise, Darwin’in kuramındaki mantıksal boşluğu dolduran Mendel’in de hakkı teslim edilerek, “seksüel (eşeyli) rekombinasyon”dan da faydalanan “genetik algoritmalar” ortaya atılır (Holland, 1975). Bu algoritmalar, elemanları rastgele seçilmiş bir aday çözümler alt popülasyonunu evrimleştirirler. Somutlaştırmak adına, aday çözümlerin bit dizileri olarak kodlanabildiği bir popülasyon düşünelim. Burada mutasyon, rastgele seçilmiş bir 0 bitinin 1’e dönüştürülmesi yoluyla; çiftleşme ise, bir bit dizisi çiftinin, anneden veya babadan alınan alt dizilerinin kaynaştırılması yoluyla gerçekleştirilebilir. Seçilim ise genelde, uyum başarıları yüksek olan bireylerin çiftleşmesine daha çok olanak tanıyan stokastik bir yordam olarak tasarlanır. 1980’lerde, bahsettiğimiz yöntemlere içkin sorunlara (yerel optimumdan kurtulamamak gibi) çare olan alternatifler önerilir (Kirkpatrick v.d., 1983). 1990’lar ve sonrasında ise, işlemci performanslarındaki muazzam artış nedeniyle evrimsel hesaplama, hakkında çok sayıda çalışma yapılan bir alan haline gelir. Edinilen birikim ile, aminoasit dizilerinden üç boyutlu protein yapısının tahmini, klinik tıpta bulguların sınıflandırılması için en uygun parametreleri bulan karar destek sistemleri, sürücüsüz arabalar, şifreleme ve şifre çözme, sosyal ağlarda benzer kişileri gruplama, zaman planlama gibi birçok gerçek dünya problemine çözüm üretilmiştir. Evrimleşerek eniyileşen rüzgar türbinleri, elektronik devre konfigürasyonları, robot uzuvları, dağıtık bilgisayar ağları için topolojiler vb. tasarlanmıştır. Örneğin, 2004’te NASA’nın, ST5 programı kapsamında fırlattığı uzay araçları, genetik algoritmalar ve popülasyonu oluşturan bireylerin “bilgisayar programları” olduğu “genetik programlama” yöntemleri kullanılarak evrimleştirilmiş antenler taşımaktaydı.


Yapay zeka alanında “yapay öğrenme” amacıyla kullanılan “yapay sinir ağları (YSA)”, evrimin bir sonucu olan “doğal sinir ağları”nın soyut bir modeli. Mesela “derin öğrenebilen” AlphaGo gibi yapay zekalar, “büyük veri” kullanılarak eğitilmiş YSA’lar sayesinde öğreniyor. İşte bu YSA’lar, evrimsel hesaplama yöntemleri ile “öğrenebilir” bir nesile değin evrimleştirilerek optimize edilebiliyorlar. Gayesi otonom çalışabilen zeki robotlar tasarlamak olan “evrimsel robotik” alanındaki çalışmalar, robot simülatörleri ile evrimsel hesaplama yöntemleri kullanarak, robot morfolojilerinin ve robotun beyni diyebileceğimiz kontrolörlerin (YSA) kendiliğinden evrimleşebilmesini ve daha iyi öğrenebilmesini sağlıyorlar. Evrim kuramı bize, eş zamanlı gerçekleşen basit ve raslantısal süreçlerin, yeterince uzun zaman tanındığında, karmaşık çıktılar üretebileceğini gösteren bir algoritma sunuyor [1, 2]. Bunun, bugüne kadar gerçek zekayı üretebilmiş yegane algoritma olduğunu düşünürsek, mekanizmalarının yapay zeka alanında başarıyla kullanılıyor olması şaşırtıcı gelmeyecektir.

Robotlar ötede evrimleşedursun, beride evrim kuramının lise müfredatından kaldırılmasını konuşuyoruz bir süredir. Sadece biyolojide değil, tıptan sosyolojiye, felsefeden astronomiye, jeolojiden psikolojiye, iktisattan mühendisliklere, birçok bilim ve meslek dalında kendisine yer edinmiş, evrensel bir kuram olmasına rağmen hem de. Akla ve bilime en çok ihtiyaç duyduğumuz şu günlerde üstelik.

Evrim biyoloğu Theodosius Dobzhansky’nin meşhur “Evrimin ışığı olmadan biyolojide hiçbir şeyin anlamı yoktur” isimli makalesine atıfla, evrimin ışığı olmadan bilimde birçok şeyin anlamı yoktur diyerek bitirsek, abartmış olur muyuz acaba?

Bir ilave: Bilgisayar grafikleri üzerine çalışan Karl Sims’in evrimsel hesaplama yöntemleriyle elde ettiği “Evrimleşen Sanal Yaratıklar” animasyonuna ve diğer çalışmalarına göz atmanızı öneririm: http://www.karlsims.com/

Arş. Gör. Ezgi Demircan Türeyen
İstanbul Kültür Üniversitesi Mühendislik Fakültesi
Bilgisayar Mühendisliği Bölümü

Kaynakça

[1] Dennett, D.C. (2012, June), “A Perfect and Beautiful Machine': What Darwin's Theory of Evolution Reveals About Artificial Intelligence”, https://www.theatlantic.com/technology/

[2] Minsky, M. (1988). Society of mind. Simon and Schuster.

[2] https://en.wikipedia.org/wiki/Evolutionary_computation

[3] https://en.wikipedia.org/wiki/Genetic_algorithm

 

*Bu yazı HBT'nin 51. sayısında yayınlanmıştır.