Adversarial Attacks
Çekişmeli saldırıların (adversarial attacks) makine öğrenimi modellerini nasıl manipüle ettiğini keşfet. Beyaz kutu ve kara kutu stratejileri, yapay zeka güvenliğine yönelik riskler ve Ultralytics YOLO26 ile savunma hakkında bilgi edin.
Adversarial saldırılar, makine öğrenimi (ML) modellerini yüksek güvenle yanlış tahminler yapmaları için kandırmak üzere tasarlanmış karmaşık bir manipülasyon teknikleri kategorisidir. Bu saldırılar, girdi verilerine (görüntüler, ses veya metin gibi) ince, genellikle fark edilemez bozulmalar ekleyerek çalışır. Bu değişiklikler bir insan gözlemci için zararsız veya rastgele görünse de, yüksek boyutlu sinir ağlarının karar sınırlarındaki belirli matematiksel güvenlik açıklarından yararlanırlar. Yapay Zeka (AI) sistemleri güvenlik açısından kritik altyapıların ayrılmaz bir parçası haline geldikçe, bu zayıflıkların nasıl çalıştığını anlamak, sağlam AI güvenliği protokolleri ve savunma mekanizmaları geliştirmek için esastır.
Link to this sectionAdversarial Saldırılar Nasıl Çalışır?#
Tipik bir derin öğrenme (DL) eğitim sürecinde, bir model eğitim veri setindeki hatayı en aza indirmek için ağırlıklarını optimize eder. Ancak bu modeller, özünde çok boyutlu bir uzayda karmaşık haritalar oluşturur. Bir adversarial saldırı, bir girdiyi sınırın ötesine itmek ve modelin sınıflandırmasını değiştirmek için gereken bu uzaydaki kesin "yönü" hesaplar. Örneğin, bilgisayarlı görüde (CV), bir panda görüntüsünün piksel değerlerini hesaplanmış bir miktar "gürültü" ile değiştirmek, görüntü insan gözüne tam olarak bir panda gibi görünse bile sistemin onu güvenle bir gibon olarak yanlış sınıflandırmasına neden olabilir.
Saldırı stratejileri genellikle saldırganın hedef sisteme erişim düzeyine göre kategorize edilir:
- White-Box Saldırılar: Saldırgan, modelin mimarisi, gradyanları ve model ağırlıkları üzerinde tam şeffaflığa sahiptir. Bu, genellikle Fast Gradient Sign Method (FGSM) gibi teknikler kullanarak en etkili bozulmayı matematiksel olarak hesaplamalarını sağlar.
- Black-Box Saldırılar: Saldırganın iç model parametreleri hakkında hiçbir bilgisi yoktur ve yalnızca girdileri ve çıktıları gözlemleyebilir. Saldırganlar genellikle hedef sisteme etkili bir şekilde aktarılan (transferability olarak bilinen bir özellik) adversarial örnekler oluşturmak için bir "vekil model" kullanırlar.
Link to this sectionGerçek Dünya Uygulamaları ve Riskler#
Teorik araştırmalarda sıklıkla tartışılsa da, adversarial saldırılar gerçek dünya dağıtımlarında, özellikle otonom sistemlerde ve güvenlikte somut riskler oluşturur.
- Otonom Araçlar: Sürücüsüz araçlar trafik işaretlerini yorumlamak için büyük ölçüde nesne algılamaya güvenir. Araştırmalar, bir dur işaretine dikkatlice hazırlanmış çıkartmalar veya bantlar uygulamanın, aracın görme sistemini onu hız sınırı levhası olarak algılaması için kandırabileceğini göstermiştir. Bu tür bir fiziksel dünya saldırısı, otomotivde AI uygulamalarında tehlikeli hatalara yol açabilir.
- Yüz Tanıma Kaçakçıları: Biyometriye dayalı erişimi kontrol eden güvenlik sistemleri, adversarial "yamalar" tarafından tehlikeye atılabilir. Bunlar, özellik çıkarma sürecini bozan gözlüklere veya kıyafetlere basılmış desenler olabilir. Bu, yetkisiz bir bireyin ya tespitten tamamen kaçınmasını ya da güvenlik alarm sistemlerini atlatarak belirli bir kullanıcıyı taklit etmesini sağlar.
Link to this sectionPython'da Adversarial Örnekler Oluşturma#
To understand how fragile some models can be, it is helpful to see how easily an image can be perturbed. While standard inference with models like YOLO26 is robust for general use, researchers often simulate attacks to improve model monitoring and defense. The following conceptual example uses PyTorch to show how gradients are used to calculate an adversarial perturbation (noise) for an image.
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 perturbationLink to this sectionİlgili Kavramlar#
Adversarial saldırıları diğer model hatası veya manipülasyon biçimlerinden ayırt etmek önemlidir:
- Veri Zehirleme: Çıkarım (test süresi) sırasında girdiyi manipüle eden adversarial saldırıların aksine, veri zehirleme, model oluşturulmadan önce eğitim verisinin kendisinin bozulmasını ve içine gizli arka kapıların veya önyargıların yerleştirilmesini içerir.
- Prompt Injection: Bu, Büyük Dil Modellerine (LLMs) ve metin arayüzlerine özeldir. Kavramsal olarak benzer olsa da (modeli kandırmak), piksel veya sinyal verilerinin matematiksel olarak bozulması yerine anlamsal dil manipülasyonuna dayanır.
- Aşırı Öğrenme (Overfitting): Bu, modelin temel deseni yerine eğitim verisindeki gürültüyü öğrendiği bir eğitim başarısızlığıdır. Aşırı öğrenmiş modeller, karar sınırları aşırı karmaşık ve kırılgan olduğu için genellikle adversarial saldırılara karşı daha savunmasızdır.
Bu saldırılara karşı savunma geliştirmek, modern MLOps süreçlerinin temel bir bileşenidir. Saldırıya uğramış örneklerin eğitim setine eklendiği adversarial eğitim gibi teknikler, modellerin daha dayanıklı hale gelmesine yardımcı olur. Ultralytics Platform gibi platformlar, ekiplerin uç cihazlara dağıtım yapmadan önce model dayanıklılığını değerlendirmelerini sağlayarak titiz eğitim ve doğrulama süreçlerini kolaylaştırır.






