DEEP LEARNING NEDİR?

Veri Akademi10 dk okuma
Giriş, gizli ve çıkış katmanlarındaki nöronları çizgilerle bağlayan sade yapay sinir ağı diyagramı

Yapay zeka, makine öğrenmesi ve derin öğrenme terimleri günlük dilde sık sık birbirinin yerine kullanılır. Aslında bunlar iç içe geçmiş üç farklı katmandır: yapay zeka en geniş şemsiye, makine öğrenmesi onun bir alt kümesi, derin öğrenme ise makine öğrenmesinin son on yılda en çok ses getiren dalıdır. Bir görüntüden kedi ve köpek ayırt eden model, bir cümleyi otomatik çeviren sistem ya da ChatGPT'nin altında çalışan dil modeli — hepsi derin öğrenme tabanlıdır.

Bu yazı kavramı yüzeysel terimlerle değil; yapay sinir ağlarının nasıl çalıştığından başlayarak, derin öğrenmenin makine öğrenmesinden farkını, hangi mimarilerin hangi problemde işe yaradığını ve gerçek hayatta nerede sınırlara çarptığını pratik biçimde ele alır.

1. Derin Öğrenmenin Yapay Zeka Hiyerarşisindeki Yeri

Yapay zeka (AI), bir makinenin insan benzeri zekayı sergilemesi anlamına gelen geniş bir alandır. Kural tabanlı uzman sistemler, satranç motorları ya da bir robot süpürgenin navigasyon algoritması — hepsi AI sayılır. Yapay zekanın bir alt kümesi makine öğrenmesidir: programcının kural yazmadığı, verinin örüntülerini istatistiksel olarak öğrenen sistemler. Karar ağaçları, lineer regresyon, destek vektör makineleri ve k-en yakın komşu klasik makine öğrenmesinin tipik yöntemleridir.

Derin öğrenme ise makine öğrenmesinin çok katmanlı yapay sinir ağları kullanan dalıdır. "Derin" kelimesi ağdaki katman sayısının fazlalığına işaret eder. Bu yapı, ham veriden — pikseller, ses dalgaları, ham metin — anlam çıkaracak temsilleri otomatik öğrenir. Klasik makine öğrenmesinde insan tarafından elle çıkarılan özellikler (feature engineering) burada ağın kendisi tarafından üretilir. Basit gibi görünen bu fark, görüntü ve dil işlemede son on yılın sıçrama noktasıdır. IBM Deep Learning konu sayfası kavramı tanımlarla birlikte ele alır.

2. Yapay Sinir Ağı Mimarisi ve Katman Mantığı

Yapay sinir ağının temel yapı taşı nörondur — beyin nöronundan esinlenilmiş matematiksel bir birim. Her nöron girdi sinyallerini ağırlıklarla çarpar, toplar, bir aktivasyon fonksiyonundan geçirir ve çıktıyı bir sonraki katmana iletir. Üç tür katman vardır:

  • Giriş katmanı (input layer): Ham veriyi alır. Görüntü için piksel değerleri, metin için kelime temsilleri, ses için dalga örnekleri.
  • Gizli katmanlar (hidden layers): Aradaki tüm katmanlar. Derinlik buradan gelir — onlarca, hatta yüzlerce gizli katman olabilir.
  • Çıkış katmanı (output layer): Tahmini üretir. Sınıflandırma için olasılık dağılımı, regresyon için sayısal değer.

Aktivasyon fonksiyonları (ReLU, sigmoid, tanh, softmax) ağa doğrusal olmayan davranış kazandırır. Bu olmasa ağ kaç katmanlı olursa olsun tek bir doğrusal dönüşüme eşdeğer olur ve karmaşık örüntüleri yakalayamaz. Modern uygulamalarda gizli katmanlarda neredeyse her zaman ReLU kullanılır; sınıflandırmanın son katmanında softmax tercih edilir.

Konvolüsyon filtreleri ve recurrent döngü diyagramı ile CNN ve RNN mimarilerini yan yana karşılaştıran şema

3. Makine Öğrenmesi ile Temel Farklar

Farkı somut bir örnekle düşünelim. Bir e-postanın spam olup olmadığını anlamak istiyorsanız klasik makine öğrenmesinde işiniz şudur: hangi özelliklerin spam belirtisi olduğunu siz tanımlarsınız — kelime sayısı, ünlem yoğunluğu, başlık yapısı, gönderici domaini. Sonra Naive Bayes veya SVM bu özellikler üzerinden karar verir. Derin öğrenmede ise ham metni doğrudan ağa verirsiniz. Ağ kendi katmanlarında hangi örüntülerin spam'i belirlediğini öğrenir — sizin önceden tanımlayamayacağınız ince ilişkileri bile.

Pratik farklar şu eksende toplanır:

  • Veri ihtiyacı: Klasik ML birkaç bin örnekle iyi sonuç verebilir. Derin öğrenme genellikle on binler, milyonlar ister.
  • Donanım: Klasik ML CPU'da koşar. Derin öğrenme GPU veya TPU olmadan pratikte uygulanamaz.
  • Feature engineering: Klasik ML'de uzman bilgisi şart. Derin öğrenme bu yükü modelin omzuna alır.
  • Yorumlanabilirlik: Karar ağacı veya regresyon açıklanabilir. Derin sinir ağı büyük ölçüde kara kutudur.
  • Eğitim süresi: Klasik ML dakikalar içinde eğitilir. Derin model saatler, günler hatta haftalar alabilir.

Bu farklar derin öğrenmenin her problem için doğru araç olmadığını gösterir. Tablo verilerinde, az örnekli problemlerde veya açıklanabilirliğin zorunlu olduğu durumlarda klasik makine öğrenmesi hâlâ ilk tercihtir.

4. CNN, RNN ve Transformer Mimarileri

Derin öğrenmenin gücü tek tip bir mimariye bağlı değildir. Problem tipine göre farklı sinir ağı aileleri olgunlaşmıştır.

CNN (Convolutional Neural Network)

Görüntü işlemenin standardı. Konvolüsyon katmanları görüntü üzerinde küçük filtreler kaydırarak kenar, doku, şekil gibi görsel desenleri çıkarır. ImageNet yarışmasında 2012'de AlexNet'in galibiyetiyle derin öğrenme çağı CNN ile fiili olarak başladı. Yüz tanıma, tıbbi görüntü analizi, otonom araçların kamera işlemesi ve fabrika hattındaki görsel kalite kontrol bu mimari ailesini kullanır.

RNN ve LSTM (Recurrent Neural Network)

Sıralı veri için tasarlanmıştır — zaman serisi, metin, konuşma. Her adımda önceki adımdan gelen bilgiyi de işler, yani bellek taşır. Düz RNN'lerin uzun sıralarda yaşadığı gradyan kaybolması sorunu LSTM ve GRU varyantlarıyla aşıldı. Çeviri sistemleri, konuşma tanıma ve metin üretimi uzun yıllar bu aile üzerinde gelişti.

Transformer

2017'de Google'ın "Attention Is All You Need" makalesiyle hayata gelen mimari. RNN'lerin sıralı işleme zorunluluğunu attention mekanizmasıyla aştı; paralel hesaplama mümkün hale geldi. Günümüzdeki tüm büyük dil modelleri (GPT, Claude, Gemini, LLaMA) Transformer tabanlıdır. Görüntü işlemede de Vision Transformer (ViT) ile CNN'lerin yerini almaya başladı. Pratik AI uygulamalarının arkasındaki motor büyük ölçüde Transformer'dır.

Forward pass, loss hesabı, backpropagation ve weight update aşamalarını gösteren dört adımlı eğitim döngüsü

5. Bir Modelin Eğitim Süreci

Bir derin öğrenme modeli kendi başına bilgi sahibi değildir; eğitim sürecinde öğrenir. Bu süreç dört adımın sürekli tekrarıdır:

  1. İleri yayılım (forward pass): Eğitim verisi ağa girer, çıkış katmanına kadar hesaplanır.
  2. Hata hesaplama (loss): Modelin tahmini ile gerçek değer arasındaki fark bir kayıp fonksiyonu ile ölçülür.
  3. Geri yayılım (backpropagation): Hata ağın katmanları boyunca geri taşınır. Her ağırlığın hataya katkısı zincir kuralı ile hesaplanır.
  4. Ağırlık güncelleme (optimization): Gradyan iniş (gradient descent) ve türevleri (Adam, SGD, RMSprop) ağırlıkları küçük adımlarla düzeltir.

Bu döngü binlerce kez tekrarlanır. Her tam veri seti geçişi epoch olarak adlandırılır. Pratik bir model çoğunlukla 10 ile 200 epoch arasında eğitilir. Keras ile basit bir görüntü sınıflandırma modeli tanımlamak şuna benzer:

model = Sequential([
    Dense(128, activation='relu', input_shape=(784,)),
    Dropout(0.2),
    Dense(64, activation='relu'),
    Dense(10, activation='softmax')
])
model.compile(optimizer='adam', loss='categorical_crossentropy')
model.fit(x_train, y_train, epochs=20, batch_size=32)

Bu kod tek başına eğitim için yeterli değildir; veri ön işleme, doğrulama ayrımı, erken durdurma ve overfitting önlemleri gerçek bir projede mutlaka eklenir. Keras ile uçtan uca pratik kurmak isteyenler deep learning Keras eğitimi ile bu adımları proje bazlı çalışabilir.

6. Derin Öğrenmenin Sınırları ve Maliyetleri

Derin öğrenme sihir değildir; belirli kısıtlarla gelir. Bu kısıtları anlamak, doğru problemi doğru araçla eşleştirmenin temelidir.

  • Veri açlığı: Yeterli etiketli veri olmadan derin öğrenme pratik olarak çalışmaz. Domain'inizde 200 örnek varsa klasik ML çoğunlukla daha iyi sonuç verir.
  • Hesaplama maliyeti: GPT-4 ölçeğinde modeller eğitmek milyon dolarlık donanım ister. Orta ölçekli modeller bile saatlerce GPU zamanı tüketir.
  • Açıklanabilirlik eksikliği: "Model neden bu kararı verdi?" sorusunun cevabı çoğu zaman net değildir. Tıbbi tanı, kredi onayı gibi alanlarda bu ciddi bir engel olabilir.
  • Yanlılık riski: Eğitim verisindeki önyargılar modele aktarılır ve ölçek olarak büyür. Yüz tanıma sistemlerindeki demografik hata oranı farkları bunun klasik örneğidir.
  • Adaptasyon güçlüğü: Eğitildiği dağılımdan saparsa performans hızla bozulur. Yalnızca gündüz görüntülerinde eğitilen bir model gece görüntülerinde başarısız olabilir.

Veri biliminin araç çantasında derin öğrenme önemli bir yer tutar ama tek araç değildir. Tablo verilerinde lineer model ya da gradient boosting (XGBoost, LightGBM) hem yeterli hem daha kontrol edilebilir bir çözüm sunar. Makine öğrenmesinin geniş resmini görmek isteyenler için machine learning eğitimi klasik yöntemler ile derin öğrenmeyi birlikte ele alır.

Önümüzdeki yıllarda küçülen modeller, daha verimli eğitim algoritmaları ve özelleştirilmiş donanım sayesinde derin öğrenmenin uygulama yelpazesi daha da genişleyecek. Ancak hangi mimari hâkim olursa olsun, problemi doğru tanımlamak ve veriyi anlamak her zaman modelin önünde gelir.

Sıkça Sorulan Sorular

Derin öğrenme ile makine öğrenmesi arasındaki temel fark nedir?

Makine öğrenmesi her ikisini kapsayan üst kavramdır; derin öğrenme onun çok katmanlı yapay sinir ağı kullanan dalıdır. Klasik makine öğrenmesinde özellikleri insan çıkarır, derin öğrenmede model kendi öğrenir. Buna karşılık derin öğrenme çok daha fazla veri ve GPU ister. Az veriyle çalışıyorsanız klasik yöntemler genellikle daha iyi sonuç verir.

Derin öğrenmeyi öğrenmek için ne kadar matematik gerekir?

Python programlamada rahat olmak ve doğrusal cebir, türev ile olasılığın temel kavramlarına aşinalık yeterlidir. Sıfırdan matematik uzmanı olmaya gerek yok; ancak gradient inişinin neden çalıştığını anlayacak düzey faydalıdır. Pratiğe Keras veya PyTorch ile başlamak en hızlı yoldur, teorik derinleşme uygulama sırasında gelir.

CNN ile Transformer arasındaki fark nedir?

CNN, görüntü gibi mekansal yapıya sahip verilerde konvolüsyon filtreleriyle yerel desenleri yakalar. Transformer ise attention mekanizmasıyla bir dizinin tüm parçaları arasındaki ilişkileri eşzamanlı işler ve özellikle metin ile uzun bağımlılıklarda öne çıkar. Günümüzde Transformer hem dil hem de giderek görüntü tarafında baskın hale geldi.

Bir derin öğrenme modeli için ne kadar veri yeterlidir?

Kesin bir eşik yoktur; problem ve mimariye göre değişir. Görüntü sınıflandırmada sıfırdan eğitim için sınıf başına on binler beklenir. Transfer learning ile önceden eğitilmiş model üzerinde ince ayar yapılırsa birkaç bin örnek bile yeterli olabilir. Dil işlemede önceden eğitilmiş büyük modeller az veriyle güçlü sonuç üretir.

Derin öğrenme için CPU yetersiz mi?

Pratikte evet, özellikle eğitim aşamasında. CPU üzerinde küçük bir görüntü ağını eğitmek günler alabilir; aynı iş GPU üzerinde dakikalar veya saatler içinde tamamlanır. Eğitim için Nvidia GPU veya Google Colab gibi bulut servisleri standart hale geldi. Çıkarım yani modelin kullanım aşamasında küçük modeller CPU'da çalışabilir.

Keras ile PyTorch arasında hangisini seçmeliyim?

İkisi de yeterlidir. Keras (TensorFlow üzerinde) daha üst seviye bir API sunar, başlangıç ve hızlı prototipleme için pratiktir. PyTorch araştırma topluluğunda standarttır, daha esnek ve Pythonic bir his verir. Üretim ortamında ikisi de güçlüdür; başlangıçta birinde uzmanlaşıp diğerini sonradan öğrenmek mantıklı bir sıralamadır.

Transfer learning nedir, ne işe yarar?

Büyük veri setlerinde eğitilmiş bir modelin öğrendiği temsillerin yeni bir göreve uyarlanmasıdır. ImageNet üzerinde eğitilmiş ResNet'i kendi tıbbi görüntü problemine ince ayar yaparak kullanabilirsiniz. Bu yaklaşım sıfırdan eğitime kıyasla hem süreyi hem veri ihtiyacını dramatik biçimde düşürür. Modern uygulamaların büyük çoğunluğu transfer learning ile başlar.