logo

GAN

적대적 사례 adversarial example

  • 머신러닝 모델이 오류를 범하도록 의도적으로 조작한 입력
  • 모델의 출력을 크게 바꾸는 입력 변화를 찾아 원본에 추가
  • 사람에게는 원본과 거의 같아 보이지만 모델에는 큰 판단 변화를 일으킬 수 있음
  • 모델의 이러한 취약성을 이용하는 행위를 적대적 공격(adversarial attack)이라고 부름
  • 이미지 분류뿐 아니라 음성 인식과 자연어 처리 등 다양한 분야의 안정성과 견고성에 영향

이미지 분류 모델을 속이는 작은 변화

미세한 잡음

원본 이미지에 사람이 알아보기 어려운 작은 잡음을 더해 다른 클래스로 분류하도록 유도 가능

원본 이미지에 특정 잡음을 더해 다른 클래스로 인식되게 만든 적대적 사례

  • Szegedy, Christian, et al. "Intriguing properties of neural networks." arXiv preprint arXiv:1312.6199 (2013).

판다 이미지에 작은 잡음을 더해 긴팔원숭이로 잘못 분류하게 만든 적대적 사례

  • Goodfellow, Ian J., Jonathon Shlens, and Christian Szegedy. "Explaining and harnessing adversarial examples." arXiv preprint arXiv:1412.6572 (2014).

원 픽셀 공격 one-pixel attack

이미지의 한 픽셀만 바꾸어 다른 클래스로 인식하도록 만드는 공격. 변화의 크기가 작아도 모델의 결정 경계를 넘으면 예측 결과가 달라질 수 있음

한 픽셀만 바꾸어 이미지 분류 모델을 속이는 원 픽셀 공격 예시

  • Su, Jiawei, Danilo Vasconcellos Vargas, and Kouichi Sakurai. "One pixel attack for fooling deep neural networks." IEEE Transactions on Evolutionary Computation (2019).

적대적 패치 adversarial patch

특정 무늬의 패치를 이미지나 실제 물체에 붙여 모델이 다른 대상으로 인식하도록 유도하는 공격. 작은 변화가 넓게 분산된 미세 잡음과 달리, 눈에 보이는 한 영역에 변화가 집중됨

스티커 형태의 적대적 패치를 붙여 바나나를 토스터로 인식하게 만드는 예시

  • Brown, Tom B., et al. "Adversarial Patch." arXiv preprint arXiv:1712.09665 (2017).

자연어 처리의 적대적 공격

질문에서 답을 찾는 자연어 처리 모델도 입력 문구의 작은 변화에 취약할 수 있음. 아래 사례에서는 질문의 올바른 답이 exercise이지만, 특정 표현을 추가하면 모델이 공격 문장에 포함된 잘못된 답을 선택

자연어 처리 질의응답 모델을 특정 표현으로 공격하는 예시

생성적 적대 신경망 Generative Adversarial Networks

  • 2014년 Ian Goodfellow가 처음 제안한 경쟁하는 생성자와 판별자로 구성된 생성 모형

  • 생성자 (Generator)

    • 생성자는 무작위로 생성된 잡음(Noise) 또는 낮은 차원의 랜덤 벡터를 입력으로 받아, 합성된 이미지를 생성
    • 생성자의 목표는 판별자를 속이기 위해 가능한 한 실제 이미지와 유사한 이미지를 만드는 것
  • 판별자 (Discriminator)

    • 판별자는 이미지가 생성자로부터 생성된 것인지 아니면 실제 데이터셋에서 온 것인지를 판단
    • 판별자의 목표는 생성자가 만든 이미지를 가짜로, 실제 데이터셋의 이미지를 진짜로 정확하게 구별하는 것

무작위 잡음에서 생성자가 가짜 이미지를 만들고 판별자가 실제 이미지와 구별하는 GAN 구조

GAN의 학습 과정

  • GAN의 학습 과정은 생성자와 판별자가 서로 경쟁하는 방식으로 진행
  • 미니맥스(minimax) 게임: 판별자는 목적 함수를 크게, 생성자는 작게 만드는 방향으로 경쟁
  • 이상적인 균형: 판별자가 실제 이미지와 생성 이미지를 구별하지 못해 각각을 같은 확률로 판단하는 상태
  • 실제 학습에서는 두 신경망의 성능이 계속 변하므로 안정적인 균형에 도달하기 어려움

수식으로 보는 GAN의 경쟁

Gmin​Dmax​V(D,G)=Ex∼pdata​​[logD(x)]+Ez∼pz​(z)​[log(1−D(G(z)))]
  • D(x): 판별자가 실제 데이터 x를 진짜라고 판단할 확률
  • G(z): 생성자가 무작위 입력 z로 만든 데이터
  • 판별자 D: 실제 데이터에는 높은 값, 생성 데이터에는 낮은 값을 출력하도록 학습
  • 생성자 G: 판별자가 생성 데이터를 실제로 판단하도록 목적 함수를 반대 방향으로 최적화

GAN의 발전(2014-2020)

2014년부터 2020년까지 얼굴 생성 GAN 결과가 발전한 예시

GAN의 단점

  • 모드 붕괴(mode collapse)
    • 서로 다른 잠재 벡터가 비슷한 출력으로 모이는 현상
    • 생성 결과가 일부 유형에 집중되어 데이터 분포의 다양성을 충분히 표현하지 못함
  • 사실성(fidelity)과 다양성(diversity)의 균형
    • 사실적인 일부 결과만 생성하면서 데이터 분포 전체를 충분히 포괄하지 못할 수 있음
    • 정밀도는 생성 품질, 재현도는 분포의 포괄 범위를 해석하는 데 도움
  • 감소된 경사(diminished gradient)
    • 판별자가 지나치게 빠르게 강해지면 생성자가 학습에 사용할 유용한 경사가 약해질 수 있음
    • 생성자와 판별자의 학습 속도와 손실 함수의 균형이 중요
  • 학습의 불안정: 학습이 잘 되지 않거나 설정에 따라 학습 결과에 차이가 큼

모드 붕괴로 GAN이 비슷한 종류의 이미지만 생성하는 예시

퀴즈

문제 1 / 5맞음: 0힌트: 0틀림: 0채점중: 0남음: 5

적대적 사례에 대한 설명으로 가장 알맞은 것은 무엇입니까?

  • ○모델이 오류를 범하도록 의도적으로 조작한 입력
  • ○생성 모델이 무작위 잡음으로 만든 모든 이미지
  • ○모델의 출력 레이블을 사람이 사후에 수정한 결과
  • ○훈련 데이터의 순서를 무작위로 섞는 전처리

퀴즈를 풀려면 대화형 기능을 불러와야 합니다.

Previous
오토인코더와 VAE