Pojedynczy piksel może oszukać sztuczną inteligencję
Technologie sztucznej inteligencji potrafią dokonywać zadziwiających rzeczy, jednak czasem okazują się bezradne jak noworodek. Naukowcy z japońskiego Kyushu University udowodnili, że zmieniając pojedyncze piksele na obrazie są w stanie oszukać algorytmy sztucznej inteligencji i zmusić je do całkowicie błędnego sklasyfikowania obiektu.
Jiawei Su, Danilo Vasconcellos Vargas i Sakurai Kouichi postawili przed sobą dwa cele. Pierwszy to oszukać w sposób przewidywalny i powtarzalny głęboką sieć neuronową, a drugi – zautomatyzować swój atak tak bardzo, jak możliwe.
Naukowcy zastanawiali się, czy uda się np. zmusić algorytmy sztucznej inteligencji wyspecjalizowane w rozpoznawaniu obrazów by uznały znajdujący się na zdjęciu samochód za psa. Okazało się, że nie tylko jest to możliwe, ale można to zrobić manipulując pojedynczym pikselem, czyli wprowadzając zmianę, której człowiek najprawdopodobniej nie wyłapie.
Podczas swojego ataku naukowcy wykorzystali technikę ewolucji różnicowej (differential evolution, DE), która posłużyła do zidentyfikowania najlepszego celu. Testowano ataki na jeden, trzy i pięć pikseli. Oczywiście, im więcej pikseli zmieniono, tym bardziej skuteczny był atak.
Podczas ataków na trzy piksele w 1024-pikselowym obrazie sztuczna inteligencja błędnie klasyfikowała obraz w 82 proc. przypadków. Przy ataku na pięć pikseli odsetek ten rósł do 87,3 proc. Przy zmianie pojedynczego piksela odsetek błędnych klasyfikacji wynosił 73,8 proc.
W czasie badań naukowcy zmusili w ten sposób algorytm sztucznej inteligencji do zaklasyfikowania zdjęcia psa do każdej z dziewięciu kategorii, którymi były samolot, samochód, ptak, kot, jeleń, żaba, koń, statek i ciężarówka.
Ze szczegółami ataku można zapoznać się w sieci (arXiv).
Komentarze (11)
Gość, 30 października 2017, 13:28
Wystarczy przed rozpoznaniem obrazu lekko rozmyc cala ramke... bledny piksel zostanie zamazany... czyli blad tkwi w systemie rozpoznawania obrazu... zbyt dokladna analiza... nalezy uczulic na to system... wlasnie rozmyciem najprosciej...
thikim, 30 października 2017, 13:38
W systemie nie ma błędu. Tak ma być Tak musi być.
Już nie raz tu pisałem, że całe to rozpoznawanie twarzy (szerzej obrazów) bazuje na balansie między: jak najmniej fałszywych rozpoznań i jak najmniej fałszywych nie rozpoznań.
To drugie jest bardziej denerwujące - bo wyobraźmy sobie że podchodzi użytkownik i 100 razy system go nie wpuszcza bo nie rozpoznaje mimo że powinien. Jaka jest reakcja? System do bani.
Z tego powodu kryteria rozpoznawania są tak poluzowane że nawet ziemniak może być rozpoznany jako zapisany w systemie użytkownik.
A to prowadzi jednak do równoważnego wniosku: system do bani.
Tylko o ile jak system nie rozpoznaje to od razu widać, tak to że system rozpoznaje choć nie powinien - tego już tak łatwo nie widać. Ale i tak: do bani
radar, 30 października 2017, 23:32
Na obrazie 32x32 to może i działa, ale takie obrazy to i mi ciężko rozpoznać.
Dali by chociaż jakieś 1024x960 czy coś, inaczej to nie ma sensu.
Co do samego ataku, zaraz wytrenuje jakąś sieć i zobaczę jak to działa dla większych obrazów.
thikim, 31 października 2017, 08:25
Ma to sens bo nawet największy obraz to zbiór mniejszych. Jeśli algorytm oparty jest o mniejsze to w większości z tych mniejszych można ten jeden piksel zmienić i efekt będzie podobny.
Dużo zależy od algorytmu. Ale pewne zasady są niezależne od algorytmów.
wilk, 31 października 2017, 13:39
Nie mogłem uwierzyć, że to 32x32, ale faktycznie można się rozejść i rewelacja żadna. Przy takiej rozdzielczości jeden piksel to nie jest tylko szum. Może nie dla ludzkiego oka/mózgu, który patrzy całościowo, ale dla „głupiej” sieci, która sztywno rozpoznaje obrazki już tak. Patrząc na obrazki w rzeczonym artykule nie dziwię się tej AI, a zmieniane piksele ewidentnie wyróżniają się i człowiek coś takiego zignoruje. Swoją drogą ciekawy pomysł na Captcha.
thikim, 31 października 2017, 14:08
1 piksel na 1024 to dalej jest <1 promila obrazu.
To teraz załóżmy że podchodzisz do systemu rozpoznającego twarz nieogolony, pod lekko innym kątem. Dużo więcej niż 1 promil pikseli ulega zmianie. W zasadzie wszystkie piksele są inne. Z tym że po to mamy algorytm aby z tych wszystkich zmienionych wychwycił cechy niezmienne. No ale jak nawet 1 promil może wszystko zmienić to jesteśmy w kropce Chyba że poluzujemy warunki metodą na ziemniaka. Czyli nawet ziemniak ma być rozpoznany jako nasza twarz
Albo jak jest to dla jednego użytkownika to od razu po chamsku dajemy:
if (1) then otwórz
pogo, 31 października 2017, 14:42
Myślę, że przy 32x32 to nawet ja dam się od czasu do czasu oszukać jak ktoś podmieni 1 piksel...
Słyszałem swego czasu anegdotę jak w jednym szpitalu lekarze narzekali na konieczność ciągłego logowania się, więc wprowadzono opcje, że można dotknąć pola na ekranie i pomyśleć hasło aby się zalogować (login wciąż jest wymagany). Chyba oczywistym jest jak to działało Podobno bardzo chwalono rozwiązanie i podziwiano postęp technologii.
thikim, 31 października 2017, 15:37
Ale to przecież nie chodzi o jeden piksel tylko o 1023 pozostałe...
Nie znam sytuacji w której człowiek po zmianie jednego piksela z 1023 zobaczy nagle zamiast czołgu - twarz
No dobra, jak kłamcy wciskają panieneczkom największe bujdy to wtedy wszystko jest możliwe.
Krzychoo, 31 października 2017, 16:15
Ja też to słyszałem i to nie jako anegdotę.
Ergo Sum, 31 października 2017, 17:02
Problem tkwi w tym, że wciąż systemy analizujące próbują wykrywać krzywe, podczas gdy powinny "myśleć" plamami i to różnicują tematycznie kolorystykę.
MaG, 4 listopada 2017, 19:08
Ciekawe, dlaczego akurat pies.