Cycle GAN

2023, Dec 21    

1. 사전 지식

Image-to-Image Translation

  • 한 영역의 이미지들을 다른 영역으로 전환하는 작업
  • Paired -> Pix2Pix
  • Unpaired -> CycleGAN

Pix2Pix(conditional GAN)

  • Generator: U-Net 기반 아키텍처
  • Discriminator: Convolutional Patch GAN 분류기
  • 이미지가 generator의 입력으로 들어가고, 변환된 이미지가 출력됨.
  • Discriminator는 real 이미지와 fake(generator의 출력) 이미지를 입력으로 받음.

Loss

  • Discriminator: cGAN에서와 같은 loss함수 사용
    • negative log-likelihood를 최소화하는 것이 목표
  • Generator: L1 loss 사용
    • L1 loss: 실제 정답과 예측값 간의 차이의 절대값
  • Total Loss: 기존 cGAN loss에서 L1 loss 항을 더해준 것

Result


2. Cycle GAN

  • 소스와 대상 영역 사이에서 일대일 매핑 없이 한 영역에서 다른 영역으로 변환 가능
  • Generator G: X -> Y 변환하는 방법 학습
  • Generator F: Y -> X 변환하는 방법 학습
  • Discriminator Dx: X와 X’ = F(Y)를 구별하는 방법 학습
  • Discriminator Dy: Y와 Y’ = G(X)를 구별하는 방법 학습

Loss

  • adversarial loss
    • Generator G, F: 손실 함수 최소화
    • Discriminator Dy, Dx: 손실 함수 최대화
    • negative log-likelihood 함수 대신 least-squares loss로 대체
  • cycle consistency loss: 네트워크가 올바른 매핑을 학습하도록 강제하기 위해 사용
    • G(X) = Y’ 생성 -> F(Y’) = X’ 순환 이미지 생성
    • X와 X’ 사이의 평균 오차 계산
    • G(Y) = X’ 생성 -> F(X’) = Y’ 순환 이미지 생성
    • Y와 Y’ 사이의 평균 오차 계산
  • Total Loss

Result


3. midi -> sheet(악보) 이미지 생성 적용

  • midi 파일을 악보 이미지로 변환하는 것을 학습하는 것이 목적
  • midi 파일의 정보를 이미지로 표현
  • midi 파일에 해당하는 악보 이미지
  • midi 파일과 sheet 이미지의 크기를 256x256로 동일하게 맞춤

학습 결과

  • 65 Epochs
  • 650 Epochs
  • 학습을 계속 진행시켜도 나아지는 결과가 보이지 않아 학습 중단

실패 원인 분석

  1. midi와 midi에 해당하는 악보 이미지의 데이터 양의 부족
  2. midi의 도메인과 악보 도메인의 연관성
  3. midi 데이터의 주음계는 0~127 범위로 128개의 데이터로 표현되는데 numpy의 resize 함수로 midi 데이터의 크기를 강제적으로 늘려 반복되는 부분이 생겨 문제가 발생한 것으로 예상

Reference

[1] CycleGAN: Jun-Yan Zhu, Taesung Park, Phillip Isola, Alexei A. Efros, “Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks,” arXiv preprint arXiv:1703.10593, 2017.

[2] cGAN: Mehdi Mirza, Simon Osindero, “Conditional Generative Adversarial Nets,” arXiv preprint arXiv:1411.1784, 2014

[3] Pix2Pix: Phillip Isola, Jun-Yan Zhu, Tinghui Zhou, Alexei A. Efros, “Image-to-Image Translation with Conditional Adversarial Networks,” arXiv preprint arXiv:1611.07004, 2017