Adversarial Attacks
Karşıt saldırıların makine öğrenimi modellerini nasıl manipüle ettiğini keşfet. Beyaz kutu ve kara kutu stratejilerini, yapay zekâ güvenliğine yönelik riskleri ve Ultralytics YOLO26 ile savunmayı öğren.
Karşıt saldırılar, makine öğrenimi (ML) modellerini yüksek güvenle hatalı tahminler yapmaya kandırmak için tasarlanmış gelişmiş bir manipülasyon teknikleri kategorisidir. Bu saldırılar; görüntü, ses veya metin gibi girdi verilerine küçük ve çoğu zaman fark edilemeyen değişiklikler ekleyerek gerçekleştirilir. Bu değişiklikler insan gözlemciye zararsız veya rastgele görünse de yüksek boyutlu sinir ağlarının karar sınırlarındaki belirli matematiksel zayıflıklardan yararlanır. Yapay zeka (AI) sistemleri güvenlik açısından kritik altyapıların ayrılmaz bir parçası hâline geldikçe, sağlam AI güvenliği protokolleri ve savunma mekanizmaları geliştirmek için bu zayıflıkların nasıl işlediğini anlamak büyük önem taşır.
Karşıt Saldırılar Nasıl Çalışır?#
Tipik bir derin öğrenme (DL) eğitim sürecinde model, eğitim veri kümesindeki hatayı en aza indirmek için ağırlıklarını optimize eder. Ancak bu modeller, çok boyutlu bir uzayda temelde karmaşık haritalar oluşturur. Karşıt saldırı, bir girdiyi bir sınırın ötesine taşıyarak modelin sınıflandırmasını değiştirmek için bu uzayda gereken kesin "yönü" hesaplar. Örneğin bilgisayarlı görüde (CV), bir panda görüntüsündeki piksel değerlerini hesaplanmış miktarda "gürültü" ile değiştirmek, görüntü insan gözüne hâlâ tamamen panda gibi görünse bile sistemin görüntüyü yüksek güvenle bir şebek olarak yanlış sınıflandırmasına neden olabilir.
Saldırı stratejileri genellikle saldırganın hedef sisteme erişim düzeyine göre sınıflandırılır:
- Beyaz Kutu Saldırıları: Saldırgan, modelin mimarisine, gradyanlarına ve model ağırlıklarına tam olarak erişebilir. Bu sayede, genellikle Hızlı Gradyan İşareti Yöntemi (FGSM) gibi teknikleri kullanarak en etkili değişikliği matematiksel olarak hesaplayabilir.
- Siyah Kutu Saldırıları: Saldırganın modelin dahili parametreleri hakkında bilgisi yoktur ve yalnızca girdileri ve çıktıları gözlemleyebilir. Saldırganlar, hedef sisteme etkili biçimde aktarılabilen karşıt örnekler oluşturmak için genellikle bir "ikame model" kullanır; bu özellik aktarılabilirlik olarak bilinir.
Gerçek Dünya Uygulamaları ve Riskler#
Genellikle teorik araştırmalar bağlamında ele alınsa da karşıt saldırılar, özellikle otonom sistemler ve güvenlik alanlarında gerçek dünya uygulamaları için somut riskler oluşturur.
- Otonom Araçlar: Otonom araçlar, trafik işaretlerini yorumlamak için büyük ölçüde nesne algılamaya dayanır. Araştırmalar, bir dur işaretine dikkatle tasarlanmış çıkartmalar veya bantlar uygulanmasının aracın görüntü sistemini bu işareti hız sınırı işareti olarak algılamaya kandırabileceğini göstermiştir. Bu tür bir fiziksel dünya saldırısı, otomotivde AI uygulamalarında tehlikeli arızalara yol açabilir.
- Yüz Tanıma Sistemlerinden Kaçanlar: Biyometriye dayalı olarak erişimi kontrol eden güvenlik sistemleri, karşıt "yamalar" kullanılarak tehlikeye atılabilir. Bunlar, gözlük veya giysiler üzerinde taşınan ve özellik çıkarma sürecini bozan basılı desenler olabilir. Bu sayede yetkisiz bir kişi algılanmaktan tamamen kaçabilir veya belirli bir kullanıcıyı taklit ederek güvenlik alarm sistemlerini atlatabilir.
Python'da Karşıt Örnekler Oluşturma#
Bazı modellerin ne kadar kırılgan olabileceğini anlamak için bir görüntünün ne kadar kolay değiştirilebildiğini görmek yararlıdır. YOLO26 gibi modellerle yapılan standart çıkarım genel kullanım için sağlam olsa da araştırmacılar, model izlemeyi ve savunmayı geliştirmek için genellikle saldırıları simüle eder. Aşağıdaki kavramsal örnekte, bir görüntü için karşıt değişikliği (gürültüyü) hesaplamak üzere gradyanların nasıl kullanıldığını göstermek amacıyla PyTorch kullanılır.
import torch.nn.functional as F
# Assume 'model' is a loaded PyTorch model and 'image' is a normalized tensor
# 'target_class' is the correct label index for the image
def generate_adversarial_noise(model, image, target_class, epsilon=0.01):
# Enable gradient calculation for the input image
image.requires_grad = True
# Forward pass: get prediction
output = model(image)
# Calculate loss based on the correct class
loss = F.nll_loss(output, target_class)
# Backward pass: calculate gradients of loss w.r.t input
model.zero_grad()
loss.backward()
# Create perturbation using the sign of the data gradient (FGSM)
# This pushes the image in the direction of maximizing error
perturbation = epsilon * image.grad.data.sign()
return perturbationİlgili Kavramlar#
Karşıt saldırıları diğer model arızası veya manipülasyonu biçimlerinden ayırt etmek önemlidir:
- Veri Zehirleme: Çıkarım (test zamanı) sırasında girdiyi manipüle eden karşıt saldırıların aksine veri zehirleme, model oluşturulmadan önce eğitim verilerinin kendisini bozarak gizli arka kapılar veya yanlılıklar yerleştirmeyi içerir.
- İstem Enjeksiyonu: Bu yöntem Büyük Dil Modellerine (LLM'ler) ve metin arayüzlerine özgüdür. Kavramsal olarak modele kandırılma açısından benzer olsa da piksel veya sinyal verilerinin matematiksel olarak değiştirilmesi yerine anlamsal dil manipülasyonuna dayanır.
- Aşırı Öğrenme: Bu, modelin temel örüntü yerine eğitim verilerindeki gürültüyü öğrendiği bir eğitim hatasıdır. Aşırı öğrenmiş modeller, karar sınırları gereğinden fazla karmaşık ve kırılgan olduğu için karşıt saldırılara karşı genellikle daha savunmasızdır.
Bu saldırılara karşı savunma geliştirmek, modern MLOps uygulamalarının temel bir bileşenidir. Saldırıya uğramış örneklerin eğitim kümesine eklendiği karşıt eğitim gibi teknikler, modellerin daha dayanıklı hâle gelmesine yardımcı olur. Ultralytics Platform gibi platformlar, titiz eğitim ve doğrulama işlem hatlarını kolaylaştırarak ekiplerin uç cihazlara dağıtımdan önce model sağlamlığını değerlendirmesine olanak tanır.









