Speaker A
Beykent Akademi Yapay Zeka 101 dersinin 4. bölümüne hoş geldiniz. Bugünkü derste makine öğrenmesi, derin öğrenme ve yapay zeka kavramlarını tartışacağız. Yapay zeka dediğimiz zaman aslında içerisinde makine öğrenmesi, derin öğrenme de barındırıyor. Birbirlerinden farklı ya da aynı anlama gelerek kullanılsalar dahi aslında tamamen bir hiyerarşik yapının içerisinde var olan terimlerden bahsediyoruz. Yapay zeka dediğimiz kavram daha önce de belirttiğimiz gibi zeki davranış sergileyen canlıların bilgisayar programlarıyla bu davranışlarını gerçekleştirebilmesiydi. Oldukça geniş bir çalışma alanı. Yani içerisinde var olan sistemlerin hepsini kapsıyor. Bu hiyerarşik yapının içerisinde çatı olarak düşünebiliriz. Makine öğrenmesi dediğimiz zaman da sistemlerin aslında bu yapay zeka kavramının içerisinde veriden öğrenmesi ortaya çıkıyor. Yani elimizde var olan bu büyük veri ekosisteminin içerisinde eğer veriden öğrenen bir davranış sergiletebiliyorsak biz makine öğrenmesi kavramının içerisindeyiz. Bu makine öğrenmesi veriyor? Veriyi verdikten sonra o verinin içerisindeki örüntüleri, benzer yanları, örtüşük bilgileri keşfediyor ve bunun üzerinden tahmin mekanizması oluşturuyor. Makine öğrenmesinin gelişmiş versiyonu ise derin öğrenme olarak karşımıza çıkıyor. Derin öğrenme bir makine öğrenmesidir. Makine öğrenmesi de bir yapay zekadır. Yani bu hiyerarşik yapının içerisinde bu terimler birbirleriyle eş güdümlü. Bazen aynı anlama gelmiş gibi kullanılabiliyor ama arka planda küçük nüanslarla farklılıkları var. Derin öğrenme dediğimiz zaman da bu makine öğrenmesinin içerisinde yine veriden öğrenen bir sistemden bahsediyoruz. Bu veriden öğrenen sistemin içerisinde yapay sinir ağları dediğimiz katmanlı bir yapıyla öğreniyor. Bundan anlamlı modeller çıkarabiliyor. Bu anlamlı modeller üzerinde tahminler yapabiliyor. Genellikle günümüz teknolojilerinin içerisinde işte görüntü tanıma, yüz tanıma, dil algılama gibi sistemlerde de kullanılan metot aslında derin öğrenme olarak karşımıza geçiyor. Baktığımızda bu hiyerarşik yapının içerisinde hepsi yapay zeka ama içerisindeki sistemlerle farklılıklar var. Şimdi birazcık bu farklılıklara bakacağız. Makine öğrenmesi dediğimiz kavram ne demek? Evet, yapay zekanın içerisinde var olan bir terim ama bu terimin içerisinde neler var? Makine öğrenmesi temelde veriden öğreniyordu. Bu verinin şekli, her boyutu farklı farklı alanlarda olabilir. Bir görüntü, bir ses ya da var olan bir metin verisi üzerinde çalışılıyor olabilir. Nedir bu makine öğrenmesi? Geleneksel bilgisayar programlama verilerinin verilerden öğrenmesi üzerine kurulu bir sistem. Yani veriden öğrenmesini sağlayan algoritmalar ve teknikler bütünü. Geçmişte nasıldı? İlk uzman sistemler çıktığında eldeki verilerden öğrenmektense verilerin içerisine giren programlar üzerinde tahminler yapılabiliyordu. Örneğin sisteme kırmızı bir elma resmi verdiğimizde, yeşil bir elma resmi verdiğimizde bunların işte şekil, boyutlarıyla, görselleriyle bu meyvenin bir elma olduğunu algılayabiliyor ya da bu meyvenin bir elma olmadığını algılayabiliyordu. Ama bunun hepsini bir program akışıyla, algoritma akışıyla tamamlıyordu. Makine öğrenmesi ise tamamen bu sistemi verdiğimiz veriler üzerinden kendi öğrenmesiyle gerçekleştiriyor. Bu öğrenmeyi de kurguladığı modeller ve sistemler üzerinde yapıyor. Buradaki en önemli nokta ne kadar büyük miktarda veri verebilirsek o kadar doğru bir şekilde öğrenmesi sağlanabiliyor. Ve meyve örneğinden gidecek olursak ne kadar farklı, ne kadar fazla meyve verirsek sonunda hangi meyvenin hangi isimle adlandırılacağını, hangi meyvenin hangi meyve grubuna ait olduğunun çıkarımının tahmini yapacağı bir sistemden bahsedebiliyoruz. Makine öğrenmesi dediğimiz terimin de gerçek hayattaki en çarpıcı örneği de spam postalarında görüyoruz. Bir sisteme binlerce e-posta geliyor ve e-postanın içerisindeki en sık görülen kelimelerle birlikte bunun bir spam dosyası, spam maili olduğu algılanabiliyor. Bunu aslında tamamen geçmiş verilere dayanarak tahmin ediyor ve sınıflandırıyor. Yaptığı işlem tamamen bu. Örneğin elimizde kaldırım taşı resimleri var. Binlerce kaldırım taşının farklı farklı kaldırım taşları şeklinde farklı görsellerle, farklı verilerle biz sistemi öğrettiğimizde gelen verinin aslında bir kaldırım taşı mı yoksa yol üzerinde farklı bir alan mı olduğunu tahmin eden bir sistem yaratabiliriz. Bunun üzerine eğer bir basamaksa, eğer bir kaldırımsa yapması gereken işlemi öğretebiliriz. Bunun tamamen verdiğimiz fotoğraf verilerinden öğrenmesi aslında bizim makine öğrenmesi kavramının içerisinde olduğumuzu gösteriyor. Makine öğrenmesi veriyi nasıl kullandıklarına ve bunlardan nasıl sonuçlar elde ettiklerine göre farklı şekillerde öğrenme süreci gerçekleştirebiliyorlar. Gözetimli öğrenme, gözetimsiz öğrenme, kendi kendine denetimli öğrenme ve pekiştirmeli öğrenme olarak sınıflandırılabiliyor. Temelde gözetimli öğrenmede model girdi verileriyle çıktı arasındaki ilişkiyi tespit ediyor. Örneğin bir görüntü probleminde verdiğimiz binlerce hayvan resminin içerisinde etiketli olarak verdiğimiz köpek resmi, kedi resmi ve kuş resmi üzerinden yorumlarsak bunların hepsinin içerisinde bir örüntü tespit ediyor ve bu görsellerin birbirleriyle etkileşimiyle hangi hayvan sınıfına ait olduğunu anlıyor. Ama verdiğimiz bu toplu veri seti içerisinde olmayan bambaşka bir fotoğrafı verdiğimizde de öğrenen, gözetimli öğrenen bu sistem bize hangi hayvan sınıfına dahil olup olmadığını kontrol ediyor. Bunun çıktısında da eğer yeni gelen resim bir köpeğe ait ya da yeni gelen resim yeni gelen görsel bir kuşa aitse bunun hangi sınıftan olduğunu söyleyebiliyor. Bir diğer makine öğrenmesi modelimiz denetimsiz öğrenme. Denetimsiz öğrenme modeli aslında aynı zamanda gözetimsiz öğrenme olarak da adlandırılabiliyor. Denetimli öğrenme modeli de denetimli, denetimsiz, gözetimli, gözetimsiz olarak literatürde karşımıza çıkabiliyor. Denetimsiz öğrenmede sistem verinin içerisindeki benzer noktaları alıyor. Bu benzer noktalara göre verinin aslında gruplandırılmasını sağlıyor. Genelde yaptığı işlemi şöyle söyleyebiliriz. Yani kümeleme, bir anomali tespiti ya da bir boyut indirgemede kullanılabilen yöntemlerden biri. Nasıl sağlıyor? Bunu da sistemin içerisinde verdiğimiz etiketsiz veriler üzerinden bu etiketsiz verilerin benzer noktalarını buluyor. Bu benzer noktaların aynı olmadığı durumlarda da bunun farklı bir küme, farklı bir sınıf içerisinde var olan bir veri olduğunu söylüyor. Yeni gelen hiç veri setinin içerisinde var olmayan veri üzerinden de hangi kümenin içerisinde var olacağını tahmin eden bir sistem tasarlıyor. Örneğin e-ticaret platformlarında aslında müşterilerin verileri analiz edilerek hangi gruba ait olduğu söyleniyor. Yani e-ticaret platformunda alışveriş yapan bir kullanıcı için girilen veri etiketli bir veri değil. Yapılan kullanıcının alışveriş tarzı, alışveriş stili bir etiketlenmiş veri değil. Ama bu veriler içerisinde hangi gruba ait olduğunu sistem kendi tanımlıyorsa burada arka planda var olan çalışmaya denetimsiz öğrenme, gözetimsiz öğrenme olarak adlandırıyoruz. Bir diğer makine öğrenmesi modelimiz de kendi kendine denetimli öğrenme modeli. Kendi kendine denetimli öğrenmede makinemiz yine etiketsiz veriden öğreniyor. Ama makine etiketsiz veriden öğrenme sürecinin içerisinde kendisi veriden etiketleme işlemini otomatik olarak gerçekleştiriyor. Bu yaklaşım genellikle büyük dil modellerinde kullanılıyor. Nasıl kullanılıyor? Token dediğimiz bir kavram var. Daha önce duymuşsunuzdur. Token dediğimiz kavram büyük dil modelleri için metinlerdeki en küçük birime kullanıyoruz. Bir token, bir metin içerisindeki sözlük olabilir, sözcük olabilir, kelime parçası olabilir ya da herhangi sadece bir işaret olabilir. Bu cümleyi genel bütün bu cümleyi kelimelerine yani tokenlarına ayırarak işlem gerçekleştirebiliyoruz. Gelen metin cümlesinin etiketsiz olduğu varsayıldığında metnin içerisindeki tokenlar üzerinden artık yavaş yavaş etiketleme işlemini sistem otomatik yapıyor. Yani kendi kendine denetimli öğrenme modeli.