Çelişkili Makine Öğrenimi: Makine Öğrenimi Modellerine Nasıl Saldırılır ve Savunma Yapılır
Yayınlanan: 2022-03-11Günümüzde, bilgisayarla görme alanındaki makine öğrenimi modelleri, kendi kendine giden arabalar, yüz tanıma, kanser teşhisi gibi birçok gerçek dünya uygulamasında ve hatta müşterilerin hangi ürünleri raftan indirdiğini takip etmek için kredilerini almak için yeni nesil mağazalarda kullanılmaktadır. karttan ayrılırken tahsil edilebilir.
Bu makine öğrenimi sistemlerinin artan doğruluğu oldukça etkileyici, bu nedenle doğal olarak onları kullanan gerçek bir uygulama seline yol açtı. Arkalarındaki matematiksel temeller birkaç on yıl önce zaten çalışılmış olsa da, güçlü GPU'ların nispeten yakın zamanda ortaya çıkışı, araştırmacılara karmaşık makine öğrenimi sistemlerini denemek ve inşa etmek için gerekli bilgi işlem gücünü verdi. Bugün, bilgisayarlı görü için son teknoloji modeller, birkaç milyona kadar parametreye sahip derin sinir ağlarına dayanmaktadır ve sadece on yıl önce mevcut olmayan donanımlara dayanmaktadır.
2012 yılında, Alex Krizhevsky et altri, o zamanlar nesne sınıflandırmasında en son model haline gelen derin bir evrişimsel ağın nasıl uygulanacağını gösteren ilk kişi oldu. O zamandan beri, orijinal modellerinde birçok iyileştirme yayınlandı ve bunların her biri doğrulukta bir artış sağladı (VGG, ResNet, Inception, vb.). Son zamanlarda, makine öğrenimi modelleri, birçok bilgisayarla görme görevinde insan ve hatta insan üstü doğruluk elde etmeyi başardı.
Birkaç yıl önce, bir makine öğrenimi modelinden yanlış tahminler almak bir normdu. Günümüzde, bu bir istisna haline geldi ve özellikle gerçek dünya uygulamalarında dağıtıldıklarında kusursuz bir şekilde performans göstermelerini beklemeye başladık.
Yakın zamana kadar, makine öğrenimi modelleri genellikle makine öğrenimi yarışmaları ve akademik makaleler gibi bir laboratuvar ortamında eğitilir ve test edilirdi. Günümüzde, gerçek dünya senaryolarında konuşlandırıldıkları için, model hatalarından kaynaklanan güvenlik açıkları gerçek bir endişe haline geldi.
Bu makalenin amacı, görüntü tanımada kullanılan son teknoloji derin sinir ağlarının kötü niyetli bir aktör tarafından nasıl kolayca kandırılabileceğini ve dolayısıyla yanlış tahminler üretebileceğini açıklamak ve göstermektir. Olağan saldırı stratejilerine aşina olduğumuzda, modellerimizi bunlara karşı nasıl savunacağımızı tartışacağız.
Rakip Makine Öğrenimi Örnekleri
Temel bir soruyla başlayalım: Karşıt makine öğrenimi örnekleri nelerdir?
Olumsuz örnekler, bir makine öğrenimi modelini kandırmak için bilerek tasarlanmış kötü amaçlı girdilerdir.
Bu yazıda, dikkatimizi görüntü sınıflandırması yapan makine öğrenimi modellerine sınırlayacağız. Bu nedenle, rakip örnekler, modelin doğru şekilde sınıflandıramadığı bir saldırgan tarafından hazırlanmış girdi görüntüleri olacaktır.
Örnek olarak, makine öğrenme modelimiz olarak görüntü sınıflandırması yapmak için ImageNet üzerinde eğitilmiş bir GoogLeNet alalım. Aşağıda insan gözüyle ayırt edilemeyen iki panda resmi var. Soldaki görüntü, GoogLeNet modelini eğitmek için kullanılan ImageNet veri kümesindeki temiz görüntülerden biridir. Sağdaki, merkezi görüntüye gürültü vektörünün eklenmesiyle oluşturulan birincinin küçük bir modifikasyonudur. İlk görüntünün beklendiği gibi model tarafından panda olacağı tahmin ediliyor. Bunun yerine ikincisinin (çok yüksek bir güvenle) bir jibon olduğu tahmin ediliyor.
İlk görüntüye eklenen gürültü rastgele değil, saldırganın dikkatli bir optimizasyonunun çıktısıdır.
İkinci bir örnek olarak, bir 3B yazıcı kullanarak 3B çekişmeli örneklerin nasıl sentezleneceğine bir göz atabiliriz. Aşağıdaki resim, yazarların yazdırdığı bir 3D kaplumbağanın farklı görünümlerini ve Google Inception v3 modeli tarafından yapılan yanlış sınıflandırmaları göstermektedir.
İnsan üstü sınıflandırma doğruluğuna sahip son teknoloji modeller nasıl bu kadar aptalca görünen hatalar yapabilir?
Sinir ağı modellerinin sahip olma eğiliminde olduğu zayıflıklara girmeden önce, biz insanların kendi karşıtlık örneklerine sahip olduğumuzu hatırlayalım. Aşağıdaki resme bir göz atın. Ne görüyorsun? Bir spiral mi yoksa bir dizi eşmerkezli daire mi?
Bu farklı örneklerin de ortaya koyduğu şey, makine öğrenimi modellerinin ve insan vizyonunun, bir görüntüde ne olduğunu anlarken oldukça farklı içsel temsiller kullanması gerektiğidir.
Bir sonraki bölümde, rakip örnekler oluşturmak için stratejiler keşfedeceğiz.
Düşmanca Örnekler Nasıl Oluşturulur
Basit bir soruyla başlayalım: Karşıt bir örnek nedir?
Çelişkili örnekler, modelin doğru şekilde sınıflandırdığı temiz bir görüntü alınarak ve yeni görüntünün ML modeli tarafından yanlış sınıflandırılmasına neden olan küçük bir bozulma bulunarak oluşturulur.
Bir saldırganın saldırmak istediği model hakkında eksiksiz bilgiye sahip olduğunu varsayalım. Bu, esasen, saldırganın $J(\theta, X, y)$ modelinin kayıp fonksiyonunu hesaplayabileceği anlamına gelir; burada $X$ girdi görüntüsüdür, $y$ çıktı sınıfıdır ve $\theta$ dahilidir. model parametreleri. Bu kayıp fonksiyonu, sınıflandırma yöntemleri için tipik olarak negatif kayıp olasılığıdır.
Bu beyaz kutu senaryosu altında, her biri onları üretmenin hesaplama maliyeti ile başarı oranı arasındaki farklı dengeleri temsil eden birkaç saldırı stratejisi vardır. Tüm bu yöntemler, giriş görüntüsünün bozulmasını küçük tutarken, model kayıp fonksiyonundaki değişikliği en üst düzeye çıkarmaya çalışır. Girdi görüntü alanının boyutu ne kadar yüksek olursa, insan gözüyle temiz görüntülerden ayırt edilemeyen karşıt örnekler oluşturmak o kadar kolay olur.
L-BFGS Yöntemi
Aşağıdaki kutu kısıtlamalı optimizasyon problemini çözerek rakip örneğin ${x}'$' ını bulduk:
$c > 0$ burada da çözülmesi gereken bir parametredir. Sezgisel olarak, temiz görüntüye göre bozulmanın ağırlıklı toplamı ( $\left | x - {x}' \right |$ ) ve buna göre kayıp olacak şekilde ${x}'$ karşıt görüntüleri ararız. yanlış sınıf mümkün olan en düşük sınıftır.
Derin sinir ağları gibi karmaşık modeller için optimizasyon probleminin kapalı form çözümü yoktur ve bu nedenle yinelemeli sayısal yöntemler kullanılmalıdır. Bu nedenle, bu L-BFGS yöntemi yavaştır. Ancak başarı oranı yüksektir.
Hızlı Gradyan İşareti (FGS)
Hızlı gradyan işareti (FGS) yöntemiyle, temiz görüntü vektörü $X$ ve gerçek sınıf $y$ tarafından verilen kayıp fonksiyonunun başlangıç noktası etrafında doğrusal bir yaklaşımını yaparız.
Bu varsayım altında, kayıp fonksiyonunun gradyanı, kayıpta maksimum bir değişiklik üretmek için girdi vektörünü değiştirmemiz gereken yönü gösterir. Pertürbasyonun boyutunu küçük tutmak için, gerçek normunu değil, yalnızca gradyanın işaretini çıkarırız ve onu küçük bir faktör epsilon ile ölçeklendiririz.
Bu şekilde, ilk görüntü ile değiştirilmiş olan arasındaki piksel bazında farkın her zaman epsilon'dan daha küçük olmasını sağlıyoruz (bu fark L_infinity normudur).
Gradyan, geri yayılım kullanılarak verimli bir şekilde hesaplanabilir. Bu yöntem, uygulanması en hızlı ve hesaplama açısından en ucuz yöntemlerden biridir. Ancak başarı oranı L-BFGS gibi daha pahalı yöntemlere göre daha düşüktür.
Adversarial Machine Learning at Scale'in yazarları, ImageNet veri kümesi için ilk 1 tahminde %63 ile %69 arasında başarı oranına sahip olduğunu ve epsilon 2 ile 32 arasında olduğunu söyledi. Lojistik regresyon gibi doğrusal modeller için, hızlı gradyan işareti yöntemi kesindir. Bu durumda, rakip örnekler üzerine başka bir araştırma makalesinin yazarları, %99'luk bir başarı oranı bildirmektedir.

Yinelemeli Hızlı Gradyan İşareti
Önceki yöntemin bariz bir uzantısı, daha küçük bir alfa adım boyutuyla birkaç kez uygulamak ve temiz ve rakip görüntüler arasındaki bozulmanın epsilon'dan daha düşük olduğundan emin olmak için toplam adım uzunluğunu kırpmaktır.
Nicholas Carlini'nin makalesinde önerilenler gibi diğer teknikler, L-BFGS üzerindeki iyileştirmelerdir. Hesaplamaları da pahalıdır, ancak başarı oranları yüksektir.
Ancak, çoğu gerçek dünya durumunda, saldırgan hedeflenen modelin kayıp fonksiyonunu bilmez. Bu durumda saldırganın bir kara kutu stratejisi kullanması gerekir.
Kara Kutu Saldırısı
Araştırmacılar, tekrar tekrar gözlemlediler ki, rakip örneklerin modeller arasında oldukça iyi aktarıldığı, yani hedef model A için tasarlanabilecekleri, ancak benzer bir veri kümesi üzerinde eğitilmiş diğer herhangi bir modele karşı etkili oldukları anlamına geliyor.
Bu, saldırganların model hakkında tam bilgiye erişimleri olmadığında kendi avantajlarına kullanabilecekleri, rakip örneklerin sözde aktarılabilirlik özelliğidir. Saldırgan, aşağıdaki adımları izleyerek düşmanca örnekler oluşturabilir:
- $i=1…n$ için $X_i$ girdileriyle hedeflenen modeli sorgulayın ve $y_i$ çıktılarını saklayın.
- $(X_i, y_i)$ eğitim verileriyle, ikame model adı verilen başka bir model oluşturun.
- İkame model için çekişmeli örnekler oluşturmak için yukarıda gösterilen beyaz kutu algoritmalarından herhangi birini kullanın. Birçoğu başarılı bir şekilde transfer olacak ve hedef model için de muhalif örnekler olacak.
Bu stratejinin ticari bir Makine öğrenimi modeline karşı başarılı bir uygulaması bu Computer Vision Foundation belgesinde sunulmaktadır.
Olumsuz Örneklere Karşı Savunmalar
Saldırgan, model hakkında sahip olduğu tüm bilgilerden yararlanarak saldırıyı gerçekleştirir. Açıkçası, model tahmin zamanında ne kadar az bilgi verirse, bir saldırganın başarılı bir saldırı gerçekleştirmesi o kadar zor olur.
Bir üretim ortamında sınıflandırma modelinizi korumanın ilk kolay önlemi, tahmin edilen her sınıf için güven puanlarını göstermekten kaçınmaktır. Bunun yerine, model yalnızca en büyük $N$ (ör. 5) en olası sınıfları sağlamalıdır. Son kullanıcıya güven puanları sağlandığında, kötü niyetli bir saldırgan, kayıp fonksiyonunun gradyanını sayısal olarak tahmin etmek için bunları kullanabilir. Bu şekilde, saldırganlar, örneğin hızlı gradyan işareti yöntemini kullanarak beyaz kutu saldırıları oluşturabilir. Daha önce alıntıladığımız Computer Vision Foundation makalesinde, yazarlar bunun ticari bir makine öğrenimi modeline karşı nasıl yapılacağını gösteriyor.
Literatürde öne sürülen iki savunmaya bakalım.
Savunma Damıtma
Bu yöntem, gradyanları orijinal savunmasız modelden çok daha küçük olan yeni bir model oluşturmaya çalışır. Gradyanlar çok küçükse, saldırganın kayıp fonksiyonunda yeterli bir değişiklik elde etmek için giriş görüntüsünde büyük bozulmalara ihtiyacı olacağından, FGS veya Yinelemeli FGS gibi teknikler artık kullanışlı değildir.
Savunma amaçlı damıtma, ağın son softmax katmanına sıcaklık adı verilen yeni bir $T$ parametresi sunar:
T=1 için normal softmax fonksiyonuna sahip olduğumuza dikkat edin. $T$ değeri ne kadar yüksek olursa, giriş görüntülerine göre kaybın gradyanı o kadar küçük olur.
Savunma amaçlı damıtma şu şekilde ilerler:
- Öğretmen ağı adı verilen bir ağı $T » 1$ sıcaklığında eğitin.
- Eğitim setindeki her görüntü için yumuşak etiketler oluşturmak üzere eğitimli öğretmen ağını kullanın. Bir görüntünün yumuşak etiketi, modelin her sınıfa atadığı olasılıklar kümesidir. Örnek olarak, çıktı görüntüsü bir papağan ise, öğretmen modeli (%90 papağan, %10 papagayo) gibi yumuşak etiketler çıkarabilir.
- Tekrar $T$ sıcaklığını kullanarak yumuşak etiketler üzerinde ikinci bir ağ, damıtılmış ağ eğitin. Yumuşak etiketlerle eğitim, fazla takmayı azaltan ve damıtılmış ağın örnek dışı doğruluğunu artıran bir tekniktir.
- Son olarak, tahmin zamanında, damıtılmış ağı $T=1$ sıcaklığında çalıştırın.
Defansif damıtma, ağı, Derin Sinir Ağlarına Karşı Olumsuz Tehditlere Karşı Savunma Olarak Damıtma'da denenen bir dizi saldırıya karşı başarılı bir şekilde korur.
Ne yazık ki, California Üniversitesi'nin daha sonraki bir makalesi, Berkeley araştırmacıları, savunma amaçlı damıtmayı bozan yeni bir dizi saldırı yöntemi sundu. Bu saldırılar, L-BFGS yöntemine göre, savunma amaçlı damıtmanın rakip örneklere karşı genel bir çözüm olmadığını kanıtlayan iyileştirmelerdir.
Düşman Eğitimi
Günümüzde, düşmanca eğitim en etkili savunma stratejisidir. Modeli eğitirken karşıt örnekler oluşturulur ve kullanılır. Sezgisel olarak, model eğitim sırasında rakip örnekler görürse , aynı şekilde oluşturulan çekişmeli örnekler için tahmin zamanındaki performansı daha iyi olacaktır.
İdeal olarak, eğitim sırasında rakip örnekler oluşturmak için bilinen herhangi bir saldırı yöntemini kullanmak isteriz. Ancak, yüksek boyutlu (ImageNet gibi) büyük bir veri kümesi için L-BFGS gibi sağlam saldırı yöntemleri ve Berkeley belgesinde açıklanan iyileştirmeler hesaplama açısından çok maliyetlidir. Pratikte, sadece FGS gibi hızlı bir yöntem kullanmayı göze alabiliriz veya yinelemeli FGS kullanılabilir.
Düşmanca eğitim, temiz örneklerdeki olağan kayıp işlevinin ağırlıklı toplamı ve rakip örneklerden bir kayıp işlevinin ağırlıklı toplamı olan değiştirilmiş bir kayıp işlevi kullanır.
Eğitim sırasında, her bir $m$ temiz görüntü grubu için ağın mevcut durumunu kullanarak $k$ muhalif görüntüler oluşturuyoruz. Ağı hem temiz hem de çekişmeli örnekler için iletiriz ve kaybı yukarıdaki formülle hesaplarız.
Bu konferans makalesinde sunulan bu algoritmaya yönelik bir iyileştirme, topluluk çekişmeli eğitimi olarak adlandırılır. Karşıt örnekler oluşturmak için mevcut ağı kullanmak yerine, çekişmeli örnekler oluşturmak için önceden eğitilmiş birkaç model kullanılır. ImageNet'te bu yöntem, ağın kara kutu saldırılarına karşı sağlamlığını artırır. Bu savunma, NIPS 2017 Düşman Saldırılarına Karşı Savunma yarışmasında 1. turun galibi oldu.
Sonuçlar ve Sonraki Adımlar
Bugün itibariyle, bir makine öğrenimi modeline saldırmak, onu savunmaktan daha kolaydır. Gerçek dünyadaki uygulamalarda kullanılan son teknoloji modeller, herhangi bir savunma stratejisi kullanılmadığı takdirde, rakip örnekler tarafından kolayca kandırılır ve bu da potansiyel olarak kritik güvenlik sorunlarına kapı açar. En güvenilir savunma stratejisi, çekişmeli örneklerin oluşturulduğu ve eğitim sırasında temiz örneklere eklendiği çekişmeli eğitimdir.
Görüntü sınıflandırma modellerinizin farklı saldırılara karşı sağlamlığını değerlendirmek istiyorsanız, açık kaynak kodlu Python kitaplığı intelligenthans'ı kullanmanızı tavsiye ederim. Bu makalede bahsedilenler de dahil olmak üzere birçok saldırı yöntemi modelinize karşı test edilebilir. Bu kitaplığı, modelinizin çekişmeli eğitimini gerçekleştirmek ve çekişmeli örneklere karşı sağlamlığını artırmak için de kullanabilirsiniz.
Yeni saldırılar ve daha iyi savunma stratejileri bulmak, aktif bir araştırma alanıdır. Makine öğrenimi modellerini gerçek dünya uygulamalarında daha sağlam ve güvenli hale getirmek için hem daha teorik hem de deneysel çalışma gereklidir.
Okuyucuyu bu teknikleri denemeye ve yeni ilginç sonuçlar yayınlamaya teşvik ediyorum. Ayrıca, bu makaleyle ilgili herhangi bir geri bildirim yazar tarafından memnuniyetle karşılanmaktadır.
- Ses Mantığı ve Monotonik Yapay Zeka Modelleri
- TensorFlow'da Gradient Descent'in Birçok Uygulaması