İçeriğe atla
Makale

Makine Öğrenmesi Nedir? Derin Öğrenme ve Yapay Sinir Ağları

Makine öğrenmesinin öğrenme türlerini, temel kavramlarını, algoritma örneklerini, başarı ölçütlerini, derin öğrenmeyi ve kurumda üretime geçişi anlattık.

Oğuzhan Gerçek··7 dk okuma
Makine Öğrenmesi Nedir? Derin Öğrenme ve Yapay Sinir Ağları

Kısa cevap: Makine öğrenmesi (machine learning, ML), bilgisayarın açıkça programlanmadan, veriden öğrenerek tahmin yapmasını ya da içerik üretmesini sağlayan yöntemlerin genel adıdır ve yapay zekânın bir alt alanıdır. Model, eğitimde örnek verideki ilişkileri öğrenir ve bunları yeni veriye uygular. Başlıca türleri denetimli, denetimsiz, pekiştirmeli ve kendinden denetimli öğrenme. Derin öğrenme, çok katmanlı yapay sinir ağları kullanan bir makine öğrenmesi koludur; büyük dil modelleri de bu aileden gelir. Modelin değeri, görmediği veride gösterdiği başarıyla ölçülür.

Makine öğrenmesi nedir?

Google'ın Machine Learning Crash Course'una göre makine öğrenmesi, model denen bir yazılımı veriden yararlı tahminler yapacak ya da içerik üretecek biçimde eğitme süreci. Google farkı yağış tahminiyle anlatıyor: klasik yaklaşım atmosferin fizik tabanlı bir temsilini kurup akışkanlar dinamiği denklemlerini çözer; makine öğrenmesinde ise modele çok büyük miktarda hava durumu verisi verilir ve yağışı belirleyen ilişkiyi model kendisi öğrenir. NIST'in sözlüğü de veriden öğrenen ve doğruluğunu artırmayı hedefleyen sistemlerden söz ediyor.

IBM'e göre makine öğrenmesi doğrudan yapay zekânın altında duruyor (yapay zekâ yazımız, sözlük). Haziran 2022 tarihli ISO/IEC 23053 ise makine öğrenmesi kullanan yapay zekâ sistemleri için kavramsal bir çerçeve ve ortak terminoloji veriyor; ISO'ya göre derin öğrenme de bu çerçevenin kapsamında.

Temel kavramlar: model, özellik, etiket ve eğitim

  • Özellik (feature) ve etiket (label): Google'a göre etiket, modelin tahmin etmesi istenen "cevap"; özellikler bu tahminde kullanılan değerler. Yağış modelinde sıcaklık ve nem özellik, yağış miktarı etikettir.
  • Model, eğitim ve çıkarım: Microsoft Learn'e göre model, girdilerden çıktı hesaplayan bir fonksiyonu içine alan yazılım. Bu fonksiyonu tanımlamaya eğitim, onunla yeni değerleri tahmin etmeye çıkarım (inference) denir.
  • Kayıp ve gradient descent: Kayıp (loss) tahminlerin ne kadar yanlış olduğunu ölçer ve eğitim onu en aza indirmeye çalışır; gradient descent en düşük kaybı veren ağırlıkları ve bias'ı adım adım bulur.
  • Eğitim, doğrulama ve test seti: Google'a göre model eğitim setiyle eğitilir, doğrulama seti eğitim sürerken ilk sınamayı yapar, test seti eğitilmiş modeli değerlendirir. Test setine bakarak tekrar tekrar ayar yapmak, modeli o setin kendine özgü yanlarına uydurabilir.
  • Aşırı öğrenme (overfitting) ve genelleme: Aşırı öğrenen model eğitim setini ezberler ve yeni veride doğru tahmin yapamaz; iyi genelleyen model ise yeni veride de iyi tahmin yapar.

Makine öğrenmesi türleri

  • Denetimli öğrenme (supervised learning): Google'a göre model, doğru cevapları içeren çok sayıda veriyi gördükten sonra tahmin yapabilir. En yaygın kullanımlarından ikisi, sayısal değer tahmin eden regresyon (yağış miktarı) ve kategori olasılığını tahmin eden sınıflandırma (e-posta spam mı).
  • Denetimsiz öğrenme (unsupervised learning): Model veri setinde anlamlı örüntüler arar; birçok denetimsiz model, benzer verileri gruplayan kümeleme (clustering) tekniğine dayanır.
  • Pekiştirmeli öğrenme (reinforcement learning): Model, bir çevrede yaptığı eylemler için ödül ya da ceza alarak öğrenir. Google'ın örnekleri yürümeyi öğrenen robotlar ve Go oynayan AlphaGo.
  • Kendinden denetimli öğrenme (self-supervised learning): IBM'e göre model, etiketsiz veriden örtük etiketler üretir. GPT gibi dil modelleri bu yolla, bir sonraki kelimeyi tahmin ederek eğitilir.

Makine öğrenmesi algoritmaları: dört örnek

scikit-learn belgelerinden dört temel örnek:

  1. Doğrusal regresyon (linear regression): Hedef değeri özelliklerin doğrusal bir bileşimi olarak ele alır; katsayıları, gözlenen ve tahmin edilen değerler arasındaki farkların kareleri toplamını en aza indirecek biçimde bulur.
  2. Lojistik regresyon (logistic regression): Adına rağmen sınıflandırma modeli; sonuçların olasılığını lojistik fonksiyonla hesaplar. İkili sınıflandırmada varsayılan eşik 0,5.
  3. Karar ağacı (decision tree): Veriden basit karar kuralları öğrenen denetimli yöntem. Yorumlaması kolay; ama aşırı karmaşık ağaç aşırı öğrenir, budama (pruning) ya da derinlik sınırı gerekir.
  4. K-means: Etiketsiz veriyi, küme içi kareler toplamını en aza indirerek n gruba ayıran kümeleme algoritması; küme sayısı önceden verilir.

Model nasıl değerlendirilir? Accuracy, precision ve recall

Google'a göre üç temel ölçüt şunlar:

  • Accuracy (doğruluk): Bütün sınıflandırmalar içinde doğru olanların oranı.
  • Precision (kesinlik): Modelin pozitif dediği örneklerden gerçekten pozitif olanların oranı.
  • Recall (duyarlılık): Gerçek pozitiflerden doğru biçimde pozitif bulunanların oranı.

Dengesiz veride accuracy yanıltır: Google'ın örneğinde pozitif sınıf vakaların %1'iyse, her örneğe negatif diyen işe yaramaz bir model %99 accuracy alır. Precision ile recall da çoğu zaman ters yönde hareket eder. Hangisinin öne alınacağını, kaçırılan vakanın mı yanlış alarmın mı daha pahalı olduğu belirler.

Derin öğrenme (deep learning) nedir?

Goodfellow, Bengio ve Courville'in ücretsiz okunabilen "Deep Learning" kitabına (MIT Press, 2016) göre derin öğrenme, bilgisayarın deneyimden öğrenmesini ve dünyayı, her biri daha basit kavramlarla tanımlanan bir kavramlar hiyerarşisi olarak anlamasını sağlar. Kitabın girişine göre bu kavramların grafiği derin, yani çok katmanlı olduğu için yaklaşım bu adı alıyor; derin öğrenme bir makine öğrenmesi türü.

ACM, 2018 A.M. Turing Ödülü'nü derin sinir ağlarını bilişimin kritik bir bileşeni hâline getiren kavramsal ve mühendislik atılımları için Yoshua Bengio, Geoffrey Hinton ve Yann LeCun'a verdi. AWS'ye göre büyük dil modelleri de çok büyük derin öğrenme modelleri (LLM yazımız). Eğitimin neden GPU'ya dayandığını GPU yazımızda anlattık; terimin kısa tanımını sözlükte bulabilirsiniz.

Yapay sinir ağları nasıl çalışır?

Google'a göre sinir ağları, verideki doğrusal olmayan örüntüleri bulmak için tasarlanmış model mimarileri ailesi:

  • Katmanlar ve nöronlar: Girdi ile çıktı katmanı arasındaki katmanlara gizli katman, buradaki düğümlere nöron denir. Deep Learning kitabına göre eğitim verisi bu katmanlar için istenen çıktıyı göstermediğinden "gizli" deniyor.
  • Ağırlık ve bias: Her nöron girdilerini bağlantıya özgü bir ağırlıkla çarpar, toplar ve bias ekler; ağırlık ve bias modelin parametreleri.
  • Aktivasyon fonksiyonu: Doğrusal işlemler üst üste binince yine doğrusal kalır; doğrusal olmayan ilişkiler için aktivasyon fonksiyonu gerekir. Yaygın örnekler sigmoid, tanh ve ReLU.
  • Geri yayılım (backpropagation): Google'a göre sinir ağlarının en yaygın eğitim algoritması. Kitaba göre yalnızca gradyanı hesaplar; öğrenmeyi bu gradyanla stochastic gradient descent gibi bir algoritma yapar.

Kitaba göre "sinir" adı sinirbiliminden gevşek bir esinlenmeden geliyor; derin öğrenmeyi beyni taklit etme girişimi saymamak gerekiyor.

Kurumda makine öğrenmesi: veri, önyargı ve üretim

Google Cloud'a göre verinin kalitesi ve miktarı başarım için belirleyici. NIST'in Mart 2022 tarihli SP 1270 belgesi önyargıyı üç grupta topluyor: kurumların prosedür ve uygulamalarından doğan sistemik, örneklem nüfusu temsil etmediğinde oluşan istatistiksel ve hesaplamaya dayalı, insan düşüncesindeki sistematik hatalardan doğan insan kaynaklı önyargı. NIST'e göre temsilî bir veri seti bile köklü tarihsel ve sistemik önyargılar taşıyabilir.

Verinin toplanıp temizlenmesini ETL yazımızda, yapay zekâ için veri hazırlığını veri altyapısı yazımızda ele aldık; büyük ölçekli veri için sözlükteki big data maddesine bakabilirsiniz. Modelin üretimde sürümlenmesi, izlenmesi ve yeniden eğitilmesi MLOps yazımızın konusu. IBM'e göre BT operasyonunda makine öğrenmesi anomali tespiti, kök neden analizi ve olay korelasyonunda kullanılıyor; bu alanı AIOps sayfamızda, modelleri çalıştıracak altyapıyı AI stack tasarımı ve mühendisliği ile veri merkezi ve altyapı mühendisliği hizmetlerimizde ele alıyoruz.

Sık sorulan sorular

ML nedir, makine öğrenimi ile makine öğrenmesi aynı şey mi? Evet. ML, machine learning'in kısaltması; Türkçede makine öğrenmesi ya da makine öğrenimi denir.

Derin öğrenme (deep learning) nedir? Çok katmanlı yapay sinir ağları kullanan makine öğrenmesi koludur. Model, basit kavramların üzerine kurulan kavram hiyerarşilerini veriden öğrenir.

Yapay sinir ağları nedir? Verideki doğrusal olmayan örüntüleri bulmak için katmanlı nöronlardan kurulan model mimarileridir. Her nöron girdilerini ağırlıklarla çarpıp toplar, bias ekler ve sonucu aktivasyon fonksiyonundan geçirir.

Makine öğrenmesi algoritmaları nelerdir? Doğrusal ve lojistik regresyon, karar ağaçları ve k-means temel örneklerdir. İlk üçü denetimli öğrenmede, k-means ise etiketsiz veriyi kümelemede kullanılır.

Denetimsiz öğrenme nedir? Etiketsiz veride anlamlı örüntüler arayan makine öğrenmesi türüdür. Birçok model, benzer verileri gruplayan kümeleme tekniğine dayanır.

Pekiştirmeli öğrenme nedir? Modelin bir çevrede yaptığı eylemler için ödül ya da ceza alarak öğrendiği makine öğrenmesi türüdür. Robot eğitiminde ve Go gibi oyunlarda kullanılıyor.

Kaynaklar