İbrahim Bilgiç

Bir makine nasıl öğrenir?

Bir bilgisayara bir şey yaptırmanın eski yolu, ona adım adım ne yapacağını yazmaktır. Hesap makinesi böyle çalışır. Her düğmenin ne yapacağını biri önceden yazmıştır.

Yapay zekâ başka bir yol izler. Makineye kuralı yazmayız. Ona örnek gösteririz ve kuralı kendisinin bulmasını isteriz.

1. Kuralı yazmak neden zor?

Bir fotoğrafta kedi olup olmadığını anlayan bir program yazmaya çalış. “Sivri kulakları varsa kedidir” dersin. Ama tilkinin de sivri kulakları var. “Bıyığı varsa” dersin, köpeğin de var. Kulağı kameraya dönük olmayan bir kedi ne olacak?

Kural listesi uzar ve hep bir istisna çıkar. Oysa üç yaşında bir çocuk kediyi hatasız tanır. Ona kimse kural ezberletmedi. Yeterince kedi gördü.

2. Örnek, tahmin, hata, düzelt

Makine de çocuk gibi örneklerden öğrenir. Bunu dört adımlık bir döngüyle yapar:

  1. Örnek: Makineye bir fotoğraf gösterilir.
  2. Tahmin: Makine “kedi” ya da “kedi değil” der. Başta tamamen rastgele tahmin eder.
  3. Hata: Doğru cevapla karşılaştırılır. Ne kadar yanıldığı ölçülür.
  4. Düzelt: Makinenin içindeki ayarlar, bir dahaki sefere biraz daha az yanılacak yönde azıcık çevrilir.

Bu döngü binlerce, bazen milyarlarca kez döner. Her turda makine biraz daha az yanılır. Kimse ona “kulak” ya da “bıyık” kelimesini söylemedi. Ama sonunda bunlara bakmayı kendisi öğrenir.

3. Kendin dene

Aşağıdaki kutuda küçük bir makine var. Kutuda turuncu ve mavi noktalar duruyor; tıklayarak kendin de ekleyebilirsin. Makinenin işi, bir noktanın rengini yerinden tahmin etmek.

Arka plandaki renkler makinenin tahmini. Makine hiç durmadan yukarıdaki döngüyü çeviriyor. Birkaç saniye içinde iki rengi ayıran bir sınır çizdiğini göreceksin. Yeni bir nokta koyduğunda sınırın ona göre kaydığını izle. Sınırı sen çizmedin, makine de kural yazmadı. Sadece senin noktalarına bakarak öğrendi.

Lab · Bir makineye öğret2 → 10 → 10 → 1 nöron
Eklenecek renk
Hazır desen
tur (epoch)
0
hata (kayıp)
0.000
doğruluk
%0

Makine, renkleri ayıran sınırı kendi kendine arıyor. Kimse ona kuralı söylemedi; yalnızca örnekleri görüyor.

Bir de “Hazır desen” düğmelerinden birini dene. Bazı desenleri tek bir düz çizgiyle ayırmak imkânsız. Makine yine de kıvrımlı bir sınır bulur. “Beyni sıfırla” düğmesine basarsan her şeyi unutur ve baştan öğrenir.

4. Makinenin içindeki ayar düğmeleri

Makinenin “öğrendiği” şey, içindeki sayılardır. Bunları bir mikserin üzerindeki düğmeler gibi düşün. Her düğme sonucu biraz etkiler. Öğrenmek, bu düğmeleri doğru konuma getirmek demektir.

Yukarıdaki küçük makinede yaklaşık 150 düğme var. Bir sohbet modelinde ise yüz milyarlarca düğme var. Bu düğmelere parametre denir. Bir modelin “büyük” olduğu söylendiğinde kastedilen, düğme sayısının çok olmasıdır.

5. Ezberlemek ile öğrenmek aynı şey değil

Sınava sadece geçen yılın sorularını ezberleyerek giren bir öğrenci düşün. Aynı sorular gelirse tam puan alır. Biraz farklı bir soru gelirse takılır.

Makineler de aynı tuzağa düşebilir. Gördüğü örnekleri ezberler ama yeni bir örnekte yanılır. Bu yüzden bir makineyi her zaman hiç görmediği örneklerle sınarız. Gerçek öğrenme, yeni örnekte de doğru cevap verebilmektir.

Akılda kalsın: Makine kuralı kendisi bulur. Örneğe bakar, tahmin eder, hatasını ölçer ve içindeki ayarları azıcık düzeltir. Bunu milyonlarca kez tekrarlayınca öğrenmiş olur.

Daha derine inmek istersen: ayarlar nasıl düzeltilir, ezber mi, öğrenme mi ve makine öğrenmesi dersi.

Kaynaklar

  1. Samuel (1959): Some Studies in Machine Learning Using the Game of Checkers ↗“Makine öğrenmesi” teriminin ilk kullanıldığı çalışmalardan
  2. Rumelhart, Hinton ve Williams (1986): Learning representations by back-propagating errors ↗Ayarların hataya göre düzeltilmesi
  3. Goodfellow, Bengio ve Courville (2016): Deep Learning, 5. bölüm ↗Ezberlemek ve genellemek
Yapay zekâ neden bazen uydurur?→
bitti