Atlas’ta ara

Keşfetmeye buradan başla

Öğren/Güvenlik

Gözle görünmeyen bir değişiklik, bir modeli nasıl şaşırtır?

Çekişmeli örnekler: bir görüntüde insanın fark etmeyeceği küçük değişikliklerin bir sınıflandırıcının kararını neden çevirebildiği. Doğrusallık açıklamasını en küçük modelde kendin dene.

ÖN BİLGİ

Bu yazıyı rahat izlemek için şunlara önce bakmış olman iyi olur:

01Neredeyse aynı görüntü, başka bir sınıf#

2013’te Szegedy ve arkadaşları şaşırtıcı bir şey bildirdi: bir görüntüyü sınıflandıran sinir ağı, görüntüde insan gözüyle fark edilmeyen küçük bir değişiklikle yanlış sınıfa geçirilebiliyordu. Değişiklik rastgele değildi; ağın hata yapmasını artıracak biçimde özenle aranmıştı. Üstelik aynı değişiklik, farklı bir veri alt kümesiyle eğitilmiş başka bir ağı da şaşırtabiliyordu. Intriguing properties of neural networks ↗

Bu tür girdilere çekişmeli örnek denir. Önemli çünkü bir modelin “görüntüyü anladığı” fikrine karşı bir sorudur: model gerçekten bir panda gördüğünü mü biliyordu, yoksa piksel desenlerinden birinin ipucuna mı yaslanıyordu?

02Neden çalışır? Doğrusallık açıklaması#

İlk akla gelen açıklama, ağların fazla karmaşık olduğuydu. Goodfellow, Shlens ve Szegedy ise tersini savundu: zayıflığın temel nedeni ağların doğrusal, yani toplamsal yanıdır. Bir girdide her pikselin katkısı ağırlığıyla çarpılıp toplanır; girdi çok boyutluysa, her pikselde minik bir değişiklik bile toplamda büyük bir fark yaratır. Örneğin 224×224 renkli bir görüntüde 150.528 sayı vardır; her birine çok küçük ve doğru yönde bir ek, birikip büyük bir etki yapar. Explaining and Harnessing Adversarial Examples ↗

Bunu görmek için en küçük bir sınıflandırıcıyı kuralım: 8×8’lik bir görüntüde çapraz çizgileri arayan doğrusal bir dedektör. Aşağıda her pikseli en fazla ε kadar değiştiriyorsun; iki yöntem var: ağırlıklara bakarak seçilmiş gradyan yönü ve aynı büyüklükte rastgele işaretler.

01

Aynı görüntü, farklı karar

Hesaplanan · temsili girdiler

Her pikseli en fazla ε kadar değiştir. Aynı büyüklükte iki farklı değişikliği karşılaştır: biri sınıflandırıcının “ağırlıklarına bakarak” seçilmiş, diğeri rastgele.

Özgün
Değişiklik (işaret)
Değiştirilmiş
ÖZGÜN → DEĞİŞTİRİLMİŞ KARARçizgili (3,00) → çizgili (1,08)
KARARI ÇEVİREN EN KÜÇÜK ε0,05

Her piksel, sınıflandırıcının puanını en çok değiştirecek yönde, ama çok az itiliyor. Binlerce küçük etki aynı yönde toplandığı için puan hızla düşüyor.

Hesabı gör

Puan s(x) = w·x + b. Gradyan yönünde değişiklik: x′ = x − ε · işaret(w) (özgün karar “çizgili” olduğundan puanı azaltır), pikseller [0, 1] aralığında tutulur. Puan, ε · Σ|wᵢ| kadar değişir; boyut arttıkça bu toplam büyür, bu yüzden yüksek çözünürlüklü görüntülerde gereken ε çok daha küçük olabilir.

8×8’lik görüntü ve ‘çizgi dedektörü’ öğretim için kurulmuş doğrusal bir sınıflandırıcıdır; derin bir ağ değildir. Değişiklik, gradyanın işaret yönünde (FGSM) ya da aynı büyüklükte rastgele işaretlerle yapılır. Hesaplar tarayıcıda gerçekten çalışır ve Goodfellow ve arkadaşlarının ‘doğrusallık’ açıklamasını gösterir.

Demoda, gradyan yönünde değişiklik ε = 0,05’te (her piksel en fazla %5 oynadığında) kararı “çizgili”den “çizgisize” çeviriyor; ε = 0,10’da ağın puanı −3,4’e iniyor. Aynı büyüklükte rastgele işaretli değişiklik ise ε = 0,20’de bile kararı çevirmiyor (puan hâlâ pozitif, yaklaşık 0,5); bu sabit rastgelelikle yalnızca ε = 0,30’da çeviriyor. Yani sorun yalnızca “gürültü” değil: değişikliğin yönü önemli. Gradyan yönü, her pikselin etkisinin toplanmasını garanti eden yöndür.

Bu bir oyuncak: gerçek ağlar doğrusal değildir ve saldırı daha karmaşık biçimlerde aranır. Ama fikir aynı: yüksek boyutta, doğru yönde birikmiş küçük değişiklikler büyük etki yapar.

03Hata mı, özellik mi?#

Ilyas ve arkadaşları şu fikri öne sürdü: çekişmeli örnekler, verideki sağlam olmayan özelliklerden doğar. Bunlar etiketi iyi tahmin eden ama kırılgan ve insanın anlayamayacağı örüntülerdir. İnsan bunları görmez, model ise eğitimde işe yaradığı için kullanır. Bu görüşe göre model “yanlış” bir şey öğrenmiş sayılmaz; insanın önemsemediği ama veride gerçekten var olan bir istatistiksel işaret öğrenmiştir. Adversarial Examples Are Not Bugs, They Are Features ↗

Bu, korelasyon ile nedensellik yazısındaki kısayol öğrenmenin bir türüdür: model, işe yarayan ama bizim anlamlı bulmadığımız bir ipucuna yaslanır.

04Savunma neden zor?#

  • Çekişmeli eğitim: Saldırıyla üretilmiş örnekleri eğitim verisine eklemek. Goodfellow ve arkadaşları, bunun MNIST üzerindeki bir ağda test hatasını düşürdüğünü bildirdi. Ama belirli bir saldırıya karşı eğitilen model, başka bir saldırıya karşı hâlâ kırılgan olabilir.
  • Sağlamlık ile doğruluk arasında gerilim: Sağlam olmayan özellikleri kullanmayan bir model, bazen temiz veride biraz daha az başarılı olur.
  • Saldırgan ile savunmacı oyunu: Savunmacı her açığı kapatmak zorundadır; saldırgan yalnızca bir tanesini bulmalıdır.

Şimdiye kadar veriler metin, görüntü ve ses gibi düzenli biçimlerdeydi. Peki veri, düğümler ve aralarındaki bağlantılar olarak yazıldığında? Bağlantılı veriden nasıl öğrenilir?

KENDİNİ SINA

Bu yazıyı bitirdiğinde:

  • Çekişmeli örneğin ne olduğunu anlatabilirsin.
  • Doğrusallık açıklamasıyla küçük değişikliklerin neden birikip kararı çevirdiğini açıklayabilirsin.
  • Çekişmeli eğitimin neden tam bir çözüm olmadığını söyleyebilirsin.

Cümlelerden birini kendi sözlerinle anlatamıyorsan, ilgili bölüme dön ve demoyu yeniden dene.

İlerleme yalnızca bu tarayıcıda saklanır.
BAĞLANTILI KAVRAMLAR

Bir fikri diğerine bağla.

Rotanı gör: sıradaki adım ne? Bütün dersler