Bu makale, NLP'ye (doğal dil işleme) uygulanan rakip örnekler kavramından bahsediyor. Terminoloji zaman zaman kafa karıştırıcı olabilir, bu yüzden karşıt örnekler ve muhalif saldırılar hakkında konuşmak için kullanılan dile genel bir bakışla başlayacağız. Ardından, NLP'de insanların NLP modellerinin sağlamlığını araştırma şeklini değiştiren rakip örnekler, veri artırma ve düşmanca eğitim için açık kaynaklı Python kitaplığımız TextAttack hakkında konuşacağız . Bu araştırma alanının geleceği hakkında bazı düşüncelerle bitireceğiz.
Çarpıcı bir örnek , bir makine öğrenimi modelini [1] aldatmak için tasarlanmış bir girdidir. İyi huylu bir girdiye bir değişiklik olarak hazırlanmış hasmane bir örnek, düşmanca karışıklık olarak bilinir . Tüm rakip örneklerin sınıfı aynı zamanda sıfırdan makine öğrenimi modellerini yanıltmak için tasarlanmış girdileri de içerdiğinden, "çekişmeli tedirginlik" sadece "düşmanca örnek" olmaktan daha spesifiktir. TextAttack saldırıları, belirli bir tür düşmanlık örneği, düşmanca tedirginlikler üretir.
Bir makine öğrenimi modeline yönelik düşmanca bir saldırı , düşmanca tedirginlikler yaratmak için bir süreçtir. TextAttack saldırıları, bir veri kümesi (bir modele giriş listesi) aracılığıyla yinelenir ve doğru tahmin edilen her örnek için, düşmanca bir karışıklık arar. Bir örneğin yanlış bir şekilde başlayacağı tahmin edilirse, girdi zaten modeli kandırdığı için saldırıya uğramaz. TextAttack, saldırı sürecini aşamalara ayırır ve saldırının her aşamasını yönetmek için değiştirilebilir bileşenlerden oluşan bir sistem sağlar.
Tartışmalı sağlamlık , bir modelin karşıt örneklere duyarlılığının bir ölçüsüdür. TextAttack genellikle saldırı başarı oranını , başarılı rakip örnekler üreten saldırı girişimlerinin yüzdesini veya saldırı sonrası doğruluğu , hem doğru şekilde sınıflandırılan hem de başarısız bir şekilde saldırıya uğrayan girdilerin yüzdesini kullanarak sağlamlığı ölçer .
Düşman saldırıları hakkında konuşmak için sayısal becerimizi geliştirmek için somut bir örneğe bakalım:
Bu saldırı 200 örnek üzerinden yapılmıştır. Bu 200'den, model başlangıçta 43 tanesini yanlış tahmin etti; bu, 157/200 veya% 78.5 doğruluk sağlar. TextAttack, her biri için geçerli bir düşmanca karışıklık bulmaya çalışmak için kalan 157 örnekte düşmanca saldırı sürecini çalıştırdı. Bu 157'den 29'u başarısız oldu ve 128/157 veya% 81,5'lik bir başarı oranına yol açtı. Bunu ifade etmenin bir başka yolu da, modelin orijinal numuneyi doğru bir şekilde tahmin etmesi ve ardından toplam 200 örnekten 29'u için düşman saldırılarına direnmesi, saldırı altında doğruluk (veya "saldırı sonrası doğruluk") 29/200 veya% 14.5 olmasıdır.
TextAttack ayrıca bu saldırı için başka yararlı istatistikleri de kaydetti. 157 başarılı saldırı arasında, ortalama olarak saldırı, tahmini değiştirmek için kelimelerin% 15,5'ini değiştirdi ve başarılı bir tedirginlik bulmak için 32,7 sorgu yaptı. 200 girişin tamamında ortalama kelime sayısı 18,97 idi.
Şimdi bazı terminoloji sağladığımıza göre, önerilen düşman saldırılarının bazı somut örneklerine bakalım. Diğer alanlardaki düşman saldırıları ve ardından NLP'deki farklı saldırı örnekleri hakkında biraz bilgi vereceğiz.
2013'teki araştırmalar [2] sinir ağlarının rakip örneklere karşı savunmasız olduğunu gösterdi. Bu orijinal düşmanca saldırılar, bir görüntü sınıflandırıcıyı kandırmak için görüntüye küçük, iyi seçilmiş bir tedirginlik uygular. Bu örnekte sınıflandırıcı, orijinal görüntünün bir domuz olduğunu doğru bir şekilde tahmin eder. Bununla birlikte, küçük bir tedirginlikten sonra, sınıflandırıcı domuzun bir yolcu uçağı olacağını tahmin eder (son derece yüksek bir güvenle!).
Bu düşmanca örnekler, derin sinir ağlarında ciddi bir güvenlik açığı sergiliyor. Bu nedenle, rakip örnekler, metinden konuşmaya sistemleri ve kendi kendine giden arabalar dahil olmak üzere sinir ağlarını içeren tüm aşağı akış sistemleri için bir güvenlik sorunu oluşturmaktadır. Tartışmalı örnekler, güvenliğin dışında faydalıdır: Araştırmacılar, derin öğrenme modellerini iyileştirmek ve yorumlamak için rakip örnekleri kullandılar.
Tahmin edebileceğiniz gibi, derin sinir ağlarındaki hasmane örnekler dünyadaki birçok araştırmacının dikkatini çekti. 2013'teki keşifleri, konuyla ilgili bir araştırma patlaması yarattı.
Pek çok yeni, daha karmaşık saldırgan saldırı, savunmalarla birlikte , düşman saldırılarına karşı dirençli ( sağlam ) sinir ağlarını eğitme prosedürleri önerildi . Rakip saldırılara karşı sağlam kalırken son derece hassas olan derin sinir ağlarını eğitmek açık bir sorun olmaya devam etmektedir [3].
Doğal olarak, çoğu kişi NLP modelleri için ne gibi muhalif örneklerin olabileceğini merak etti. NLP için bilgisayarla görmedeki rakip örneklerle (yukarıdaki domuzdan uçağa aldatmacası gibi) hiçbir doğal analoji yoktur. Yukarıdaki örnekte, domuz olarak sınıflandırılmış girdi ve onun uçakta sınıflandırılan tedirginliği, insan gözüyle tam anlamıyla ayırt edilemez. Resimlerin aksine, iki metin dizisi aynı olmadan gerçekten ayırt edilemez .
İki metin dizisi hiçbir zaman birbirinden ayırt edilemez olduğundan, araştırmacılar NLP'deki karşıt örnekler için çeşitli alternatif tanımlar önerdiler. Düşman saldırılarını seçtikleri düşmanlık örnekleri tanımlarına göre gruplamayı yararlı buluyoruz.
NLP'deki saldırılar , orijinal girdiden tam anlamıyla ayırt edilemeyen düşmanca bir karışıklık bulamasalar da, çok benzer bir karışıklık bulabilirler. Zihinsel modelimiz, NLP düşman saldırılarını 'benzerlik' kavramlarına göre iki gruba ayırıyor:
TextAttack, bu kategoriye giren tariflere saldırır: deepwordbug, hotflip, pruthi, textbugger *, morpheus
Bu kategoriye giren TextAttack saldırı tarifleri: alzantot, bae, bert-attack, daha hızlı-alzantot, iga, kuleshov, pso, pwws, textbugger *, textfooler
* TextBugger saldırısı, hem yazım hatası benzeri karakter düzenlemelerini hem de eşanlamlı değişikliklerini kullanarak karışıklıklar oluşturur. Her iki ayırt edilemezlik tanımının kullanılması düşünülebilir.
TextAttack, ayırt edilemezliğin her iki tanımına dayanan düşman saldırıları destekler. Her iki saldırı türü de daha sağlam NLP modellerini eğitmek için kullanışlıdır. Amacımız, literatürden mümkün olduğunca çok sayıda saldırı oluşturmak için bir dizi sezgisel, yeniden kullanılabilir bileşen sağlayarak NLP'deki rakip örnekleri araştırmaya olanak sağlamaktır.
Düşman saldırı sürecini dört bileşen kullanarak tanımlıyoruz: hedef işlevi, kısıtlamalar, dönüşüm ve arama yöntemi. (Bunu ilerideki bir gönderide ayrıntılı olarak ele alacağız!) Bu bileşenler, farklı araştırma makalelerinden gelen saldırılar arasında birçok şeyi yeniden kullanmamıza izin veriyor. Ayrıca, NLP veri artırma için yöntemler geliştirmeyi de kolaylaştırırlar.
TextAttack ayrıca popüler NLP veri kümelerini yüklemek için kod ve bunlara eğitim modelleri içerir. TextAttack, bu eğitim kodunu düşman saldırıları ve veri artırma teknikleriyle entegre ederek, araştırmacıların birçok farklı senaryoda düşmanca eğitimi test etmeleri için bir ortam sağlar.
Aşağıdaki şekil, TextAttack'in ana işlevine genel bir bakışı gösterir:
TextAttack'in NLP araştırma topluluğu üzerindeki etkisini görmekten heyecan duyuyoruz! Araştırmayı görmek istediğimiz bir şey, çeşitli makalelerdeki bileşenlerin birleşimidir. TextAttack, başka herhangi bir değişiklik yapmadan, örneğin A kağıdından arama yöntemini değiştirmenin etkilerini, B kağıdındaki arama yöntemiyle karşılaştırmak için ablasyon çalışmalarını çalıştırmayı kolaylaştırır. (Ve bu testler, düzinelerce önceden eğitilmiş model ve veri kümesinde indirme olmadan çalıştırılabilir!)
TextAttack kullanımının düşman saldırılarında daha fazla çeşitliliğe yol açacağını umuyoruz. Mevcut tüm rakip saldırıların ortak noktalarından biri, kelime veya karakter düzeyinde ikameler yapmalarıdır. NLP'deki gelecekteki rakip saldırıların, tam cümle açıklamalarının yanı sıra kelime öbeği düzeyinde değiştirmelere farklı yaklaşımları denemek için kapsamı genişletebileceğini umuyoruz. Buna ek olarak, hasmane saldırı literatüründe İngilizce'ye odaklanmıştır; düşman saldırılarının daha fazla dile uygulanmasını sabırsızlıkla bekliyoruz.
TextAttack veya daha geniş kapsamlı NLP modelleri için rakip örnekler üretme sorunuyla ilgileniyorsanız, lütfen iletişime geçin! Sen bir göz olabilir arXiv bizim kağıt veya Github Kavımızda .
[1] "Tartışmalı Örneklerle Makine Öğrenimine Saldırmak", Goodfellow, 2013. [https://openai.com/blog/adversarial-example-research/]
[2] "Sinir ağlarının ilginç özellikleri", Szegedy, 2013. [https://arxiv.org/abs/1312.6199]
[3] "Sağlamlık, Doğrulukla Tuhaf Olabilir", Tsipras, 2018. [https://arxiv.org/abs/1805.12152]
Yapay Zeka (AI), endüstrilerde devrim yaratma, yaşama ve çalışma şeklimizi değiştirme ve topluma sayısız fayda sağlama potansiyeline sahip, hızla gelişen bir teknolojidir. Ancak, her yeni teknolojide olduğu gibi, dikkate alınması gereken etik hususlar da vardır.
Yapay Zekaya Giriş Yapay Zeka (AI), endüstrilerde devrim yaratma, yaşama ve çalışma şeklimizi değiştirme ve topluma sayısız fayda sağlama potansiyeline sahip, hızla gelişen bir teknolojidir. Ancak, her yeni teknolojide olduğu gibi, dikkate alınması gereken etik hususlar da vardır.
Torchvision kitaplığının sezgisel bir anlayışı - temel bilgilerden ileri düzeye (Bölüm 1/3) Torchvision nedir? Torchvision, PyTorch ile el ele giden bir Bilgisayar Görüşü kütüphanesidir. Verimli Görüntü ve Video dönüşümleri için yardımcı programlara, yaygın olarak kullanılan bazı önceden eğitilmiş modellere ve bazı veri setlerine sahiptir (torchvision PyTorch ile birlikte gelmez, ayrı olarak kurmanız gerekecektir.
Torchvision kitaplığının sezgisel bir şekilde anlaşılması - 14 görsel dönüşüm örneğiyle (Bölüm 2/3) Bölüm 1 için (torchvision'daki modüllere giriş), lütfen aşağıdaki bağlantıyı ziyaret edin. Bu makalede, veri kümesi (görüntüler) yüklendikten hemen sonra bir dizi halinde gerçekleştirilebilen basit görüntü dönüştürme işlevlerini deneyeceğiz.
Grafik Sinir Ağları (GNN'ler), grafik verilerinden öğrenmek için standart bir araç kutusu olarak ortaya çıktı. GNN'ler, içerik önerisi veya ilaç keşfi gibi farklı alanlarda yüksek etkili sorunlar için iyileştirmeler sağlayabilir.
Bir önceki yazımda, blob algılama ve bağlantılı bileşenlere dayalı olarak ilgilenilen nesneleri nasıl tanımlayacağımızı öğrendik. Bununla birlikte, belirli ilgi çekici nesneleri görüntülerimizden ayırmamız gereken zamanlar olacaktır.