Adversarial Attacks
Last updated
Last updated
Merhaba, bu yazımda size genel olarak Adversarial Attack kavramından ve bağlamından basitçe bahsetmeye çalışacağım.
Günümüzde yeni birçok teknolojinin gelişmesiyle AI yani Yapay Zeka kavramı çokça karşımıza çıkmaya başladı. Bilgisayarlarımız belirli komutları belirli koşullarla kontrol etmek üzere dizayn edilmiştir. Örneğin kalem yazmak istersem eğer K tuşuna basarım K harfi ekrana yazılır. Ancak yapay zekalar bunun biraz daha üst seviyesidir ve bize ihtiyaç duymadan kalem yazmak istediğimizde tuşlara kendileri karar vererek bizim için kalem yazabilirler. Yani bilgisayarlardan farklı olarak karar verme güçleri vardır.
Yapay zeka bu gücünü kendi öğrenmesinden alır. Biz verileri etiketleyerek birçok domates fotoğrafını yapay zekaya verdiğimizde bunun bir domates olduğunu öğrenir. Bu denetimli öğrenmedir. Diğer bir öğretme yöntemi ise denetimsiz öğrenme dediğimiz yapay zekaya sadece verinin verilmesiyle gerçekleştirilen bir öğrenme yöntemidir. Mesela google'ın dinazor oyununu bir veri olarak düşünelim. Yapay zekanın her seferinde bu oyunu oynayarak yanıp yanmamasına göre oyunu nasıl oynaması gerektiğini öğretebiliriz. Bu uzun bir tecrübe süresi gerektirir. Ve bir de olabildiğince fazla ve doğru veri gereklidir ki en doğru öğrenmeyi sağlayabilelim. Örneğin herhangi bir sömürgeci ülkedeki veri setleriyle yapay zekayı eğitirsek yapay zekamızın biraz ırkçı sonuçlar vermesine sebep olabiliriz.
Şimdi bunu biraz daha farklı düşünelim. Yapay zekaları sadece metin gibi ele aldık ancak günümüzde metin yazmak, çeviri yapmaktan çok daha fazlası için kullanılıyorlar, örneğin tesla arabaları kendi kendilerine otonom bir şekilde yoldaki trafik işaretlerine göre gidebiliyorlar, veya gittikçe otonomlaşan dünyamızda bir havaalanı tarayıcısını düşünelim, bu cihaz bavullardaki tehlikeli olabilecek bıçak, silah gibi algıladığı maddeler için güvenlik görevlilerine uyarı veriyor. İşte "Adversarial Attacks" yani yanıltıcı/düşmanca ataklar burada biraz daha göz önüne çıkıyor.
Küçükken uyuma vaktiniz geldiğinde ve ışık kapandığında perdeyi garip yaratıklara benzetenler burada mı? Adversarial Attacks dediğimiz kavram işte buna benziyor. Yapay zeka bir resmi algılıyor ama yanlış algılıyor. Adversarial Attack'ları yapay zekanın bir nesneyi olduğundan farklı algılaması olarakta değerlendirebiliriz.
Birkaç farklı tür de olsa temelde en ufak değişiklikle en büyük yanlış anlaşılmayı oluşturmak istiyoruz. İşte size bunun nasıl hesaplandığıyla ilgili örnek bir video. Karmaşık denklemlerden hoşlananlar veya işin biraz da matematiğini öğrenmek isteyenler bu videoya ve aşağıya bırakacağım makalelere daha yakından dalabilirler.
Ancak şunu da belirtmeliyim ki adversarial attackları sadece görsellerden ibaret düşünmemek lazım. Mesela bir phishing maili genelde spama düşerken, belirli selamlama ve uğurlama ekleri ile normal bir mail gibi karşı tarafa iletilebilir. Bu google'ın bir maili nasıl spam olarak değerlendirmesiyle alakalıdır. Ya da bir akıllı hoparlöre insanların algılayamayacağı frekansta bir zararsız ses koyarak yapay zekanın bunu bir komut olarak algılamasını sağlayabiliriz.
Yapay zekaların en önemli hata kaynakları yukarıda da belirttiğimiz gibi yanlış veri setleri ile eğitilmesi olabilir, sonuç olarak ırkçı bir yapay zekaya sahip olabiliriz. Veya yetersiz veri olabilir, mesela biberin yeşil ve uzun ince olduğunu öğrettiğimizde salatalığa da biber diyebilir, çünkü biberin bir ucunun çok daha ince olduğunu söylememişizdir.
Yapay zeka bize göre çok daha tekdüze düşünür. Farklı açılardan ve bağlamlardan tecrübelerden düşünemez. Biz ise yapay zekanın algılayacağı nesnenin veya resmin çok küçük ayrıntılarını değiştirerek yapay zekayı yanıltmaya çalışırız. Ufak bir çizgi yapay zekamızın karmaşık öğrenme modelini manipüle edebilir. Bu yüzden eğitim verilerinin yanında önemli bir diğer şey de eğitim mimarisidir. Bu yüzden yapay zekanın öğrenme süreci çok ciddiye alınmalıdır, nasıl bir web sitesi yaparken olabildiğince güvenli mimariler, patternler(yazılım desenleri) kullanmaya çalışıyorsak yapay zekayı da olabildiğince farklı bakış açılarıyla daha güvenli bir biçimde eğitmeliyiz.
Yine de yapay zekanın farkındalık düzeyi insana göre çok eksik kalıyor ve bu da hatalarla karşılaşma oranımızı arttırıyor. İlk başta verdiğim örneği anımsayalım. Herhalde benim gibi siz de büyüyünce perdeyi garip yaratıklara benzetme huyunuzdan vazgeçmişsinizdir. Çünkü algınız büyüdükçe derinleşmiş ve perdenin bir yaratık olamayacağını anlamışsınızdır. Ancak bu durum henüz yapay zekada bu kadar gelişmedi, bu da bana yapay zekaların hala kesin bir güvenilirlik sağlayabilecek kadar gelişmediğini düşündürüyor.
Burada sizin de düşündüğünüz üzere henüz insan kadar kararlarından emin olamayacağımız yapay zekaların, çok iyi eğitilmediği sürece otonom araçları kullanmasının doğurabileceği kazalar bir çok etik tartışmaya yol açacaktır. Örneğin dur tabelasını algılamayan bir yapay zeka bunu bir hız sınırı tabelası olarak algılarsa güzel şeyler yaşanmaz. Yahut bir bıçağı şemsiye gibi algılayan x-ray cihazlarına güvenemeyiz.
Adversarial ataklar makine öğrenimini riske attığı sürece siber güvenlikçilere yapay zekaların sağlıklı bir şekilde işlemesini ve büyük ölçüde sorun oluşturabilecek hatalara ya da ataklara karşı önceden önlemler alınması düşüyor. Bunun için de yapay zeka modellerine de testler yapılıyor. Sistem hakkında ayrıntılı bilgiye sahip olunan testler white-box, sınırlı bir bilgiye sahip olunan testler grey-box, hiç bilgiye sahip olunmayan testler ise black-box olarak adlandırılıyor.