ML/머신러닝

UNSUPERVISED REPRESENTATION LEARNING WITH DEEP CONVOLUTIONAL GENERATIVE ADVERSARIAL NETWORKS 논문 리뷰

KAU 2020. 5. 16. 14:40

1511.06434.pdf
7.13MB
Figure 1: DCGAN generator used for LSUN scene modeling. A 100 dimensional uniform distribution Z is projected to a small spatial extent convolutional representation with many feature maps. A series of four fractionally-strided convolutions (in some recent papers, these are wrongly called deconvolutions) then convert this high level representation into a 64 × 64 pixel image. Notably, no fully connected or pooling layers are used.

0.Background

토폴로지(: topology,망구성방식)는 컴퓨터 네트워크의 요소들(링크, 노드 등)을 물리적으로 연결해 놓은 것, 또는 그 연결 방식을 말한다. 로컬 영역 네트워크(LAN)은 물리적 토폴로지와 논리적 토폴로지 둘 다 보여 줄 수 있는 네트워크의 한 예이다. 랜 상의 어떠한 노드도 네트워크 상에서 하나 이상의 다른 노드에 하나 이상의 링크를 갖고 있으며 그래프 상의 이러한 링크와 노드들은 네트워크의 물리적 토폴로지를 잘 설명해 주고 있다. 이와 비슷하게 네트워크 상에서 노드끼리의 데이터 흐름은 네트워크의 논리적 토폴로지를 결정한다. 물리적 토폴로지와 논리적 토폴로지는 특정 네트워크에서 아주 동일할 수도 있고 그렇지 않을 수도 있다.

어떠한 특정한 토폴로지는 노드 사이의 물리적, 논리적 연결 구성으로 결정되는데 이러한 토폴로지 연구는 그래프 이론을 사용한다. 노드 사이의 거리, 물리적 상호 연결, 전송 속도, 신호 종류는 두 망 사이에서 각기 다를 수 있지만 이러한 토폴로지는 비슷한 양상을 보인다.

 

Batch-normalization? Batch Normalization은 2015년 arXiv에 발표된 후 ICML 2015에 publish 된 이 논문 (Batch Normalization : Accelerating Deep Network Training by Reducing Internal Covariance Shift) 에 설명되어 있는 기법으로, 발표된 후 최근에는 거의 모든 인공신경망에 쓰이고 있는 기법이다. 기본적으로 Gradient Vanishing / Gradient Exploding 이 일어나지 않도록 하는 아이디어 중의 하나이며, 지금까지는 이 문제를 Activation 함수의 변화 (ReLU 등), Careful Initialization, small learning rate 등으로 해결하였지만, 이 논문에서는 이러한 간접적인 방법보다 training 하는 과정 자체를 전체적으로 안정화하여 학습 속도를 가속시킬 수 있는 근본적인 방법을 제안하였다. 더 자세한 내용은 다음 포스트를 참고하길 바란다. Batch Normalization 설명 및 구현

 

Batch Normalization 설명 및 구현

NIPS (Neural Information Processing Systems) 는 머신러닝 관련 학회에서 가장 권위있는 학회들 중 하나이다. 이 학회에서는 매년 컨퍼런스를 개최하고, 작년 12월에도 NIPS 2015라는 이름으로 러시아에서 컨��

shuuki4.wordpress.com

tanhtanh 함수, (Hyperbolic tangent function)

하이퍼볼릭탄젠트란 쌍곡선 함수중 하나이다. --

쌍곡선 함수 : 쌍곡선 함수란 삼각함수와 유사한 성질을 가지고, 표준 쌍곡선을 매개변수로 표시할 때 나오는 함수이다.

하이퍼볼릭탄젠트 함수는 시그모이드 함수를 transformation해서 얻을 수 있다.

-1 vertical shift & 1/2 horizontal squeeze & 2 vertical stretch

함수는 다음과 같이 정의된다.

tanh(x)=2σ(2x)1tanh(x)=2σ(2x)−1

tanh(x)=exexex+extanh(x)=ex−e−xex+e−x

tanh(x)=1tanh2(x)tanh′(x)=1−tanh2(x)

  • tanh 함수는 함수의 중심값을 0으로 옮겨 sigmoid의 최적화 과정이 느려지는 문제를 해결했다.
  • 하지만 미분함수에 대해 일정값 이상 커질시 미분값이 소실되는 gradient vanishing 문제는 여전히 남아있다.

Strided convolutions의 모습 stride를 1이상의 정수값을 갖게 하면 출력값의 크기를 키울 수 있다.
Fractionally-strided convolutions의 모습 stride를 1보다 작게하여 출력의 크기를 줄인다.

 

1.Introduction

기존 GAN은 불안정하여 종종 의미 없는 결과를 도출해 낼 때가 있다.

 

컨볼 루션 GAN의 아키텍처 토폴로지를 사용하여 대부분의 환경에서 훈련하기에 제약이있는

일련의 제약 조건을 제안하고 평가합니다.

이미지 분류에 이미 훈련된 discriminator를 사용하여 다른 unsupervised algorithms보다 우수한 성능을 보여줍니다.

GAN에 의해 학습 필터 시각화하고 특정 필터 특정 객체 그리는 것을 학습 것을 경험적으로 보여줍니다.

 

 

 

2.RELATED WORK

REPRESENTATION LEARNING FROM UNLABELED DATA

고전적인 접근방식은 데이터에 클러스터링(예: K-means 사용)을 하고,

클러스터를 활용하여 개선된 분류 점수에 활용하는 것이다.

사다리 구조(Rasmus et al., 2015)를 분리하고, 코드를 디코딩하여 이미지를 최대한 정확하게 재구성하는 것이다. 이러한 방법들은 또한 이미지 픽셀로부터 좋은 특징 표현을 배우는 것으로 나타났다.

GENERATING NATURAL IMAGES

생성 이미지 모델은 잘 연구되어 파라메트릭과 비파라메트릭의 두 가지 범주로 나뉜다. 비모수 모델은 종종 기존 이미지의 데이터베이스에서 매칭을 하며, 종종 이미지 패치와 일치하며, 텍스처 합성(Efros et al., 1999), 초해상도(Freeman et al., 2002), 인페인팅(Hays & Efros, 2007)에 사용되었다. 영상 생성을 위한 파라미터 모델이 광범위하게 연구되었다(예를 들어 MNIST 숫자 또는 텍스처 합성을 위한 파라미터 모델(Portilla & Simoncelli, 2000). 하지만 최근까지 현실 세계의 자연 이미지를 만들어내는 것은 큰 성공을 거두지 못했다. 이미지 생성에 대한 변이 샘플링 접근법(Kingma & Welling, 2013)은 어느 정도 성공을 거두었지만, 샘플은 종종 흐릿해지기 때문에 어려움을 겪는다. 또 다른 접근법은 반복적인 전방 확산 프로세스를 사용하여 이미지를 생성한다(Sohl-Dickstein et al., 2015). 생성적 역행 네트워크(Goodfellow et al., 2014)는 시끄럽고 이해할 수 없는 이미지로 고통 받는 이미지를 생성했다. 이 접근법에 대한 라플라시아 피라미드 확장(Dentonetal,2015)은 높은 품질의 이미지를 보여주었지만, 여러 모델을 체인으로 연결할 때 도입된 소음 때문에 여전히 흔들리는 것처럼 보이는 물체로부터 고통을 받았다. 최근 자연영상을 생성하는 데 성공한 재귀 네트워크 접근법(Gregoretal.,2015)과 Adadeconvolutionnetworkapproach(Dosovitskiyetal.,2014)도 있다. 그러나, 그들은 감독된 작업을 위해 발전기를 활용하지 않았다.

VISUALIZING THE INTERNALS OF CNNS

신경망을 이용한 일관된 비평은 블랙박스 메토드, Whatthenetworksdointheformofasimplehuman-consumerable algorithm에 대한 이해는 거의 없다. CNN의 맥락에서, Zeiler 등. (Zeiler & Fergus, 2014)는 디컨볼루션을 사용하고 최대 활성화를 필터링함으로써 네트워크에서 각 컨볼루션 필터의 대략적인 목적을 찾을 수 있음을 보여주었다. 마찬가지로 입력에 대한 구배 하강을 사용하면 필터의 특정 부분 집합을 활성화하는 이상적인 이미지를 검사할 수 있다(Mordvintsev et al. ).

 

3.APPROACH AND MODEL ARCHITECTURE

The first is the all convolutional net 
Second is the trend towards eliminating fully connected layers 
Third is Batch Normalization
The ReLU activation(Nair&Hinton,2010)isused in the generator with the exception of the output layer which uses the Tanh function

Architecture guidelines for stable Deep Convolutional GANs

• Replaceanypoolinglayerswithstridedconvolutions(discriminator)andfractional-strided convolutions (generator).

• Use batchnorm in both the generator and the discriminator.

• Remove fully connected hidden layers for deeper architectures.

• Use ReLU activation in generator for all layers except for the output, which uses Tanh.

• Use LeakyReLU activation in the discriminator for all layers.

 

Discriminator에서는 모든 pooling layers를 strided convolutions 로 바꾸고,

Generator에서는 pooling layers를 fractional-strided convolutions 으로 바꾼다 

Batch Normarlization을 사용한다. 

fully connected hidden layer를 삭제한다.

마지막에는 Relu함수 대신 Tanh fucntion을 사용한다.

 

generator 구조

 

discriminator 구조