Dijital Dünyada Yapay Zeka — Bölüm I: Yapay Zeka’nın Temelleri ve Anahtar Kavramlar

Bilgisayarlar Düşünebilir Mi?

Hilal N. Tek

--

Herkese selamlar 👋 Umarım keyfiniz yerindedir ve bol su içmeyi ihmal etmiyorsunuzdur. Bu seride, Alan Turing’in “Bilgisayarlar düşünebilir mi?” sorusundan yola çıkarak bu günlere gelen ve neredeyse hayatımızın vazgeçilmez bir parçası olan yapay zekayı biraz irdeleyeceğiz.

Serinin ilk yazısında, yapay zekayı doğru yorumlayabilmek için temellerini herkesin anlayabileceği temiz bir dille anlatabilmeyi amaçlıyorum. Bu seride teknik detaylardan ziyade kavramların ve neyin neden yapıldığının üzerinde duracağız. Umarım siz de benim kadar keyif alırsınız 🫠

Nedir Bu Yapay Zeka?

En basit haliyle yapay zekayı, çeşitli matematiksel ve istatistiksel yöntemler ile düşünme kabiliyeti kazandırılmaya çalışılan sistemler olarak tanımlayabiliriz. Çıkış noktamız insan yetenekleri olduğu için, bu görevler arasında: öğrenme, akıl yürütme, problem çözme, algılama, doğal dili anlama ve hatta çevre ile etkileşim gibi çeşitli eylemleri sayabiliriz.

Makineler Nasıl Öğrenir?

Öğrenme konsepti, makineler için aslında kendi hayatlarımızdan da aşina olduğumuz şekilde ilerler. Yapay zeka sistemleri, verilen bilgileri kullanarak dünyayı anlamlandırmaya çalışır. Hatalar yaparlar, ama bu hatalardan öğrenerek zamanla daha iyi hale gelirler.

Bir örnek üzerinden ilerleyecek olursak;

Yapay zekayı bir bebek olarak düşünelim. Bebeğimiz pek çok resim, bilgi ve sesi öğrenmek istiyor fakat ilk aşamada doğal olarak hiçbir şey bilmiyor. İşte bu noktada, öğretmen olan biz devreye giriyoruz. Ona çeşitli resimler gösteriyor ve bir resmin kedi bir resmin köpeği temsil ettiğini söylüyoruz. Gösterdiğimiz resimler ve söylediğimiz bilgilere ise veri diyoruz. Bebek öğrendiklerini kullanarak yeni resimlere bakabiliyor ve gördüğü imgelere “kedi”, “köpek” diyebiliyor. İşte bu noktada bebek, kendi başına öğrenmeye başlıyor. Her hata yaptığında, doğru cevabı öğreniyor ve bir dahaki sefere daha iyi ayrım yapabiliyor.

Yani, yapay zeka modelleri verilerle öğrenir, hatalar yapar, hatalarını düzeltir ve daha iyi hale gelir. Bu sayede bir şeyleri tanıyabilir, soruları cevaplayabilir veya yeni bilgiler üretebilirler.

Öğrenme Çeşitleri

Öğrenme ve tabiri caizse “düşünme” konseptine bir önceki başlıkta kısaca değindik. Bu başlık altında ele alacağımız konu ise “Nasıl düşünmeliyiz?” olacak.

Kendi hayatlarımız üzerinden örneklendirecek olursak şayet, matematik ve dil öğrenme süreçlerini ele alabiliriz. Büyük resme baktığımızda ikisinin de bir öğrenme süreci olduğunu ama detaya inildiğinde bir tarafta bizi formüller ve problemlerin, diğer tarafta ise gramer ve kelimelerin beklediği, farklı öğrenim gereklilikleri olan bambaşka alanlar olduğunu görebiliriz. Bizim için böyle olan süreç makineler için de bu şekilde işliyor tabii. Elimizdeki verilerin yapısı ve gerçekleştirmek istediğimiz amacın gereksinimleri sonucunda makinenin nasıl öğreneceğine karar vermemiz gerekiyor. Bunun için kullanılan çok çeşitli öğrenme yöntemleri bulunmakta, en bilinen üç tanesi ise şöyle;

Gözetimli Öğrenme (Supervised Learning)

Modelin, etiketlenmiş eğitim verileri üzerinden öğrenmesini sağlayan bir öğrenme türüdür. Her eğitim örneği bir giriş verisi ve bir hedef çıkış etiketi içerir. Algoritma, bu veriler üzerinden öğrenip yeni, görülmemiş verilere tahminlerde bulunabilir.

Bir önceki başlıkta hatırlayacağınız üzere, bebeğimize kedi ve köpek fotoğrafları göstererek onun bu iki hayvanı birbirinden ayırabilmesini sağlamıştık. Bu gözetimli öğrenmeye verebileceğimiz en güzel örneklerden biridir. Çünkü bebeğimiz bizim ona gösterdiğimiz etiketli veriler (kedi, köpek fotoğrafı) sayesinde kedi ve köpeğin farkını öğrendi ve dışarıya çıktığında bu resimlerden gördüğü iki farklı hayvanı ayırt edebilmeye başladı.

Gözetimli Öğrenme

Gözetimsiz Öğrenme (Unsupervised Learning)

Etiketlenmemiş veriler üzerinde öğrenme sürecini ifade eder. Bu durumda, algoritmaya veri seti içindeki desenleri keşfetme görevi verilir ve algoritma, verilerdeki doğal yapılara veya gruplara dair özellikleri öğrenir.

Gözetimsiz öğrenmede ise durum biraz daha farklı. Şöyle ki, bir kova dolusu farklı renk ve şekillere sahip legomuz olduğunu düşünelim. Bir önceki örneğimizin aksine bu lego parçalarının ismi yazılı değil, yani verinin neyi temsil ettiği bilinmemekte. Bu durumda bebeğimizin neyi temsil ettiği bilinmeyen bu legoları (verileri) bir araya getirerek kendi gruplarını oluşturmasını (mesela tüm kırmızı parçaları bir yere, tüm büyük parçaları başka bir yere koymasını) bekliyoruz. Ama kimse bebeğe legoların hangi renk veya boyutta olduğunu söylemiyor, bebek kendi kendine keşfediyor.

Gözetimsiz Öğrenme

Takviyeli Öğrenme (Reinforcement Learning)

Bir ajanın bir ortamda belirli bir hedefe ulaşmak için denemeler ve hatalar yoluyla öğrenme sürecini ifade eder. Bu öğrenme türünde, ajan çevresi ile etkileşimde bulunur, belirli bir eylemi gerçekleştirir ve bu eylemin bir sonucu olarak bir ödül veya ceza alır.

Reinforcement Learning süreci üç ana bileşen içerir:

1. Ajan (Agent): Kararlar alabilen, eylemleri gerçekleştirebilen ve çevresi ile etkileşimde bulunan öğrenen varlıktır. Örneğin, bir robot veya oyun oynayan bir yapay zeka ajanı olabilir.

2. Çevre (Environment): Ajanın etkileşimde bulunduğu ve öğrendiği dış dünyadır. Örneğin, bir oyun ortamı veya bir fiziksel ortam olabilir.

3. Ödül (Reward): Ajanın gerçekleştirdiği her eylemin bir sonucunda alacağı geri bildirimdir. Bu geri bildirim, ajanın hareketlerini yönlendirmek ve öğrenmeyi teşvik etmek amacıyla kullanılır. Pozitif ödüller, arzulanan davranışları teşvik ederken, negatif ödüller ajanın istenmeyen davranışlardan kaçınmasını sağlar.

Yapay Zeka vs Makine Öğrenmesi vs Derin Öğrenme

Bu kavramların sıklıkla birbirine karıştırıldığını görüyorum. Sanılanın aksine adını sıkça duyduğumuz bu üç kavram -aşağıdaki görselde de görebileceğiniz üzere- birbiri içine kilitlenmiş bir kümeler bütünüdür.

Yapay Zeka, Makine Öğrenmesi ve Derin Öğrenme İlişkisi

Yapay zeka olarak isimlendirilen sistem, bu bütünün en büyük ve en kapsamlı halkası olarak nitelendirilebilir. Yukarıdaki görsel özelinde konuşacak olursak, çember küçüldükçe kullanılan yöntemlerin daha da ileri seviyelerde özelleştiğini söyleyebiliriz. Yani derin öğrenmenin (DL), aslında ileri seviye makine öğrenmesi (ML) tekniklerinden oluştuğunu söylemek yanlış olmaz.

Makine öğrenmesi (ML) ve derin öğrenme (DL), temelde veri analizi ve desenleri öğrenme üzerine odaklanan benzer konseptlerden oluşur. Derin öğrenme, özellikle çok katmanlı sinir ağlarını kullanarak daha karmaşık görevleri çözebilen ve büyük veri setlerinde daha etkili olan bir alt kategori olarak karşımıza çıkar.

Burada “sinir ağları” olarak bahsedilen kavramın ilham kaynağı, aslında bir çoğumuzun biyoloji dersinden aşina olduğu “nöron” dur. 🤯

Beyin Nöronları — Yapay Sinir Ağları

Yapay zekanın temel amacının insanın düşünme yetisini taklit edebilmek olduğunu düşününce, derin öğrenme sistemlerinin beyni referans alarak üretilmesi çok da mantıksız gelmiyor değil mi? 🧠

Ne Zaman Makine Öğrenmesi, Ne Zaman Derin Öğrenme Kullanmalı?

Makine öğrenmesi ve derin öğrenmenin birbirine avantaj sağladığı çeşitli durumlar vardır. Bunlardan bazıları;

Veri Setinin Büyüklüğü

  • Derin öğrenme, genellikle büyük veri setleri üzerinde daha iyi performans gösterir. Çok katmanlı sinir ağları, büyük miktardaki veriden anlamlı desenleri öğrenme yeteneğine sahiptir.
  • Eğer elinizde sınırlı miktarda veri varsa ve derin öğrenme için yeterince büyük bir veri seti toplama şansınız yoksa, makine öğrenmesi daha uygun olabilir. Makine öğrenmesi, daha küçük veri setleriyle de etkili bir şekilde çalışabilir.

Karmaşık Desenlerin Tespiti

  • Genellikle düzensiz/belirgin bir düzen içermeyen veri setlerinde gözlemlenen yapılar veya ilişkilerdir. Karmaşık desenler, genellikle insan tarafından kolayca tanımlanamayan veya formüle edilemeyen, ancak bilgisayar algoritmaları tarafından öğrenilebilen yapılar içerebilir. Derin öğrenme, karmaşık ve yüksek düzeyde soyut desenleri öğrenebilme yeteneği ile öne çıkar. (Örn: Görüntü Tanıma, Ses Tanıma, Doğal Dil İşleme, Finansal Piyasa Analizi)
Derin Öğrenme ile Görüntü Tanıma
Derin Öğrenme İle Doğal Dil İşleme

Doğrusal Olmayan İlişkiler:

Bu madde özelindeki tanımlamamı daha çok günlük hayattan yapmak istiyorum. Bir lise öğrencisine özel ders verdiğinizi düşünün. Sağladığınız günlük kazanç, “Günlük Kazanç = Ders saati x Ders Ücreti” olarak formülize edilebilir ve öğrenciye verdiğiniz ders saati ile doğrudan ilişkilidir. Diğer taraftan verdiğiniz derslerin toplam saati ve öğrenci başarısı üzerinde bir inceleme yaptığımızda, öğrenci başarısının verilen dersin saati ile doğrudan ilişkili olmadığını görebiliriz. Bu durumu sınav notu üzerinden değerlendirecek olursak; bir saat ders alıp sınava giren öğrencinin 10, 2 saat ders alıp sınava giren öğrencinin 20 alacağını söyleyemeyiz. Yani bu ilişki doğrusal değildir, öğrencinin başarısını etkileyen pek çok etmen söz konusu olabilir.

Veri setleri üzerinde bu tarz örneklere rastlanması durumunda derin öğrenmenin bu ilişkileri daha iyi çözümlediğini ve bu ilişkiler özelinde daha başarılı sonuçlar verdiğini söyleyebiliriz.

Otomatik Özellik Çıkarma

Özellik çıkarma işlemi, oluşturulacak olan yapay zeka modelinin ihtiyaç duymayacağı özelliklerin veri setinden çıkarılması ve çeşitli teknikler kullanılarak modele yalnızca ihtiyacı olan özelliklerin sağlanmasıdır. Bu işlem, veri setini daha yönetilebilir ve anlaşılır hale getirirken, modelin eğitim sürecini iyileştirmeyi amaçlar.

Aklınızda bir şey canlanmadı mı? Dilerseniz bir şöyle deneyelim;

Diyelim ki kulağınız ağrıyor ve bir KBB uzmanına muayeneye gittiniz. Odasına girdiğinizde doktorun size soracağı ilk soru “şikayetin nedir?” olacaktır. Doktor, soracağı sorular ile ilgilenmesi (kulak) ve ilgilenmemesi (burun-boğaz) gereken bölgeleri tespit edecektir, yani özellik çıkarımı yapacaktır. Sorduğu sorular sonrasında sıkıntılı bölgeyi tespit eden doktor, bu bölge özelinde aksiyon alıp sizi tedavi edecektir.

Derin öğrenme, özellik mühendisliği ihtiyacını azaltabilir. Derin öğrenme modelleri, veriden özellikleri otomatik olarak çıkarabilir ve bu, geleneksel makine öğrenimi modellerinde manuel olarak yapılan özellik mühendisliği işlemlerini azaltabilir.

Eğitim Süresi

Makine öğrenmesi algoritmaları genellikle daha hızlı eğitim sürelerine sahiptir. Derin öğrenme modelleri, genellikle büyük veri setlerinde ve karmaşık mimarilerde eğitildiği için daha uzun süreler alabilir.

Sonuç Olarak;

Model seçiminde önemli olan, problemi iyi tanımlayıp neye ihtiyaç olduğunu kestirebilmektir. Örneğin basit bir regresyon problemini çok katmanlı sinir ağları kullanarak çözmeye çalışmak zaman kaybı ve külfettir. Bununla birlikte, kompleks problemler için de makine öğrenmesi algoritmaları yeterli performansı sağlayamayabilir. Her durumda, projenin özel gereksinimleri/hedefleri göz önüne alınmalı ve süreç buna göre ilerletilmelidir.

Bu yazıyla birlikte yapay zekanın temellerine bir bakış attıktan sonra, ikinci yazımızda biraz daha makine öğrenmesi özelinde ilerleyip “Bir makine öğrenmesi projesi nasıl yapılır?”, “Makine öğrenmesi yaşam döngüsü nedir?” sorularını ele alacağız. Umarım sizler için faydalı olmuştur ve keyif almışsınızdır. Tekrar görüşene dek esenlikler diliyorum 🌻

--

--