Derslerimiz 3 Ekim'de başlıyor

Kayıt Ol
Yapay Zekâ

Yapay Zekâ ile Klasik Programlama Arasındaki Fark Nedir?

Klasik programlamada insan kuralları yazar ve bilgisayar uygular; yapay zekâda ise bilgisayar örnek verilerden kuralları kendisi çıkarır. Fark, çözümün nereden geldiğidir.

Yonga Akademi Eğitim EkibiYayınlandı: 5 dk okuma
Yapay Zekâ ile Klasik Programlama Arasındaki Fark başlıklı blog kapağı; solda kural satırları, sağda veri noktaları

Yapay zekâ ile klasik programlama arasındaki temel fark şudur: Klasik programlamada kuralları insan yazar, bilgisayar bu kuralları uygular. Yapay zekâda (makine öğrenmesinde) ise bilgisayara örnekler verilir, kuralları bu örneklerden kendisi çıkarır. Birinde girdi ve kurallar verilip çıktı alınır; diğerinde girdi ve çıktı örnekleri verilip kurallar, yani "model", elde edilir.

Bu ayrım kulağa küçük gelebilir ama iki yaklaşımın nerede kullanıldığını, nasıl hata yaptığını ve çocuklara hangi sırayla öğretilmesi gerektiğini belirler. Bu yazıda farkı somut örneklerle açıklıyoruz.

Klasik programlama nasıl çalışır?

Klasik (geleneksel) programlamada yazılımcı, bilgisayarın izleyeceği adımları tek tek yazar. Bu adımlara algoritma denir. Örneğin bir hesap makinesi programı şöyle düşünülür:

  1. Kullanıcıdan iki sayı al.
  2. Hangi işlemin seçildiğine bak.
  3. Toplama seçildiyse sayıları topla, sonucu göster.

Program aynı girdiyle her seferinde aynı sonucu verir. Kurallar açıktır, nedeni sorulduğunda "şu satırda şu koşul var" diye gösterilebilir. Bu yaklaşımın gücü kesinliktir: bir bankanın faiz hesabı, bir trafik ışığının süresi veya bir oyunun puan sistemi gibi kuralı bilinen işler için idealdir.

Zayıf noktası ise kuralın yazılamadığı durumlardır. "Bu fotoğraftaki hayvan kedi mi?" sorusunu düşünün. Kediyi tanımak için hangi piksel değerlerine bakılacağını satır satır yazmak pratikte imkânsızdır. Kulaklar sivri olsa da açı, ışık, tüy rengi ve poz sonsuz biçimde değişir.

Yapay zekâ (makine öğrenmesi) nasıl çalışır?

Makine öğrenmesinde yazılımcı kediyi tarif etmez. Bunun yerine:

  1. Binlerce "kedi" ve "kedi değil" etiketli fotoğraf toplanır.
  2. Bir model bu örnekleri inceler ve ayırt edici örüntüleri sayısal ağırlıklar olarak öğrenir.
  3. Yeni bir fotoğraf geldiğinde model bir olasılık üretir: "yüzde 94 kedi."

Burada kurallar açıkça yazılmamıştır; modelin içinde milyonlarca sayı olarak dağılmış hâlde bulunur. Bu yüzden yapay zekâ olasılıksal çalışır: kesin "evet/hayır" yerine "büyük ihtimalle evet" der. Aynı model farklı veriyle eğitilirse farklı davranır. Modelin neden o kararı verdiğini açıklamak da klasik programa göre çok daha zordur.

Bu yaklaşımın gücü, kuralı tarif edilemeyen ama örneği bol olan işlerde ortaya çıkar: görüntü tanıma, konuşmayı yazıya çevirme, öneri sistemleri, dil çevirisi.

Temel farklar: karşılaştırma tablosu

ÖlçütKlasik programlamaYapay zekâ (makine öğrenmesi)
Çözüm nereden gelir?İnsan kuralları yazarModel, örneklerden öğrenir
GirdiVeri + kurallarVeri + doğru cevaplar (etiketler)
ÇıktıKesin sonuçOlasılıklı tahmin
Aynı girdide sonuçHer zaman aynıModele ve eğitime göre değişebilir
Hata biçimiYazılım hatası (bug), kuraldaki eksikYanlış tahmin, veriden gelen önyargı
AçıklanabilirlikYüksek, satır gösterilebilirDüşük, "kara kutu" olabilir
Uygun işlerKuralı bilinen işler: hesap, sıralama, oyun mantığıKuralı yazılamayan işler: tanıma, tahmin, öneri
GeliştirmeKodu değiştirVeriyi ve modeli değiştir, yeniden eğit

Aynı problem, iki farklı yaklaşım

Farkı somutlaştırmak için "istenmeyen e-posta (spam) ayıklama" örneğine bakalım.

Klasik yaklaşım: Yazılımcı kurallar yazar: "Konu satırında 'bedava' geçiyorsa spam", "Gönderen listede yoksa spam". Kurallar açıktır ama spam gönderenler kelimeyi "b.e.d.a.v.a" yazınca kural çalışmaz. Her yeni hile için yeni kural gerekir.

Yapay zekâ yaklaşımı: Kullanıcıların "spam" olarak işaretlediği milyonlarca e-posta modele gösterilir. Model; kelime seçimi, gönderim saati, bağlantı sayısı gibi yüzlerce ipucunu birlikte değerlendirmeyi öğrenir. Yeni hileler ortaya çıktığında model yeni örneklerle güncellenir; kural yazmaya gerek kalmaz. Karşılığında bazen normal bir e-postayı da spam sanabilir; çünkü sonuç bir tahmindir.

Aynı karşılaştırma bir çocuk projesinde de yapılabilir. Çocuğun "elma mı, armut mu?" oyununda önce klasik yol denenir: "Kırmızıysa elma." Sarı elma gelince kural bozulur. Sonra kameraya on elma, on armut gösterilerek küçük bir model eğitilir; model sarı elmayı da tanır. Çocuk bu iki denemeyi yan yana yaşadığında farkı ezberlemez, anlar.

Hangi durumda hangisi kullanılır?

İkisi rakip değil, birbirini tamamlayan araçlardır. Pratik bir seçim rehberi:

  • Kural netse ve hata kabul edilemezse klasik programlama: Not ortalaması hesaplama, para transferi, oyun kuralları, robotun "engel 10 cm'den yakınsa dur" davranışı.
  • Kural yazılamıyor ama örnek bolsa yapay zekâ: Fotoğraftan nesne tanıma, sesli komut anlama, metin özetleme, kullanıcıya öneri sunma.
  • Gerçek ürünlerde ikisi birlikte: Bir sesli asistan konuşmayı yapay zekâyla anlar, ardından "alarmı 7'ye kur" komutunu klasik kodla yerine getirir.

Bugün "yapay zekâ mühendisi" dediğimiz kişilerin işinin büyük bölümü de klasik programlamadır: veriyi toplayan, temizleyen, modeli eğiten ve sonucu bir uygulamaya bağlayan kodlar hep geleneksel yöntemle yazılır. Bu yüzden yapay zekâ öğrenmek, programlamayı atlamak anlamına gelmez.

Çocuklar için doğru öğrenme sırası

Velilerin en sık sorduğu soru şudur: "Çocuğum doğrudan yapay zekâ öğrenemez mi?" Deneyim şunu gösteriyor: Sıra, koşul ve döngü gibi klasik kavramları bilmeyen bir çocuk için yapay zekâ "düğmeye basınca olan sihir" olarak kalır. Temeli olan çocuk ise modelin nerede devreye girdiğini görür.

Yaşa göre sağlıklı bir sıra:

  1. 6 yaş, ekransız: Komut kartlarıyla arkadaşını "programlama", nesneleri özelliklerine göre ayırma oyunları. Hem algoritma hem sınıflandırma fikri bedenle öğrenilir.
  2. 7-10 yaş, robotiğe giriş + ilk model: Gerçek bir robot bloklarla kodlanır ("engel varsa dur" klasik kuraldır); sonra kamera karşısında ilk model eğitilir ve robota bağlanır. Çocuk iki yaklaşımı aynı projede yan yana görür.
  3. 11-14 yaş, robotik + model eğitme: Çocuk kendi verisini toplayıp görüntü veya ses modeli eğitir, doğruluğunu ölçer; modelin "ne gördüğünü" söylediği, klasik kodun "ne yapılacağını" belirlediği otonom bir robot kurar.
  4. 15-17 yaş, Python + API: Metin tabanlı kodlama, hazır modellere API ile bağlanma ve gerçek bir ürün geliştirme.

Yonga Akademi'nin yaş gruplarına göre programları tam olarak bu sırayı izler; her seviyede çocuk hem "kuralı ben yazdım" hem de "modeli ben eğittim" deneyimini yaşar.

Kısaca: yapay zekâ ile klasik programlamanın farkı

Klasik programlamada çözümü insan yazar; sonuç kesin ve açıklanabilirdir. Yapay zekâda çözümü model verilerden öğrenir; sonuç olasılıklı, esnek ama daha az açıklanabilirdir. Kuralı bilinen işlerde klasik programlama, kuralı tarif edilemeyen ama örneği bol işlerde yapay zekâ kullanılır ve gerçek ürünlerde ikisi birlikte çalışır. Çocuklar için en sağlıklı yol, önce algoritma temelini kurmak, sonra kendi modelini eğiterek farkı yaşayarak öğrenmektir. Yapay zekânın genel tanımı için Yapay Zekâ Nedir?, robotlarla birleşimi için Yapay Zekâ ile Robotik Kodlama Nedir? yazılarımızı okuyabilirsiniz.

Sık sorulan sorular

Yapay zekâ programlama mıdır?
Yapay zekâ sistemleri de programlanarak yapılır; fark, çözümün kaynağındadır. Klasik programlamada çözümü insan yazar, yapay zekâda program bir modeli eğitir ve çözümü model verilerden öğrenir.
Yapay zekâ klasik programlamanın yerini alır mı?
Hayır. İki yaklaşım birbirini tamamlar. Yapay zekâ modellerini çalıştıran, veriyi hazırlayan ve sonucu uygulamaya bağlayan kod hâlâ klasik programlamayla yazılır.
Çocuk önce kodlama mı öğrenmeli, yapay zekâ mı?
Küçük yaşlarda ikisi de oyunla, ekransız başlar. Sonra blok tabanlı kodlama ile sıra, koşul ve döngü öğrenilir; ardından ilk yapay zekâ modeli eğitilir. Kodlama temeli, yapay zekânın ne yaptığını anlamayı kolaylaştırır.
Makine öğrenmesi için matematik bilmek şart mı?
Başlangıç için hayır. Teachable Machine gibi araçlarla model eğitmek için matematik gerekmez. İleri seviyede istatistik ve doğrusal cebir gibi konular önem kazanır.

Kaynaklar ve ileri okuma

  1. Machine learning — Wikipedia
  2. Makine öğrenimi — Vikipedi
  3. Machine Learning Crash Course — Google for Developers
  4. Computational thinking — Wikipedia

Çocuğunuz için uygun teknoloji yolunu keşfedin

Yonga Akademi’nin yaşa göre ilerleyen kodlama ve yapay zekâ programlarını inceleyin veya kayıt başvurusu bırakın.