Dr. Mehmet Solak Siirt Üniversitesi · Ziraat Fakültesi · Biyosistem Mühendisliği · Tarım ve Tarımsal Eğitim İçin Makine Öğrenmesi İçeriği

Ders 13: Transformer ve Dikkat Mekanizması

derstransformerattentionViTswin-transformergörüntü-sınıflandırma

1. Giriş: Neden CNN Ötesine Geçiyoruz?

Önceki derslerde CNN mimarilerinin (ResNet, EfficientNet, VGG vb.) tarımsal görüntü analizinde ne kadar etkili hale geldiğini öğrenmiştik. Ancak CNN'lerin temel bir sınırlaması vardır: yerel algılama (local receptive field). Bir CNN filtresi yalnızca 3x3 veya 5x5 piksellik bir pencereden bakabilir; görüntünün uzak köşelerindeki ilişkiyi yakalayabilmesi için pek çok katmanın üst üste yığılması gerekir. Örneğin, bir pirinç tarlası görüntüsü ele alalım: yaprağın ucundaki leke ile sap üzerindeki renk değişimi arasındaki ilişkiyi CNN ancak derin katmanlarda, dolaylı yoldan öğrenir.

Transformer mimarisi ise farklı bir yaklaşım sunar: her bir görüntü parçasının (patch), diğer tüm parçalarla doğrudan iletişim kurmasını sağlar. Bu "dikkat mekanizması" (attention mechanism) sayesinde model, "Bu görüntünün neresine odaklanmalıyım?" sorusunu her adımda yanıtlar. 2020'de Dosovitskiy ve arkadaşlarının önerdiği Vision Transformer (ViT), bu fikri görüntü sınıflandırmaya taşımış ve tarımda bitki hastalığı tespitinden verim tahminine kadar geniş bir uygulama alanı bulmuştur.

2. Dikkat Mekanizması (Attention Mechanism)

2.1 Temel Sezgi: "Nereye Bakmalıyım?"

Bir agronomi uzmanı tarlada bitki hastalığı ararken tüm yaprağı eşit dikkatle incelemez; önce renkli lekelere, kuruma belirtilerine ve yaprağın kenarındaki deformasyonlara odaklanır. Dikkat mekanizması da tam olarak bunu yapar: girdi verisindeki her bir elemanın, diğer tüm elemanlara göre "ne kadar önemli" olduğunu hesaplar.

2.2 Matematiksel Formül

Dikkat mekanizmasının temelinde üç matris bulunur:

  • Query (Q): "Ne arıyorum?" -- mevcut parçanın (patch) sorduğu soru
  • Key (K): "Ben neyim?" -- her parçanın kendini tanımlayan anahtar vektörü
  • Value (V): "Bilgim ne?" -- her parçada saklanan bilgi

Dikkat skoru şu şekilde hesaplanır:

$$\text{Attention}(Q, K, V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right) V$$

Burada $d_k$, Key vektörünün boyutudur ve ölçekleme için kullanılır. Softmax fonksiyonu, dikkat ağırlıklarını olasılık dağılımına dönüştürür.

Tarımsal Örnek: Bir domates yaprağı görüntüsünde, hastalığı belirleyen bölge için Q vektörü üretilir. Bu Q, görüntünün her noktasındaki K vektörleriyle eşleştirilir. Lekeli bölgenin K'si ile Q arasındaki benzerlik yüksek çıkacağından, o bölgeye daha fazla dikkat ayrılır. Sonuçta V matrisinden o bölgenin bilgisi daha güçlü bir şekilde çıkarılmış olur.

2.3 Çok-Başlı Dikkat (Multi-Head Attention)

Tek bir dikkat hesaplaması, yalnızca bir perspektiften bakar. Ancak tarımsal görüntüler karmaşıktır: hem renk, hem doku, hem şekil bilgisi aynı anda önemlidir. Bu nedenle çok-başlı dikkat kullanılır:

$$\text{MultiHead}(Q, K, V) = \text{Concat}(\text{head}_1, \ldots, \text{head}_h) W^O$$

Her "baş" (head), farklı bir W^Q, W^K, W^V matrisiyle çalışan bağımsız bir dikkat hesaplamasıdır. Örneğin, bir baş yaprak rengine odaklanırken, diğeri leke sınırlarına, bir başkası ise yaprak damar yapısına dikkat edebilir. Bu sayede model, görüntünün farklı özelliklerini paralel olarak yakalar.

3. Vision Transformer (ViT): CNN'e Alternatif

3.1 Mimari Yapı

ViT mimarisi 4 ana adımdan oluşur:

  1. Görüntü Parçalama (Patch Embedding): Görüntü 16x16 piksellik yamalara bölünür. 224x224'lük bir görüntü, 14x14 = 196 yamaya ayrılır. Her yama bir vektöre (embedding) dönüştürülür.

  2. Konum Kodlaması (Positional Encoding): Yamalar sırası bozulduğunda anlamsal bilgi kaybolmasın diye her yamaya bir konum vektörü eklenir.

  3. Transformer Encoder: Birden fazla dikkat ve ileri-beslemeli ağ (MLP) katmanından oluşan encoder blokları, yamaların birbirleriyle etkileşimini sağlar.

  4. Sınıflandırma Başı (Classification Head): Son katman, görevi (hastalık sınıfı, meyve kalitesi vb.) tahmin eder.

3.2 ViT'in Tarımda Başarısı: Limon Kalite Sınıflandırması

Dumen ve arkadaşları (2024), Türkiye'deki meyve suyu fabrikalarında limon kalite sınıflandırması için ViT ve Swin Transformer modellerini 8 farklı CNN mimarisiyle karşılaştırmışlardır. Çalışma, 2076 limon görüntüsünden (1125 iyi, 951 kötü kalite) oluşan bir veri setini kullanmıştır.

Sonuçlar:

Model Doğruluk (%) Hassasiyet (Precision) (%) Duyarlılık (Recall) (%)
Xception 96.14 - -
ResNet-50 96.95 - -
EfficientNet-B5 98.56 - -
DenseNet-201 98.39 - -
Swin Transformer 99.68 99.52 99.69
ViT 99.84 99.66 99.95

ViT modeli, %99.84 doğrulukla literatürde kayıtlı en yüksek başarıyı elde etmiştir. Bu, geleneksel CNN'lerin en iyisi olan EfficientNet-B5'in %98.56 doğruluğunu belirgin şekilde aşmaktadır. Araştırmacılar özellikle ViT'in duyarlılık (recall) değerinin %99.95 olması üzerinde durmuştur; çünkü meyve suyu fabrikalarında yanlış negatif sınıflandırma (kötü kaliteyi iyi olarak sınıflandırma) ciddi ürün kalitesi sorunlarına yol açar.

3.3 ViT ile Soya Fasulyesi Verim Tahmini

Bi ve arkadaşları (2023), zaman serisi görüntüleri kullanarak soya fasulyesi verimi tahmin etmek için transformer-tabanlı bir yaklaşım önermişlerdir. Model, Iowa eyaletindeki tarlalardan 2017-2021 yılları arasında toplanan verileri kullanmıştır. Her görüntü önce bitki ve toprak olarak segmente edilmiş, ardından iki ayrı ViT modülü bu iki kategoriden özellik çıkarılmıştır. Son olarak, bir Transformer modülü zaman serisi özelliklerini işleyerek verim tahmininde bulunmuştur.

Modelin önemli yeniliği, hem mekansal (görüntüdeki bitki-toprak ilişkisi) hem de zamansal (farklı büyüme aşamalarındaki görüntüler) bilgiyi birlikte işleyebilmesidir. Geleneksel CNN yaklaşımlarının aksine, ViT'in her görüntü yaması arasındaki uzun mesafeli bağımlılıkları doğrudan modelleyebildiği gösterilmiştir. Sonuçlarda, önerilen transformer tabanlı model, CNN tabanlı yöntemlere kıyasla özellikle sezon başı erken tahminlerde üstün performans göstermiştir.

4. Swin Transformer: Pencereli Dikkat ile Verimlilik

4.1 ViT'in Sınırlaması ve Swin Çözümü

ViT'in temel sorunu hesaplama karmaşıklığıdır. Standart self-attention'da her yama, diğer tüm yamalarla eşleştirilir. N yama için karmaşıklık O(N^2)'dir. Yüksek çözünürlüklü tarım görüntüleri (drone veya uydu kaynakları) için bu çok maliyetli olabilir.

Swin Transformer (Liu et al., 2021), bu sorunu pencereli dikkat (window-based attention) ile çözer:

  1. Görüntü parçaları, M x M boyutlu yerel pencerelere gruplanılır (tipik olarak M=7)
  2. Self-attention yalnızca pencere içinde hesaplanır
  3. Kaydırmalı pencere (shifted window) mekanizmasıyla komşu pencereler arası bilgi akışı sağlanır

Bu yaklaşımın hesaplama karmaşıklığı:

  • Standart MSA: $\Omega(\text{MSA}) = 4hwC^2 + 2(hw)^2C$
  • Pencereli W-MSA: $\Omega(\text{W-MSA}) = 4hwC^2 + 2M^2hwC$

Görüldüğü gibi, W-MSA'da görüntü boyutuna bağımlılık doğrusaldır (hw ile çarpım yerine M^2 ile çarpım). Bu, büyük tarımsal görüntülerin işlenmesini çok daha pratik hale getirir.

4.2 Hiyerarşik Özellik Çıkarımı

Swin Transformer, CNN'lere benzer şekilde hiyerarşik bir yapı kullanır:

  • Aşama 1: 4x4 yamalar, 56x56x96 özellik haritası
  • Aşama 2: Yama birleştirme (patch merging) ile 28x28x192
  • Aşama 3: 14x14x384
  • Aşama 4: 7x7x768

Her aşamada çözünürlük yarılayıp kanal sayısı iki katına çıkar. Bu yapı, hem ince detayları (yaprak damar yapısı) hem de genel kalıpları (hastalık yayılım deseni) yakalamayı sağlar.

4.3 Swin Transformer ile Yabani Ot Tanıma

Wang ve arkadaşları (2023), Swin Transformer kullanarak mısır tarlasındaki yabani otların ince taneli (fine-grained) sınıflandırmasını gerçekleştirmiştir. Bu çalışmanın tarihsel önemi, Swin Transformer'ın yabani ot tanımada ilk kez kullanılmasıdır.

Veri Seti: Kuzeydoğu Tarım Üniversitesi (Harbin, Çin) mısır tarlalarından toplanan MWFI veri seti. 1632 görüntü: 1 ürün (mısır fidesi) + 7 yabani ot türü (Cyperus rotundus, Amaranthus retroflexus, Abutilon theophrasti, Portulaca oleracea, Chenopodium album, Cirsium setosum, Descurainia sophia).

Yöntem: İki aşamalı transfer öğrenme stratejisi: 1. İlk aşama: ImageNet ön-eğitimli Swin Transformer, Plant Seedlings veri setinde ince ayar yapılır 2. İkinci aşama: MWFI veri setinde son ince ayar + kontrastif kayıp (contrastive loss)

Karşılaştırma Sonuçları:

Yöntem Doğruluk (%) Hassasiyet (%) Duyarlılık (%) F1 (%)
VGG-16 94.49 94.98 94.42 94.63
ResNet-50 96.53 96.69 96.50 96.59
SE-ResNet-50 97.14 97.05 97.34 97.06
EfficientNetV2 97.35 97.56 97.34 97.43
Swin Transformer (orijinal) 97.96 98.13 97.78 97.94
Önerilen Yöntem 99.18 99.33 99.11 99.22

Önerilen yöntem, EfficientNetV2'yi %1.83, orijinal Swin Transformer'ı ise %1.22 oranında geçmiştir. Görsel olarak birbirine çok benzeyen yabani ot türleri (örneğin Portulaca oleracea ile Amaranthus retroflexus) arasında bile yüksek ayırt edicilik sağlanmıştır.

5. CNN-Transformer Hibrit Mimariler

5.1 Neden Hibrit?

Saf transformer modelleri büyük veri setleriyle harika çalışır, ancak küçük tarımsal veri setlerinde overfitting riski taşır. CNN'ler ise yerel özellikleri çok iyi çıkarır ancak global ilişkilerde zayıf kalır. Hibrit yaklaşım, ikisinin güçlü yanlarını birleştirir:

  • CNN blokları: Görüntünün alt seviye özelliklerini (kenarlar, dokular, renkler) çıkarır
  • Transformer blokları: Bu özellikler arasındaki global ilişkileri modeller

5.2 Tarımsal Örnekler

Çeşitli çalışmalarda hibrit mimariler tarımda başarıyla uygulanmıştır:

  • CMTNet (2024): CNN-Transformer hibriti, İHA tabanlı hiperspektral görüntülerde mahsul sınıflandırması için kullanılmıştır. CNN'in yerel spektral özellik çıkarımı ile Transformer'ın global mekansal ilişkileri modellemesi birleştirilerek yüksek doğruluk elde edilmiştir.

  • FOTCA (2024): Adaptive Fourier Neural Operator (AFNO) kullanan CNN-Transformer hibriti, yaprak hastalığı tespitinde hem doğruluk hem de hesaplama verimliliği sağlamıştır.

6. Transformer'ların Güçlü ve Zayıf Yanları

6.1 Karşılaştırma Tablosu

Kriter CNN (ResNet/EfficientNet) ViT Swin Transformer
Yerel özellik çıkarımı Çok iyi Zayıf İyi (pencereli dikkat)
Global ilişki modelleme Sınırlı Çok iyi İyi
Küçük veri seti başarısı İyi (transfer öğrenme ile) Zayıf Orta
Hesaplama maliyeti Düşük-Orta Yüksek Orta
Yüksek çözünürlük uyumluluğu İyi Sorunlu (O(N^2)) İyi (doğrusal karmaşıklık)
Hiyerarşik özellik haritası Doğal olarak var Yok Var
Transfer öğrenme kolaylığı Çok kolay Orta Kolay

6.2 Ne Zaman Hangisini Kullanmalı?

  • Küçük veri seti + sınırlı hesaplama: CNN (MobileNet, EfficientNet)
  • Büyük veri seti + görüntü sınıflandırması: ViT
  • Yüksek çözünürlüklü görüntüler + nesne tespiti: Swin Transformer
  • Sınırlı kaynak + iyi performans: CNN-Transformer hibrit

7. Pratik Uygulama: ViT ile Bitki Hastalığı Sınıflandırması

import torch
from torchvision import transforms
from timm import create_model

# ViT modeli yükleme (ön-eğitimli)
model = create_model('vit_base_patch16_224', pretrained=True, num_classes=10)

# Tarımsal görüntü ön-işleme
transform = transforms.Compose([
    transforms.Resize((224, 224)),
    transforms.RandomHorizontalFlip(),
    transforms.RandomRotation(15),
    transforms.ColorJitter(brightness=0.2, contrast=0.2),
    transforms.ToTensor(),
    transforms.Normalize(mean=[0.485, 0.456, 0.406],
                         std=[0.229, 0.224, 0.225])
])

# Görüntü yamalar haline getirilir (16x16 patch -> 196 token)
# Her token diğer tüm tokenlarla dikkat mekanizması üzerinden etkileşir
# Böylece yaprak ucundaki leke, diğer bölgelerdeki renk değişimiyle ilişkilendirilir

8. Özet ve Önemli Noktalar

  1. Dikkat mekanizması, modelin görüntünün her noktasını diğer tüm noktalarla ilişkilendirmesini sağlar; böylece CNN'lerin yerel algılama sınırlaması aşılır.

  2. ViT, görüntüleri yamalara bölüp Transformer encoder ile işler. Limon kalite sınıflandırmasında %99.84 doğrulukla CNN'leri geride bırakmıştır.

  3. Swin Transformer, pencereli dikkat ve kaydırmalı pencere mekanizmasıyla hesaplama karmaşıklığını azaltır; yabani ot tanımada %99.18 doğruluk sağlamıştır.

  4. Hibrit mimariler (CNN + Transformer), küçük veri setlerinde ve karmaşık görevlerde her iki yaklaşımın avantajlarını birleştirir.

  5. Transformer modelleri, özellikle büyük ve çeşitli veri setlerinde üstün performans gösterir; ancak küçük veri setlerinde transfer öğrenme ve veri artırma teknikleri şart koşuldur.

Kaynaklar

  1. Dosovitskiy, A., et al. (2020). An image is worth 16x16 words: Transformers for image recognition at scale. ICLR 2021.
  2. Liu, Z., et al. (2021). Swin Transformer: Hierarchical vision transformer using shifted windows. ICCV 2021.
  3. Dumen, S., et al. (2024). Performance of vision transformer and swin transformer models for lemon quality classification. European Food Research and Technology, 250, 2291-2302.
  4. Wang, Y., et al. (2023). Fine-grained weed recognition using Swin Transformer and two-stage transfer learning. Frontiers in Plant Science, 14, 1134932.
  5. Bi, L., et al. (2023). A transformer-based approach for early prediction of soybean yield using time-series images. Frontiers in Plant Science.
  6. Vaswani, A., et al. (2017). Attention is all you need. NeurIPS 2017.