ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • DCGan
    카테고리 없음 2019. 3. 30. 23:32

    이 포스터는 논문 Unsupervised Representation Learning With Deep Convolutional Generative Adversarial Networks (링크: https://arxiv.org/abs/1511.06434)를 읽고 정리한 것 입니다.

     

    -Introduction

    GAN은 학습이 불안정하고, generator가 무의미한 아웃풋을 출력해낼 때도 있음.

     

    하지만, DCGan은

    ➲ 대부분의 상황에서 언제나 안정적으로 학습이 되는 Conditional GAN구조를 제안.

    ➲ image classification task를 위해 train된 discriminator를 사용.

    ➲ GAN에 의해 습득된 필터를 시각화하고, 특정 필터가 특정 물체를 그려내는 것을 실험적으로 보여줌.

    ➲ DCGAN으로 학습된 Generator가 벡터 산술 연산이 가능한 성질을 갖고 이것으로 의미있는(sematic) 수준에서 sample generation을 해볼 수 있다는 점.

     

    -DCGan의 핵심 접근 방법

     

    1. Spatial pooling function(ex) maxpooling)을 strided convolution으로 대체함.

    2. Convolution feature  마지막 layer에서 fully connected layer를 제거함.

         -가장 대표적인 예로 art image classification 사용된 global averaging pooling 

               *global averaging pooling이란?

                    -> global averaging pooling 기존에 일반적으로 사용하던 구조인 CNN + FC (Fully Connected layer)에서 분류기인 FC 없애기 위한 방법으로 도입하였음.

                    -> 뒤로 수록 추상화되고 함축되는 정보가 feature 담기게 되는데결과적으로 마지막 feature 분류기로 사용하는 방식 feature 평균값을 사용하여 분류함.

                    -> FC 전체의 CNN보다 많은 parameter 가지고 계산이 오래 걸리고, 입력단의 숫자의 갯수가 고정되는 단점. 그리고, feature의 위치에 대한 정보가 모두 사라짐. 

                    -> 예를 들어, 진단의 결과 암이라고 분류 결과가 나왔는데어떤 부분을 보고서 그런 결과를 내었는지 확인을 하기 위해FC 사용하지 않고 GAP 사용

     

    3.Batch normalization을 사용하여, initialize문제와 gradient flow 개선함. 

            -Use batch normalization in both the generator and the discriminator.

            - unit 대한 input 평균 0, 단위 분산 (분산: 1) normalization 함으로써 학습을 안정화시킴.

     

    4. Generator에 ReLu Activation을 활성함수로써 사용

    5. Discrimnator에는 LeakyReLu Activaton을 모든 Layer에 사용

     

    -Data 학습

    Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks - Alec Redford et al. (2016)에서는 3개의 DataSet을 사용

     

    -LSUN (침실 사진 Dataset)

    -Imagenet-1k (32x32 사이즈의 여려 물체들의 사진)

    -Newly Assembled Face Image

     

    -EMPIRICAL VARICATION OF DCGANS CAPABILITIES

              DCGAN의 성능을 평가하기 위해서 이를 feature extract로 사용해서 얻은 feautre로 supervised dataset에 대한 평가를 진행하는 방법.

     

    -Investigating and Visualizing the internals of the networks

          1) Walking in the latent space

                  우리가 첫 번째로 한 실험은 latent space의 landscape를 이해하는 것임.

                  학습된 manifold(다양체)를 걷는 것은 memorizaion에 대한 sign(만약 날카로운 전환이 있다면)과 공간이 계층 적으로 붕괴되는 방식에 대해 알 수 있음. 

                  잠재 공간에서 걷는다면 이미지 생성물 (예 : 추가되거나 제거되는 객체)에 의미 론적 변화가 생기면 모델이 관련성 있고 흥미로운 표현을 배웠다고 판단할 수 있음.

     

    맨 윗줄: Z에서 일련의 9 개의 무작위 점 사이의 보간은 smmoth한 변환을 배운 공간을 보여줌 .모든 이미지는 그럴듯한 침실로 보임. 6번 째 줄: 창문이없는 방이 천천히 거대한 창문이있는 방으로 변함. 10번 째 줄: TV가 천천히 창으로 변형되는 모습을 볼 수 있음.

             2) Visualizing the discriminator features

                        We demonstrate that an unsupervised DCGAN trained on a large image dataset can also learn a hierarchy of features that are interesting.

                        

    discriminator에 의해 학습된 features은 침대와 창문과 같은 침실의 일반적인 부분을 활성화 시킴. 

              3) Manipulating the generaotr representation

                       3.1) forgetting to draw certain objects (특정 대상을 그리는 것을 잊어버림)

                               discriminator에 의해 배우는 representation뿐만 아니라, generator가 배우는 representation에 대해서도 우리는 궁금증이 있음! -->교수님께 질문

     

    network는 창문을 그리는 것을 잊어버렸음. 다른 object로 창문을 대체. Top row: un-modified samples from model/ Bottom row: the same samples generated with dropping out "window" filtes. 이미지에서 물체를 제거하고, generator가 그린 물체로 수정할 수 있음.

    위와 같은 벡터 산술 연산은 복잡한 이미지 분포의 conditional generative modeling에 필요한 많은 양의 데이터를 줄일 수 있음.

     

    각 column은 샘플의 Z vector를 평균 낸 것임. 

     

    -reference

     

    http://jaejunyoo.blogspot.com/2017/02/deep-convolutional-gan-dcgan-1.html

    https://whikwon.github.io/articles/2017-09/DCGAN

     

    Whikwon

     

    whikwon.github.io

    https://ko-kr.facebook.com/groups/TensorFlowKR/permalink/556886401319089/

     

    보안 확인 필요

    메뉴를 열려면 alt + / 키 조합을 누르세요

    ko-kr.facebook.com

     

Designed by Tistory.