0. Summary

기본 정보 : ArXiv,2014.11.06, Conditional Generative Adversarial Nets

연구 배경

GAN 은 다루기 어려운 확률 계산의 근사를 피하면서 생성 모델을 학습하는 대안 프레임워크로 막 소개되었고, 마르코프 체인 없이 역전파만으로 학습되며 학습 중 추론이 필요 없고 다양한 인자와 상호작용을 쉽게 통합할 수 있다는 장점이 있었다. 그러나 조건 없는 생성 모델에서는 생성되는 데이터의 모드를 제어할 방법이 없다. 한편 지도 신경망은 예측해야 할 출력 범주가 극도로 많은 경우로 확장하기 어렵고, 대부분의 연구가 입력에서 출력으로의 일대일 사상에 집중했지만 이미지 태깅처럼 하나의 이미지에 여러 태그가 적절히 붙을 수 있는 문제는 본질적으로 확률적 일대다 사상이다. 전자는 다른 모달리티(자연어 코퍼스로 학습한 라벨 벡터 표현)의 추가 정보를 활용해, 후자는 조건부 확률 생성 모델로 접근할 수 있다.

제안 방법

조건으로 삼고 싶은 추가 정보 $y$ (클래스 라벨, 다른 모달리티의 데이터 등)를 생성기와 판별기 모두에 추가 입력층으로 공급하면 GAN 을 조건부 모델로 확장할 수 있다. 생성기에서는 사전 잡음 $p_{z}(z)$ 와 $y$ 가 결합 은닉 표현으로 합쳐지고, 적대적 학습 프레임워크는 이 은닉 표현의 구성 방식에 상당한 유연성을 허용한다. 판별기에는 $x$ 와 $y$ 가 입력으로 주어진다. 목적함수는 $\min_{G}\max_{D}V(D,G)=\mathbb{E}{x\sim p{data}(x)}[\log D(x\mid y)]+\mathbb{E}{z\sim p{z}(z)}[\log(1-D(G(z\mid y)))]$ 이다 (Eq. 2). 실험은 클래스 라벨을 조건으로 한 MNIST 숫자 생성(단일 모달)과, 이미지 특징을 조건으로 태그 단어 벡터를 생성하는 MIR Flickr 25,000 자동 태깅(다중 모달) 두 가지다.

발견 사실

원-핫 클래스 라벨을 조건으로 학습한 MNIST 조건부 GAN 은 각 행이 하나의 라벨로 조건화된 숫자 샘플을 생성했다(Figure 2). 가우시안 Parzen window 로그우도 추정은 $132\pm1.8$ 로, DBN($138\pm2$), Deep GSN($214\pm1.1$), 비조건부 적대 신경망($225\pm2$) 등 여러 방법보다 낮았고 저자들은 이를 효능의 입증이 아니라 개념 증명(proof-of-concept) 으로 제시했다(Table 1). 다중 모달 실험에서는 ImageNet 21,000 라벨로 사전학습한 합성곱 모델의 4096 차원 특징과 YFCC100M 메타데이터로 학습한 200 차원 skip-gram 단어 벡터를 고정한 채 조건부 GAN 을 학습했고, 이미지당 100 개 샘플을 생성해 코사인 유사도 상위 20 단어 중 가장 흔한 10 개를 태그로 뽑았다. 사용자 태그가 “water, river” 인 이미지에 “creek, lake, river, rocky, valley, woods” 처럼 훈련 라벨에 없는 서술적 태그가 생성되었다(Table 2).

핵심 기여

  1. 조건부 GAN 의 정식화 : 생성기와 판별기 양쪽에 조건 $y$ 를 입력으로 주는 단순한 구성으로 GAN 을 조건부 생성 모델로 확장하고, 그 미니맥스 목적함수를 제시했다. 원 GAN 논문이 후속 연구로 제안한 첫 항목을 구현한 것이다.
  2. 클래스 조건 생성의 시연 : MNIST 에서 클래스 라벨로 조건화된 숫자를 생성해 데이터 생성 과정을 지시(direct) 할 수 있음을 보였다.
  3. 다중 모달 학습과 이미지 태깅 응용 : 이미지 특징을 조건으로 태그 단어 벡터의 (다중 모드일 수 있는) 분포를 생성하는 방식으로, 훈련 라벨의 일부가 아닌 서술적 태그를 생성하는 예비 결과를 제시했다.

관련 개념

조건부 적대 신경망의 구조 (Section 3)

조건부 적대 신경망(Conditional Adversarial Nets) 은 GAN 의 두 네트워크에 조건 변수 $y$ 를 추가 입력으로 넣은 것입니다. 논문은 먼저 GAN 을 복습한 뒤 조건부 확장을 정의합니다.


🎯 1. GAN 복습 (Section 3.1, Eq. 1)

생성 모델 $G$ 는 데이터 분포를 포착하고, 판별 모델 $D$ 는 샘플이 $G$ 가 아닌 훈련 데이터에서 왔을 확률을 추정합니다. 둘 다 다층 퍼셉트론 같은 비선형 사상일 수 있습니다. 생성기는 사전 잡음 분포 $p_{z}(z)$ 에서 데이터 공간으로의 사상 $G(z;\theta_{g})$ 를 만들고, 판별기 $D(x;\theta_{d})$ 는 $x$ 가 $p_{g}$ 가 아닌 훈련 데이터에서 왔을 확률을 나타내는 단일 스칼라를 출력합니다.

\[\min_{G}\max_{D}V(D,G)=\mathbb{E}_{x\sim p_{data}(x)}[\log D(x)]+\mathbb{E}_{z\sim p_{z}(z)}[\log(1-D(G(z)))]\]

$G$ 는 $\log(1-D(G(z)))$ 를 최소화하도록, $D$ 는 가치 함수를 최대화하도록 동시에 학습됩니다.


🔗 2. 조건부 확장 (Section 3.2, Eq. 2)

$y$ 는 클래스 라벨이나 다른 모달리티의 데이터 같은 어떤 종류의 보조 정보도 될 수 있습니다. $y$ 를 판별기와 생성기 양쪽에 추가 입력층으로 공급해 조건화합니다.

네트워크 입력 처리
생성기 $p_{z}(z)$ 와 $y$ 결합 은닉 표현(joint hidden representation)으로 합쳐짐. 적대적 학습 프레임워크는 이 은닉 표현의 구성 방식에 상당한 유연성을 허용
판별기 $x$ 와 $y$ 판별 함수(여기서는 MLP)의 입력으로 제시
\[\min_{G}\max_{D}V(D,G)=\mathbb{E}_{x\sim p_{data}(x)}[\log D(x\mid y)]+\mathbb{E}_{z\sim p_{z}(z)}[\log(1-D(G(z\mid y)))]\]

Figure 1

Figure 1 은 단순한 조건부 적대 신경망의 구조를 보여줍니다. 생성기 쪽에서 $z$ 와 $y$ 가, 판별기 쪽에서 $x$ 와 $y$ 가 각각 합쳐집니다.


🧭 3. 조건화의 종류

논문 서론은 조건화가 다음에 기반할 수 있다고 열거합니다.

조건의 종류 예
클래스 라벨 MNIST 숫자 클래스 (Section 4.1)
데이터의 일부 인페인팅처럼 이미지 일부를 조건으로 나머지 생성
다른 모달리티의 데이터 이미지 특징을 조건으로 태그 생성 (Section 4.2)

이 셋은 각각 이후 class-conditional GAN, 이미지 조건부 GAN(Pix2Pix 등), 교차 모달 생성(text-to-image 등)으로 발전합니다.

🧪 4. 선행 다중 모달 연구와의 관계 (Section 2.1)

선행 연구 접근 조건부 GAN 과의 관계
이미지 특징 → 단어 표현 선형 사상 이미지 특징 공간에서 단어 벡터 공간으로의 단순 선형 사상으로 분류 성능 향상 같은 단어 임베딩 공간을 출력 공간으로 쓰되, 결정론적 사상 대신 조건부 분포를 생성
다중 모달 심층 볼츠만 머신 MIR Flickr 25,000 에서 이미지·태그의 결합 분포를 학습 같은 데이터셋을 쓰지만 마르코프 체인 없이 역전파만으로 학습
지도 다중 모달 신경 언어 모델 이미지에 대한 서술 문장 생성 언어 모델을 과제에 맞게 학습할 수 있음을 보여, 논문이 제안한 공동 학습 방향의 근거

조건부 GAN 은 이 연구들과 달리 추론 없이 샘플링만으로 조건부 분포를 다루며, 조건 $y$ 의 모달리티에 아무 제약이 없습니다.

💡 Key Takeaway 조건부 GAN 의 전부는 “$y$ 를 $G$ 와 $D$ 둘 다에 넣는다“입니다. 판별기도 $y$ 를 보기 때문에 생성기는 그럴듯할 뿐 아니라 조건에 맞는 샘플을 만들어야 합니다.

단일 모달 실험: MNIST 클래스 조건 생성 (Section 4.1)

MNIST 실험은 원-핫 벡터로 부호화한 클래스 라벨을 조건으로 조건부 적대 신경망을 학습한 것입니다. 구조와 학습 설정이 상세히 기술되어 있어 조건부 GAN 의 초기 구현 방식을 엿볼 수 있습니다.


🏗️ 1. 생성기 구조

층 설정
잡음 사전 $z$ 단위 초입방체 내 균등분포, 100 차원
$z$ 은닉층 ReLU, 200 유닛
$y$ 은닉층 ReLU, 1000 유닛
결합 은닉층 두 은닉층을 합친 ReLU, 1200 차원
출력층 시그모이드, 784 차원 MNIST 샘플

🏗️ 2. 판별기 구조

층 설정
$x$ 층 maxout, 240 유닛 × 5 조각
$y$ 층 maxout, 50 유닛 × 5 조각
결합 층 maxout, 240 유닛 × 4 조각
출력 시그모이드

저자들은 판별기의 정확한 구조는 충분한 능력만 있으면 중요하지 않으며, maxout 유닛이 이 과제에 대체로 잘 맞는다고 적습니다.


⚙️ 3. 학습 설정

항목 값
최적화 확률적 경사하강, 미니배치 100
학습률 초기 0.1, 감쇠 인자 1.00004 로 지수적으로 0.000001 까지 감소
모멘텀 초기 0.5, 0.7 까지 증가
드롭아웃 확률 0.5, 생성기와 판별기 모두
종료 기준 검증 집합의 로그우도 최선 추정치

🔁 4. 비조건부 GAN 과의 구조 차이

항목 GAN (Goodfellow et al.) 조건부 GAN (본 논문)
생성기 입력 $z$ $z$ 와 $y$ (각각 은닉층을 거쳐 결합)
판별기 입력 $x$ $x$ 와 $y$ (각각 maxout 층을 거쳐 결합)
판별기의 판단 $x$ 가 진짜인가 $x$ 가 조건 $y$ 아래에서 진짜인가
생성의 제어 불가능 (모드를 고를 수 없음) $y$ 로 모드를 지시
학습 절차 교대 경사하강 동일

판별기가 $y$ 를 보지 않으면 생성기는 어떤 $y$ 에도 같은 그럴듯한 샘플을 내도 벌점을 받지 않습니다. 이 점은 이후 Pix2Pix 가 조건 없는 판별기 변형에서 입력과 무관한 출력으로의 붕괴를 관찰함으로써 실험적으로 확인됩니다.

💡 Key Takeaway 초기 조건부 GAN 은 $z$ 와 $y$ 를 각자 은닉층으로 올린 뒤 합치는 구조였습니다. 이후에는 라벨 임베딩을 단순 연결하거나 조건부 배치 정규화로 주입하는 방식으로 단순화됩니다.

MNIST 결과와 Parzen Window 평가 (Table 1, Figure 2)

평가는 원 GAN 논문과 같은 절차의 가우시안 Parzen window 로그우도 추정을 따릅니다. 결과는 조건부 모델이 비조건부 모델에 미치지 못했고, 저자들은 이를 숨기지 않습니다.


📊 1. Parzen Window 로그우도 (Table 1)

Table 1

10 개 클래스 각각에서 1000 개 샘플을 뽑아 가우시안 Parzen window 를 맞추고, 그 분포로 테스트 집합의 로그우도를 추정했습니다.

모델 MNIST
DBN $138\pm2$
Stacked CAE $121\pm1.6$
Deep GSN $214\pm1.1$
Adversarial nets $225\pm2$
Conditional adversarial nets $132\pm1.8$

조건부 적대 신경망의 결과는 일부 네트워크 기반 방법과 비슷하지만 비조건부 적대 신경망을 포함한 여러 접근에 뒤집니다. 저자들은 이를 효능의 입증이 아니라 개념 증명으로 제시하며, 하이퍼파라미터 공간과 구조를 더 탐색하면 조건부 모델이 비조건부 결과에 필적하거나 넘어설 것이라고 믿는다고 적습니다.


🖼️ 2. 생성 샘플 (Figure 2)

Figure 2

각 행은 하나의 라벨로 조건화되고 각 열은 서로 다른 생성 샘플입니다. 0 부터 9 까지 행마다 해당 숫자가 생성되어, 조건 $y$ 가 생성되는 데이터의 모드를 지시함을 보여줍니다.


🧐 3. 해석

  • Parzen window 추정은 원 GAN 논문도 인정했듯 분산이 크고 고차원에서 잘 작동하지 않는 지표입니다. 조건부 모델의 낮은 수치가 샘플 품질의 열위를 직접 의미하지는 않습니다.
  • 조건부 모델은 클래스당 1000 개씩 균등하게 샘플링했으므로 클래스 혼합 비율이 테스트 분포와 다를 수 있다는 점도 고려해야 합니다.
  • 이 논문의 가치는 수치가 아니라 조건으로 생성을 제어할 수 있다는 것을 보인 데 있습니다.

💡 Key Takeaway Table 1 의 $132\pm1.8$ 은 비조건부 GAN 의 $225\pm2$ 보다 낮지만, 저자들은 이를 개념 증명으로 명확히 자리매김했습니다. 제어 가능성이 이 논문의 핵심 메시지입니다.

다중 모달 학습: 이미지 태깅 (Section 2.1, 4.2)

다중 모달 학습(multi-modal learning) 실험은 조건부 GAN 의 진짜 야심을 보여줍니다. Flickr 같은 사진 사이트는 이미지와 사용자 생성 메타데이터(user-generated metadata, UGM), 특히 사용자 태그 형태의 풍부한 라벨 데이터 원천입니다.


🏷️ 1. 사용자 태그의 특성과 두 가지 문제

UGM 의 특성 함의
더 서술적이며, 객체 식별보다 사람이 자연어로 이미지를 묘사하는 방식에 의미적으로 가까움 정식 라벨링 체계와 다른 종류의 지도 신호
동의어가 만연하고 사용자마다 같은 개념에 다른 어휘 사용 라벨을 정규화할 효율적 방법이 중요. 관련 개념이 유사한 벡터로 표현되는 개념적 단어 임베딩이 유용

서론에서 제기한 두 문제에 대한 해법은 다음과 같습니다.

문제 해법
출력 범주가 극도로 많은 경우로 확장하기 어려움 다른 모달리티(자연어 코퍼스)의 정보로 기하 관계가 의미 있는 라벨 벡터 표현을 학습. 예측이 틀려도 종종 진실에 “가깝고”(table 대신 chair), 훈련 때 보지 못한 라벨로 자연스럽게 일반화. 이미지 특징 공간에서 단어 표현 공간으로의 단순 선형 사상도 분류 성능을 높인다는 선행 연구
일대일 사상에 집중 입력을 조건 변수로 삼고 일대다 사상을 조건부 예측 분포로 구현하는 조건부 확률 생성 모델

🧩 2. 특징 추출: 고정된 두 사전학습 모델

모달리티 모델 출력
이미지 ImageNet 전체(21,000 라벨)로 사전학습한 합성곱 모델 마지막 완전연결층 4096 유닛
단어 YFCC100M 메타데이터의 사용자 태그·제목·설명을 연결한 코퍼스로 학습한 skip-gram 200 차원 단어 벡터. 200 회 미만 등장 단어 제외, 사전 크기 247,465

두 모델은 적대 신경망 학습 중 고정되며, 이 모델들까지 역전파하는 실험은 후속 연구로 남겼습니다.


📦 3. 데이터 구성

  • MIR Flickr 25,000 데이터셋에서 위 두 모델로 이미지·태그 특징을 추출했습니다.
  • 태그가 없는 이미지는 제외했고 주석(annotation)은 추가 태그로 취급했습니다.
  • 처음 150,000 개 예시를 훈련 집합으로 썼으며, 태그가 여러 개인 이미지는 연관 태그마다 한 번씩 훈련 집합 안에 반복됩니다.

💡 Key Takeaway 이미지 태깅을 “분류”가 아니라 “이미지 특징을 조건으로 단어 벡터를 생성“하는 문제로 바꾼 것이 이 실험의 발상입니다. 단어 임베딩 공간 덕분에 훈련 라벨 밖의 태그도 나올 수 있습니다.

다중 모달 모델의 구조, 학습, 평가 (Section 4.2)

최선의 모델은 교차검증과 랜덤 그리드 서치·수동 선택의 혼합(다소 제한된 탐색 공간)으로 하이퍼파라미터와 구조를 정했습니다.


🏗️ 1. 생성기와 판별기

네트워크 구성
생성기 100 차원 가우시안 잡음 → 500 차원 ReLU 층. 4096 차원 이미지 특징 → 2000 차원 ReLU 은닉층. 둘을 200 차원 선형 결합층으로 사상해 생성 단어 벡터 출력
판별기 단어 벡터용 500 차원, 이미지 특징용 1200 차원 ReLU 은닉층. 결합층은 1000 유닛 × 3 조각 maxout. 최종 단일 시그모이드 유닛

생성기 출력층이 선형인 이유는 출력이 확률이나 픽셀이 아니라 실수값 단어 벡터이기 때문입니다.


⚙️ 2. 학습 설정

MNIST 와 동일합니다. 미니배치 100 의 확률적 경사하강, 초기 학습률 0.1 을 감쇠 인자 1.00004 로 0.000001 까지 지수 감소, 모멘텀 0.5 에서 0.7 로 증가, 생성기·판별기 모두 확률 0.5 드롭아웃입니다.


🔍 3. 평가 절차와 생성 태그 (Table 2)

Table 2

단계 내용
1 각 이미지에 대해 100 개 샘플(단어 벡터) 생성
2 각 샘플에 대해 어휘 내 단어 벡터와의 코사인 유사도로 가장 가까운 20 단어 탐색
3 100 개 샘플 전체에서 가장 흔한 상위 10 단어 선택
사용자 태그 + 주석 생성 태그
montanha, trem, inverno, frio, people, male, plant life, tree, structures, transport, car taxi, passenger, line, transportation, railway station, passengers, railways, signals, rail, rails
food, raspberry, delicious, homemade chicken, fattening, cooked, peanut, cream, cookie, house made, bread, biscuit, bakes
water, river creek, lake, along, near, river, rocky, treeline, valley, woods, waters
people, portrait, female, baby, indoor love, people, posing, girl, young, strangers, pretty, women, happy, life

생성 태그는 사용자 태그와 어휘가 다르더라도 의미적으로 관련된 서술어(“water, river” → “creek, lake, valley, woods”)를 포함하며, 이것이 훈련 라벨의 일부가 아닌 서술적 태그를 생성한다는 주장의 근거입니다. 정량 평가 지표는 제시되지 않았습니다.

💡 Key Takeaway 생성된 100 개 단어 벡터를 어휘로 되돌려 투표하는 절차는 일대다 분포에서 다수 모드를 읽어내는 방식입니다. 조건부 GAN 이 태그의 분포를 모델링한다는 발상이 여기에 담겨 있습니다.

한계와 열린 방향 (Section 5)

결론에서 저자들은 결과가 “극도로 예비적(extremely preliminary)” 이라고 명시합니다. 이 논문은 워크숍 발표를 앞둔 초기 보고서 성격이 강하며, 한계와 후속 계획이 비교적 투명하게 적혀 있습니다.


⚠️ 1. 명시된 한계

항목 내용
MNIST 정량 성능 Parzen window 로그우도가 비조건부 GAN 보다 낮음. 하이퍼파라미터·구조 탐색이 충분하지 않았음을 인정
태깅 평가 생성 태그의 정성적 예시만 제시. 정량 지표 없음
태그 단위 처리 현재 실험은 각 태그를 개별적으로 사용. 태그가 여러 개인 이미지는 태그마다 반복
고정된 특징 추출기 합성곱 모델과 언어 모델을 고정하고 적대 신경망만 학습
탐색 공간 하이퍼파라미터·구조 선택이 다소 제한된 탐색 공간에서 이루어짐

🔭 2. 저자들이 제안한 후속 방향

방향 내용
더 정교한 모델 워크숍까지 더 정교한 모델과 성능·특성에 대한 더 상세하고 철저한 분석을 제시할 계획
집합 생성 여러 태그를 동시에 사용해 생성 문제를 “집합 생성(set generation)” 으로 제기하면 더 나은 결과 기대
언어 모델 공동 학습 특정 과제에 맞는 언어 모델을 학습할 수 있다는 선행 연구에 따라, 언어 모델을 함께 학습하는 공동 학습 체계 구축

🔗 3. 이후 연구에서의 위치

  • 클래스 조건 생성 : DCGAN 의 보충 자료는 조건부 DCGAN 으로 MNIST 조건부 분포를 평가했고, 이후 class-conditional GAN 은 대규모 이미지 생성의 표준이 되었습니다.
  • 이미지 조건부 생성 : Pix2Pix 는 “조건을 $G$ 와 $D$ 모두에 넣는다”는 원리를 이미지 대 이미지 변환에 적용하면서, 판별기가 조건을 보지 않는 비조건부 변형이 입력과 무관한 출력으로 붕괴함을 실험으로 보여 조건부 판별기의 중요성을 확인했습니다.
  • 교차 모달 생성 : 이미지 특징 → 단어 벡터라는 방향은 이후 텍스트 → 이미지 생성으로 뒤집혀 발전했습니다.
  • 조건 주입 방식 : 은닉층을 따로 두고 합치는 방식에서 임베딩 연결, 조건부 배치 정규화, 사영 판별기 등으로 다양화되었습니다.

💡 Key Takeaway 이 논문은 수치보다 아이디어의 단순함으로 기억됩니다. “조건을 양쪽에 넣는다”는 한 줄이 이후 조건부 생성 연구 전체의 공통 출발점이 되었습니다.