Evrimin Mühendislikteki Uygulamaları

Evrim, akan suyun yolunu bulmasına benzer bir şekilde milyonlarca yıldır şartlara en iyi uyum sağlayan türleri seçerken bazı problemlere de etkili çözümler geliştirdi. Peki biz evrimden ne öğrendik?

Evrim elle tutabileceğimiz, parmağımızla gösterebileceğimiz veya bilinci olan bir şey değil. Ancak bizim nasıl çalıştığına yüzyıllardır halen tam olarak emin olamadığımız bazı organlar ve özel hücreler de dahil olmak üzere tüm canlılığın mimarı. Nasıl olur da bilinçsiz bir şey biz bilinçli varlıklardan daha başarılı olabilir? Tek etken zaman mı, bir insana 1 milyar yıl versek göz icat edebilir mi? Evrimden öğrenebileceğimiz neler var?

Akan suyun yolunu bulması benzetmesi mühendisliğin evrimden nasıl ilham aldığı konusunda önemli bir bakış açısı. Belki de bazı problemleri kendimiz çözmek yerine onu evrimin kollarına bırakmalı ve kendi kendine çözülmesini beklemeliyiz.

İyi de nasıl, biz çözmeden nasıl olacak o iş? Aslında mantık oldukça basit.

Problemin çözümüne kafa yormak yerine problemin kendi kendine çözülebileceği ortamı yaratmaya kafa yormalıyız.

Bu konuya yapay zekâlar güzel bir örnek olabilir. Günümüzdeki hayranlık uyandıran birçok makine öğrenmesi algoritmasının ve yapay zekânın kaynak kodunun birkaç on satırdan daha kısa olduğunu biliyor muydunuz? “Birkaç on satırlık kod benim yüzümü nasıl tanıyabilir, el yazımı bilgisayar metnine nasıl dökebilir?” dediğinizi duyar gibiyim.

Bu tarz problemleri geleneksel algoritmalarla çözmenin gerçekten zor olduğunu kabul etmek gerekir. Ancak makine öğrenmesinin arkasında matematik dilinde yaratılmış bir bilinçsiz öğrenim mekanizması yatıyor. Bizler yalnızca bu ortamı kodlarla oluşturup kalanını matematiğin kollarına bırakıyoruz. Bu algoritmalar yüzünüzü tanımayı, sesinizi taklit etmeyi, size en güzel videoları önermeyi kendi kendine öğreniyor.

Makine öğrenmesini özetleyecek olursak: Makine öğrenmesi, bilgisayara bir veri seti verip al bunu öğren demektir. Oluşturduğumuz başarılı matematiksel temeller sayesinde bilgisayar bu süreci bir bilince ihtiyaç duymadan -tıpkı evrimde olduğu gibi- kendi kendine gerçekleştirir. Verdiğimiz veri setini keşfeder, veriler arasındaki bağlantıları insanüstü bir beceriyle tespit eder. Daha sonra, öğrendiği bu özellikleri kullanarak veri setinin dışında vereceğimiz yeni bir örneği yüksek doğrulukla algılayabilir ve sınıflandırabilir.

İşin ilginç yanı, borsa tahmini için oluşturduğunuz bir modeli yalnızca eğittiğiniz veri setini değiştirerek kimlik tespiti için kullanabilirsiniz. Bu durum aslında makine öğrenmesinin nasıl bir esnekliğe sahip olduğunu gösteriyor. Bu tarz bir esneklik geleneksel algoritmalar ile imkânsızdır.

Makine öğrenmesi doğrudan evrimsel süreçlerden türemese de kendi kendine çözüm bulma mantığı bakımından evrimi andırır. Evrimsel algoritmalar ise doğrudan evrimden ilham alır. Şimdi gerçek bir evrim türemesi olan evrimsel algoritmaları ele alalım.

Evrimsel Algoritmalar (Evolutionary Algorithms – EA)

Evrimsel algoritmalar aynı evrimde olduğu gibi fazlaca rastgelelik içerir. Temel amacı bir problem için geliştirilecek çözümü evrim yardımıyla optimize etmek ve en iyi çözümü bulmaktır.

Doğal seçilimdeki gibi bu algoritmalarda da rastgele bir başlangıç noktasından itibaren en iyi çözümler hayatta kalır, kötü çözümler elenir. Adımlara bölersek süreç şu şekilde işliyor:

1. Başlangıç: İlk olarak, probleme rastgele çözümler üretilir. Tıpkı doğada rastgele genetik varyasyonların oluşması gibi.

2. Değerlendirme: Her çözüm, problemin ne kadar iyi çözüldüğüne göre puanlanır. Yani hangi çözüm daha uygun (fit) ise, onun yaşama şansı artar.

3. Seçilim: En iyi çözümler seçilir ve kötü çözümler elenir. İyi çözümler “ebeveyn” olur.

4. Çaprazlama ve Mutasyon: Seçilen iyi çözümler karıştırılır ve bazen ufak rastgele değişiklikler yapılır. Bu, yeni çözüm adaylarının doğmasını sağlar.

5. Tekrar: Yeni çözümler tekrar değerlendirilir ve süreç tekrar eder. Her nesilde çözümler birazcık daha iyi hale gelir. Başta rastgele gibi görünse de, zamanla yalnızca en iyi uyum sağlayan çözümler ayakta kalır ve en sonunda oldukça etkileyici sonuçlar ortaya çıkar.

Evrimsel algoritmalar günümüzde uzay görevlerinde bir robotun kaç uzva nerede ihtiyaç duyacağı, motorlarının hangi güçte olması gerektiği gibi karmaşık ve hesaplaması geleneksel yöntemlerle zor olan şeyler dahil çok geniş bir yelpazede kullanılmaktadır.

Bu noktada evrimsel algoritmalar ile makine öğrenmesinin farklarına göz atmakta fayda var.

ÖzellikEvrimsel AlgoritmaMakine Öğrenmesi
AmaçProblem çözmek, en iyi çözümü bulmakVeriden öğrenmek, tahmin yapmak
İlham KaynağıDoğal seçilim, biyolojik evrimİstatistik, veri analizi, biyolojik öğrenme
Çalışma ŞekliRastgele çözümler yaratır ve geliştirirGeçmiş verilerden öğrenir
Uygulama AlanıOptimizasyon problemleriSınıflandırma, regresyon, öngörü
Birlikte Kullanılır mı?Makine öğrenmesini optimize etmek için kullanılabilir

Evrim bize sadece canlıların nasıl geliştiğini anlatmakla kalmıyor, aynı zamanda sorunları nasıl çözebileceğimiz konusunda da ilham veriyor.

Bilinçsiz bir sürecin sabırla ve tekrarlarla neler başarabileceğini görmek, hem mühendislikte hem de teknolojide yeni kapılar açıyor.

Belki de geleceğin mühendisliğinde doğaya daha çok kulak vererek evrimsel düşünmeyi teknolojinin merkezine taşıyarak çözülemez denilen problemleri çözeceğiz.

Sonuçta, su her zaman yolunu bulur.

Olay doğru yolu bulabilmesi için akmasına izin vermekte.

yazar:

etiketler:


Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir