다음 페이지 / 연구 는 인식 할 수없는 이미지에 대한 높은 신뢰도 예측을 제공하여 깊은 신경망이 쉽게 속이는 것을 보여줍니다.
이것이 어떻게 가능합니까? 평범한 영어로 이상적으로 설명해 주시겠습니까?
다음 페이지 / 연구 는 인식 할 수없는 이미지에 대한 높은 신뢰도 예측을 제공하여 깊은 신경망이 쉽게 속이는 것을 보여줍니다.
이것이 어떻게 가능합니까? 평범한 영어로 이상적으로 설명해 주시겠습니까?
답변:
우선,이 이미지들 (심지어 처음 몇 개까지도)은 인간에게 정크가 되어도 완전히 쓰레기가 아닙니다. 실제로 다른 신경망을 포함한 다양한 고급 기술로 미세 조정되었습니다.
딥 뉴럴 네트워크는 Caffe에서 제공하는 AlexNet에서 사전 훈련 된 네트워크 입니다. 직접 인코딩 된 이미지와 간접적으로 인코딩 된 이미지 모두 이미지를 진화시키기 위해 Sferes 진화 프레임 워크를 사용합니다 . 진화 실험을 수행하기위한 전체 코드베이스는 여기에서 다운로드 할 수 있습니다 . 기울기 상승에 의해 생성 된 이미지의 코드는 여기에서 볼 수 있습니다 .
실제로 임의의 정크 이미지는 의미가없는 것으로 올바르게 인식되었습니다.
인식 할 수없는 이미지에 대한 응답으로 네트워크는 클래스 중 하나에 대한 매우 높은 신뢰도 값 대신 1000 개의 클래스 각각에 대해 낮은 신뢰도를 출력 할 수 있습니다. 실제로, 이들은 무작위로 생성 된 이미지 (예 : 진화 실행의 0 세대 이미지)에 대해서만 수행합니다
연구원의 원래 목표는 신경망을 사용하여 실제처럼 보이는 이미지를 자동으로 생성하는 것입니다 (인식 자의 피드백을 받고 더 자신감있는 결과를 얻기 위해 이미지를 변경하려고 함). . 정적 이미지 에서조차도 대개 중앙 근처에 작은 얼룩이 얼마나 있는지 인식하는 것이 중요합니다.
우리는 적대적이고 인식 할 수없는 이미지를 만들려고하지 않았습니다. 대신 인식 할 수있는 이미지를 만들려고했지만 인식 할 수없는 이미지가 나타났습니다.
분명히이 이미지들은 AI가 사진에서 찾은 것과 일치 할 수있는 올바른 특징을 가지고있었습니다. "패들"이미지는 패들과 같은 모양을 가지고 있으며, "베이글"은 둥글고 올바른 색상입니다. "프로젝터"이미지는 카메라 렌즈와 같은 것입니다. "컴퓨터 키보드"는 사각형입니다. 개별 키)와 "체인 링크 펜스"는 합법적으로 체인 링크 펜스처럼 보입니다.
그림 8. DNN 클래스와 일치하도록 이미지를 진화 시키면 매우 다양한 이미지가 생성됩니다. 5 가지 진화 실행에서 다양성을 보여주기 위해 선택된 이미지가 표시됩니다. 다양성은 이미지가 임의적이지 않다는 것을 제안하지만, 대신 각 대상 클래스의 차별적 인 특징을 만들어내는 진화입니다.
추가 자료 : 원본 (큰 PDF)
99%
됩니까? 저에게 DNN과 인간 인식의 주요 차이점은 인간이 무언가를 인식하도록 강요받지 않는다는 사실입니다.
제공하신 이미지가 인식되지 않을 수 있습니다. 그것들은 실제로 우리가 인식하지만 Sferes 진화 프레임 워크를 사용하여 진화 한 이미지입니다 .
이 이미지는 인간이 추상 예술 이외의 것으로 라벨을 붙이는 것이 거의 불가능하지만, Deep Neural Network는 99.99 %의 신뢰도를 가진 친숙한 객체로 레이블을 붙입니다.
이 결과는 DNN과 인간이 객체를 인식하는 방법의 차이점을 강조합니다. 이미지는 직접 또는 간접적으로 인코딩됩니다.
이 비디오 에 따르면
사람이 알아볼 수없는 방식으로 원래 올바르게 분류 된 이미지를 변경하면 DNN이 이미지를 다른 것으로 분류 할 수 있습니다.
아래 이미지 아래의 숫자는 이미지가 숫자처럼 보이지만 네트워크는 상단의 이미지 (흰색 잡음과 같은 이미지)가 99.99 %의 확실성을 가진 실제 숫자라고 생각합니다.
심리 신경망이 인간의 비전과 같은 방식으로 세상을 보지 못하기 때문에 이것이 바보짓을하는 주된 이유입니다. 전체 이미지를 사용하여 사물을 식별하고 DNN은 기능에 의존합니다. DNN이 특정 기능을 감지하는 한 이미지를 훈련 된 익숙한 개체로 분류합니다. 연구원들은 새로운 클래스의 데이터 세트에 속이는 이미지를 추가하고 확대 된 데이터 세트에 대한 DNN을 훈련시켜 이러한 속임수를 방지하는 한 가지 방법을 제안했습니다. 실험에서 ImageNet AlexNet의 신뢰 점수가 크게 감소합니다. 이번에는 재교육받은 DNN을 속이는 것이 쉽지 않습니다. 그러나 연구원들이 그러한 방법을 MNIST LeNet에 적용했을 때, 진화는 여전히 99.99 %의 신뢰 점수를 가진 인식 할 수없는 많은 이미지를 생성합니다.
여기에있는 모든 대답은 훌륭하지만 어떤 이유로 든이 효과 가 당신을 놀라게하지 않는 이유에 대해서는 지금까지 언급 되지 않았습니다 . 공란을 채울 게요
이것이 작동하기 위해 반드시 필요한 한 가지 요구 사항부터 시작하겠습니다. 공격자 는 신경망 아키텍처 (계층 수, 각 계층의 크기 등)를 알아야합니다 . 또한 내가 직접 조사한 모든 경우에 공격자는 프로덕션에 사용 된 모델의 스냅 샷, 즉 모든 가중치를 알고 있습니다. 다시 말해, 네트워크의 "소스 코드"는 비밀이 아닙니다.
신경망을 블랙 박스처럼 취급하면 신경망을 속일 수 없습니다. 그리고 다른 네트워크에 대해 동일한 바보 같은 이미지를 재사용 할 수 없습니다. 실제로, 당신은 직접 목표 네트워크를 "훈련"해야합니다. 그리고 여기서는 훈련을 통해 정방향 및 백프로 프 패스를 달리는 것을 의미하지만 특별히 다른 목적으로 만들어졌습니다.
자, 여기 직감이 있습니다. 이미지의 크기는 매우 높습니다. 작은 32x32 컬러 이미지의 공간도 3 * 32 * 32 = 3072
크기가 있습니다. 그러나 훈련 데이터 세트는 상대적으로 작고 실제 그림을 포함하며, 모두 구조와 통계적 특성이 우수합니다 (예 : 색상의 부드러움). 따라서 훈련 데이터 세트는이 거대한 이미지 공간의 작은 매니 폴드에 있습니다.
컨볼 루션 네트워크는이 매니 폴드에서 매우 잘 작동하지만 기본적으로 나머지 공간에 대해서는 아무것도 모릅니다. 매니 폴드 외부의 포인트 분류는 매니 폴드 내부의 포인트를 기준으로 한 선형 외삽입니다. 특정 점이 잘못 추정 된 것은 당연합니다. 공격자는 가장 가까운 지점으로 이동하는 방법 만 있으면됩니다.
신경망을 속이는 방법을 구체적으로 설명하겠습니다. 컴팩트하게하기 위해 하나의 비선형 성 (sigmoid)을 가진 매우 간단한 로지스틱 회귀 네트워크를 사용할 것입니다. 그것은 10 차원 입력을 취하고, x
단일 숫자를 계산하며 p=sigmoid(W.dot(x))
, 이는 클래스 1의 확률입니다 (클래스 0 대).
W=(-1, -1, 1, -1, 1, -1, 1, 1, -1, 1)
입력 을 알고 시작 한다고 가정합니다 x=(2, -1, 3, -2, 2, 2, 1, -4, 5, 1)
. 정방향 통과 는 클래스 0의 예 sigmoid(W.dot(x))=0.0474
이거나 95 %의 확률을 제공합니다 x
.
우리 는 네트워크에 의해 y
매우 가깝지만 1로 x
분류되는 또 다른 예를 찾고 싶습니다 . x
10 차원이므로 10 값을 자유롭게 이동할 수 있습니다.
W[0]=-1
음수 이므로 y[0]
전체적으로 y[0]*W[0]
작은 기여를하는 것이 작은 것이 좋습니다. 그러므로하자 y[0]=x[0]-0.5=1.5
. 마찬가지로, W[2]=1
긍정적이기 때문에 더 크게 y[2]
만들기 위해 늘리는 것이 좋습니다 y[2]*W[2]
: y[2]=x[2]+0.5=3.5
. 등등.
결과는 y=(1.5, -1.5, 3.5, -2.5, 2.5, 1.5, 1.5, -3.5, 4.5, 1.5)
및 sigmoid(W.dot(y))=0.88
입니다. 이번 변경으로 클래스 1 확률이 5 %에서 88 %로 향상되었습니다!
이전 예제를 자세히 살펴보면 x
네트워크 그라디언트를 알고 있기 때문에 대상 클래스로 이동하기 위해 조정하는 방법을 정확하게 알고 있음을 알 수 있습니다. 내가 한 것은 실제로 역 전파 였지만 가중치 대신 데이터와 관련했습니다.
일반적으로 공격자는 대상 배포 (0, 0, ..., 1, 0, ..., 0)
( 목표 달성하려는 클래스를 제외한 모든 곳에서 0)로 시작하여 데이터로 역 전파되고 그 방향으로 약간 이동합니다. 네트워크 상태가 업데이트되지 않습니다.
이제 깊이 나 데이터의 특성 (이미지, 오디오, 비디오 또는 텍스트)에 관계없이 작은 데이터 매니 폴드를 처리하는 피드 포워드 네트워크의 일반적인 기능이라는 것이 분명해졌습니다.
시스템을 속이는 것을 막는 가장 간단한 방법은 신경망의 앙상블, 즉 각 요청에서 여러 네트워크의 투표를 집계하는 시스템을 사용하는 것입니다. 여러 네트워크에 대해 동시에 역 전파하는 것이 훨씬 더 어렵습니다. 공격자는 한 번에 한 네트워크 씩 순차적으로 시도 할 수 있지만 한 네트워크에 대한 업데이트는 다른 네트워크에 대해 얻은 결과를 쉽게 엉망으로 만들 수 있습니다. 네트워크가 많을수록 공격이 더 복잡해집니다.
또 다른 가능성은 입력을 네트워크로 전달하기 전에 매끄럽게하는 것입니다.
이미지로의 역 전파에 부정적인 애플리케이션 만 있다고 생각해서는 안됩니다. deconvolution 이라고하는 매우 유사한 기술 이 시각화에 사용되고 뉴런이 배운 것을 더 잘 이해하는 데 사용됩니다.
이 기술을 사용하면 특정 뉴런을 발생시키는 이미지를 합성 할 수 있으며 기본적으로 "뉴런이 찾는 대상"을 시각적으로 볼 수 있습니다.
신경망 연구에서 아직 만족스럽지 않은 중요한 질문은 DNN이 제공하는 예측을 어떻게 제시 하는가입니다. DNN은 이미지의 패치를 각 뉴런에 저장된 패치의 "사전"패치와 일치시켜 효과적으로 작동합니다 ( youtube 고양이 신문 참조 ). 따라서 패치 만보기 때문에 이미지의 높은 수준의보기를 갖지 않을 수 있으며 이미지는 일반적으로 현재 시스템에서 결과를 얻기 위해 훨씬 낮은 해상도로 축소됩니다. 이미지의 구성 요소가 어떻게 상호 작용하는지 살펴보면 이러한 문제를 피할 수 있습니다.
이 연구에 대해 물어볼 몇 가지 질문은 다음과 같습니다. 네트워크가 이러한 예측을 할 때 얼마나 확신 했습니까? 그러한 적대적 이미지는 모든 이미지의 공간에서 얼마나 많은 양을 차지합니까?
이와 관련하여 내가 알고있는 일부 작업은 Virginia Tech의 Dhruv Batra와 Devi Parikh 's Lab에서 질문 응답 시스템에 대해 조사합니다. 시각적 질문 응답 모델의 동작 분석 및 시각적 질문 응답 모델 해석 .
더 많은 그러한 작업이 필요하며, 인간의 시각 시스템이 그러한 "광학 착시"에 의해 속이는 것처럼, DFA를 사용한다면 이러한 문제는 피할 수 없을 것입니다.
심층 신경망이 그렇게 쉽게 속일 수있는 방법은 무엇입니까?
인식 할 수없는 이미지에 대한 높은 신뢰도 예측을 제공하여 심층 신경망을 쉽게 속일 수 있습니다. 이것이 어떻게 가능한지? 평범한 영어로 이상적으로 설명해 주 시겠습니까?
직관적으로 여분의 숨겨진 계층은 네트워크가보다 복잡한 분류 기능을 학습 할 수 있도록하여보다 나은 작업 분류를 수행해야합니다. 딥 러닝 이라고 할 수 있지만 실제로는 얕은 이해입니다.
자신의 지식을 테스트하십시오 : 아래 표의 어느 동물이 Felis silvestris catus 이고, 시간을 갖고 속임수를 쓰지 마십시오. 힌트는 다음과 같습니다. 어느 집 고양이입니까?
더 이해하기 쉬운 체크 아웃 : " 취약한 시각화에 대한 적의 공격 " 및 " 심층 신경망이 훈련하기 어려운 이유는 무엇입니까? "
이 문제는 앨리어싱 , 샘플링 할 때 다른 신호를 구별 할 수 없게하는 효과 (또는 서로의 앨리어스) 및 스포크 휠이 실제 회전과 다르게 회전 하는 역마차 휠 효과 와 유사합니다 .
신경망은 그것이 무엇을보고 있는지 또는 어떤 방향으로 가고 있는지 모릅니다 .
심층 신경망은 무언가에 대한 전문가가 아니며, 어떤 목표가 달성되었다는 것을 수학적으로 결정하도록 훈련받습니다. 만약 그들이 틀린 답을 거부하도록 훈련받지 않았다면 무엇이 잘못되었는지에 대한 개념이 없습니다. 그들은 옳고 그른 것만 알고 있습니다. 틀렸고 "올바르지 않다"는 반드시 같은 것이 아니며 "올 바르고"정확하지도 않습니다.
신경망 은 잘못을 정확히 알지 못합니다 .
대부분의 사람들이 하나, 둘 또는 그 이상을 보지 않으면 집 고양이를 모르는 것처럼. 위 사진 격자에 집 고양이가 몇 마리나 없습니까? 귀여운 고양이 사진을 포함한다는 비난은 근거가 없으며 모두 위험한 야생 동물입니다.
또 다른 예가 있습니다. 질문에 대답하면 Bart와 Lisa가 더 똑똑해지고 질문을하는 사람도 알 수 있고 알 수없는 변수가있을 수 있습니까?
우리는 아직 없지만 신경망은 특히 모든 안개를 피하도록 올바르게 훈련 된 경우에 정확한 답을 신속하게 제공 할 수 있습니다.
입력에 비차별 정보를 무시 하여 이미지 공간에 특정 구조적 노이즈를 추가하여 신경망을 쉽게 속이거나 해킹 할 수 있습니다 ( Szegedy 2013 , Nguyen 2014 ).
예를 들면 다음과 같습니다.
다리에 4 개의 다리가 있다는 사실을 무시하면서 모피의 독특한 점을 일치시켜 재규어를 감지하는 법을 배웁니다. 2015 년
따라서 기본적으로 특정 모델에서 높은 신뢰도 예측은 ' 로컬 선형 특성과 고차원 입력 공간 의 조합 '으로 인해 존재합니다 . 2015 년
ICLR 2015 (Dai의 연구) 에서 회의 논문으로 출판 된 것은 차별적으로 훈련 된 매개 변수를 생성 모델로 전달하는 것이 추가 개선을위한 큰 영역이 될 수 있다고 제안합니다.
댓글을 달 수 없지만 (50 담당자가 필요했기 때문에) Vishnu JK와 OP에 응답하고 싶었습니다. 신경망이 실제로 프로그래밍 관점에서 "이것이 가장 비슷하다"고만 말하는 사실을 건너 뛰고 있다고 생각합니다.
예를 들어, 위의 이미지 예제를 "추상적 인 아트"로 나열 할 수 있지만 가장 많이 나열된 것과 같은 것입니다. 학습 알고리즘은 객체로 인식하는 것에 대한 범위가 있으며 위의 모든 예를 보면 알고리즘의 범위에 대해 생각하면 ... 이는 의미가 있습니다 (한눈에 볼 수도 있음). 백색 잡음). 숫자의 비슈누 예에서, 눈을 흐릿하게하고 이미지의 초점이 맞지 않으면 실제로 모든 경우에 문제의 숫자를 실제로 반영하는 패턴을 발견 할 수 있습니다.
여기에 표시되는 문제는 알고리즘에 "알 수없는 사례"가없는 것 같습니다. 기본적으로 패턴 인식이 출력 범위에 존재하지 않는다고 말합니다. (그래서 최종 출력 노드 그룹은 이것이 내가 아는 아무것도 아닙니다). 예를 들어, 사람과 학습 알고리즘이 공통적으로 갖는 일이기 때문에 사람들도이 작업을 수행합니다. 다음은 존재하는 알려진 동물 만 사용하여 내가 말하는 내용 (다음 내용은 정의)을 보여주는 링크입니다.
이제 내가 아는 것과 말할 수있는 것에 의해 제한되는 사람으로서, 나는 다음이 코끼리라고 결론을 내릴 것입니다. 그러나 그렇지 않습니다. 학습 알고리즘 (대부분의 경우)에는 "like a"문이 없으며 결과는 항상 신뢰 백분율로 검증됩니다. 따라서이 방식으로 속이는 것은 놀라운 일이 아닙니다 ... 물론 놀라운 사실은 지식 세트를 기반으로 OP와 Vishnu가 나열된 위의 사례를 보면 그 사람을 실제로 지적하는 시점입니다. .. 조금만 살펴보면 ... 학습 알고리즘이 어떻게 연결을 만들 었는지 알 수 있습니다.
그래서 나는 그것을 알고리즘의 일부에서 잘못 레이블이라고 부르지 않거나 심지어 트릭 된 경우라고 부릅니다. 범위가 잘못 개발 된 경우입니다.
이미 많은 좋은 답변이 있습니다. 나는 내 앞에 온 사람들에게 덧붙일 것입니다.
이미지 당신이라고 언급하는이 유형의 적대적 섭동을 (참조, 1 , 그리고 이미지에 한정되지 않고, 참조, 너무 텍스트에 적용하는 것으로 나타났다 지아 & 리앙를 EMNLP 2017 , 텍스트에서,의 도입을. 단락과 모순되지 않는 관련없는 문장은 네트워크가 완전히 다른 답변을 야기하는 것으로 나타났습니다 ( Jia & Liang, EMNLP 2017 참조 ).
그들이 작동하는 이유 는 신경망이 이미지와는 다른 방식으로 이미지를보고 문제 공간의 높은 차원과 관련되어 있기 때문입니다. 전체 그림을 볼 때 결합하여 객체를 형성하는 기능의 조합을 볼 수 있습니다 ( Moosavi-Dezfooli et al., CVPR 2017 ). 한 네트워크에서 생성 된 섭동에 따르면 다른 네트워크에서 작동 할 가능성이 높은 것으로 나타났습니다.
위 그림에서 VGG-19 네트워크에 대해 계산 된 범용 섭동은 테스트 된 다른 모든 아키텍처에 대해 53 % 이상의 속박 비율을 가짐을 알 수 있습니다.
그렇다면 당신은 어떻게 대적의 섭동의 위협에 대처합니까? 우선, 최대한 많은 섭동을 만들어 모델을 미세 조정하는 데 사용할 수 있습니다. 이것은 다소 문제를 해결하지만 문제를 완전히 해결하지는 않습니다. ( Moosavi-Dezfooli et al., CVPR 2017 )에서 저자는 새로운 섭동을 계산하여 프로세스를 반복 한 다음 미세 조정을 반복하면 반복 횟수에 관계없이 장난 비율이 호버링되어 더 이상 개선되지 않는 것으로 보입니다. 80 %.
섭동은 신경망이 수행하는 얕은 패턴 일치를 나타내며, 현재 문제에 대한 심층적 인 이해가 부족합니다. 더 많은 작업이 여전히 필요합니다.
대부분의 다른 답변은 흥미롭고 일부는 엄격함을 보여 주므로 해당 치료를 복제하지는 않지만 보안 방어의 부족에 대한 정확한 평가보다 연구 상태에 더 잘 맞는 질적 답변을 제시합니다. 현재 인공 네트워크 디자인.
누군가가 "사람들이 그렇게 쉽게 속이는 것은 어떻습니까?" 동의하면서 웃으면 서 "우리가 그렇게 깊지 않다고 생각합니다."
그것이 인공 네트워크의 상태에 대한 저의 평가이기도합니다. 그럼에도 불구하고 더 많은 혁신과 발견이 수반 될 수 있으며 AI 구성 요소의 교육, 배포 및 현장 사용에 대한 보안 문제는 성공적인 공격이 기업의 신뢰성과 영업권에 비용을 초래할 때 반드시 해결 될 것입니다.
보안이 취약한 기술의 판매는 새로운 것이 아닙니다. 우리가 이미 공개 소스 또는 크리에이티브 커먼즈에 라이센스를 부여하지 않은 한 실험실의 아무도 과학적 이론, 데이터 또는 절차를 클라우드에 배치하지 않습니다.