Dieses Dokuwiki verwendet ein von Anymorphic Webdesign erstelltes Thema.

Razlike

Slijede razlike između dviju inačica stranice.

Poveznica na ovu usporedbu

Starije izmjene na obje strane Starija izmjena
Novija izmjena
Starija izmjena
racfor_wiki:strojno_ucenje:napadi_na_modele_strojnog_ucenja [2020/01/09 11:06]
jjukic [Pregled tipova napada]
racfor_wiki:strojno_ucenje:napadi_na_modele_strojnog_ucenja [2024/12/05 12:24] (trenutno)
Redak 5: Redak 5:
 Seminar se naslanja na sigurnost modela strojnog učenja. Cilj je izložiti različite napade i generalne aspekte modela. Radi povećanja svijesti o zaštiti, predstavljaju se točke pristupa napadača i konkretni napadi. Seminar se naslanja na sigurnost modela strojnog učenja. Cilj je izložiti različite napade i generalne aspekte modela. Radi povećanja svijesti o zaštiti, predstavljaju se točke pristupa napadača i konkretni napadi.
  
-Neprijateljski primjeri, trovanja podataka i krađa modela obuhvaćaju opću sliku mogućnosti. Dani su kratki uvodi za svaki od navedenih načina s popratnim primjerima. Na koji način napadač može ugroziti model strojnog učenja? Razrađene su metode prema razinama opasnosti: logička kvarljivost, manipulacija i umetanje podataka te prijenosno učenje.+Neprijateljski primjeri, trovanje podataka i krađa modela obuhvaćaju opću sliku mogućnosti. Dani su kratki uvodi za svaki od navedenih načina s popratnim primjerima. Na koji način napadač može ugroziti model strojnog učenja? Razrađene su metode prema razinama opasnosti: logička kvarljivost, manipulacija i umetanje podataka te prijenosno učenje.
  
 Predstavljen je napad koji se temelji na gradijentu funkcije pogreške u tipičnog slučaju klasifikatora. Ključ leži u pametnom pronalaženju šuma za podatke koji će rušiti izvedbu modela za pojedine primjere. Detaljnije su iznesena objašnjenja za slučaj (dubokih) neuronskih mreža, ali sami koncepti primjenjivi su i za druge modele. Predstavljen je napad koji se temelji na gradijentu funkcije pogreške u tipičnog slučaju klasifikatora. Ključ leži u pametnom pronalaženju šuma za podatke koji će rušiti izvedbu modela za pojedine primjere. Detaljnije su iznesena objašnjenja za slučaj (dubokih) neuronskih mreža, ali sami koncepti primjenjivi su i za druge modele.
Redak 18: Redak 18:
 Umjetna inteligencija i strojno učenje pojavljuju se na naslovnicama vijesti sve češće. Njihova primjena u novim tehnologijama cvjeta i gotovo su neizbježni u rješavanju teških problema koji su povezani s podatcima. Algoritmi strojnog učenja žive od podataka, od njih sve kreće i konačni modeli iz njih crpe svoju mudrost. Sudeći po trenutnom stanju, izvori podataka su nepresušni kao i potreba za njihovim korištenjem. Umjetna inteligencija i strojno učenje pojavljuju se na naslovnicama vijesti sve češće. Njihova primjena u novim tehnologijama cvjeta i gotovo su neizbježni u rješavanju teških problema koji su povezani s podatcima. Algoritmi strojnog učenja žive od podataka, od njih sve kreće i konačni modeli iz njih crpe svoju mudrost. Sudeći po trenutnom stanju, izvori podataka su nepresušni kao i potreba za njihovim korištenjem.
  
-Modeli strojnog učenja sastavni su dijelovi velikih sustava u kojima se u potpunosti automatizira donošenje odluka. Ugrožavanje takvih sustava može dovesti do strahotnih posljedica. Promatrajući već samo nekoliko inovacija, poput autonomnih vozila ili računalno potpomognute medicinske dijagnostike, jasno je da su veliki ulozi u pitanju. Ljudski životi ovise o tome koliko će modeli dobro raditi, stoga je iznimno važno održati njihove izvedbe na visokoj razini. Često se i u računalnoj sigurnosti koristi strojno učenje pa se poteškoće propagiraju na sustave koje koriste takvu vrstu zaštite. Slični problemi javljaju se i u drugim delikatnim sustavima koji barataju osobnim podatcima, imovinom i novcem. Gdje god se može iskamčiti neka financijska korist, tu se pojavljuje opasnost od zloćudnih namjera. Otvaraju se mnoga vrata napadačima, zato je potrebno djelovati na vrijeme, prije i za vrijeme razvoja modela.+Modeli strojnog učenja sastavni su dijelovi velikih sustava u kojima se u potpunosti automatizira donošenje odluka. Ugrožavanje takvih sustava može dovesti do strahotnih posljedica. Promatrajući već samo nekoliko inovacija, poput autonomnih vozila ili računalno potpomognute medicinske dijagnostike, jasno je da su veliki ulozi u pitanju. Ljudski životi ovise o tome koliko će modeli dobro raditi, stoga je iznimno važno održati njihove izvedbe na visokoj razini. Često se i u računalnoj sigurnosti koristi strojno učenje pa se poteškoće propagiraju na sustave koje koriste takvu vrstu zaštite. Slični problemi javljaju se i u drugim delikatnim proizvodima koji barataju osobnim podatcima, imovinom i novcem. Gdje god se može iskamčiti neka financijska korist, tu se pojavljuje opasnost od zloćudnih namjera. Otvaraju se mnoga vrata napadačima, zato je potrebno djelovati na vrijeme, prije i za vrijeme razvoja modela.
  
 U ovom radu izložit će se načini iskorištavanja i odabrani napadi na modele strojnog učenja. Potrebno je istražiti koje prijetnje postoje radi planiranja obrambenih mehanizama te osvještavanja o opasnostima. Riječima drevnog kineskog mislioca Sun Tzua, treba upoznati svog neprijatelja kako bi ga se pobijedilo. U ovom radu izložit će se načini iskorištavanja i odabrani napadi na modele strojnog učenja. Potrebno je istražiti koje prijetnje postoje radi planiranja obrambenih mehanizama te osvještavanja o opasnostima. Riječima drevnog kineskog mislioca Sun Tzua, treba upoznati svog neprijatelja kako bi ga se pobijedilo.
 +
  
 ===== Pregled tipova napada ===== ===== Pregled tipova napada =====
Redak 30: Redak 31:
   * **Trovanje podataka**  (engl. //data poisoning//) naslanja se na tehniku neprijateljskih primjera, ali napada model za vrijeme učenja pružajući primjere koji će rušiti pouzdanost klasifikatora. Ubacivanje loših podataka u skup za učenje ima za posljedicu pomicanje decizijske granice, što u konačnici može proizvesti potpuno besmislen model. Napadi trovanjem mogu imati jednu od dvije glavne namjere: ciljanje na raspoloživost modela ili rušenje njegovog integriteta. Prva nakana ostvaruje se uz pomoć ubacivanja velike količine loših podataka, dok potonja pribjegava sofisticiranijim metodama. Kako narušiti cjelovitost algoritma? Takve varijante otvaraju stražnji pristup (engl. //backdoor//) za kojeg arhitekt modela nije svjestan. Primjerice, napadač može naučiti model da proglasi datoteku bezopasnom ako sadrži određeni znakovni niz. Tada napadač ima mogućnost ubacivanja bilo kakvog zloćudnog koda, nakon što doda svemogući niz u svoju datoteku. Naziru se vrlo opasne mogućnosti.   * **Trovanje podataka**  (engl. //data poisoning//) naslanja se na tehniku neprijateljskih primjera, ali napada model za vrijeme učenja pružajući primjere koji će rušiti pouzdanost klasifikatora. Ubacivanje loših podataka u skup za učenje ima za posljedicu pomicanje decizijske granice, što u konačnici može proizvesti potpuno besmislen model. Napadi trovanjem mogu imati jednu od dvije glavne namjere: ciljanje na raspoloživost modela ili rušenje njegovog integriteta. Prva nakana ostvaruje se uz pomoć ubacivanja velike količine loših podataka, dok potonja pribjegava sofisticiranijim metodama. Kako narušiti cjelovitost algoritma? Takve varijante otvaraju stražnji pristup (engl. //backdoor//) za kojeg arhitekt modela nije svjestan. Primjerice, napadač može naučiti model da proglasi datoteku bezopasnom ako sadrži određeni znakovni niz. Tada napadač ima mogućnost ubacivanja bilo kakvog zloćudnog koda, nakon što doda svemogući niz u svoju datoteku. Naziru se vrlo opasne mogućnosti.
  
-  * **Krađa modela**  (engl. //model stealing//) predstavlja dupliciranje modela ili rekonstrukciju skupa podataka za učenje. Često se ovaj pristup ostvaruje ispitivanjem po modelu crne kutije (engl. //black-box probing//). Ovakav napad može se iskoristi za krađu predikcija trgovine dionica ili modela za filtriranje neželjene elektroničke pošte. Ukradene modele moguće je direktno iskoristiti, ali može ih se i uporabiti u drugim vrstama napada kao svojevrsne vodilje u optimizacijskom postupku za ugrozu algoritama.+  * **Krađa modela**  (engl. //model stealing//) predstavlja dupliciranje modela ili rekonstrukciju skupa podataka za učenje. Često se ovaj pristup ostvaruje ispitivanjem po modelu crne kutije (engl. //black-box probing//). Ovakav napad može se iskoristiti za krađu predikcija trgovine dionica ili modela za filtriranje neželjene elektroničke pošte. Ukradene modele moguće je direktno iskoristiti, ali može ih se i uporabiti u drugim vrstama napada kao svojevrsne vodilje u optimizacijskom postupku za ugrozu algoritama.
  
-Sljedeća slika demonstrira primjer neprijateljskoj podatka. Napadač se dovitljivo sjetio kako bi usluga //Gmail//  mogla prikazati samo zadnje navedeni privitak ako je navedeno više istih u pripadnoj elektronskoj poruci. Nevidljivi privitak je u ovom slučaju iskorišten za pohranu poveznica na sumnjive domene. Na lijevoj strani slike nalazi se izvorni oblik poruke gdje se mogu uočiti dva ista privitka //multipart//  označena crvenim strelicama.+Sljedeća slika demonstrira primjer neprijateljskoj podatka. Napadač se dovitljivo sjetio kako bi usluga //Gmail//  mogla prikazati samo zadnje navedeni privitak ako je navedeno više istih u pripadnoj elektroničkoj poruci. Nevidljivi privitak je u ovom slučaju iskorišten za pohranu poveznica na sumnjive domene. Na lijevoj strani slike nalazi se izvorni oblik poruke gdje se mogu uočiti dva ista privitka //multipart//  označena crvenim strelicama.
  
 {{https://elie.net/static/images/images/attacks-against-machine-learning-an-overview/gmail-adversarial-input.jpg?nolink&650x280  |Primjer neprijateljskog podatka}} {{https://elie.net/static/images/images/attacks-against-machine-learning-an-overview/gmail-adversarial-input.jpg?nolink&650x280  |Primjer neprijateljskog podatka}}
Redak 54: Redak 55:
  
   * **a)**  Model neuronske mreže koja ispravno klasificira zadani ulaz.   * **a)**  Model neuronske mreže koja ispravno klasificira zadani ulaz.
-  * **b)**  Potencijalna napadačka mreža //BadNet//  [4] - model koristi paralelnu mrežu koja detektira prisutnost okidača stražnjeg pristupa (engl. //backdoor trigger//) [8]. Združujući sloj (engl. //merging layer//) nastoji postići krivu klasifikaciju namještanjem arhitekture mreže na izlazu. Ovakav napad nije valjan ako je arhitektura zaključana, odnosno napadač ju ne može izmijeniti.+  * **b)**  Potencijalna napadačka mreža //BadNet//  [4] - model koristi paralelnu mrežu koja detektira prisutnost okidača stražnjeg pristupa (engl. //backdoor trigger//) [8]. Združujući sloj (engl. //merging layer//) nastoji postići krivu klasifikaciju namještanjem arhitekture mreže na izlazu. Ovakav napad nije prikladan ako je arhitektura zaključana, odnosno napadač ju ne može izmijeniti.
   * **c)**  Zloćudni model s modificiranim iznosima težina neurona označenih crvenom bojom. U ovom slučaju se bez izmjene arhitekture postiže pogrešna klasifikacija.   * **c)**  Zloćudni model s modificiranim iznosima težina neurona označenih crvenom bojom. U ovom slučaju se bez izmjene arhitekture postiže pogrešna klasifikacija.
-U drugom scenariju, manipulaciji podataka, napadač ima mogućnost izmjene primjera u skupu za učenju. Otvorene su opcije izmjene samih oznaka, primjerice označavanje slike mačke kao klasu psa. Sofisticiraniji pristup nalaže promjenu podataka. Na primjeru slika, to bi podrazumijevalo manipulaciju slikovnih elemenata (piksela).+U drugom scenariju, manipulaciji podataka, napadač ima mogućnost izmjene primjera u skupu za učenju. Otvorene su opcije izmjene samih oznaka, primjerice označavanje slike mačke kao klase psa. Sofisticiraniji pristup nalaže promjenu podataka. Na primjeru slika, to bi podrazumijevalo manipulaciju slikovnim elementima (pikselima).
  
 Kao situacija s nešto ograničenijim pristupom slijedi podvala podataka, gdje je manipulacija moguća samo u obliku dodavanja. Primjeri koji se dodaju moraju biti konstruirani da zbune klasifikator nakon dovoljne količine takvih podataka. Kao situacija s nešto ograničenijim pristupom slijedi podvala podataka, gdje je manipulacija moguća samo u obliku dodavanja. Primjeri koji se dodaju moraju biti konstruirani da zbune klasifikator nakon dovoljne količine takvih podataka.
Redak 68: Redak 69:
 ==== Zabluđivanje klasifikatora ==== ==== Zabluđivanje klasifikatora ====
  
-{{https://openai.com/content/images/2017/02/adversarial_img_1.png?nolink&500x189|Primjer pogrešne klasifikacije zbog dodavanja šuma}}+{{:racfor_wiki:strojno_ucenje:panda.png?nolink&500x189|Primjer pogrešne klasifikacije zbog dodavanja šuma}}
  
 Primjer na prethodnoj slici demonstrira vrlo brz i efikasan način prijevare klasifikatora. Na izvornu sliku pande dodaje se pomno generirani šum, što rezultira pogrešnom klasifikacijom pande kao gibona i to s pouzdanošću od 99.3%. Naime, šum je generiran kao predznak gradijenta pogreške klasifikatora [5]. Dodatno se spomenuti predznak za pojedini piksel skalira malom vrijednošću kako ne bi nastale značajne promjene u reprezentaciji slike. U gornjem primjeru gotovo se ne raspoznaje razlika između originalne i zašumljene slike. Primjer na prethodnoj slici demonstrira vrlo brz i efikasan način prijevare klasifikatora. Na izvornu sliku pande dodaje se pomno generirani šum, što rezultira pogrešnom klasifikacijom pande kao gibona i to s pouzdanošću od 99.3%. Naime, šum je generiran kao predznak gradijenta pogreške klasifikatora [5]. Dodatno se spomenuti predznak za pojedini piksel skalira malom vrijednošću kako ne bi nastale značajne promjene u reprezentaciji slike. U gornjem primjeru gotovo se ne raspoznaje razlika između originalne i zašumljene slike.
Redak 89: Redak 90:
 Opisani postupak zapravo je optimizacijski postupak za sebe i moguće je primijeniti algoritme za pronalaženje ekstrema funkcija za kojih je poznata funkcija cilja - u ovom problemu to je smanjenje vjerojatnosti na izlazu za ciljanu klasu. Proces ne mora biti pohlepan, što bi značilo da se u svakom koraku pomaci osvježavaju samo ako smanjuju vjerojatnost. Brojne su metode koje mogu poslužiti u napadu: genetski algoritmi i strategije, Bayesova optimizacija, postupak po Nelder-Meadu… Opisani postupak zapravo je optimizacijski postupak za sebe i moguće je primijeniti algoritme za pronalaženje ekstrema funkcija za kojih je poznata funkcija cilja - u ovom problemu to je smanjenje vjerojatnosti na izlazu za ciljanu klasu. Proces ne mora biti pohlepan, što bi značilo da se u svakom koraku pomaci osvježavaju samo ako smanjuju vjerojatnost. Brojne su metode koje mogu poslužiti u napadu: genetski algoritmi i strategije, Bayesova optimizacija, postupak po Nelder-Meadu…
  
-Na sljedećoj slici prikazan je primjer opisanog napada. Gornji red sadrži originalne slika, a donji perturbirane (s dodanim šumom). Ljudskom oku teško je uočiti razliku, a napad je rezultirao pogrešnom klasifikacijom modela.+Na sljedećoj slici prikazan je primjer opisanog napada. Gornji red sadrži originalne slike, a donji perturbirane (s dodanim šumom). Ljudskom oku teško je uočiti razliku, a napad je rezultirao pogrešnom klasifikacijom modela.
  
 {{https://davidstutz.de/wordpress/wp-content/uploads/2018/05/narodytska.png?nolink&650x312|Primjer napada}} {{https://davidstutz.de/wordpress/wp-content/uploads/2018/05/narodytska.png?nolink&650x312|Primjer napada}}
Redak 96: Redak 97:
 ===== Kako se obraniti? ===== ===== Kako se obraniti? =====
  
-Potrebno je osmisliti adekvatnu zaštitu za modele strojnog učenja. Formalne metode ne bi funkcionirale zbog prevelikog broja mogućih kombinacija neprijateljskih primjera. Kao alternativa nameću se empirijske metode. One počivaju na demonstraciji njihove učinkovitosti u zaštiti. Primjerice, moguće je napasti model čija se sigurnost procjenjuje na dva načina: u prvoj slučaju model nema nikakvu korištenu zaštitu, dok se u drugom scenariju primjenjuje odabrana metoda zaštite pa se tek onda izvršava napad. Usporedbom rezultata moguće je ocijeniti funkcionalnost zaštite.+Potrebno je osmisliti adekvatnu zaštitu za modele strojnog učenja. Formalne metode ne bi funkcionirale zbog prevelikog broja mogućih kombinacija neprijateljskih primjera. Kao alternativa nameću se empirijske metode. One počivaju na demonstraciji njihove učinkovitosti u zaštiti. Primjerice, moguće je napasti model čija se sigurnost procjenjuje na dva načina: u prvoj slučaju model nema nikakvu korištenu zaštitu, dok se u drugom scenariju primjenjuje odabrana metoda zaštite pa se tek onda izvršava napad. Usporedbom rezultata ocjenjuje se funkcionalnost zaštite.
  
 Neki od popularnih pristupa u obrani modela strojnog učenja su [3]: Neki od popularnih pristupa u obrani modela strojnog učenja su [3]:
Redak 108: Redak 109:
 {{  https://miro.medium.com/max/1500/1*vCXq0OArxz4nvcLH8p2VNw.gif?nolink&650x366  |Opasnost od prevelikog broja neprijateljskih primjera za učenje}} {{  https://miro.medium.com/max/1500/1*vCXq0OArxz4nvcLH8p2VNw.gif?nolink&650x366  |Opasnost od prevelikog broja neprijateljskih primjera za učenje}}
  
-Sljedeća metoda zaštite obrada je ulaznih primjera. Podatci se prije korištenja zaglađuju i pokušava se odstraniti šum ako postoji. Nedostatak ovog pristupa je što će model u konačnici imati lošu izvedbu na podatcima sa šumom. Bolja taktika je na početku učiti model u zatvorenoj okolini bez obrade skupa za učenje, odnosno bez uklanjanja šuma. Kada se model stavi u pogon i bude javno dostupan, tada treba početi s čišćenjem ulaznih primjera ako se isti koristi za dodatno učenje.+Sljedeća metoda zaštite obrada je ulaznih primjera. Podatci se prije korištenja zaglađuju i pokušava se odstraniti šum ako postoji. Nedostatak ovog pristupa je što će model u konačnici imati lošu izvedbu na podatcima sa šumom. Bolja taktika je na početku učiti model u zatvorenoj okolini bez obrade skupa za učenje, odnosno bez uklanjanja šuma. Kada se model stavi u pogon i bude javno dostupan, tada treba početi s čišćenjem ulaznih primjera ako se isti koriste za dodatno učenje.
  
 Konačno, dodavanje klase može poslužiti kao obrambeni mehanizam. U toj pretpostavci model uči samo na podatcima s određenom distribucijom i kada se na ulazi pojavi nešto neobično, to se klasificira kao nepoznata (dodatna) klasa. Umjesto forsiranja modela da uvijek ponudi odgovor za svaki primjer, nudi se rješenje sa slabijim odzivom, ali većom sigurnošću. Konačno, dodavanje klase može poslužiti kao obrambeni mehanizam. U toj pretpostavci model uči samo na podatcima s određenom distribucijom i kada se na ulazi pojavi nešto neobično, to se klasificira kao nepoznata (dodatna) klasa. Umjesto forsiranja modela da uvijek ponudi odgovor za svaki primjer, nudi se rješenje sa slabijim odzivom, ali većom sigurnošću.
racfor_wiki/strojno_ucenje/napadi_na_modele_strojnog_ucenja.1578567986.txt.gz · Zadnja izmjena: 2024/12/05 12:23 (vanjsko uređivanje)
Dieses Dokuwiki verwendet ein von Anymorphic Webdesign erstelltes Thema.
CC Attribution-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0