• Sonuç bulunamadı

Derin ¨O˘grenme Modellerinde ˙Izge Tabanlı Hata Konumlandırma

N/A
N/A
Protected

Academic year: 2021

Share "Derin ¨O˘grenme Modellerinde ˙Izge Tabanlı Hata Konumlandırma"

Copied!
12
0
0

Yükleniyor.... (view fulltext now)

Tam metin

(1)

Derin ¨

grenme Modellerinde ˙Izge Tabanlı Hata

Konumlandırma

Mehmet Melih Arıcı1r0000´0003´2502´0828s, Hasan Ferit Eni¸ser1r0000´0002´3259´8794s, and Alper S¸en1r0000´0002´5508´6484s

Bo˘gazi¸ci ¨Universitesi , Bilgisayar M¨uhendisli˘gi B¨ol¨um¨u {mehmet.arici,hasan.eniser,alper.sen}@boun.edu.tr ¨

Ozet. Yapay Sinir A˘gları (YSA), otonom ara¸clardan tıbbi te¸shislere kadar bir¸cok g¨uvenlik ¨oncelikli uygulamada kullanılmaktadır. YSA’ların kapsamlıca test edilmesi, beklenmeyen YSA davranı¸slarını engellemek ve onların operasyonlarının g¨uvenilirli˘gini sa˘glamak i¸cin ka¸cınılmazdır. Bu ¸

calı¸smada, YSA davranı¸slarını Java gibi bir programlama dili ile ifade edebilmemiz, YSA’ların kapsamlı bir ¸sekilde test edilmesinde yazılım m¨uhendisli˘gi ara¸clarından faydalanmamızı sa˘gladı. Yazılımdaki hata kon-umlandırmasından esinlenerek sundu˘gumuz beyaz kutu YSA test y¨ontemi ile n¨oronların isabet izgesini olu¸sturup, yetersiz YSA performansından sorumlu oldu˘gu d¨u¸s¨un¨ulen ¸s¨upheli n¨oronları tespit ettik. Ayrıca, oriji-nal girdileri ¸s¨upheli n¨oronların aktivasyonunu artıracak ¸sekilde modifiye ederek, hasım girdiler elde edebildik.

Anahtar Kelimeler: Yapay Sinir A˘gları· Hata Konumlandırma · Test Girdisi Yaratma

Spectrum Based Fault Localization for Deep

Learning Models

Mehmet Melih Arıcı1r0000´0003´2502´0828s, Hasan Ferit Eni¸ser1r0000´0002´3259´8794s, and Alper S¸en1r0000´0002´5508´6484s

Bogazici University , Department of Computer Engineering {mehmet.arici,hasan.eniser,alper.sen}@boun.edu.tr Abstract. Artificial Neural Networks (ANNs) are increasingly deployed in safety-critical applications including autonomous vehicles and medical diagnostics. To avoid unexpected ANN behaviour and provide evidence for their trustworthy operation, ANNs should be thoroughly tested. In this study, representing ANNs with a programming language such as Java, enabled us to utilize software engineering tools for comprehensive testing of ANNs. Inspired by fault localization in software, the whitebox ANN testing approach that we presented in our paper, establishes the hit spectrum of neurons and identify suspicious neurons which are responsible for inadequate ANN performance. Moreover, we also modified original inputs to synthesize adversarial inputs that increase activation values of suspicious neurons.

Keywords: Deep Neural Networks · Fault Localization · Test Input Generation.

(2)

1

Giri¸

s

Yapay Sinir A˘gları (YSA), imge sınıflandırma, do˘gal dil i¸sleme ve ses tanıma gibi bir¸cok zorlu makine ¨o˘grenmesi g¨orevlerinde, insan seviyesinde yetenekler g¨ostermektedir. Bu etkileyici ba¸sarılar YSA’ları, ¨ozellikle hayati tehlike arz eden ger¸cek d¨unya uygulamalarında kullanma konusunda beklentileri y¨ukseltmi¸stir.

YSA’ların yaygın olarak benimsenmesiyle beklenen faydalara ra˘gmen, onların g¨uvenlik ¨oncelikli sistemlerde kullanımı, y¨uksek g¨uvenilirlik derecesiyle nite-lendirilmelidir. G¨uvenlik ¨oncelikli alanlarda YSA’ların beklenen bir davranı¸stan veya do˘gru bir i¸slemden sapması durumunda insan hayatı tehlikeye girebilir veya ciddi finansal kayıplar ortaya ¸cıkabilir. Bu sebeple YSA tabanlı sistemlerin, sadece y¨uksek seviyelerde g¨uvenilirlik i¸cerdikten sonra serbest kullanımına izin verilmelidir [1].

Yazılım testi, yazılım sisteminin kalitesini analiz etmek ve de˘gerlendirmek i¸cin fiili bir ara¸ctır [6]. Test etme, hem erken davranarak problemleri (hataları) bulur ve bunları ortadan kaldırarak riski azaltır, hem de test sonu¸clarını kullanarak, sistemin gereken g¨uvenlik seviyesine ula¸sıp ula¸smadı˘gını kanıtlar.

YSA testi alanındaki son ¸calı¸smalarda, YSA’lar i¸cin ilgin¸c beyaz kutu ve siyah kutu test teknikleri ¨onerilmi¸stir [4, 8, 12, 13, 17, 19]. Bazı ¸calı¸smalar mutasyon ta-banlı sezgileri kullanarak e˘gitim verisini, hasım (adversarial) veriye ¸cevirmi¸s [25]; simgesel y¨ur¨utme [3], birle¸simsel [13] ya da concolic [19] test uygulamı¸sken, di˘gerleri n¨oron kapsamı [17] ve t¨urevlerini [11], De˘gi¸stirilmi¸s Ko¸sul / Karar Kapsamından (MC/DC) esinlenen bir kriter [18] gibi YSA’lara ¨ozg¨u kapsama kriterlerini ileri s¨urm¨u¸st¨ur. Bu son ilerlemeler, geneksel yazılım test tekniklerinin YSA testine direk olarak uygunlanamasa bile, bu tekniklerin arkasında yatan karma¸sık konseptlerin e˘ger do˘gru uygulanırsa, makine ¨o˘grenmesi alanında kul-lanı¸slı olabilece˘gini kanıtlamı¸stır. Bununla beraber, ¨onerilen tekniklerin hi¸cbiri, hatalı davranı¸slardan en ¸cok sorumlu olan sistem b¨olgelerini tespit eden hata konumlandırmayı [24] kullanmamaktadır.

Bu makalede, ileri beslemeli bir YSA’yı, bir programlama dili ile ifade eden, YSA’nın kaynak kodunu olu¸sturduktan sonra bir yazılım m¨uhendisli˘gi aracı ile analizini yapan, YSA’nın hatalı davranı¸sında daha b¨uy¨uk pay sahibi olan ¸s¨upheli n¨oronları tespit eden ve do˘gru sınıflandırılmı¸s girdileri kullanarak, tespit edilen ¸s¨upheli n¨oronları harekete ge¸ciren yeni girdiler sentezleyebilen ¸calı¸smamızı sunaca˘gız. Kusurlu yazılımı girdi olarak alıp, ¸cıktı olarak ¸s¨upheli kod b¨olgelerinin sıralanmı¸s listesini veren geleneksel hata konumlandırmaya [24] benzer ¸sekilde, y¨ontemimiz, e˘gitilmi¸s bir YSA’nın n¨oronlarının davranı¸slarını analiz ederek on-ların isabet izgelerine ula¸sır ve ¸s¨uphelilik ¨ol¸c¨utlerinden faydalanarak ¸s¨upheli n¨oronları tespit eder. S¸¨uphelilik g¨ud¨uml¨u test girdisi ¨uretme algoritmamız, do˘gru sınıflandırılmı¸s girdileri modifiye ederek ¸s¨upheli n¨oronlar i¸cin y¨uksek akti-vasyon de˘gerlerine ula¸san yeni girdiler sentezler. Pop¨uler ve genel kullanıma a¸cık MNIST [10] veri k¨umesi ¨uzerinde yaptı˘gımız ampirik de˘gerlendirme, yeteriz a˘g performansından sorumlu olan ¸s¨upheli n¨oronların y¨ontemimiz tarafından tespit edilebildi˘gini kanıtlamı¸stır. Ayrıca y¨ontemimiz, tespit edilen ¸s¨upheli n¨oronların aktivasyon de˘gerlerini arttıran yeni girdiler sentezleyebilir. Bu girdiler ¸co˘gunlukla hasım girdiler olmaktadır.

(3)

Genel olarak, bu makaledeki katkılarımız ¸s¨oyle sıralanabilir:

– ˙Ileri beslemeli YSA’ları, Java kaynak koduna ¸ceviren bir y¨ontem ¨onerdik.

– ¨Uretilen kod ¨uzerinde bir kod kapsamı aracı ¸calı¸stırarak YSA’larda hata konumlandırma tekni˘gi sunduk.

– Konumlandırılan hatalı YSA elemanlarını (n¨oronlar) y¨uksek aktivasyon de˘gerleri ile ¸calı¸stıran yeni girdiler sentezledik.

– Y¨ontemimizin ge¸cerlili˘gini ve etkisini, genel kullanıma a¸cık MNIST veri k¨umesi ¨uzerinde kapsamlı bir ¸sekilde de˘gerlendirdik.

2

˙Ilgili C

¸ alı¸

smalar

YSA’ların Test Edilmesi ve Do˘grulanması. YSA’ların s¨ur¨uc¨us¨uz vasıtalar, insansız hava ara¸cları ve medikal resim analizi gibi bir ¸cok g¨uvenlik ¨oncelikli sis-temde kullanılmaya ba¸slanması ve bunun yanında YSA’ların hasım girdilere kar¸sı zayıf oldu˘gunun g¨osterilmesi [20] ara¸stırmacıları yazılım m¨uhendisli˘gi alanında geli¸stirilmi¸s olan yazılım test ve do˘grulama tekniklerini YSA’ların g¨uvenilirli˘gini sa˘glamak i¸cin kullanmaya itmi¸stir [8, 11, 17]. Literat¨urde, bunlara ¨ornek olarak DeepXplore [17] yazılımdaki kapsama (ya da test yeterlili˘gi) kriterlerine ben-zer n¨oron kapsama kriteri ¨onerilmi¸stir. Bunun yanında, yazarlar, yazılımdaki ayrımsal test y¨ontemini ¨o˘grenme algoritmalarının bir kısıtı olan test kahini probleminin a¸sılması i¸cin sunmu¸stur. DeepGauge [11] n¨oron kapsaması kriterini geli¸stirerek yeni kapsam kriterleri sunmu¸stur. Bunların dı¸sında yazılımdaki meta-morfik test [21], mutasyon testi [12] ve concolic test [19] y¨ontemlerini YSA’lara uyarlayan ¸calı¸smalar bulunmaktadır.

Matematiksel YSA do˘grulaması g¨uvenilir YSA kararları i¸cin bir garanti sa˘glama gayesi g¨utmektedir [4]. Soyutlama arıtma (abstraction refinement) y¨ontemi Pulina ve ark. tarafından Sigmoid aktivasyonu kullanılan k¨u¸c¨uk ¨ol¸cekli YSA’ları do˘grulamak i¸cin kullanılmı¸stır. AI2 [2] ise do˘grulama i¸cin soyut yorum-lama (abstract interpretation) y¨ontemini kullanır ve daha b¨uy¨uk ¨ol¸cekli a˘glarda ¸

calı¸sabilir. Reluplex [7] SMT tabanlı bir y¨ontem ¨onererek ReLU aktivasyonlu YSA’ların ¨uzerinde belirli ¨ozelliklerin do˘grulanmasını sa˘glar. Son olarak DLV [22] b¨olgesel YSA sa˘glamlı˘gını do˘grulamak i¸cin formel bir y¨ontem ¨onerir.

Bizim bu ¸calı¸smada sundu˘gumuz YSA’lar i¸cin hata konumlandırma y¨ontemi, literat¨urdeki ¸calı¸smalara dikey olarak konumlanmaktadır.

Yazılımda Hata Konumlandırma. Hata konumlandırma, yazılım hata ayıklama

ve program onarma gibi bir¸cok yazılım m¨uhendisli˘gi alanında yaygın olarak ¸

calı¸sılmı¸s bir konudur. Hata konumlandırma ara¸stırmalarının odak noktası, m¨uhendislik eforlarını d¨u¸s¨urerek [16], yazılım hatalarının temel nedenini izole eden, tespit y¨ontemlerinin ve ¸s¨uphelilik ¨ol¸c¨utlerinin geli¸stirilmesidir. Bu ¸calı¸smada izge tabanlı hata konumlandırma y¨ontemlerinden faydalanılmı¸stır. ¨Onde gelen izge tabanlı hata konumlandırma y¨ontemlerinden bazıları ¸su ¸calı¸smalarda bulun-abilir [5, 9, 23].

(4)

3

Temel Bilgiler

3.1 Yapay Sinir A˘gları

S

¸ekil1. D¨ort katmandan olu¸san, tam ba˘glantılı, ileri beslemeli bir yapay sinir a˘gı. YSA’lar g¨u¸cl¨u hesaplama

kabiliyet-leriyle, son d¨onemlerin en ilgi duyu-lan konulardan birisi haline gelmi¸stir. YSA’ların bir¸cok ¸ce¸sidi olmakla bir-likte, en temel olanı ileri-beslemeli yapay sinir a˘glarıdır. ˙Ileri-beslemeli YSA, birbirine ba˘glı n¨oronlardan olu¸smaktadır. Derin ileri-beslemeli bir YSA’da bir tane girdi katmanı, bir tane ¸cıktı katmanı ve en az bir tane gizli katman bulunması gerekir. Her

katman, bir dizi n¨orona sahiptir. Her bir n¨oron ¸cıktısı, bir sonraki katmandaki n¨oronlara gitmeden ¨once, do˘grusal olmayan aktivasyon fonksiyonlarından ge¸cer. YSA’lar i¸cin en bilinen aktivasyon fonksiyonları; sigmoid, hyperbolic tangent (tanh), ReLU (Rectified Linear Unit) ve Leaky ReLU’dur. ReLU g¨un¨uzm¨uzde, di˘ger aktivasyon fonksiyonlarına g¨ore daha fazla kullanılmaktadır. ReLU ak-tivasyon fonksiyonu f pxq “ maxp0, xq, n¨oron ¸cıktısı ve sıfır de˘geri arasından maksimum olanı se¸cer. ReLU aktivasyon fonksiyonunun modifiye edilmi¸s versiy-onu olan Leaky ReLU f pxq “ maxpα ˚ x, xq, negatif ¸cıktıları ¸cok k¨u¸c¨uk bir de˘ger ( ¨Orn. α “ 0.01) ile ¸carpar. Girdi katmanı hari¸c, di˘ger katmanlardaki n¨oronlar arasında ba˘glantılar vardır ve her ba˘glantının bir a˘gırlı˘gı vardır. YSA’ların n¨oronlar arasındaki a˘gırlıkları, e˘gitim (training) adı verilen periyot s¨uresince, geri yayılım (back propagation) adı verilen bir algoritma ile belirlenmektedir.

3.2 Yazılım Hata Konumlandırması

Yazılım Hata Konumlandırması (YHK), hata i¸cerme olasılı˘gı y¨uksek olan kaynak kodu elemanlarını ( ¨Orn. komutlar,bildirimler) tespit etmeye yarayan bir beyaz kutu test tekni˘gidir. Geleneksel yazılımlar i¸cin YHK s¨ureci, girdi olarak, test edilen sisteme kar¸sılık gelen P programını ve T test k¨umesini alır. Daha sonra, P ’yi, T ’ye kar¸sı test eden hata konumlandırması (HK) tekni˘ginden yararlanarak, ba¸sarılı olan ve hata veren testleri temsil eden alt k¨umeleri belirler. Bu alt k¨umeleri ve p P P program elemanlarını kullanan HK tekni˘gi, hata tespit verisini bulur ve bu veri daha sonra HK tarafından, her bir p program elamanının ¸s¨uphelili˘gini ¨ol¸cmek i¸cin kullanılır. En ¸cok kullanılan HK tekni˘gi olan izge-tabanlı HK, ba¸sarılı ve ba¸sarısız test i¸slemlerinin program izlerini kullanarak, p program elemanı i¸cin (es, ef, ns, nf) listesini olu¸sturur. esve ef (nsve nf) de˘gerleri, verilen test edilmi¸s (veya edilmemi¸s) program elamanının, sırasıyla ka¸c defa ba¸sarılı ve ba¸sarısız oldu˘gunu ifade eder. ˙Izge-tabanlı HK ¨ol¸c¨ut¨u, olu¸sturulan listeyi alarak, program elemanlarını, azalan ¸s¨uphelilik derecelerine g¨ore sıralar. B¨oylece yazılım m¨uhendisleri, program elemanlarını kontrol edebilir ve hataları etkili bir ¸sekilde bulabilir.

(5)

S¸ekil2.Akı¸s S¸eması

4

ontem

Bu kısımda, yapay sinir a˘glarının, Java programlama dili ile ifade edilmesini, bir yazılım m¨uhendisli˘gi aracı kullanarak, elde edilen kod ¨uzerinden ¸s¨upheli n¨oronların nasıl tespit edilebilece˘gini ve tespit edilen ¸s¨upheli n¨oronlar vasıtasıyla orijinallerine ¸cok yakın hasım girdi elde etmeyi g¨osteren bir y¨ontem sunaca˘gız.

S

¸ekil 2, y¨ontemimizin akı¸s ¸semasını g¨ostermektedir. ˙Ilk olarak, daha ¨onceden e˘gitilmi¸s olan yapay sinir a˘gı, geli¸stirdi˘gimiz algoritma ile Java kaynak ko-duna ¸cevrilmi¸stir. Bu y¨ontem ile elde edilmi¸s kaynak kod ¨uzerinden bir yazılım m¨uhendisli˘gi aracı kullanılarak, yapay sinir a˘gına verilen bir girdi i¸cin, her bir n¨oronun aktive olup olmadı˘gını tespit edilmi¸stir. Elde etti˘gimiz n¨oron aktivasyon bilgileri, daha sonra, verilen yapay sinir a˘gının ¸s¨upheli n¨oronlarını tespit etmemizi sa˘glayan yazılım m¨uhendisli˘gi ¨ol¸c¨utlerinin hesaplanmasında kullanıldı. S¸¨upheli n¨oronları tespit etmemiz, daha ¨once do˘gru sınıflandırılmı¸s olan girdileri, ¸s¨upheli n¨oronların aktivasyon de˘gerlerini artıracak ¸sekilde modifiye edip, yapay sinir a˘gını kandırabilen hasım girdiler elde etmemizi sa˘gladı.

Y¨ontemimizi a¸cıklamak i¸cin kullanaca˘gımız notasyonlar ¸su ¸sekildedir: N , l tane katmana sahip bir YSA’dır. Her bir katman Li, si tane n¨oron i¸cermektedir. (0 ă“ i ă l) N¨oron nij, katman Li’deki j’ninci sıradaki n¨oronu temsil etmektedir. Wi, (0 ă“ i ă l), YSA N ’nin Li katmanındaki a˘gırlıkları ifade etmektedir. YSA N ’nin her katmanı i¸cin, n¨oron aktivasyon de˘gerlerini tutan aktivasyon listeleri vardır. ¨Orne˘gin Act1 ilk katmandaki, Actl ise en son katmana ait n¨oron akti-vasyon de˘gerlerini tutmaktadır. Herhangi bir katmana ait aktivasyon listesinden, o katmandaki herhangi bir n¨oronun aktivasyon de˘gerine ula¸sılabilir. ¨Orne˘gin, ikinci katmandaki onuncu n¨oronun aktivasyon de˘geri Act2,10 elemanına bakılarak bulunabilir.

4.1 Yapay Sinir A˘gının Java Programlama Dili ˙Ile ˙Ifade Edilmesi

Bu kısımda, yapay sinir a˘glarını, n¨oronların aktive olma durumunu kontrol ede-bilece˘gimiz bir ¸sekilde, Java programlama dili ile nasıl ifade etti˘gimizi g¨osterece˘giz. Temel olarak bir n¨oronu, aktivasyon de˘geri belirli bir sınırın ¨uzerinde ise aktif, de˘gilse inaktif olarak kabul ediyoruz. Her bir n¨oron i¸cin iki dalı olan bir dallanma mekanizması kullanmak ve dallanma kapsamı analizi (branch coverage) yapa-bilen bir yazılım m¨uhendisli˘gi aracını bu sistem ¨uzerinde ¸calı¸stırmamız sayesinde,

(6)

verilen bir girdi i¸cin yapay sinir a˘gındaki t¨um n¨oronların aktivasyon durumuna ula¸sabildik.

Yapay sinir a˘glarında en ¸cok kullanılan aktivasyon fonksiyonlarından ReLU (Rectified Linear Unit) ve Leaky ReLU, bize istedi˘gimiz iki dalı olan dallanma mekanizmasını sa˘glayabildi. Bu aktivasyon fonksiyonları, ko¸sullu yapılarından dolayı, dallanma talimatları (instruction) olarak yazılabilir. Bu durumda ReLU’ya kar¸sılık gelen talimat, if px ą 0q then return x else return 0, ve Leaky ReLU’ya kar¸sılık gelen talimat ise, if px ą 0q then return x else return α ˚ x, olacaktır. S¸ekil 3’de bir YSA’daki iki n¨oron ve onların aktivasyon fonksiyonlarına kar¸sılık gelen ¨ornek bir kod blo˘gu g¨osterilmi¸stir.

S¸ekil3. Katman Li’ye ait iki n¨oron; ni,j ve ni,j`1 (solda). Bu iki n¨oronun ReLU

aktivasyon fonksiyonlarını ifade eden kod blo˘gu (sa˘gda).

Bir katmana ait sıralı if dizisi, o katmandaki son n¨oronun aktivasyon fonksiy-onunu ifade eden if ile biter. Bir sonraki katmandaki (Li`1) n¨oron aktivasyon fonksiyonlarını ifade eden if dizisine ge¸cmeden ¨once, bu katmanın aktivasyon listesi olan Acti`1’in olu¸sturulması gerekmektedir. Acti`1’in ba¸slangı¸c de˘gerleri, Acti ile Wi`1’in skaler ¸carpımı ile bulunur. Bu durumda katman Li`1’in akti-vasyon listesi, Acti`1“ Acti¨ Wi`1, olarak ba¸slatılmı¸s olur. Acti`1’i ba¸slattıktan sonra, Li`1’e ait if dizisini olu¸sturabiliriz.

JaCoCo, Java programlama dili i¸cin geli¸stirilen ve satır, dallanma kapsamı gibi ¨ol¸c¨utleri analiz etmemizi sa˘glayan a¸cık kaynak kodlu bir yazılım projesidir. JaCoCo, verilen kod ¨uzerinde analiz yaptıktan sonra kod kapsamı raporları ¨

uretebilmektedir. JaCoCo’yu, ¨uretilen yapay sinir a˘gı kodu ¨uzerinde ¸calı¸stırdık. ¨

Uretilen raporu otomatik olarak analiz edebilen bir betik ile dallanma kapsamı bilgisine ula¸stık. Bu betik ile, n¨oron aktivasyon fonksiyonlarını ifade eden her bir if deyiminin kapsanıp kapsanmadı˘gına bakıyoruz. E˘ger bir if deyimi kapsanmı¸ssa, bunun anlamı, ilgili n¨oronun aktivasyon de˘gerinin sıfırdan k¨u¸c¨uk olmasıdır ve dolayısıyla bu n¨oron inaktifdir. ¨Ote yandan, e˘ger bu if deyimi kapsanmamı¸ssa, bu n¨oron aktiftir. Bu kısımda n¨oron aktivasyon durumlarını tespit etmemiz, bir sonraki kısımda ¸s¨upheli n¨oronları tespit etmemize yardımcı oldu.

(7)

Tablo1.S¸¨uphelilik ¨Ol¸c¨utleri S¸ ¨uphelilik ¨Ol¸c¨ut¨u Cebirsel Form¨ul

Tarantula [5]: attrafn{pattrafn`attrnnfq

attraf

n{pattrafn`attrnnfq`attrasn{pattrnas`attrnsnq

Ochiai [15]: ? attrafn

pattraf

n`attrnnfq¨pattrafn`attrnasq

D* [23]: attrnaf˚

attras n`attrnnf

˚ ą 0 bir de˘gi¸skendir. En yaygın de˘gerlerden biri olarak ˚ “ 3 kullandık. [16, 24].

4.2 S¸ ¨upheli N¨oronların Tespit Edilmesi

Bu kısımda, bir ¨onceki kısımda elde edilen n¨oron aktivasyon durumlarından da faydalanılarak, YSA’nın yetersiz performans g¨ostermesine neden olan ¸s¨upheli n¨oronlar tespit edilmi¸stir. S¸¨upheli n¨oronların tespiti, her bir n¨oron i¸cin ¸s¨uphelilik skoru hesaplayan bir ¸s¨uphelilik ¨ol¸c¨ut¨u kullanılarak yapılmı¸stır. Bir n¨oron i¸cin ¸s¨uphelilik skorunun y¨uksek ¸cıkması, o n¨oronun tatmin edici bir ¸sekilde e˘gitilmedi˘ginin bir g¨ostergesidir ve bu n¨orona ait a˘gırlıkların tekrar ayarlanmaya ihtiya¸c duydu˘gunu ifade eder.

S

¸¨upheli n¨oronların tespiti, bir n¨oronun i¸slem modelini yakalayan niteliklerin olu¸sturulmasıyla ba¸slar. Bu nitelikler ¸su ¸sekilde tanımlanmı¸stır: attrasn ve attrafn sırasıyla, n¨oron n’nin ka¸c defa aktif oldu˘gunu (aktivasyon fonksiyonunun ¸cıktısının, φpt, nq, belirlenmi¸s bir sınır de˘gerinden y¨uksek olması) ve YSA’nın ka¸c defa ba¸sarılı ve hatalı karar verdi˘gini ifade eder. Benzer ¸sekilde, attrns

n ve attrnnf, n¨oron n’nin aktif olmadı˘gı durumları kapsar. YSA’nın gizli katmanlarındaki n¨oronların davranı¸sları, belirli bir T test k¨umesi i¸cin, analiz edilerek, her n¨oron i¸cin ˙Isabet ˙Izgesi (II) bir araya getirilir. ˙Isabet izgesi her bir n¨oronun verilen test k¨umesindeki, aktivasyon de˘gerleri a¸cısından davranı¸sını ¨ozetleyen bir listedir.

Tanım 1. N bir YSA ve T bir test k¨umesi olmak ¨uzere, herhangi bir n¨oron n’nin (n P NH) isabet izgesini g¨osteren liste ¸su ¸sekilde ifade edilir: IIn “ pattrasn, attrnaf,

attrns

n , attrnfnq.

Her n¨oronun II de˘gerlerinin toplamı T test k¨umesinin b¨uy¨ukl¨u˘g¨une e¸sit olmalıdır.

Tanım 2. IIn, verilen bir n¨oron n’nin (n P NH) isabet izgesi olmak ¨uzere, bir n¨oronun izge-tabanlı ¸s¨uphelili˘gi S¸ ¨upheHesaplan: IInÑR fonksiyonu ile tespit edilir.

Bu makalede ¨u¸c farklı ¸s¨uphelilik ¨ol¸c¨ut¨u kullandık. (Tarantula [5], Ochiai [15] ve D* [23]) Bu ¨ol¸c¨utlerin tanımları Tablo 1’de verilmi¸stir. Bu ¸s¨uphelilik ol¸c¨utlerinin altında yatan prensip, YSA’nın yanlı¸s karar verdi˘gi test girdileri i¸cin bir n¨oron ne kadar sık aktive edilmi¸sse, bu n¨oron, YSA’nın do˘gru karar verdi˘gi test girdileri i¸cin daha az sıklıkta aktif olur ve daha ¸s¨uphelidir.

Algoritma 1 genel hatlarıyla, YSA’daki k tane en ¸s¨upheli n¨oronu tespit etmeye ve se¸cmeye yarayan adımları g¨ostermektedir. ˙Ilk olarak, bahsi ge¸cen YSA’dan Java kaynak kodu ¨ureten KaynakKodu ¨Uret fonksiyonu ¸ca˘grılır. JacocoAnal˙ız˙ı fonksiyonu, ¨uretilen kaynak kodunu ve test k¨umesini kullanarak,

(8)

Algorithm 1 S¸¨upheli N¨oronların Tespit Edilmesi Girdiler:

N : Yapay Sinir A˘gı, T : Test K¨umesi , k: S¸¨upheli N¨oron Sayısı C¸ ıktılar:

SN : S¸¨upheli N¨oron Listesi

1: S Ð H Ź ¸s¨uphelilik vekt¨or¨u

2: N1“KaynakKodu ¨UretpN q Ź YSA N ’den kaynak kod ¨uret 3: AT “JacocoAnal˙ız˙ıpT , N1q Ź t¨um n¨oronların aktivasyonlarını hesapla 4: Her bir n P N i¸cin:

5: IInÐ H Ź n¨oron n’nin isabet izge vekt¨or¨u

6: Her bir p P tas, af, ns, nf u i¸cin:

7: ap

n“N˙ıtel˙ıkHesaplapA T

n, pq Ź n¨oron n’nin p niteli˘gini hesapla

8: IInÐ IIn Y tapnu Ź niteli˘gi ˙Isabet ˙Izgesi’ne (bkz. Tan. 1) ekle

9: S Ð S Y tS¸ ¨upheHesaplapIInqu Ź ¸s¨uphelilik skorunu hesapla (bkz. Tan. 2)

10: SN Ð tn|S¸ ¨upheHesaplapIInq P Sec¸pS, kqu Ź en ¸s¨upheli k tane n¨oronu se¸c YSA’daki her bir n¨oronun, t¨um test girdisi (T ) ¨uzerindeki aktivasyon bilgisini tutan AT dizisini hesaplar. Ardından YSA’daki her n¨oronun isabet izgesini ifade eden listenin olu¸sturulması gerekmektedir. Bu ama¸cla N˙ıtel˙ıkHesapla fonksiyonu; her n¨oron n ve bu n¨oronun her bir p niteli˘gi i¸cin, bu n¨orona ait aktivasyon bilgisi ATn’yı da kullanarak, nitelik p’nin de˘gerini hesaplar. N¨oron n’ye ait t¨um nitelik de˘gerlerinin hesaplanmasıyla, bu n¨orona ait isabet izgesi IIn olu¸sturulmu¸s olur. S¸ ¨upheHesapla fonksiyonu, olu¸sturulan isabet izgesini ve Tarantula vb. ¸s¨uphelilik ¨ol¸c¨utlerini kullanarak, bu n¨oronun ¸s¨uphelilik skorunu hesaplar. Her bir n¨oron i¸cin elde edilen bu ¸s¨uphelilik skoru, algoritmanın sonunda, k tane en ¸s¨upheli n¨oronu se¸cmek i¸cin kullanılacaktır. E˘ger birden ¸cok n¨oron aynı ¸s¨uphelilik skorunu elde ederse, algoritma derin katmanlardaki (¸cıktı katmanına yakın olan katmanlar) n¨oronlara ¨oncelik verir. Bunun nedeni, derin katmanlardaki n¨oronların, girdi uzayının daha mantıklı temsillerini ¨o˘grenebilmesidir.

4.3 S¸ ¨uphelili˘ge Dayalı Girdi Sentezi

Bu kısımda, en ¸s¨upheli k tane n¨oronun se¸cilmesinden sonra, bu n¨oronları aktive eden hasım girdi sentezlenmesini g¨osterece˘giz. Girdi sentezlenmesinin altında yatan neden, ¸s¨upheli n¨oronların aktivasyon de˘gerlerinin arttırılmasıyla, bu n¨oronlar tarafından t¨um sinir a˘gı boyunca hesaplanan bozulmu¸s bilgilerin yayılması ve b¨oylece YSA’nın karar sınırının kaymasına neden olmaktır. Buna ula¸smak i¸cin, YSA’nın do˘gru sınıflandırma yaptı˘gı test k¨umesinden alınan test girdilerine, hedefli modifikasyon yapılır ve b¨oylece YSA’nın kararını farklı bir b¨olgeye ¸cekmek ama¸clanır.

S

¸¨upheli n¨oronların aktivasyon de˘gerlerini arttırmak i¸cin do˘gru sınıflandırılmı¸s girdilerin ne kadar de˘gi¸stirilece˘gini belirlemeyi ama¸clayan girdi sentezleme s¨ureci, gradyan ¸cıkı¸sı algoritması ile desteklenir. YSA tarafından do˘gru sınıflandırılmı¸s her bir test girdisi t P Tsi¸cin, ¸s¨upheli n¨oronların de˘gerleri ve gradyanları alınır. Bu gradyan de˘gerleri t girdisine uygulanarak yeni girdi elde edilir. Fakat yeni girdinin orijinal girdiden ¸cok farklı olmaması i¸cin belli kısıtlar konulur.

(9)

¨

Orne˘gin, bir imge sınıflandırma veri k¨umesi i¸cin bu kısıtlama, sentezlenen imgelerin piksel de˘gerlerini belirli bir aralıkta tutmak olabilir. ( ¨Orn. MNIST veri k¨umesi i¸cin 0 ´ 1 arasında)

De˘gerlendirme kısmında, ¸s¨uphelilik ¨ol¸c¨utlerinin, YSA’nın daha ¨once do˘gru sınıflandırdı˘gı girdileri yanlı¸s sınıflandırmasına yol a¸can hasım girdileri ¨uretibildi˘gini g¨orece˘giz. Bu durum, tespit edilen ¸s¨upheli n¨oronların, yetersiz YSA perfor-mansında b¨uy¨uk rol oynadı˘gını g¨osterir.

5

De˘

gerlendirme

Bu kısımda, bu makalede sunulan tekniklerin, yapay sinir a˘gları i¸cin izge tabanlı hata konumlandırmada ne kadar ba¸sarılı oldu˘gunu g¨osterdik. Deneylerimizde kullandı˘gımız MNIST, 60,000 e˘gitim ve 10,000 test ¨orne˘gine sahip el yazısı rakam veri k¨umesidir. Her girdi 28x28 pikselli imgedir ve sınıf etiketi 0-9 arasındadır.

Deneylerimizi sırasıyla, 5 katmana (her katmanda 30 n¨oron), 6 katmana (her katmanda 25 n¨oron) ve 8 katmana (her katmanda 20 n¨oron) sahip ¨u¸c farklı YSA ile yaptık. Her YSA, farklı mimari ve e˘gitilebilir parametre sayısına sahip olmakla beraber, tam ba˘glantılı katmanlardan olu¸smaktadır. Her YSA, aktivasyon fonksiyonu olarak Leaky ReLU [14] kullanır (α “ 0.01). Fakat y¨ontemimiz di˘ger aktivasyon fonksiyonları ile de ¸calı¸sabilmektedir.

De˘gerlendirmemizi, Tarantula [5], Ochiai [15] ve D* [23] ¸s¨uphelilik ¨ol¸c¨utleri ¨

uzerinde yaptık ve y¨ontemimizin etkisini, farklı sayıda ¸s¨upheli n¨oronlar (k P t1, 2, 3, 5, 10u) kullanarak g¨ozlemledik. 4.3 kısmında belirtilen gradyan de˘gerlerini, ger¸cek¸ci girdiler sentezlemek i¸cin, orijinal girdinin maksimum piksel de˘gerinin en fazla %10’u (L8) olacak ¸sekilde kısıtladık. Tablo 3’te g¨osterildi˘gi gibi sentezlenen girdiler, orijinal girdilere ¸cok benzerdir.

5.1 Ara¸stırma Soruları

A¸sa˘gıdaki ara¸stırma sorularını, deneylerimiz ile cevaplandırmaya ¸calı¸saca˘gız.

AS1 (Onaylama): Tekni˘gimiz, ¸s¨upheli n¨oronları etkili bir ¸sekilde bulabiliyor mu?

AS2 (Kar¸sıla¸stırma): Farklı ¸s¨uphelilik ¨ol¸c¨utleri ¸s¨upheli n¨oronları bulmada ne kadar etkilidir?

AS3 (Benzerlik): Sentezlenen girdiler ne kadar ger¸cek¸cidir?

5.2 Ara¸stırma Sonu¸cları

AS1 (Onaylama). Tekni˘gimizi, de˘gerlendirmemizde kullandı˘gımız 3 farklı YSA’ya uyguladık. S¸¨uphelilik ¨ol¸c¨utlerimizden birini se¸cerek, verilen bir test k¨umesi T i¸cin, daha ¨onceden e˘gitilmi¸s olan YSA’yı Java kodunu ¸cevirerek, JaCoCo aracı ile analiz ettik ve en y¨uksek ¸s¨uphelilik skoruna sahip k tane n¨oronu belirleyerek, do˘gru sınıflandırılmı¸s girdilerden, ¸s¨upheli n¨oronların aktivasyonlarını arttıran yeni girdiler sentezledik. Daha sonra, standart performans ¨ol¸c¨utlerinden olan ¸

capraz-entropi kaybını (cross-entropy loss) (¸cıktı ve hedef da˘gılımları arasındaki fark) ve do˘gruluk skorunu (t¨um girdiler i¸cinde do˘gru sınıflandırılanların y¨uzdesi) kullanarak, YSA’nın sentezlenen girdiler ¨uzerindeki tahmin performansını ¨ol¸ct¨uk. YSA analizinin her sınıfa ¨ozel oldu˘gu unutulmamalıdır. Bunun nedeni, aynı sınıfa ait girdilerin aktivasyon modellerinin birbirleriyle benzer olmasıdır.

(10)

Tablo 2, y¨ontemimizin MNIST veri k¨umesinde, Tarantula (T), Ochiai (O), DStar (D) ve rastegele (random) se¸cme stratejisi kullanarak, farklı sayılarda (k) ¸s¨upheli n¨oronlar i¸cin, ortalama kayıp ve do˘gruluk miktarlarını g¨ostermektedir. Tablo 2’teki her bir de˘ger, rastgele R hari¸c, 100 tane sentezlenmi¸s girdi (sınıf ba¸sına 10 tane) ¨uzerinden ortalama alınarak bulunmu¸stur. R i¸cin, 5 farklı denemede, 500 tane sentezlenmi¸s girdi (sınıf ba¸sına 50 tane) toplanarak, bulgularımızın ¸sans yardımıyla elde edilmi¸s olma riski d¨u¸s¨ur¨ulm¨u¸st¨ur.

Tablo2.MNIST veri k¨umesinden sentezlenen girdilerin do˘gruluk ve kayıp de˘gerleri. S¸¨uphelilik ¨ol¸c¨ut¨u ba¸sına en iyi sonu¸clar, kalın rakamlarla g¨osterilmi¸stir. (k:#¸s¨upheli n¨oronlar, T:Tarantula, O:Ochiai, D:D*, R:Rastgele)

k Ol¸¨c¨ut MNIST 1 MNIST 2 MNIST 3

T O D R T O D R T O D R 1 Kayıp 3.55 6.19 4.03 2.42 3.48 3.53 3.97 2.78 7.35 8.23 6.36 3.66 Do˘gruluk 0.26 0.16 0.2 0.59 0.3 0.2 0.5 0.49 0.16 0.1 0.13 0.39 2 Kayıp 3.73 6.08 3.18 2.67 3.12 3.76 4.08 0.9 4.27 6.81 6.5 3.06 Do˘gruluk 0.16 0.23 0.4 0.58 0.23 0.23 0.13 0.77 0.29 0.13 0.26 0.56 3 Kayıp 4.1 6.19 6.25 1.14 2.39 3.94 3.04 1.61 3.33 7.59 6.98 2.91 Do˘gruluk 0.23 0.23 0.33 0.77 0.46 0.26 0.23 0.67 0.26 0.06 0.16 0.61 5 Kayıp 4.63 6.68 6.97 1.1 2.49 3.64 3.48 0.94 4.15 7.22 6.47 1.22 Do˘gruluk 0.23 0.23 0.13 0.79 0.26 0.26 0.2 0.73 0.16 0.1 0.26 0.77 10 Kayıp 4.97 6.95 7.4 1.3 2.08 3.06 3.82 0.49 4.45 7.16 5.9 0.57 Do˘gruluk 0.23 0.2 0.23 0.75 0.4 0.23 0.26 0.86 0.13 0.13 0.13 0.87

Beklenildi˘gi gibi, herhangi bir ¸s¨uphelilik ¨ol¸c¨ut¨u (T, O, D) ile ¸calı¸san y¨ontemimiz, R’ye kıyasla, ¸cok daha d¨u¸s¨uk tahmin performansı vermi¸stir. Bu sonu¸clar g¨osteriyor ki, tespit edilen k tane n¨oron, ger¸cekten ¸s¨uphelidir ve daha ¨once do˘gru sınıflandırılan girdileri, bu n¨oronların aktivasyon de˘gerlerini arttıracak ¸sekilde modifiye etmek, onları hasım girdilerine ¸cevirebilmektedir.

AS2 (Kar¸sıla¸stırma). Y¨ontemimizde kullandı˘gımız farklı ¸s¨uphelilik ¨ol¸c¨utleri i¸cin, Mann-Whitney testinden yararlanarak, ikili kar¸sıla¸stırmalar yaptık. Ochiai metri˘ginin farklı k de˘gerleri i¸cin, di˘gerlerine kıyasla, daha iyi sonu¸clar elde etti˘gini g¨ozlemledik. Bu sonu¸c bize g¨osteriyor ki, Ochiai tarafından belirlenen ¸s¨upheli n¨oronlar, YSA’nın yetersiz performansında, daha fazla pay sahibidir. Bulgularımız, ¸ce¸sitli ¸s¨uphelilik ¨ol¸c¨utlerinin, y¨ontemimizde kullanılabilece˘gini ve ba¸sarılı performanslar g¨osterebilece˘gini g¨osterdi.

AS3 (Benzerlik). Y¨ontemimizin ger¸cek¸ci girdi ¨uretme becerisini g¨ozlemleyebilmek i¸cin, do˘gru sınıflandırı¸smı¸s, orijinal girdiler ile sentezlenen girdiler arasındaki uzaklı˘gı inceledik. Orijinal ve sentezlenen girdiler arasındaki uzaklık, ¸ce¸sitli uzaklık ¨ol¸c¨utleri (L1 Manhattan, L2 Euclidean, L8 Chebyshev) kullanılarak hesaplanmı¸stır. Tablo 3’te farklı ¸s¨uphelilik ¨ol¸c¨utleri i¸cin, orijinal girdiler ile sente-zlenen girdiler arasındaki uzaklı˘ga baktık. T, O ya da D˚ kullanılarak sentezlenen girdiler, rastgele se¸cim stratejisi (L1uzaklı˘gı) ile elde edilen girdilere ¸cok yakındır. [0,1] aralı˘gı arasından de˘ger olan 784 tane pikselden olu¸san bir MNIST girdisi i¸cin, girdi ba¸sına ortalama sarsım miktarı, toplam m¨umk¨un olsan sarsım mik-tarının %5.28’inden k¨u¸c¨ukt¨ur (L1 uzaklı˘gı). Dolayısıyla, sentezlenen girdiler ile onların orijinal versiyonları arasındaki farklılık ¸cok azdır. Bu sonu¸cları d¨u¸s¨unerek,

(11)

y¨ontemimizin, orijinallerine ¸cok benzeyen hasım girdiler ¨uretme konusunda ba¸sarılı oldu˘gunu s¨oyleyebiliriz.

Tablo3.Sentezlenen girdiler ile orijinal girdiler arasındaki uzaklık. Uzaklık ¨Ol¸c.

S¸ ¨uphelilik ¨Ol¸c¨ut¨u L1 L2 L8

Tarantula 40.3 1.97 0.1 Ochiai 41.0 1.98 0.1 DStar 41.5 1.99 0.1 Random 39.2 1.92 0.1

6

Sonu¸

c

YSA’ların g¨uvenlik ¨oncelikli sistemlerde kullanılmaya ba¸slaması, kabul edilemez riskleri de beraberinde getirmektedir. Bu riskleri minimum seviyelere indire-bilmek i¸cin, YSA’ların derinlemesine test edilmesi, kritik ¨onem ta¸sımaktadır. Bu makalede, bu ¸cabaya katkıda bulumak adına, daha ¨onceden e˘gitilmi¸s, ileri beslemeli yapay sinir a˘glarını Java kaynak koduna ¸cevirdikten sonra JaCoCo kod kapsamı aracını ¸calı¸stırıp, her n¨oronun isabet izgesine ula¸san, ¸s¨uphelilik ¨

ol¸c¨utleri kullanarak ¸s¨upheli n¨oronları tespit eden ve ¸s¨upheli n¨oronların akti-vasyon de˘gerlerini arttırarak yeni girdiler sentezleyen tekni˘gimizden bahsettik. En ¸cok kullanılan veri k¨umelerinden MNIST’i kullanarak yaptı˘gımız deneysel de˘gerlendirmelerimiz, yetersiz performansa neden olan n¨oronların, tekni˘gimiz sayesinde tespit edilebildi˘gini g¨ostermi¸stir. Tekni˘gimiz ayrıca, orijinaline ¸cok benzeyen, y¨uksek hasımlık ta¸sıyan ve tespit edilen ¸s¨upheli n¨oronları harekete ge¸ciren yeni girdiler yaratmamıza olanak sa˘glamı¸stır. Gelecekte, tekni˘gimizi farklı YSA’lar ve veri k¨umeleri ¨uzerinde denemeyi ve ¸s¨uphelilik-g¨ud¨uml¨u sentezleme algoritmamızı geli¸stirmeyi planlıyoruz. Ayrıca, tespit edilen ¸s¨upheli n¨oronları onarabilen teknikleri ke¸sfetmeye ¸calı¸saca˘gız.

Kaynak¸

ca

1. Burton, S., Gauerhof, L., Heinzemann, C.: Making the case for safety of machine learning in highly automated driving. In: Computer Safety, Reliability, and Security. pp. 5–16 (2017)

2. Gehr, T., Mirman, M., Drachsler-Cohen, D., Tsankov, P., et al.: AI2: Safety and robustness certification of neural networks with abstract interpretation. In: IEEE Symposium on Security and Privacy (S&P). pp. 1–16 (2018)

3. Gopinath, D., Wang, K., Zhang, M., Pasareanu, C.S., Khurshid, S.: Symbolic execution for deep neural networks. In: arXiv preprint arXiv:1807.10439 (2018) 4. Huang, X., Kwiatkowska, M., Wang, S., Wu, M.: Safety verification of deep neural

networks. In: International Conference on Computer Aided Verification (CAV). pp. 3–29 (2017)

5. Jones, J.A., Harrold, M.J.: Empirical evaluation of the tarantula automatic fault-localization technique. In: IEEE/ACM International Conference on Automated Software Engineering (ASE). pp. 273–282 (2005)

6. Jorgensen, P.C.: Software testing: a craftsman’s approach. Auerbach Publications (2013)

(12)

7. Katz, G., Barrett, C., Dill, D.L., Julian, K., Kochenderfer, M.J.: Reluplex: An efficient SMT solver for verifying deep neural networks. In: International Conference on Computer Aided Verification (CAV). pp. 97–117 (2017)

8. Kim, J., Feldt, R., Yoo, S.: Guiding deep learning system testing using surprise adequacy. In: arXiv preprint arXiv:1808.08444 (2018)

9. Landsberg, D., Chockler, H., Kroening, D., Lewis, M.: Evaluation of measures for statistical fault localisation and an optimising scheme. In: International Conference on Fundamental Approaches to Software Engineering (FASE). pp. 115–129 (2015) 10. LeCun, Y.: The MNIST database of handwritten digits. http://yann. lecun.

com/exdb/mnist (1998)

11. Ma, L., Juefei-Xu, F., Zhang, F., Sun, J., et al.: DeepGauge: Multi-granularity testing criteria for deep learning systems. In: IEEE/ACM International Conference on Automated Software Engineering (ASE) (2018)

12. Ma, L., Zhang, F., Sun, J., Xue, M., et al.: DeepMutation: Mutation testing of deep learning systems. In: IEEE International Symposium on Software Reliability Engineering (ISSRE) (2018)

13. Ma, L., Zhang, F., Xue, M., Li, B., et al.: Combinatorial testing for deep learning systems. In: arXiv preprint arXiv:1806.07723 (2018)

14. Maas, A.L., Hannun, A.Y., Ng, A.Y.: Rectifier nonlinearities improve neural network acoustic models. In: International Conference on Machine Learning (ICML). vol. 30, p. 3 (2013)

15. Ochiai, A.: Zoogeographic studies on the soleoid fishes found in japan and its neighbouring regions. Bulletin of Japanese Society of Scientific Fisheries 22, 526– 530 (1957)

16. Pearson, S., Campos, J., Just, R., Fraser, G., et al.: Evaluating and improving fault localization. In: International Conference on Software Engineering (ICSE). pp. 609–620 (2017)

17. Pei, K., Cao, Y., Yang, J., Jana, S.: DeepXplore: Automated whitebox testing of deep learning systems. In: Symposium on Operating Systems Principles (SOSP). pp. 1–18 (2017)

18. Seshia, S.A., Desai, A., Dreossi, T., Fremont, D.J., Ghosh, S., Kim, E., Shivakumar, S., Vazquez-Chanlatte, M., Yue, X.: Formal specification for deep neural networks. In: Technical Report, University of California at Berkeley (2018)

19. Sun, Y., Wu, M., Ruan, W., Huang, X., et al.: Concolic testing for deep neural networks. In: Proceedings of the 33rd ACM/IEEE International Conference on Automated Software Engineering (ASE). pp. 109–119 (2018)

20. Szegedy, C., Zaremba, W., Sutskever, I., Bruna, J., et al.: Intriguing properties of neural networks. arXiv preprint arXiv:1312.6199 (2013)

21. Tian, Y., Pei, K., Jana, S., Ray, B.: Deeptest: Automated testing of deep-neural-network-driven autonomous cars. In: International Conference on Software Engi-neering (ICSE). pp. 303–314 (2018)

22. Wicker, M., Huang, X., Kwiatkowska, M.: Feature-guided black-box safety testing of deep neural networks. In: International Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS). pp. 408–426 (2018)

23. Wong, W.E., Debroy, V., Gao, R., Li, Y.: The DStar method for effective software fault localization. IEEE Transactions on Reliability 63(1), 290–308 (2014) 24. Wong, W.E., Gao, R., Li, Y., Abreu, R., Wotawa, F.: A survey on software fault

localization. IEEE Transactions on Software Engineering 42(8), 707–740 (2016) 25. Wu, M., Wicker, M., Ruan, W., Huang, X., Kwiatkowska, M.: A game-based

approximate verification of deep neural networks with provable guarantees. In: arXiv preprint arXiv:1807.03571 (2018)

Şekil

Tablo 1. S ¸¨ uphelilik ¨ Ol¸ c¨ utleri S ¸ ¨ uphelilik ¨ Ol¸ c¨ ut¨ u Cebirsel Form¨ ul
Tablo 2. MNIST veri k¨ umesinden sentezlenen girdilerin do˘ gruluk ve kayıp de˘ gerleri
Tablo 3. Sentezlenen girdiler ile orijinal girdiler arasındaki uzaklık. Uzaklık ¨ Ol¸ c.

Referanslar

Benzer Belgeler

tik ve teknik esaslara dayanan bir mevzudur. Fa- kat yüz yıllarca dış tesirlere göğüs gerip yerinde duran her bina bir san'at eseri değildir. Bir musiki eserini, bir tabloyu,

Amaç: Derin femoral arter (DFA) yaralanmas› olan hasta- lar›n tan›s›nda ilk fizik muayene bulgular›na ek olarak kli- nik gözlemin önemi ve tamirin mümkün olmad›¤›

Manyetik araştırmalarda, kaynak manyetizasyonunun ve bölgesel yer manyetik alanının düşey olarak yönlenme- diği durumlarda manyetik belirtinin en yüksek değerleri kaynak

Bu çal›flmada kateter ucundan ayr›flt›r›lm›fl bir klinik sufl (KSA) ile standart bir ATCC 25923 suflunun (SSA), gentamisinin en düflük bask›lay›c› yo¤unluk

Horstkotte MA, Knobloch JK, Rohde H, Mack D: Rapid detection of methicillin resistance in coagulase-negative staphylococci by a penicillin-binding protein 2a-specific

Marchi (16) ’nin yaptıı açık faz 3 çok merkezli bir çalımada akut maksiller sinüzit tedavisinde klaritromisin ve amoksisilin etkinlik ve tolerası yönünden

Bu çalıma, doal menopozda farklı hormon replasman tedavisi tiplerinin renal arter Doppler indeksleri üzerine etkilerini belirleyen ilk çalımadır.. Doal menopozda CEE+MPA

Bunun ölçüleri bu serbest ticaretin etkileri son derece önemlidir ve yaptığımız hesaplara göre özellikle rekabet ye- tenekleri bakımından Türk sanayiinin (1960 lardan