Hits

안녕하세요 모카의 머신러닝 입니다. 이번에는 GAN Dissection이라 불리는 GAN Dissection: Visualizing and Understanding Generative Adversarial Networks, ICLR 2019 에 대해 리뷰합니다.

paper


GAN Dissection 연구 요약

GAN은 최근 많은 real-world 어플리케이션 위한 인상깊은 결과들을 보이고 있지만 잘 시각화 되거나 이해되지 않았습니다.

GAN은 내부적으로 세상을 어떻게 표현할까요? GAN 결과에 무엇이 artifacts를 만들까요? 아키텍쳐의 선택이 GAN 학습에 어떤 영향을 미칠까요?

본 연구는 unit, object, scene 레벨에서 GAN의 시각화와 이해를 할 수 있는 분석적 프레임워크를 제시합니다.

구체적인 과정을 살펴보자면

  1. 세그멘테이션 기반의 네트워크를 사용해서 object 컨셉과 비슷한 해석가능한 unit의 그룹을 구별합니다.
  2. 결과에서 object를 컨트롤 할 수 있는 가능성에 대한 측정을 함으로써 해석가능한 unit의 인과적 효과를 정량화 합니다.
  3. unit들과 관련된 것들을 새로운 이미지에 발견된 object 컨셉들을 삽입하는 방식으로 맥락적 관계를 조사합니다.


GAN Dissection 방법

architecture

크게 두 가지로 나눌 수 있습니다.

  • Dissection (생성된 이미지의 명시적 표현을 갖는 클래스 확인)

    큰 object 클래스 딕셔너리에서 시작하여 r의 개별 단위와 모든 클래스 c간의 일치를 측정하여 r에서 명시적 표현을 갖는 클래스를 식별합니다.

  • Intervention (해당 클래스를 on-off 하면서 이미지에서 영향을 확인)

    Dissection을 통해 식별된 대표 클래스의 경우 단위 집합을 강제로 켜고 끄는 방식으로 unit의 인과 집합을 식별하고 unit과 object 클래스 간의 인과적 영향을 측정합니다.


방법 1 - Characterizing units by Dissection

u: unit

r: unit u의 generator 피쳐맵

s: concept c의 semantic segmantation

c: concept

IoU를 사용하여 각 단위와 관련된 개념의 순위를 매기고 가장 일치하는 개념으로 각 단위의 레이블을 지정할 수 있습니다. Figure 2에서 IoU가 더 높으면 해당 클래스를 선택한 개수가 더 높습니다.

room

diff_layer

diff_scene ![ablation and insertion](https://use


방법 2 - Measuring casual relationships using Intervention

인과 관계에 대한 질문에 답하기 위해, intervention을 사용해서 네트워크를 증명합니다.

  1. Intervention and ablation

    ​ ablation and insertion

    1) 원래의 이미지

    2) 원래의 이미지에서 unit을 0으로 만든 이미지

    3) 원래의 이미지에서 unit을 더 넣은 이미지

    3가지를 비교합니다.

  2. Averaging casual effect (ACE)

    ​ ace

    인과 관계는 x_i와 x_a에 있는 나무의 존재를 비교하고, 모든 위치와 이미지에 대한 평균 효과를 비교하여 정량화 할 수 있습니다.

    이러한 방법을 사용하면 하나의 unit이 아미라 그 이상의 unit에 의존하는 경향이 있습니다. 따라서 object class c에 대해 average casual effect를 최대화하는 unit U의 집합을 식별해야 합니다.

  3. Finding sets of units with high ACE

    ​ ace_optimize

    Degree of intervention을 암시하는 0과 1사이의 continuous intervention alpha를 최적화 합니다. ACE의 식을 변형하여 목적함수를 만들고 loss를 만듭니다. L2 regularization도 추가합니다. SGD로 최적화를 합니다.


Results

ablation insertion


Demo (데모 꼭 해보세요! 정말 신기해요)

MIT and IBM 공식 데모 링크 클릭

https://ganpaint.io/

ganpaint


지금까지 GAN Dissection 논문 리뷰를 해보았습니다. 저도 논문을 읽으며 공부해나가는 단계라 부족한 점이 있을 수 있습니다. 같이 잘 공부해나가요! 질문이나 지적, 요청해주실 부분이 있다면 댓글이나 메일 부탁드립니다.

읽어주셔서 감사합니다. 😃