Jak to możliwe, że głębokie sieci neuronowe są tak łatwo oszukać?
63
Poniższa strona / badanie pokazuje, że głębokie sieci neuronowe można łatwo oszukać, podając prognozy o wysokim poziomie ufności dla nierozpoznawalnych obrazów, np.
Jak to mozliwe Czy możesz wyjaśnić idealnie w prostym języku angielskim?
„Zwykła angielska” wersja odpowiedzi brzmi - każdy system oparty na przestrzeganiu zestawu reguł można oszukać, wystarczy dowiedzieć się, co może złamać reguły.
Ankur,
1
@Ankur, czy to nie oznacza, że wszystkie systemy AI można oszukać?
po
5
@yters: Tak, wszystkie systemy AI można oszukać, bez względu na to, jak zespół marketingowy sugeruje, jak inteligentne są ich systemy. Niektóre można łatwo oszukać, a inne wymagają pewnego wysiłku, aby dać się oszukać.
Ankur
6
FWIW, ludzie są równie łatwo oszukać. Właśnie dlatego złudzenia optyczne działają. Są też obrazy, że NN dokładnie zidentyfikuje obiekt, ale człowiek nie może. W szczególności bardzo głośne obrazy.
Dunk
5
@Dunk, Ale ludzie są oszukiwani inaczej. O to chodzi: jeśli AI są oszukiwani, gdy ludzie nie są, nie mogą być podobni do ludzi.
Pacerier
Odpowiedzi:
51
Po pierwsze, te obrazy (nawet kilka pierwszych) nie są kompletnym śmieciem, mimo że są śmieciami dla ludzi; są one precyzyjnie dostrojone za pomocą różnych zaawansowanych technik, w tym innej sieci neuronowej.
Głęboka sieć neuronowa to wstępnie wyszkolona sieć wzorowana na AlexNet dostarczonej przez Caffe . Aby ewoluować obrazy, zarówno bezpośrednio zakodowane, jak i pośrednio zakodowane, używamy ram ewolucyjnych Sferes . Całą bazę kodu do przeprowadzania eksperymentów ewolucyjnych można pobrać [sic] tutaj . Kod obrazów utworzonych metodą gradientu wznoszenia jest dostępny tutaj .
Obrazy, które w rzeczywistości są przypadkowymi śmieciami, zostały poprawnie rozpoznane jako nic znaczącego:
W odpowiedzi na nierozpoznawalny obraz sieci mogły generować niską pewność dla każdej z 1000 klas, zamiast wyjątkowo wysokiej wartości ufności dla jednej z klas. W rzeczywistości robią to tylko dla losowo generowanych obrazów (np. Tych w generacji 0 przebiegu ewolucyjnego)
Pierwotnym celem badaczy było wykorzystanie sieci neuronowych do automatycznego generowania obrazów, które wyglądają jak prawdziwe (poprzez uzyskanie informacji zwrotnej od rozpoznającego i próbę zmiany obrazu, aby uzyskać bardziej pewny wynik), ale ostatecznie stworzyli powyższą sztukę . Zauważ, że nawet na statycznych obrazach występują małe plamy - zwykle w pobliżu środka - które, można rzec, uruchamiają rozpoznawanie.
Nie próbowaliśmy tworzyć przeciwnych, nierozpoznawalnych obrazów. Zamiast tego próbowaliśmy stworzyć rozpoznawalne obrazy, ale pojawiły się te nierozpoznawalne obrazy.
Najwyraźniej te obrazy miały właściwe cechy wyróżniające, pasujące do tego, czego AI szukała na zdjęciach. Obraz „wiosła” ma kształt wiosła, „bajgiel” jest okrągły i ma odpowiedni kolor, obraz „projektora” jest podobny do obiektywu kamery, a „klawiatura komputerowa” to kilka prostokątów (jak poszczególne klucze), a „ogrodzenie z ogniwa łańcucha” słusznie dla mnie wygląda jak ogrodzenie z łańcucha ogniwa.
Rysunek 8. Ewolucja obrazów w celu dopasowania do klas DNN powoduje ogromną różnorodność obrazów. Pokazane są obrazy wybrane w celu pokazania różnorodności z 5 serii ewolucyjnych. Różnorodność sugeruje, że obrazy nie są przypadkowe, ale zamiast tego ewolucje wytwarzają [sic] cechy dyskryminujące każdej klasy docelowej.
Problem polega na tym - w jaki sposób DNN daje tak dużą pewność ~, 99% !że te obrazy przypominające niektóre obiekty reprezentują prawdziwe obiekty? Chyba że DNN jest chory psychicznie i uważa, że wymaga testu Rorschacha w jakimś szpitalu :-)
Agnius Vasiliauskas
Niestety nie mogłem się oprzeć :-) „Bajgiel” jest okrągły, ale to słońce, gałka oczna itp. „Projektor” może być modelem atomu, przekrojem wiązki laserowej itp. I tak dalej itd. Dlaczego do diabła, bajgiel jest lepszy od słońca, projektor jest lepszy od schematu atomowego itp. Z 99%pewnością? Dla mnie - główna różnica między DNN a ludzkim uznaniem polega na tym, że ludzie nie są zmuszeni do rozpoznania czegoś, podczas gdy NN wydaje się, że jest!
Agnius Vasiliauskas
25
Dostarczone przez Ciebie obrazy mogą być dla nas nierozpoznawalne. W rzeczywistości są to obrazy, które rozpoznajemy, ale ewoluowały przy użyciu ram ewolucyjnych Sferes .
Chociaż te obrazy są prawie niemożliwe do opisania za pomocą przedmiotów innych niż sztuki abstrakcyjne, Deep Neural Network oznaczy je jako znajome obiekty z 99,99% pewnością.
Ten wynik podkreśla różnice między tym, jak DNN i ludzie rozpoznają obiekty. Obrazy są kodowane bezpośrednio (lub pośrednio)
Zmiana obrazu oryginalnie poprawnie sklasyfikowanego w sposób niezauważalny dla ludzi może spowodować, że DNN sklasyfikuje go jako coś innego.
Na obrazie poniżej liczby na dole obrazy mają wyglądać jak cyfry. Jednak sieć uważa, że obrazy na górze (ten jak biały szum) to prawdziwe cyfry z 99,99% pewnością.
Głównym powodem, dla którego można je łatwo oszukać, jest to, że Deep Neural Network nie widzi świata w taki sam sposób, jak ludzka wizja. Używamy całego obrazu do identyfikacji rzeczy, podczas gdy DNN zależy od funkcji. Dopóki DNN wykryje pewne funkcje, będzie klasyfikować obraz jako znany obiekt, na którym został przeszkolony. Badacze zaproponowali jeden sposób, aby zapobiec takiemu oszukiwaniu, dodając obrazy oszukiwania do zestawu danych w nowej klasie i szkoląc DNN na powiększonym zbiorze danych. W eksperymencie wynik ufności znacznie spada dla ImageNet AlexNet. Tym razem oszukiwanie przekwalifikowanego DNN nie jest łatwe. Ale kiedy naukowcy zastosowali taką metodę w MNIST LeNet, ewolucja wciąż generuje wiele nierozpoznawalnych obrazów z wynikiem ufności 99,99%.
Wszystkie odpowiedzi tutaj są świetne, ale z jakiegoś powodu nie powiedziano dotąd, dlaczego ten efekt nie powinien cię zaskoczyć . Wypełnię puste miejsce.
Zacznę od jednego wymogu, który jest absolutnie niezbędny, aby to zadziałało: osoba atakująca musi znać architekturę sieci neuronowej (liczba warstw, rozmiar każdej warstwy itp.). Co więcej, we wszystkich przypadkach, które sam badałem, atakujący zna migawkę modelu używanego w produkcji, tj. Wszystkich wag. Innymi słowy, „kod źródłowy” sieci nie jest tajemnicą.
Nie można oszukać sieci neuronowej, jeśli traktuje się ją jak czarną skrzynkę. I nie można ponownie użyć tego samego fałszywego obrazu dla różnych sieci. W rzeczywistości musisz sam „wytrenować” sieć docelową, a tutaj poprzez trening mam na myśli bieg do przodu i podanie w tył, ale specjalnie wykonane do innego celu.
Dlaczego w ogóle działa?
Oto intuicja. Obrazy mają bardzo duże wymiary: nawet przestrzeń małych kolorowych obrazów 32x32 ma 3 * 32 * 32 = 3072wymiary. Ale zestaw danych treningowych jest stosunkowo niewielki i zawiera prawdziwe zdjęcia, z których wszystkie mają pewną strukturę i ładne właściwości statystyczne (np. Gładkość koloru). Tak więc zestaw danych treningowych znajduje się na maleńkiej różnorodności tej ogromnej przestrzeni obrazów.
Sieci splotowe działają bardzo dobrze na tym rozmaitości, ale w zasadzie nic nie wiedzą o reszcie przestrzeni. Klasyfikacja punktów poza kolektorem jest jedynie liniową ekstrapolacją opartą na punktach wewnątrz kolektora. Nic dziwnego, że niektóre punkty są nieprawidłowo ekstrapolowane. Atakujący potrzebuje jedynie sposobu na przejście do najbliższego z tych punktów.
Przykład
Dam ci konkretny przykład, jak oszukać sieć neuronową. Żeby było kompaktowe, zamierzam użyć bardzo prostej sieci regresji logistycznej z jedną nieliniowością (sigmoid). Przyjmuje 10-wymiarowe dane wejściowe x, oblicza pojedynczą liczbę p=sigmoid(W.dot(x)), która jest prawdopodobieństwem dla klasy 1 (w porównaniu do klasy 0).
Załóżmy, że wiesz W=(-1, -1, 1, -1, 1, -1, 1, 1, -1, 1)i zacznij od danych wejściowych x=(2, -1, 3, -2, 2, 2, 1, -4, 5, 1). Podanie do przodu daje sigmoid(W.dot(x))=0.0474lub 95% prawdopodobieństwa, co xjest przykładem klasy 0.
Chcielibyśmy znaleźć inny przykład, yktóry jest bardzo zbliżony, xale sklasyfikowany przez sieć jako 1. Zauważ, że xjest 10-wymiarowy, więc mamy swobodę przesuwania 10 wartości, co jest dużo.
Ponieważ W[0]=-1jest to ujemne, lepiej mieć mały, y[0]aby wnieść całkowity y[0]*W[0]mały. Stąd zróbmy y[0]=x[0]-0.5=1.5. Podobnie W[2]=1jest pozytywna, więc lepiej, aby zwiększyć y[2]zrobić y[2]*W[2]większe: y[2]=x[2]+0.5=3.5. I tak dalej.
Wynikiem jest y=(1.5, -1.5, 3.5, -2.5, 2.5, 1.5, 1.5, -3.5, 4.5, 1.5)i sigmoid(W.dot(y))=0.88. Dzięki tej jednej zmianie poprawiliśmy prawdopodobieństwo klasy 1 z 5% do 88%!
Uogólnienie
Jeśli spojrzysz uważnie na poprzedni przykład, zauważysz, że wiedziałem dokładnie, jak dostosować x, aby przenieść go do klasy docelowej, ponieważ znałem gradient sieci. To, co zrobiłem, było w rzeczywistości propagacją wsteczną , ale w odniesieniu do danych zamiast wag.
Ogólnie rzecz biorąc, atakujący zaczyna od dystrybucji celu (0, 0, ..., 1, 0, ..., 0)(wszędzie zero, z wyjątkiem klasy, którą chce osiągnąć), propaguje dane wstecz i wykonuje niewielki ruch w tym kierunku. Stan sieci nie jest aktualizowany.
Teraz powinno być jasne, że jest to wspólna cecha sieci feed-forward, które radzą sobie z niewielkim kolektorem danych, bez względu na to, jak głębokie są one lub rodzaju danych (obraz, audio, wideo lub tekst).
Potekcja
Najprostszym sposobem, aby zapobiec oszukaniu systemu, jest użycie zestawu sieci neuronowych, tj. Systemu, który agreguje głosy z kilku sieci na każde żądanie. Znacznie trudniej jest jednocześnie zareagować wstecz na kilka sieci. Osoba atakująca może próbować zrobić to sekwencyjnie, jedna sieć na raz, ale aktualizacja dla jednej sieci może łatwo zepsuć się z wynikami uzyskanymi dla innej sieci. Im więcej sieci jest używanych, tym bardziej złożony staje się atak.
Inną możliwością jest wygładzenie wejścia przed przekazaniem go do sieci.
Pozytywne wykorzystanie tego samego pomysłu
Nie powinieneś myśleć, że cofanie propagacji do obrazu ma tylko negatywne zastosowania. Bardzo podobna technika, zwana dekonwolucją , służy do wizualizacji i lepszego zrozumienia tego, czego nauczyły się neurony.
Ta technika pozwala zsyntetyzować obraz, który powoduje uruchomienie określonego neuronu, w zasadzie zobaczyć wizualnie „to, czego szuka neuron”, co ogólnie sprawia, że splotowe sieci neuronowe są bardziej zrozumiałe.
Ważnym pytaniem, na które nie ma jeszcze zadowalającej odpowiedzi w badaniach sieci neuronowej, jest to, w jaki sposób DNN przedstawiają przewidywania, które oferują. DNN skutecznie działają (choć nie do końca), dopasowując łatki na obrazach do „słownika” łatek, przechowywanych w każdym neuronie (patrz kot z youtube ). Dlatego może nie mieć widoku wysokiego poziomu obrazu, ponieważ patrzy tylko na łatki, a obrazy są zwykle zmniejszane do znacznie niższej rozdzielczości, aby uzyskać wyniki w systemach obecnej generacji. Metody, które sprawdzają interakcje składników obrazu, mogą być w stanie uniknąć tych problemów.
Oto niektóre pytania, które należy zadać w związku z tą pracą: Jak pewne były sieci, kiedy dokonywały takich prognoz? Ile objętości zajmują takie przeciwne obrazy w przestrzeni wszystkich obrazów?
Potrzebnych jest więcej takich prac, a ponieważ ludzki system wzrokowy ulega również oszukiwaniu przez takie „złudzenia optyczne”, problemy te mogą być nieuniknione, jeśli użyjemy DNN, chociaż AFAIK nic nie jest znane w żaden sposób, teoretycznie ani empirycznie.
Jak to możliwe, że głębokie sieci neuronowe są tak łatwo oszukać?
Głębokie sieci neuronowe można łatwo oszukać, podając prognozy o wysokim poziomie ufności dla nierozpoznawalnych obrazów. Jak to jest możliwe? Czy możesz wyjaśnić idealnie w prostym języku angielskim?
Intuicyjnie dodatkowe ukryte warstwy powinny umożliwić sieci poznanie bardziej złożonych funkcji klasyfikacyjnych, a tym samym lepszą klasyfikację zadań. Chociaż można go nazwać głębokim uczeniem się , w rzeczywistości jest to płytkie zrozumienie.
Sprawdź swoją wiedzę: Które zwierzę w siatce poniżej to catus Felve silvestris, nie spiesz się i nie oszukuj. Oto wskazówka: który jest kotem domowym?
Problem jest analogiczny do aliasingu , efektu, który powoduje, że różne sygnały stają się nierozróżnialne (lub aliasy względem siebie) podczas próbkowania, oraz efektu koła dyliżansowego , w którym koło szprychowe wydaje się obracać inaczej niż w prawdziwym obrocie.
Sieć neuronowa nie wie, na co patrzy ani w którą stronę zmierza.
Głębokie sieci neuronowe nie są ekspertem w czymś, są szkoleni, aby matematycznie decydować, że jakiś cel został osiągnięty, jeśli nie są przeszkoleni do odrzucania błędnych odpowiedzi, nie mają pojęcia o tym, co jest złe; wiedzą tylko , co jest poprawne, a co nie. Prawidłowe i „niepoprawne” niekoniecznie są tym samym, ani „poprawne” i prawdziwe.
Sieć neuronowa nie zna dobra od zła.
Tak jak większość ludzi nie poznałaby kota domowego, gdyby zobaczyła jednego, dwóch lub więcej, albo żadnego. Ile kotów domowych na powyższej siatce zdjęć, żadnych. Wszelkie oskarżenia o umieszczanie zdjęć słodkich kotów są bezpodstawne, wszystkie są niebezpiecznymi dzikimi zwierzętami.
Oto inny przykład. Czy udzielenie odpowiedzi na pytanie sprawia, że Bart i Lisa są mądrzejsi, czy osoba, o którą pytają, w ogóle wie, czy istnieją nieznane zmienne, które mogą wejść w grę?
Jeszcze nas tam nie ma, ale sieci neuronowe mogą szybko udzielić odpowiedzi, która prawdopodobnie będzie poprawna, zwłaszcza jeśli zostanie odpowiednio przeszkolona, aby uniknąć wszystkich błędów.
Sieci neuronowe można łatwo oszukać lub zhakować, dodając pewien ustrukturyzowany szum w przestrzeni obrazu ( Szegedy 2013 , Nguyen 2014 ) ze względu na ignorowanie niedyskryminujących informacji w ich danych wejściowych.
Na przykład:
Naucz się rozpoznawać jaguary, dopasowując unikalne miejsca na ich futrze, ignorując fakt, że mają cztery nogi. 2015 r
Zasadniczo przewidywanie o wysokim poziomie ufności w niektórych modelach istnieje zatem z powodu „ połączenia ich lokalnie liniowego charakteru i wielowymiarowej przestrzeni wejściowej ”. 2015 r
Opublikowane jako artykuł konferencyjny na ICLR 2015 (praca Dai) sugerują, że przeniesienie dyskryminacyjnie wyszkolonych parametrów do modeli generatywnych może być doskonałym obszarem do dalszych ulepszeń.
Nie mogę komentować (z tego powodu wymaga 50 powtórzeń), ale chciałem odpowiedzieć na Wisznu JK i PO. Myślę, że pomijacie fakt, że sieć neuronowa naprawdę naprawdę mówi z programowego punktu widzenia, że „to najbardziej przypomina”.
Na przykład, chociaż powyższe przykłady obrazów możemy wymienić jako „sztukę abstrakcyjną”, są one zdecydowanie najbardziej podobne do wymienionych na liście. Pamiętaj, że algorytmy uczenia się mają zakres tego, co rozpoznają jako przedmiot, a jeśli spojrzysz na wszystkie powyższe przykłady ... i pomyślisz o zakresie algorytmu ... mają one sens (nawet te na pierwszy rzut oka, które uznalibyśmy za biały szum). W przykładzie liczb Wisznu, jeśli zmrużysz oczy i wyostrzysz obrazy, w rzeczywistości możesz w każdym przypadku dostrzec wzory, które naprawdę ściśle odzwierciedlają dane liczby.
Problem, który tu pokazano, polega na tym, że algorytm nie ma „nieznanego przypadku”. Zasadniczo, gdy rozpoznawanie wzorców mówi, że nie istnieje ono w zakresie wyjściowym. (więc końcowa grupa węzłów wyjściowych, która mówi, że to nic, o czym wiem). Na przykład ludzie też to robią, ponieważ ludzie i algorytmy uczenia się mają jedną wspólną cechę. Oto link, aby pokazać, o czym mówię (co to jest, zdefiniuj to) przy użyciu tylko znanych zwierząt, które istnieją:
Teraz, jako osoba, ograniczona tym, co wiem i co mogę powiedzieć, musiałbym dojść do wniosku, że następujące są słoń. Ale nie jest. Algorytmy uczenia się (w przeważającej części) nie mają wyrażenia „jak”, wartość wyjściowa zawsze sprawdza się do procentu ufności. Więc oszukanie jednego w ten sposób nie jest zaskakujące ... zaskakujące jest oczywiście to, że w oparciu o jego zestaw wiedzy, faktycznie dochodzi do tego, że jeśli spojrzysz na powyższe przypadki wymienione przez OP i Vishnu, to osoba. .. przy odrobinie wyglądającym ... widzi, jak prawdopodobny algorytm uczenia się spowodował skojarzenie.
Tak naprawdę nie nazwałbym tego błędnie etykietą ze strony algorytmu, a nawet nazwałbym przypadkiem, w którym został oszukany ... raczej przypadkiem, w którym jego zakres został nieprawidłowo opracowany.
Jest już wiele dobrych odpowiedzi, dodam tylko te, które pojawiły się przed moimi:
Tego rodzaju obrazy, o których mówisz, nazywane są przeciwstawnymi perturbacjami (patrz 1 , i nie ogranicza się do obrazów, wykazano, że odnoszą się również do tekstu, patrz Jia i Liang, EMNLP 2017. W tekście wprowadzenie Nieistotne zdanie, które nie jest sprzeczne z akapitem, powoduje, że sieć osiąga zupełnie inną odpowiedź (patrz Jia i Liang, EMNLP 2017 ).
Powodem, dla którego działają, jest fakt, że sieć neuronowa ogląda obrazy w inny sposób niż my, w połączeniu z wysoką wymiarowością przestrzeni problemowej. Tam, gdzie widzimy cały obraz, widzą kombinację cech, które łączą się, tworząc obiekt ( Moosavi-Dezfooli i in., CVPR 2017 ). Zgodnie z perturbacją generowaną w stosunku do jednej sieci istnieje duże prawdopodobieństwo pracy w innych sieciach:
Na powyższym rysunku widać, że na przykład zakłócenia uniwersalne obliczone dla sieci VGG-19 mają współczynnik wygaszania powyżej 53% dla wszystkich innych testowanych architektur.
Jak więc radzić sobie z groźbą przeciwstawnych perturbacji? Po pierwsze, możesz spróbować wygenerować jak najwięcej zaburzeń i użyć ich do dostrojenia swojego modelu. Wiem, że to rozwiązuje problem, ale nie rozwiązuje go całkowicie. W ( Moosavi-Dezfooli i in., CVPR 2017 ) autor stwierdził, że powtórzenie tego procesu poprzez obliczenie nowych zaburzeń, a następnie ponowne dostrojenie wydaje się nie przynosić dalszych ulepszeń, niezależnie od liczby iteracji, ze współczynnikiem wygłupiania zawisającym wokół 80%
Perturbacje wskazują na płytki wzór dopasowania, jaki wykonują sieci neuronowe, w połączeniu z ich minimalnym brakiem dogłębnego zrozumienia problemu. Nadal należy wykonać więcej pracy.
Większość innych odpowiedzi jest interesująca, a niektóre wykazują pewien rygor, więc nie powielę tego traktowania, ale przedstawię jakościową odpowiedź, która mówi bardziej o stanie badań niż dokładna ocena braku zabezpieczeń w aktualne projekty sztucznych sieci.
Gdyby ktoś zapytał: „Jak to możliwe, że ludzie są tak łatwo oszukać?” Uśmiechałbym się w zgodzie i powiedziałbym: „Przypuszczam, że nie jesteśmy aż tak głęboko”.
Taka jest też moja ocena stanu sztucznych sieci. Niemniej jednak może pojawić się więcej innowacji i odkryć, a kwestia bezpieczeństwa w szkoleniu, wdrażaniu i użytkowaniu komponentów AI z pewnością zostanie rozwiązana, gdy udane ataki będą kosztowały wiarygodność i dobrą reputację korporacji.
Sprzedaż źle zabezpieczonej technologii nie jest niczym nowym. Nikt tutaj w laboratorium nie umieści teorii naukowej, danych ani procedur w chmurze, chyba że mamy już otwarte źródła lub kreatywne podmioty, które na to wydały licencję.
Odpowiedzi:
Po pierwsze, te obrazy (nawet kilka pierwszych) nie są kompletnym śmieciem, mimo że są śmieciami dla ludzi; są one precyzyjnie dostrojone za pomocą różnych zaawansowanych technik, w tym innej sieci neuronowej.
Obrazy, które w rzeczywistości są przypadkowymi śmieciami, zostały poprawnie rozpoznane jako nic znaczącego:
Pierwotnym celem badaczy było wykorzystanie sieci neuronowych do automatycznego generowania obrazów, które wyglądają jak prawdziwe (poprzez uzyskanie informacji zwrotnej od rozpoznającego i próbę zmiany obrazu, aby uzyskać bardziej pewny wynik), ale ostatecznie stworzyli powyższą sztukę . Zauważ, że nawet na statycznych obrazach występują małe plamy - zwykle w pobliżu środka - które, można rzec, uruchamiają rozpoznawanie.
Najwyraźniej te obrazy miały właściwe cechy wyróżniające, pasujące do tego, czego AI szukała na zdjęciach. Obraz „wiosła” ma kształt wiosła, „bajgiel” jest okrągły i ma odpowiedni kolor, obraz „projektora” jest podobny do obiektywu kamery, a „klawiatura komputerowa” to kilka prostokątów (jak poszczególne klucze), a „ogrodzenie z ogniwa łańcucha” słusznie dla mnie wygląda jak ogrodzenie z łańcucha ogniwa.
Dalsza lektura: oryginalny artykuł (duży plik PDF)
źródło
99% !
że te obrazy przypominające niektóre obiekty reprezentują prawdziwe obiekty? Chyba że DNN jest chory psychicznie i uważa, że wymaga testu Rorschacha w jakimś szpitalu :-)99%
pewnością? Dla mnie - główna różnica między DNN a ludzkim uznaniem polega na tym, że ludzie nie są zmuszeni do rozpoznania czegoś, podczas gdy NN wydaje się, że jest!Dostarczone przez Ciebie obrazy mogą być dla nas nierozpoznawalne. W rzeczywistości są to obrazy, które rozpoznajemy, ale ewoluowały przy użyciu ram ewolucyjnych Sferes .
Chociaż te obrazy są prawie niemożliwe do opisania za pomocą przedmiotów innych niż sztuki abstrakcyjne, Deep Neural Network oznaczy je jako znajome obiekty z 99,99% pewnością.
Ten wynik podkreśla różnice między tym, jak DNN i ludzie rozpoznają obiekty. Obrazy są kodowane bezpośrednio (lub pośrednio)
Według tego wideo
Więcej informacji tutaj i tutaj .
źródło
Wszystkie odpowiedzi tutaj są świetne, ale z jakiegoś powodu nie powiedziano dotąd, dlaczego ten efekt nie powinien cię zaskoczyć . Wypełnię puste miejsce.
Zacznę od jednego wymogu, który jest absolutnie niezbędny, aby to zadziałało: osoba atakująca musi znać architekturę sieci neuronowej (liczba warstw, rozmiar każdej warstwy itp.). Co więcej, we wszystkich przypadkach, które sam badałem, atakujący zna migawkę modelu używanego w produkcji, tj. Wszystkich wag. Innymi słowy, „kod źródłowy” sieci nie jest tajemnicą.
Nie można oszukać sieci neuronowej, jeśli traktuje się ją jak czarną skrzynkę. I nie można ponownie użyć tego samego fałszywego obrazu dla różnych sieci. W rzeczywistości musisz sam „wytrenować” sieć docelową, a tutaj poprzez trening mam na myśli bieg do przodu i podanie w tył, ale specjalnie wykonane do innego celu.
Dlaczego w ogóle działa?
Oto intuicja. Obrazy mają bardzo duże wymiary: nawet przestrzeń małych kolorowych obrazów 32x32 ma
3 * 32 * 32 = 3072
wymiary. Ale zestaw danych treningowych jest stosunkowo niewielki i zawiera prawdziwe zdjęcia, z których wszystkie mają pewną strukturę i ładne właściwości statystyczne (np. Gładkość koloru). Tak więc zestaw danych treningowych znajduje się na maleńkiej różnorodności tej ogromnej przestrzeni obrazów.Sieci splotowe działają bardzo dobrze na tym rozmaitości, ale w zasadzie nic nie wiedzą o reszcie przestrzeni. Klasyfikacja punktów poza kolektorem jest jedynie liniową ekstrapolacją opartą na punktach wewnątrz kolektora. Nic dziwnego, że niektóre punkty są nieprawidłowo ekstrapolowane. Atakujący potrzebuje jedynie sposobu na przejście do najbliższego z tych punktów.
Przykład
Dam ci konkretny przykład, jak oszukać sieć neuronową. Żeby było kompaktowe, zamierzam użyć bardzo prostej sieci regresji logistycznej z jedną nieliniowością (sigmoid). Przyjmuje 10-wymiarowe dane wejściowe
x
, oblicza pojedynczą liczbęp=sigmoid(W.dot(x))
, która jest prawdopodobieństwem dla klasy 1 (w porównaniu do klasy 0).Załóżmy, że wiesz
W=(-1, -1, 1, -1, 1, -1, 1, 1, -1, 1)
i zacznij od danych wejściowychx=(2, -1, 3, -2, 2, 2, 1, -4, 5, 1)
. Podanie do przodu dajesigmoid(W.dot(x))=0.0474
lub 95% prawdopodobieństwa, cox
jest przykładem klasy 0.Chcielibyśmy znaleźć inny przykład,
y
który jest bardzo zbliżony,x
ale sklasyfikowany przez sieć jako 1. Zauważ, żex
jest 10-wymiarowy, więc mamy swobodę przesuwania 10 wartości, co jest dużo.Ponieważ
W[0]=-1
jest to ujemne, lepiej mieć mały,y[0]
aby wnieść całkowityy[0]*W[0]
mały. Stąd zróbmyy[0]=x[0]-0.5=1.5
. PodobnieW[2]=1
jest pozytywna, więc lepiej, aby zwiększyćy[2]
zrobićy[2]*W[2]
większe:y[2]=x[2]+0.5=3.5
. I tak dalej.Wynikiem jest
y=(1.5, -1.5, 3.5, -2.5, 2.5, 1.5, 1.5, -3.5, 4.5, 1.5)
isigmoid(W.dot(y))=0.88
. Dzięki tej jednej zmianie poprawiliśmy prawdopodobieństwo klasy 1 z 5% do 88%!Uogólnienie
Jeśli spojrzysz uważnie na poprzedni przykład, zauważysz, że wiedziałem dokładnie, jak dostosować
x
, aby przenieść go do klasy docelowej, ponieważ znałem gradient sieci. To, co zrobiłem, było w rzeczywistości propagacją wsteczną , ale w odniesieniu do danych zamiast wag.Ogólnie rzecz biorąc, atakujący zaczyna od dystrybucji celu
(0, 0, ..., 1, 0, ..., 0)
(wszędzie zero, z wyjątkiem klasy, którą chce osiągnąć), propaguje dane wstecz i wykonuje niewielki ruch w tym kierunku. Stan sieci nie jest aktualizowany.Teraz powinno być jasne, że jest to wspólna cecha sieci feed-forward, które radzą sobie z niewielkim kolektorem danych, bez względu na to, jak głębokie są one lub rodzaju danych (obraz, audio, wideo lub tekst).
Potekcja
Najprostszym sposobem, aby zapobiec oszukaniu systemu, jest użycie zestawu sieci neuronowych, tj. Systemu, który agreguje głosy z kilku sieci na każde żądanie. Znacznie trudniej jest jednocześnie zareagować wstecz na kilka sieci. Osoba atakująca może próbować zrobić to sekwencyjnie, jedna sieć na raz, ale aktualizacja dla jednej sieci może łatwo zepsuć się z wynikami uzyskanymi dla innej sieci. Im więcej sieci jest używanych, tym bardziej złożony staje się atak.
Inną możliwością jest wygładzenie wejścia przed przekazaniem go do sieci.
Pozytywne wykorzystanie tego samego pomysłu
Nie powinieneś myśleć, że cofanie propagacji do obrazu ma tylko negatywne zastosowania. Bardzo podobna technika, zwana dekonwolucją , służy do wizualizacji i lepszego zrozumienia tego, czego nauczyły się neurony.
Ta technika pozwala zsyntetyzować obraz, który powoduje uruchomienie określonego neuronu, w zasadzie zobaczyć wizualnie „to, czego szuka neuron”, co ogólnie sprawia, że splotowe sieci neuronowe są bardziej zrozumiałe.
źródło
Ważnym pytaniem, na które nie ma jeszcze zadowalającej odpowiedzi w badaniach sieci neuronowej, jest to, w jaki sposób DNN przedstawiają przewidywania, które oferują. DNN skutecznie działają (choć nie do końca), dopasowując łatki na obrazach do „słownika” łatek, przechowywanych w każdym neuronie (patrz kot z youtube ). Dlatego może nie mieć widoku wysokiego poziomu obrazu, ponieważ patrzy tylko na łatki, a obrazy są zwykle zmniejszane do znacznie niższej rozdzielczości, aby uzyskać wyniki w systemach obecnej generacji. Metody, które sprawdzają interakcje składników obrazu, mogą być w stanie uniknąć tych problemów.
Oto niektóre pytania, które należy zadać w związku z tą pracą: Jak pewne były sieci, kiedy dokonywały takich prognoz? Ile objętości zajmują takie przeciwne obrazy w przestrzeni wszystkich obrazów?
Niektóre prace, o których wiem w tym zakresie, pochodzą od Dhruv Batra i Devi Parikh's Lab z Virginia Tech, którzy zajmują się tym w zakresie systemów odpowiadania na pytania: analiza zachowania modeli odpowiedzi na pytania wizualne i interpretacja modeli odpowiedzi na pytanie wizualne .
Potrzebnych jest więcej takich prac, a ponieważ ludzki system wzrokowy ulega również oszukiwaniu przez takie „złudzenia optyczne”, problemy te mogą być nieuniknione, jeśli użyjemy DNN, chociaż AFAIK nic nie jest znane w żaden sposób, teoretycznie ani empirycznie.
źródło
Intuicyjnie dodatkowe ukryte warstwy powinny umożliwić sieci poznanie bardziej złożonych funkcji klasyfikacyjnych, a tym samym lepszą klasyfikację zadań. Chociaż można go nazwać głębokim uczeniem się , w rzeczywistości jest to płytkie zrozumienie.
Sprawdź swoją wiedzę: Które zwierzę w siatce poniżej to catus Felve silvestris, nie spiesz się i nie oszukuj. Oto wskazówka: który jest kotem domowym?
Dla lepszego zrozumienia transakcji: „ Atak przeciwny na wrażliwe wizualizacje ” i „ Dlaczego trudno trenować głębokie sieci neuronowe? ”.
Problem jest analogiczny do aliasingu , efektu, który powoduje, że różne sygnały stają się nierozróżnialne (lub aliasy względem siebie) podczas próbkowania, oraz efektu koła dyliżansowego , w którym koło szprychowe wydaje się obracać inaczej niż w prawdziwym obrocie.
Sieć neuronowa nie wie, na co patrzy ani w którą stronę zmierza.
Głębokie sieci neuronowe nie są ekspertem w czymś, są szkoleni, aby matematycznie decydować, że jakiś cel został osiągnięty, jeśli nie są przeszkoleni do odrzucania błędnych odpowiedzi, nie mają pojęcia o tym, co jest złe; wiedzą tylko , co jest poprawne, a co nie. Prawidłowe i „niepoprawne” niekoniecznie są tym samym, ani „poprawne” i prawdziwe.
Sieć neuronowa nie zna dobra od zła.
Tak jak większość ludzi nie poznałaby kota domowego, gdyby zobaczyła jednego, dwóch lub więcej, albo żadnego. Ile kotów domowych na powyższej siatce zdjęć, żadnych. Wszelkie oskarżenia o umieszczanie zdjęć słodkich kotów są bezpodstawne, wszystkie są niebezpiecznymi dzikimi zwierzętami.
Oto inny przykład. Czy udzielenie odpowiedzi na pytanie sprawia, że Bart i Lisa są mądrzejsi, czy osoba, o którą pytają, w ogóle wie, czy istnieją nieznane zmienne, które mogą wejść w grę?
Jeszcze nas tam nie ma, ale sieci neuronowe mogą szybko udzielić odpowiedzi, która prawdopodobnie będzie poprawna, zwłaszcza jeśli zostanie odpowiednio przeszkolona, aby uniknąć wszystkich błędów.
źródło
Sieci neuronowe można łatwo oszukać lub zhakować, dodając pewien ustrukturyzowany szum w przestrzeni obrazu ( Szegedy 2013 , Nguyen 2014 ) ze względu na ignorowanie niedyskryminujących informacji w ich danych wejściowych.
Na przykład:
Zasadniczo przewidywanie o wysokim poziomie ufności w niektórych modelach istnieje zatem z powodu „ połączenia ich lokalnie liniowego charakteru i wielowymiarowej przestrzeni wejściowej ”. 2015 r
Opublikowane jako artykuł konferencyjny na ICLR 2015 (praca Dai) sugerują, że przeniesienie dyskryminacyjnie wyszkolonych parametrów do modeli generatywnych może być doskonałym obszarem do dalszych ulepszeń.
źródło
Nie mogę komentować (z tego powodu wymaga 50 powtórzeń), ale chciałem odpowiedzieć na Wisznu JK i PO. Myślę, że pomijacie fakt, że sieć neuronowa naprawdę naprawdę mówi z programowego punktu widzenia, że „to najbardziej przypomina”.
Na przykład, chociaż powyższe przykłady obrazów możemy wymienić jako „sztukę abstrakcyjną”, są one zdecydowanie najbardziej podobne do wymienionych na liście. Pamiętaj, że algorytmy uczenia się mają zakres tego, co rozpoznają jako przedmiot, a jeśli spojrzysz na wszystkie powyższe przykłady ... i pomyślisz o zakresie algorytmu ... mają one sens (nawet te na pierwszy rzut oka, które uznalibyśmy za biały szum). W przykładzie liczb Wisznu, jeśli zmrużysz oczy i wyostrzysz obrazy, w rzeczywistości możesz w każdym przypadku dostrzec wzory, które naprawdę ściśle odzwierciedlają dane liczby.
Problem, który tu pokazano, polega na tym, że algorytm nie ma „nieznanego przypadku”. Zasadniczo, gdy rozpoznawanie wzorców mówi, że nie istnieje ono w zakresie wyjściowym. (więc końcowa grupa węzłów wyjściowych, która mówi, że to nic, o czym wiem). Na przykład ludzie też to robią, ponieważ ludzie i algorytmy uczenia się mają jedną wspólną cechę. Oto link, aby pokazać, o czym mówię (co to jest, zdefiniuj to) przy użyciu tylko znanych zwierząt, które istnieją:
Teraz, jako osoba, ograniczona tym, co wiem i co mogę powiedzieć, musiałbym dojść do wniosku, że następujące są słoń. Ale nie jest. Algorytmy uczenia się (w przeważającej części) nie mają wyrażenia „jak”, wartość wyjściowa zawsze sprawdza się do procentu ufności. Więc oszukanie jednego w ten sposób nie jest zaskakujące ... zaskakujące jest oczywiście to, że w oparciu o jego zestaw wiedzy, faktycznie dochodzi do tego, że jeśli spojrzysz na powyższe przypadki wymienione przez OP i Vishnu, to osoba. .. przy odrobinie wyglądającym ... widzi, jak prawdopodobny algorytm uczenia się spowodował skojarzenie.
Tak naprawdę nie nazwałbym tego błędnie etykietą ze strony algorytmu, a nawet nazwałbym przypadkiem, w którym został oszukany ... raczej przypadkiem, w którym jego zakres został nieprawidłowo opracowany.
źródło
Jest już wiele dobrych odpowiedzi, dodam tylko te, które pojawiły się przed moimi:
Tego rodzaju obrazy, o których mówisz, nazywane są przeciwstawnymi perturbacjami (patrz 1 , i nie ogranicza się do obrazów, wykazano, że odnoszą się również do tekstu, patrz Jia i Liang, EMNLP 2017. W tekście wprowadzenie Nieistotne zdanie, które nie jest sprzeczne z akapitem, powoduje, że sieć osiąga zupełnie inną odpowiedź (patrz Jia i Liang, EMNLP 2017 ).
Powodem, dla którego działają, jest fakt, że sieć neuronowa ogląda obrazy w inny sposób niż my, w połączeniu z wysoką wymiarowością przestrzeni problemowej. Tam, gdzie widzimy cały obraz, widzą kombinację cech, które łączą się, tworząc obiekt ( Moosavi-Dezfooli i in., CVPR 2017 ). Zgodnie z perturbacją generowaną w stosunku do jednej sieci istnieje duże prawdopodobieństwo pracy w innych sieciach:
Na powyższym rysunku widać, że na przykład zakłócenia uniwersalne obliczone dla sieci VGG-19 mają współczynnik wygaszania powyżej 53% dla wszystkich innych testowanych architektur.
Jak więc radzić sobie z groźbą przeciwstawnych perturbacji? Po pierwsze, możesz spróbować wygenerować jak najwięcej zaburzeń i użyć ich do dostrojenia swojego modelu. Wiem, że to rozwiązuje problem, ale nie rozwiązuje go całkowicie. W ( Moosavi-Dezfooli i in., CVPR 2017 ) autor stwierdził, że powtórzenie tego procesu poprzez obliczenie nowych zaburzeń, a następnie ponowne dostrojenie wydaje się nie przynosić dalszych ulepszeń, niezależnie od liczby iteracji, ze współczynnikiem wygłupiania zawisającym wokół 80%
Perturbacje wskazują na płytki wzór dopasowania, jaki wykonują sieci neuronowe, w połączeniu z ich minimalnym brakiem dogłębnego zrozumienia problemu. Nadal należy wykonać więcej pracy.
źródło
Większość innych odpowiedzi jest interesująca, a niektóre wykazują pewien rygor, więc nie powielę tego traktowania, ale przedstawię jakościową odpowiedź, która mówi bardziej o stanie badań niż dokładna ocena braku zabezpieczeń w aktualne projekty sztucznych sieci.
Gdyby ktoś zapytał: „Jak to możliwe, że ludzie są tak łatwo oszukać?” Uśmiechałbym się w zgodzie i powiedziałbym: „Przypuszczam, że nie jesteśmy aż tak głęboko”.
Taka jest też moja ocena stanu sztucznych sieci. Niemniej jednak może pojawić się więcej innowacji i odkryć, a kwestia bezpieczeństwa w szkoleniu, wdrażaniu i użytkowaniu komponentów AI z pewnością zostanie rozwiązana, gdy udane ataki będą kosztowały wiarygodność i dobrą reputację korporacji.
Sprzedaż źle zabezpieczonej technologii nie jest niczym nowym. Nikt tutaj w laboratorium nie umieści teorii naukowej, danych ani procedur w chmurze, chyba że mamy już otwarte źródła lub kreatywne podmioty, które na to wydały licencję.
źródło