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ış sofistike bir manipülasyon teknikleri kategorisidir. Bu saldırılar, giriş verilerine —görseller, ses veya metin gibi— ince, genellikle algılanamayan bozulmalar ekleyerek çalışır. Bu değişiklikler bir insan gözlemciye zararsız veya rastgele görünse de, yüksek boyutlu sinir ağlarının karar sınırları içerisindeki belirli matematiksel zayıflıkları istismar ederler. Yapay Zeka (AI) sistemleri güvenliğin kritik olduğu 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.
Adversarial Saldırılar Nasıl Çalışır?#
Tipik bir derin öğrenme (DL) eğitim sürecinde, bir model bir eğitim veri setindeki hatayı en aza indirmek için ağırlıklarını optimize eder. Ancak bu modeller esasen çok boyutlu bir uzayda karmaşık haritalar oluşturur. Adversarial saldırı, bir girdiyi bir sınırın ötesine itmek ve modelin sınıflandırmasını tersine çevirmek için bu uzaydaki kesin "yönü" hesaplar. Örneğin, bilgisayarlı görüde (CV), bir panda görselinin piksel değerlerini hesaplanmış bir "gürültü" miktarında değiştirmek, insan gözüne görsel hala 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:
- Beyaz Kutu Saldırıları: Saldırgan, modelin mimarisine, gradyanlarına ve model ağırlıklarına tam şeffaflığa sahiptir. Bu, genellikle Hızlı Gradyan İşareti Yöntemi (FGSM) gibi teknikler kullanarak en etkili bozulmayı matematiksel olarak hesaplamalarını sağlar.
- Kara Kutu 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 adversarial örnekler oluşturmak için "vekil bir model" kullanır; bu özellik aktarılabilirlik olarak bilinir.
Gerç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 arabalar, trafik işaretlerini yorumlamak için büyük ölçüde nesne tespiti işlemine güvenir. Araştırmalar, bir "dur" işaretine özenle hazırlanmış çıkartmalar veya bantlar uygulamanın, aracın görüş sistemini bunu bir hız sınırı işareti olarak algılaması için kandırabileceğini göstermiştir. Bu tür fiziksel dünya saldırısı, otomotivde AI uygulamalarında tehlikeli arızalara yol açabilir.
- Yüz Tanıma Kaçakçıları: Biyometriye dayalı erişimi kontrol eden güvenlik sistemleri, adversarial "yamalar" ile tehlikeye atılabilir. Bunlar, özellik çıkarımı sürecini aksatan gözlük veya giysiler üzerinde giyilen basılı desenler olabilir. Bu, yetkisiz bir bireyin ya tespitten tamamen kaçmasını ya da güvenlik alarm sistemlerini atlayarak belirli bir kullanıcıyı taklit etmesini sağlar.
Python'da Adversarial Örnekler Oluşturma#
Bazı modellerin ne kadar kırılgan olabileceğini anlamak için bir görselin ne kadar kolay bozulabileceğini görmek faydalıdır. YOLO26 gibi modellerle yapılan standart çıkarım genel kullanım için sağlam olsa da, araştırmacılar model izleme ve savunmayı iyileştirmek için genellikle saldırıları simüle eder. Aşağıdaki kavramsal örnek, gradyanların bir görsel için bir adversarial bozulmayı (gürültüyü) hesaplamak üzere nasıl kullanıldığını göstermek için PyTorch kullanı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#
Adversarial saldırıları diğer model hatası veya manipülasyon biçimlerinden ayırt etmek önemlidir:
- Veri Zehirlemesi: Çıkarım (test) sırasında girdiyi manipüle eden adversarial saldırıların aksine veri zehirlemesi, model oluşturulmadan önce eğitim verisinin kendisinin bozulmasını, gizli arka kapıların veya önyargıların yerleştirilmesini içerir.
- İstem Enjeksiyonu: Bu, Büyük Dil Modellerine (LLM'ler) ve metin arayüzlerine özgüdür. Kavramsal olarak benzer —modeli kandırmak— olsa da, piksel veya sinyal verilerinin matematiksel bozulmasından ziyade anlamsal dil manipülasyonuna dayanır.
- Aşırı Uyum (Overfitting): Bu, bir modelin temel desenden ziyade eğitim verisindeki gürültüyü öğrendiği bir eğitim hatasıdır. Aşırı uyum sağlamış modeller genellikle adversarial saldırılara karşı daha hassastır çünkü karar sınırları aşırı karmaşık ve kırılgandır.
Bu saldırılara karşı savunma geliştirmek, modern MLOps'un temel bir bileşenidir. Saldırıya uğramış örneklerin eğitim setine eklendiği adversarial eğitim gibi teknikler, modellerin daha dirençli olmasına yardımcı olur. Ultralytics Platform gibi platformlar, ekiplerin uç cihazlara dağıtım yapmadan önce model dayanıklılığını değerlendirmesine olanak tanıyan titiz eğitim ve doğrulama boru hatlarını kolaylaştırır.






