top of page
  • Yazarın fotoğrafıSelçuk Şentürk

Veri Bilimci Yol Haritası #3: Yapay Zekâya Uygulamalı Örnekler




Önceki yazımda teorik tanımlamalar üzerinde durmuştum. Bu yazıda ise size yapay zekâ uygulamaları hakkında örnekler vereceğim. Bu örnekler teorik tanımların zihindeki yerlerini daha sağlamlaştıracaktır.




Yapay Zekâya Uygulamalı Örnekler


İlk örnek olarak otonom araçları gösterebiliriz. Otonom araçlar bütün bir yapay zekâ sistemi olarak düşünülebilir: sensörler aracılığı ile gerçek dünyadan bilgiler (yol, etraftaki nesneler, yol işaretleri, hız vb.) toplar, davranışlar gerçekleştirmek üzere kendi "zekâ" sistemine ait kurallar vardır (bir nesne ile çarpışılmak üzereyse frenleme yap vs.), ayrıca verdiği kararları uygulamak üzere uygulayıcı mekanizmalara sahiptir (frenler, direksiyon, ABS vb.).


Bu örnekte otonom aracın yapay zekâsı zaman içerisinde öğrendikçe daha iyi bir hale gelen makine öğrenmesi alt sistemine sahiptir, otonom araç farklı yolları, koşulları vb. gördükçe "öğrenir" ve bazı ölçütlere göre (güvenlik, kaza öncesinde frenleme tepki süresi, tüketim vb.) performansı artar.


Ayrıca derin öğrenme alt sistemi de etraftaki nesneleri tanıyabilmek, araçları yayalardan veya etraftaki diğer nesnelerden ayırabilmek vb. gibi görevleri yerine getirebilmek adına yapay sinir ağlarını kullanır ve gittikçe daha iyi bir hale gelir.


İkinci örnek ise, insanlı veya insansız üretim tesislerinde kullanılan robotik kollar. Bu robotik kollar, dış dünyayı algılamak için birçok farklı sensörlere sahiptir. Bu sensörler aracılığı ile üretim bandında hareket eden objeleri tanıyabilir, konumlarını tespit edebilir, yapacağı hamlelerin yönünü tayin edebilir. Etrafındaki insanları algılayabilir ve güvenlik önlemleri alabilir. Ayrıca kendisine verilen görevi gerçekleştirmek üzere mekanik kollara ve hidrolik eklemlere sahiptir. Zaman içerisinde öğrenme ile birlikte belli performans metriklerinde iyileşme gösterir. Bu performans metrikleri üretici tarafından farklı şekillerde belirlenebilir.


Bir diğer örnek ise, akıllı tarımda kullanılan çeşitli robotlardır. Yine üzerlerinde bulunan çok çeşitli sensörler (kamera, nem sensörü, sıcaklık sensörü vs.) aracılığı ile bitkinin fiziksel durumunu kontrol edebilir, herhangi bir müdahale gereken durum oluşmuş ise müdahale edebilirler. Bu robotlar çeşitli verileri gördükçe ve tecrübe ettikçe belli performans metriklerinde iyileşme gösterirler. Bu performans metrikleri genelde bitkinin durumunu doğru şekilde tespit etme ile ilgilidir.


Son örneğimiz ise, ülkemizde de sıklıkla yaşanan doğal afetlere müdahelede kullanılan yapay zekâ sistemleridir. Çok çeşitli görevleri gerçekleştirmek için kullanılan bu yapay zekâ sistemleri örneğin uydu görüntülerini, trafik verilerini, şehir haritalarını, trafik kameralarını vs. inceleyerek özellikle doğal afet sonucunda ortaya çıkan yıkımın tespitinde, doğal afete müdahalede kurulacak stratejinin belirlenmesi, yardımların önceliklendirilmesi, lojistik açıdan ulaşım yolunun belirlenmesi gibi çok kritik konularda rol alabilmektedirler.



Tabi ki daha bir çok farklı alanda bir çok farklı görevi gerçekleştiren yapay zeka sistemleri mevcut, bu bir kaç örnek ile birlikte önceki yazımda bahsetmiş olduğum teorik tanımların daha iyi anlaşılabilmesini umuyorum.




Algoritmik Yaklaşımdaki Farklar


Klasik bilgisayar bilimi yaklaşımında, bir problemi çözmek için gerekli adımlar detaylıca düşünülür, bir algoritma oluşturulur ve bu algoritma bir programlama diliyle hayata geçirilir. Bu problem çözme süreci tamamen deterministiktir. Bu yaklaşımın deterministik olması, her adımda hangi eylemin neden seçildiğini, sonucunun ne olacağını vs. bilebilmeyi sağlar. Ayrıca şunu bilmekte fayda var ki, klasik yaklaşımda herhangi bir girdi verisine ve bu verinin algoritmaya herhangi bir etkisine gerek yoktur.


Makine öğrenmesi yaklaşımında ise, algoritmaya bir veri kalıbı verilir, girdiler ve çıktılar arasındaki örüntülerin, benzerliklerin, korelasyonların vb. algoritma tarafından keşfedilmesi sağlanır. Bu sürece "öğretme" adı verilir. Bu öğeler öğrenildiğinde, artık makine öğrenmesi "bilgi"ye sahiptir ve daha önce görmediği örnekler verildiğinde dahi bu "bilgi"yi kullanarak çıktı üretebilir.


Eğer makine öğrenmesi algoritmasına verilen girdi sayısı, çözülmeye çalışılan problem açısından yeterliyse, ortaya çıkan model (aslında öğrenme süreci sonunda ortaya çıkan bir parametre kümesi) doğruya yakın sonuçlar üretebilir hale gelecektir.



Yazının başında makine öğrenmesinin kullanıldığı örnekler görmüştük, gelin şimdi makine öğrenmesi kullanılmayan bir kaç karşı örneği inceleyelim.


  • Anahtar kelimelere dayalı bir arama motoru: yeni verilerden öğrenip performansı iyileşmez, eğer performansını artırmak istiyorsanız bunu programlayarak yapmanız gerekir.

  • Önceden programlanmış bir müşteri hizmetleri programı. Örneğin müşteri "sipariş"in durumu ile ilgili bir istekte bulunduğunda bu anahtar kelimeden yola çıkarak sipariş numarasına ulaşabilir ve siparişin durumu müşteriye geri iletilebilir.

  • Kullanıcının hangi tarihi ya da sinematik karakteri düşündüğünü tahmin etmeye çalışan ünlü mobil uygulama Akinator. Bir dizi hedefli soru aracılığıyla (saçları var mı? O bir uzaylı mı? Star Wars'ta mı rol alıyor? vb.), bir dizi veri tabanını araştırıyor ve sorular sorarak cevaba ulaşıyor. Bu, "akıllı" bir program gibi görünse de aslında öyle değildir: programlandığından dolayı deneyimle gelişerek öğrenmez ve bir insan tarafından kolayca açıklanabilen deterministik bir süreci takip eder.




Makine Öğrenmesi Tekniklerini Neden Kullanıyoruz?


Gelin geleneksel programlama tekniklerini kullanarak bir e-posta filtreleme sistemi geliştirmeye çalışalım.


  1. İlk olarak bir kötü amaçlı e-postanın nasıl bir yapısının olduğunu anlamaya çalışırdık. Bazı anahtar kelimelerin ve deyimlerin ("Ücretsiz!", "Kazandınız!", "Virüs tespit edildi!") kötü amaçlı e-postalarda sıkça yer aldığını fark ederdik. Belki e-postanın iç kısmında, gönderenin isminde vs. farklı detaylar da keşfedebilirdik.

  2. Bir algoritma oluşturur ve belli anahtar kelimeler veya diğer keşfettiğimiz detaylar e-postanın içerisinde yer alıyorsa bu postayı kötü amaçlı olarak etiketlerdik.

  3. Kötü amaçlı e-postaları yeterince doğru ayırabildiği konusunda tatmin edici bir noktaya ulaşana kadar 1. ve 2. adımları tekrar ederdik.

Programın kısa süre içerisinde karmaşık kuralların bir araya getirildiği ve bakımının çok zor olduğu bir kod dizisine dönüşeceğini tahmin etmek zor olmaz. Ayrıca yeni bir kural eklenmek istendiğinde ise her defasında değişiklik yapmak daha da zorlaşacağından gittikçe daha da zahmetli bir hale gelecektir.


Bunun yerine kullanılacak bir makine öğrenmesi modeli ise kötü amaçlı bir postayı ayırmaya yarayacak kelimeleri, cümleleri ve kalıpları kendi kendine öğrenecektir. Her yeni kötü amaçlı e-posta tespit edildiğinde kendini geliştirecek ve yeni kuralları otomatik olarak ekleyecektir. Program çok daha kısa, bakımı kolay ve kötü amaçlı e-postaları ayırma açısında çok daha iyi bir başarıya sahip olacaktır.



Sonuç olarak, makine öğrenmesi teknikleri aşağıdaki durumlarda geleneksel tekniklerden daha iyidir:

  • Sorunların sürekli ve öngörülemez bir şekilde değiştiği akışkan ortamlar ( daha önce keşfedilmemiş bir dağ yolu, içerisinde hangi kelimelerin ve kalıpların ayırı olduğu bilinmeyen kötü niyetli e-postalar, hangi saat ve tarihlerde kullanıcı sayısının zirve yaptığı tespit edilemeyen bir website altyapısı).

  • Geleneksel tekniklerin uygulanamayacağı veya uygulansa bile kodun çok karmaşık ve bakımının çok maliyetli olacağı durumlar. Bu durumlarda makine öğrenmesi modeli çok daha küçük ve bakımı kolay bir model ile çok daha iyi performans gösterebilir.

  • Eğer bir konu hakkında büyük bir veri kalıbı varsa, daha önce keşfedilmemiş örüntüler de yine makine öğrenmesi teknikleri kullanarak ortaya çıkarılabilir ve yeni keşifler yapılabilir.



Bu yazıda daha çok uygulama hakkında örnekleri inceledik. Tabi ki ilerleyen süreçte bir makine öğrenmesi modeli geliştirme ile ilgili tüm bilimsel ve teknik konuları tartışıyor olacağız. Buraya kadar okuduğunuz için teşekkürler, bir sonraki yazıda görüşmek üzere.



0 yorum

Son Yazılar

Hepsini Gör

Comments


Takipte Kalın

En yeni yazıların size ulaşması için hemen eposta adresinizi yazabilirsiniz.

Abone oldunuz, tebrikler.

bottom of page