본 블로그 포스트에서 사용된 표, 이미지 및 기타 관련 자료는 해당 논문에서 발췌한 것입니다. 이 자료들은 논문의 내용을 요약하고 이해를 돕기 위한 참고용으로 제공됩니다. 또한, 해석 과정에서 일부 오류가 있을 수 있으니 원 논문을 참고하여 확인하시기 바랍니다.
Abstract
본 논문은 조건 정보를 생성자와 판별자에 함께 입력하는 조건부 GAN을 제안하고, 이를 통해 MNIST 숫자 이미지를 클래스 레이블에 따라 생성할 수 있음을 보여준다. 또한, 이 모델은 멀티모달 학습에 응용될 수 있으며, 학습 라벨에 포함되지 않은 설명적 태그를 생성함으로써 자동 이미지 태깅 가능성을 제시한다.
1. Introduction
본 논문에서는 기존의 생성 모델 훈련에서 발생하는 복잡한 확률 계산을 피하기 위한 대안적 프레임워크로 제안된 생성적 적대 신경망(GAN)을 조건부 방식으로 확장한 조건부 GAN(Conditional GAN, CGAN)을 소개합니다. GAN은 마르코프 연쇄를 필요로 하지 않으며, 역전파만으로 학습이 가능하고 추론 과정이 필요 없다는 장점이 있습니다. 또한 다양한 요인과 상호작용을 모델에 쉽게 통합할 수 있습니다. 기존 GAN은 생성 데이터의 모드(mode)를 통제할 수 없지만, 조건 정보를 도입함으로써 생성 과정을 제어할 수 있습니다. 이 조건은 클래스 레이블, 이미지 일부(inpainting), 또는 다른 모달리티의 데이터일 수 있습니다. 저자들은 이러한 조건부 GAN을 어떻게 구성할 수 있는지 설명하며, MNIST 데이터셋(클래스 레이블 조건)과 MIR Flickr 25,000 데이터셋(멀티모달 조건)을 이용한 두 가지 실험을 통해 모델의 효과를 입증합니다.
2. Related Work
2.1 Multi-modal Learning For Image Labelling
지도학습(특히 CNN 기반 모델)의 최근 성과에도 불구하고, 매우 많은 수의 출력 범주를 예측해야 하는 문제에서는 여전히 확장성과 관련된 도전 과제가 존재함을 지적한다. 또한 기존 연구 대부분은 입력과 출력 간의 일대일(one-to-one) 매핑에 초점을 맞추어 왔으나, 실제 많은 문제는 확률적 일대다(one-to-many) 관계로 보는 것이 자연스럽다고 강조한다. 예를 들어 이미지 태깅 문제의 경우, 동일한 이미지에 대해 다양한(그리고 유의미하게 연관된) 태그가 적용될 수 있으며, 사람마다 사용하는 표현이 다를 수 있음을 예시로 제시하고 있다. 대규모 출력 범주 문제를 해결하기 위한 방안으로 다른 모달리티의 정보, 특히 자연어 코퍼스를 활용한 의미론적 임베딩 공간의 도입을 제안한다. 라벨에 대한 벡터 표현을 학습함으로써, 예측 오류가 발생하더라도 '의미적으로 가까운' 결과(예: ‘chair’ 대신 ‘table’)를 얻게 되어 실용적인 장점을 가진다. 또한, 학습 시 관측되지 않았던 라벨에 대해서도 일반화된 예측이 가능하다. 예를 들어, 이미지 특징 공간에서 단어 표현 공간으로의 단순한 선형 매핑만으로도 분류 성능이 향상됨 등 선행연구를 통해 입증되었다.
두 번째 문제인 입력과 출력 사이의 일대다(one-to-many) 관계 문제를 해결하기 위한 한 가지 접근 방식은 조건부 확률 생성 모델(conditional probabilistic generative model)을 활용하는 것이다. 이 경우, 입력은 조건 변수로 취급되며, 다양한 출력 결과는 조건부 예측 분포를 통해 모델링된다. 본 연구에서는 Srivastava와 Salakhutdinov의 연구에 기반하여, MIR Flickr 25,000 데이터셋을 이용해 멀티모달 딥 볼츠만 머신(Multimodal Deep Boltzmann Machine)을 학습하였다. 아울러 Kiros 등은 지도학습 기반 멀티모달 신경 언어 모델을 제안하고, 이를 통해 이미지로부터 자연어 설명 문장(descriptive sentence)을 생성하는 방법을 제시하였다.
3. Conditional Adversarial Nets
3.1 Generative Adversarial Nets
본 문단에서는 Generative Adversarial Network(GAN)의 기본 개념을 설명한다. GAN은 두 개의 적대적인 모델로 구성되며, 생성자(Generator, G)는 잠재공간의 노이즈 $z \sim p_z(z)$로부터 실제 데이터 $x \sim p_{\text{data}}(x)$와 유사한 데이터를 생성하고, 판별자(Discriminator, D)는 주어진 샘플이 실제 데이터에서 온 것인지 생성된 것인지 판단한다. G와 D는 모두 다층 퍼셉트론과 같은 비선형 함수로 설계될 수 있다. 생성자는 $G(z; \theta_g)$ 형태의 매핑 함수를 통해 $p_g(x)$라는 데이터 분포를 학습하며, 판별자는 $D(x; \theta_d)$를 통해 입력 샘플이 진짜일 확률을 출력한다. GAN의 학습은 다음의 2인 미니맥스 게임(minimax game)으로 정의되며, 생성자는 $\log(1 - D(G(z)))$를 최소화하고, 판별자는 $\log D(x) + \log(1 - D(G(z)))$를 최대화한다:
$$
\min_G \max_D V(D, G) = \mathbb{E}_{x \sim p_{\text{data}}(x)}[\log D(x)] + \mathbb{E}_{z \sim p_z(z)}[\log(1 - D(G(z)))]
$$
이를 통해 G는 D를 속일 수 있는 데이터를 생성하는 방향으로, D는 G의 출력을 정확히 판별하는 방향으로 학습이 진행된다.
3.2 Conditional Adversarial Nets
조건부 GAN은 생성자와 판별자 모두에 조건 정보 $y$를 입력함으로써 구현된다. 이때 $y$는 클래스 라벨이나 다른 모달리티의 데이터일 수 있으며, 입력 노이즈 $z$와 함께 결합되어 생성자의 입력이 된다. 판별자는 생성된 샘플 $G(z|y)$와 실제 샘플 $x$를 각각 $y$와 함께 받아들여 판별을 수행한다. 이러한 구조는 다음과 같은 조건부 적대적 손실 함수로 학습되며, 이는 기존 GAN을 조건부로 확장한 형태이다:
$$
\min_G \max_D \mathbb{E}_{x \sim p_{\text{data}}}[\log D(x|y)] + \mathbb{E}_{z \sim p_z}[\log(1 - D(G(z|y)))]
$$

4. Experimental Results
4.1 Unimodal
본 연구에서는 클래스 레이블에 조건화된 Conditional GAN을 MNIST 이미지 데이터셋에 대해 학습하였다. 클래스 레이블은 원-핫 벡터(one-hot vector)로 인코딩되었으며, 생성자 네트워크에서는 차원 수 100의 잠재 노이즈 $z$를 \[0,1] 구간의 균등 분포에서 샘플링하였다. 입력된 $z$와 조건 정보 $y$는 각각 ReLU 활성화 함수를 갖는 은닉층으로 사상되며, 해당 층의 크기는 각각 200차원과 1000차원이다. 이들은 다시 1200차원의 공동 은닉층(joint hidden layer)에서 통합된다. 최종 출력층은 시그모이드 함수(sigmoid)를 갖는 유닛으로 구성되어 있으며, 이를 통해 784차원의 MNIST 이미지가 생성된다.
판별자(discriminator)는 입력 이미지 $x$를 40개의 유닛과 5개의 조각(piece)으로 구성된 Maxout 층(※)에 매핑하고, 조건 정보 $y$는 50 유닛, 5조각의 Maxout 층에 매핑한다. 이후 이 둘은 240 유닛, 4조각으로 구성된 공동 Maxout 은닉층으로 통합되어 시그모이드 출력층으로 연결된다. 저자들은 아키텍처의 세부 구조보다 표현력의 충분함이 중요하며, Maxout 유닛이 본 과제에 효과적임을 강조한다.
모델은 다음과 같은 설정으로 학습되었다:
- 최적화 방법: 확률적 경사 하강법(SGD)
- 미니배치 크기: 100
- 학습률: 초기 0.1에서 시작하여 지수적으로 감소, 최종 0.000001까지 (감쇠 계수: 1.00004)
- 모멘텀(momentum): 초기 0.5에서 0.7까지 점진적 증가
- 드롭아웃(dropout): 생성자와 판별자 모두에 대해 0.5의 확률로 적용 \[9]
- 조기 종료 조건: 검증 데이터셋에서의 로그우도 추정치가 최대일 때
성능 평가는 Gaussian Parzen 윈도우 기반 로그우도 추정을 사용하였다. MNIST의 각 클래스마다 1,000개의 샘플을 생성하고, 여기에 가우시안 커널을 적합한 후 테스트셋에 대한 로그우도를 추정하였다 (\[8] 참조).
결과적으로, 조건부 생성적 적대 신경망(Conditional GAN)은 일부 신경망 기반 방법과 비슷한 성능을 보였으나, 비조건부 GAN을 포함한 일부 다른 모델들에 비해서는 낮은 성능을 기록하였다. 이러한 결과는 효과성 보다는 개념적 타당성(proof-of-concept)을 보여주기 위한 것이며, 하이퍼파라미터 및 구조 탐색을 통해 성능 향상이 가능함을 저자들은 주장한다.
※ Maxout 이란
Maxout은 Goodfellow et al. (2013)에 의해 제안된 활성화 함수의 일반화된 형태로, 전통적인 비선형 함수인 ReLU나 sigmoid 함수와 달리 여러 개의 선형 조합 중 최댓값을 선택하는 방식으로 동작한다. 하나의 Maxout 유닛은 입력 벡터 $x$에 대해 복수의 선형 함수 $x^\top W_j + b_j$를 계산하고, 이들 중 최댓값을 출력으로 선택함으로써 비선형성을 유도한다. 수식적으로는 다음과 같이 정의된다:
$$
\text{Maxout}(x) = \max_{j=1,\dots,k} (x^\top W_j + b_j)
$$
여기서 $k$는 각 유닛이 갖는 선형 조각(piece)의 개수이며, $W_j$와 $b_j$는 각 조각에 해당하는 가중치와 편향을 나타낸다. 이 구조는 하나의 유닛이 다수의 선형 표현을 내부적으로 학습할 수 있도록 하며, 출력은 여전히 단일 스칼라값으로 유지된다. 따라서 Maxout은 구조적으로는 여러 개의 선형 층을 포함하지만, 기능적으로는 하나의 활성화 함수처럼 작동하는 연산 블록이다.
예를 들어, “240개의 유닛과 5개의 조각으로 구성된 Maxout 층”은 총 240개의 출력을 생성하며, 각 출력은 5개의 서로 다른 선형 조합 중 최댓값을 선택하여 결정된다. 이 경우 실제로는 총 $240 \times 5 = 1,200$개의 선형 변환이 계산되고, 그중 240개의 값이 선택되어 최종 출력으로 전달된다.
Maxout의 주요 장점은 표현력의 풍부함이다. ReLU가 단일 비선형 함수를 사용하는 데 반해, Maxout은 여러 선형 조합 중 최댓값을 사용함으로써 더 복잡한 함수 공간을 모델링할 수 있다. 특히 Dropout 기법과 함께 사용할 때 성능이 뛰어난 것으로 알려져 있으며, 이는 Maxout이 다양한 부분공간의 조합을 통해 견고한 특성 표현을 가능하게 하기 때문이다. 반면, 계산량이 증가한다는 단점이 존재하므로 구조적 복잡성과 연산 자원에 대한 고려가 필요하다.
이러한 이유로 Maxout은 단순한 활성화 함수로 분류되기보다는, 유연한 표현력과 조건부 선택 능력을 갖춘 고차원적 비선형 연산 유닛으로 간주된다. 특히 GAN에서 판별자와 같은 표현력이 중요한 구성 요소에 사용될 때, 학습의 안정성과 분류 성능을 동시에 향상시킬 수 있는 잠재력을 가진다.



4.2 Multimodal
Flickr와 같은 사진 공유 사이트는 이미지와 이에 연결된 사용자 생성 메타데이터(UGM)*— 특히 사용자 태그(user-tags) — 형태로 라벨이 부착된 데이터의 풍부한 원천이다. 사용자 생성 메타데이터(UGM)는 전통적인 라벨링 방식보다 자연어에 가까운 서술적 표현을 사용하며, 동의어가 빈번히 사용되기 때문에 라벨의 정규화가 중요하다. 이를 위해 개념 기반 단어 임베딩을 활용하면 유사한 개념들이 비슷한 벡터로 표현되어 효과적인 정규화가 가능하다.
본 절에서는 조건부 적대 신경망(Conditional Adversarial Nets)을 활용하여, 이미지 특징에 조건화된 태그 벡터(tag-vector)의 (잠재적으로 멀티모달한) 확률 분포를 생성함으로써 다중 라벨 기반의 이미지 자동 태깅을 수행하는 방법을 제시한다. 이미지 특징 추출을 위해, Krizhevsky et al.이 제안한 구조(Alex Net)(※)를 기반으로 한 합성곱 신경망을 mageNet 전체 데이터셋(총 21,000개 라벨 포함)에 대해 사전 학습(pre-training)하였다. 본 연구에서는 해당 신경망의 최종 완전 연결층(fully connected layer)의 4096차원 출력 벡터를 이미지의 표현(feature representation)으로 사용하였다. 단어 수준의 의미적 정규화와 임베딩에는 Mikolov et al.의 단어 벡터 학습 방식이 활용될 수 있다. 즉, softmax 처리하기 전, 4096개의 노드를 갖는 층을 이미지 표현용으로 사용했다
Krizhevsky, A., Sutskever, I., and Hinton, G. (2012). ImageNet classification with deep convolutional neural networks. In Advances in Neural Information Processing Systems 25 (NIPS’2012)" 이 논문은 딥러닝 분야에서 유명한 AlexNet 논문이다.
상세 설명
- 논문 제목: ImageNet Classification with Deep Convolutional Neural Networks
- 저자: Alex Krizhevsky, Ilya Sutskever, Geoffrey E. Hinton
- 학회: NIPS 2012 (현재 NeurIPS)
- 주요 내용:
- 대규모 데이터셋 ImageNet (약 120만 장, 1,000개 클래스)을 이용해 딥러닝 모델(AlexNet)을 훈련시킴
- 당시 최고 수준 성능으로 ILSVRC 2012 대회에서 1위를 차지
- 신경망 구조: 5개의 합성곱(convolutional) 레이어, 3개의 fully-connected 레이어, ReLU 활성화 함수 사용, 드롭아웃(dropout), 데이터 증강 등 다양한 혁신 적용
- AlexNet의 등장은 딥러닝이 컴퓨터 비전 분야에서 본격적으로 주목받게 된 계기가 되었음
Image feature로 사용되는 표현은, Krizhevsky et al. \[13]의 AlexNet 구조를 기반으로 설계된 합성곱 신경망(convolutional neural network)을 ImageNet 전체 데이터셋(약 21,000개 레이블 포함) \[15]에 대해 사전 학습(pre-training)한 후, 해당 모델의 **최종 출력층이 아닌 마지막 은닉 fully connected layer**로부터 추출한 **4096차원의 벡터**이다. 이 벡터는 softmax 분류 결과가 아니라, 그 이전 단계에서의 \*\*고차원 이미지 표현(high-level representation)\*\*으로 간주되며, 본 연구에서는 이를 입력 이미지의 특징 벡터로 활용하였다.
세계 지식(world representation)을 벡터화하기 위해, 먼저 YFCC100M 데이터셋의 메타데이터로부터 사용자 태그(user-tags), 제목(titles), 설명(descriptions)을 종합(concatenation)하여 텍스트 말뭉치를 구축하였다. 이후 전처리 및 정제(cleaning) 과정을 거친 후, Mikolov et al.이 제안한 Skip-gram 모델(※)을 사용하여 200차원(word vector size = 200)의 단어 임베딩을 학습하였다. 이때, 200회 이하로 등장한 단어는 어휘(vocabulary)에서 제외하였으며, 최종적으로 247,465개의 단어로 구성된 사전(dictionary)을 구축하였다.
Skip-gram 모델
Skip-gram 모델은 Mikolov et al. (2013)에 의해 제안된 단어 임베딩(word embedding) 학습을 위한 신경망 기반 언어 모델로, 주어진 중심 단어(center word)로부터 일정 범위 내의 문맥 단어(context words)를 예측하는 방식으로 학습된다. 이는 단어 간 의미적 유사성(semantic similarity)을 벡터 공간 상에서 효과적으로 반영하기 위해 고안된 방법이며, 특히 희소한 데이터나 드문 단어들에 대해서도 일반화 성능이 우수한 것이 특징이다.
Skip-gram 모델의 주요 목적은 다음과 같은 조건부 확률을 최대화하는 것이다:
$$\max \prod_{t=1}^{T} \prod_{-c \leq j \leq c, j \neq 0} P(w_{t+j} \mid w_t)$$
여기서,
- $w_t$는 시점 $t$의 중심 단어,
- $w_{t+j}$는 문맥 단어(context word),
- $c$는 윈도우 크기(context window size),
- $T$는 전체 단어 시퀀스의 길이를 나타낸다.
조건부 확률 $P(w_{t+j} \mid w_t)$는 softmax 함수를 통해 정의되며, 각 단어는 고정된 크기의 실수 벡터로 임베딩된다. 전체 단어 분포에 대한 softmax 계산은 계산 비용이 크기 때문에, 실제 구현에서는 보통 negative sampling이나 hierarchical softmax와 같은 근사 기법이 활용된다.
Skip-gram 모델은 특히 다음과 같은 장점을 지닌다:
- 희귀 단어에 대한 일반화 능력이 뛰어나며,
- 문맥 기반 의미 표현을 효과적으로 학습할 수 있으며,
- 단어 간 유사성, 아날로지(analogy) 관계 등을 벡터 공간에서 수치적으로 표현할 수 있다.
이러한 특성 덕분에 Skip-gram은 검색, 기계 번역, 질의 응답, 추천 시스템 등 다양한 자연어 처리(NLP) 응용에서 단어 표현의 기본 구성 요소로 널리 활용되고 있다.
합성곱 신경망(convolutional model)과 언어 모델(language model)은 적대 신경망(adversarial net)을 학습하는 동안 고정된 상태로 유지하였다. 이들 모델까지 역전파(backpropagation)를 수행하는 실험은 향후 연구 과제로 남겨두었다.
본 연구는 MIR Flickr 25,000 데이터셋을 기반으로 이미지와 태그 특징을 추출하였으며, 태그가 없는 이미지는 제외하고 주석은 태그로 간주하였다. 학습에는 150,000개의 예제를 사용하였으며, 다중 태그를 가진 이미지는 각 태그별로 반복 포함시켜 학습에 활용하였다. 평가를 위해서, 각 이미지에 대해 100개의 샘플을 생성하고, 벡터 유사도 기반으로 가장 자주 등장한 상위 10개의 단어를 최종 태그로 선택하여 평가에 활용하였다.

최적의 성능을 보인 모델에서 생성자(generator)는 크기 100의 가우시안 노이즈(Gaussian noise)를 입력으로 받아 이를 500차원의 ReLU 활성화 은닉층으로 매핑한다.
입력: (예: 100차원 노이즈 벡터) → [Dense Layer (500노드) + ReLU] → 출력: 500차원 벡터
수식적으로 살펴보면, 입력 벡터 $\mathbf{z} \in \mathbb{R}^{100}$에 대해,
$$\mathbf{h} = \text{ReLU}(W \mathbf{z} + \mathbf{b})$$
- $W \in \mathbb{R}^{500 \times 100}$: 가중치 행렬
- $\mathbf{b} \in \mathbb{R}^{500}$: 편향 벡터
- 출력 $\mathbf{h} \in \mathbb{R}^{500}$: 500차원 벡터, 각 원소에 ReLU가 적용됨
즉, 500개의 ReLU 연산이 병렬적으로 수행되는 구조다.
동시에, 4096차원의 이미지 특징 벡터는 2000차원의 ReLU 은닉층으로 변환된다. 이 두 은닉층은 이후 200차원의 선형 결합층(linear layer)에서 공동 표현(joint representation)으로 통합되며, 최종적으로 생성된 단어 벡터(word vectors)를 출력한다.
판별자(discriminator)는 단어 벡터(word vectors) 입력에 대해 500차원의 ReLU 은닉층, 이미지 특징(image features) 입력에 대해 1200차원의 ReLU 은닉층으로 각각 구성되며,이후 두 은닉층의 출력은 1000개의 유닛과 3개의 조각(piece)으로 이루어진 Maxout 층에서 결합된다. 결합된 출력은 최종적으로 단일 시그모이드 유닛(sigmoid unit)에 입력되어 결과를 출력한다.
모델은 확률적 경사 하강법(Stochastic Gradient Descent, SGD)을 사용하여 학습되었으며, 미니배치 크기는 100으로 설정하였다. 초기 학습률은 0.1이었으며, 학습이 진행됨에 따라 감쇠 계수(decay factor) 1.00004를 적용하여 0.000001까지 지수적으로 감소시켰다. 또한, 모멘텀(momentum)은 초기값 0.5에서 시작하여 최종적으로 0.7까지 증가하도록 설정하였다. 드롭아웃(dropout)은 생성자(generator)와 판별자(discriminator) 모두에 대해 0.5의 확률로 적용되었다.
하이퍼파라미터 및 모델 구조는 교차 검증(cross-validation)을 기반으로, 무작위 그리드 탐색(random grid search)과 수동 선택(manual selection)을 혼합하여 결정하였으며, 다만 탐색 공간은 다소 제한적인 범위 내에서 설정되었다.
5. Future Work
본 논문의 결과는 아직 매우 초기적인 단계에 머물러 있으나, 조건부 적대 신경망(Conditional Adversarial Networks)의 표현력과 생성적 잠재성을 시사하며, 다양한 실용적 응용 가능성을 보여준다. 추후 연구에서는 보다 정교한 모델 구조를 제시하고, 성능과 생성 특성에 대한 심층 분석을 함께 수행할 계획이다. 특히, 현재 실험에서는 개별 태그 단위로만 생성 작업을 수행하였으나, 향후에는 다중 태그를 동시에 생성하는 문제(set generation)로 확장함으로써 더욱 향상된 결과를 도출할 수 있을 것으로 기대된다. 또한, 본 연구에서는 언어 모델을 별도로 사전 학습(pre-trained)하여 고정된 상태로 사용하였으나, 향후 과제로는 이를 생성자(generator)와 통합적으로 학습하는 공동 학습 구조(joint training scheme)로 발전시키는 방향이 있다. 이와 관련하여, Kiros et al. [12]는 멀티모달 신경 언어 모델(multimodal neural language model)을 통해 이미지와 언어 간의 결합 표현을 효과적으로 학습할 수 있음을 보여주었으며, 이는 특정 태스크에 최적화된 언어 표현을 생성하는 데 유용한 접근 방식으로 작용할 수 있음을 시사한다.
※ CGAN 모델은 이미지 특징을 조건으로 입력받아, 그 이미지에 어울리는 단어 벡터(태그)를 생성하는 것이 핵심 목적이다.
이는 곧 조건부 이미지 설명 생성 / 자동 태깅 문제로 귀결되며, 일반적인 GAN의 무조건 생성과는 다르게, 입력 이미지에 의미적으로 부합하는 출력 생성을 가능하게 한.