Bilgisayar TEKNOLOJİ Yapay Zeka

Makine Öğrenir Mi?

pexels-photo-90807

Eğer bu soruya cevabınız hayırsa erken davranmayın derim. Hemen hemen hepimizin her gün karşılaştığı bir mekanizmayı inkâr etmekte aceleci olmamak gerekir. Nerede mi karşılaşıyoruz makine öğrenmesi örnekleriyle? Google’da bir arama yapıyorsunuz ve Google ilgileneceğiniz web sayfasını en üstte çıkarıyor. Facebook’a arkadaşlarınızla bir fotoğraf yüklüyorsunuz, arkadaşlarınızı hemen tanıyor ve isimlerini söylüyor size. PES oynuyorsunuz ve eğer Superstar zorluk seviyesinde oynarsanız çok zorlanıyorsunuz hatta yeniliyorsunuz. Bunlar çok alışıldık şeyler olduğu için ilginizi çekmemiş olabilir. Yakın zamandaki ilginç örneklerden bahsedelim biraz da. Google Translate’in yakın zamandaki atağını duydunuz mu? Bir makine nasıl bu kadar düzgün cümle kurabilir diye düşünmediniz mi hiç? Tesla Motors’un son çıkardığı insansız araç teknolojisinin vardığı boyutları da görmüşsünüzdür belki. İşte tüm bunların temelinde makine öğrenmesi (machine learning) denilen teknoloji var.

Makine öğrenmesi, kodların tamamının açıkça yazılmasındansa makinenin yerine getireceği işlevi kendi kendine öğrenmesine dayalı bir tekniktir. Peki, kodları kendimiz yazmaktansa neden makinenin kendisinin öğrenmesini istiyoruz? Basit ve kısa bir örnekle bunu açıklayabiliriz. Fotoğrafları analiz ederek meyveleri tanıyan bir program yazacağımızı düşünün. Bir portakal için belirleyeceğiniz özellikler neler olurdu? Önce yuvarlak olmasını isterdiniz, değil mi? Böylelikle muz gibi meyveleri elemiş olurdunuz ama hala elma, karpuz, kavun başta olmak üzere bir sürü meyve var. Turuncu olmasını isterdiniz değil mi? Renkli bir fotoğrafsa hala şeftali, mandalina, malta eriği gibi turuncu ve yuvarlak meyveler kaldı ama renksizse hiç yol kat edemediniz. Hiçbir pürüz çıkmadığını hayal ederseniz tek eksikler bunlar ama portakallar tam bir küre şeklinde değildir, bu bir sorun, yarım portakal olduğunda yine daire şeklinde gözükmeyecek, bu başka bir sorun. Sadece bir meyve için bile bunun gibi onlarca sorun çıkacakken her ayrı meyve için satırlarca kod yazmanın neresi mantıklı olabilir ki? Bunun yerine makineye meyveleri nasıl öğreneceğini öğretip sonra da öğrenmesini beklemek daha güzel bir sonuç vermez mi?

Makine öğrenmesinin gerekliliğini genel hatlarıyla öğrendik. Peki ya makine öğrenmesi nasıl çalışıyor? İnsanoğlu olarak bu gelişmede de doğayı örnek alıyoruz ve yapay sinir ağlarını (artificial neural networks) kullanıyoruz.

neuralYandaki şekille çok basit olarak ifade edilen yapay sinir ağları en basit tanımıyla insanın gözleme ve düşünmeye yönelik olan yeteneklerini taklit eder. Biyolojik sistemlerde öğrenme nöronlar arası kurulan sinaptik bağlantılarla olur. Bağlantı sayısı arttıkça öğrenmenin arttığı hesaba katılırsa tecrübelerin öğrenmeye etkisi de daha rahat anlaşılır. Bilgisayarda da bu bağlantılar tekrar sayısının artmasıyla olur. Ne kadar çeşit portakal resmi gösterirsek portakalla alakalı o kadar fazla sinaptik bağlantı kurar ve portakalı tanır. Bu yalnızca göstermeye dayalı değildir. Toplanan veri her türden olabilir.

Bununla alakalı en bilinen örnek Google’ın arama algoritmasıdır. Bir arama yaptığınızda Google’ın milyarca site ve sayfa için hazırladığı bir dizine erişirsiniz. Örnek vermek gerekirse “Birinci Dünya Savaşı” yazarak bir arama yaptığınızda bu üç terimi de içeren sayfalar milyarlarca sayfa içinde aranır. Fakat verdiğimiz örnekteki gibi yaygın kelimeler için yaptığımız aramada yüzbinlerce web sitesi çıkacaktır. Google’ın size hangi sayfaları göstereceği ve hangi sırayla göstereceği ise makine öğrenmesinin işidir. Yüzlerce parametre vardır ama en temel parametreler ise arama yaptığınız kelimelerin sayfada kaç defa geçtiği, sayfanın başlığında arama terimlerinin olup olmadığı, sitenin güvenilir olup olmadığı ve PageRank’tir. PageRank, adını Google’ın kurucularından biri olan Larry Page’den alan bir algoritmadır. Web sitelerinin ne kadar önemli olduğuna karar verir.  Temel parametreler ise bu web sayfasına dışarıdan gelen bağlantı sayısı ve bunların önemi. Böylece her sitenin bir önem puanı oluyor. Sıralama da bu önem sırasına göre yapılıyor ve aradığımız sitelere daha hızlı erişebiliyoruz.

Güncel bir örnek olarak verebileceğimiz örnek ise Google’ın Translate algoritmasıdır. Google bunun için istatistiksel makine çevirisi adlı işlemi uygular. Bu ise çok sayıda metnin çevirisini ve kalıplarını öğrenip her cümleye karşı bir reaksiyon gösterebilmektir. Bu algoritmanın kullanılmasının altında ise çok basit bir neden yatar. Günümüz imkânlarıyla bir bilgisayara dil öğretemiyoruz. Çünkü dil, kelime, noktalama, cümle içeriği başta olmak üzere birçok etkeni içinde barındırıyor ve istisnalar, karışık cümleler işin içine girince korkunç bir hâl alıyor. Dili öğretemeyeceğimiz bilgisayarlara cümleleri öğretmek ise daha mantıklı. Yapay sinir ağlarının ne olduğunu bu yazının ortalarında öğrenmiştik. Google Translate’in daha fazla doküman inceleyerek, daha fazla sinaptik bağlantı kurarak kalitesini artırabileceği çıkarımını yapabiliriz.

Bu tekniğin günümüz dünyasında ulaştığı nokta heyecan verici. Bir yazıya sığamayacak kadar çok ve çeşitli çalışmalar yapılmakta bu konuda. Aşağıda makine öğrenmesi ve işleyişi hakkında bilgi sahibi olabileceğiniz bazı linkler bulunmakta.

Tesla Motors’nın Otonom Araç Projesinin Son Hâli

Tesla Motors Araçlarının Kameraları

Makine Öğrenmesi ile Mario Oynamayı Öğrenen Bilgisayar

Makine Öğrenmesiyle Yapılmış 10 Ürün

 

Kamer Elciyar

Kuleli Askeri Lisesi mezunuyum. Gazi Üniversitesi Bilgisayar Mühendisliği öğrencisiyim. Yaşamayı, bilimi, sanatı ve Dünya'yı açıklamamı sağlayan her şeyi seviyorum.

Yorumla

Yorum yazmak için buraya tıklayın...