AI VIDEO BRIEFING

뉴럴 스타일 트랜스퍼부터 CycleGAN까지, 이미지 변환 모델 계보를 강의로 정리했다

UC 버클리 CS 198-126 강의가 다룬 이미지 대 이미지 변환 정리. 스타일 트랜스퍼의 그람 행렬 손실부터 pix2pix, CycleGAN, StarGAN, BicycleGAN까지 각 모델이 푼 문제를 짚는다.

사진을 그림으로 바꾸는 모델들은 무엇을 계산하나 — 버클리 이미지 변환 강의 정리 영상 대표 이미지

핵심 메시지

  • 이미지 대 이미지 변환은 원본의 내용을 유지한 채 다른 도메인의 특성으로 옮기는 작업이며, 흑백 사진 컬러화나 손상된 이미지 복원도 같은 범주에 들어간다.
  • 뉴럴 스타일 트랜스퍼는 내용 이미지·스타일 참조 이미지·생성 이미지 세 가지를 두고, 사전 학습된 분류용 합성곱 신경망의 중간층 특징을 기준으로 손실을 계산한다.
  • 내용 손실은 중간층 출력 사이의 유클리드 거리로, 스타일 손실은 특징 맵끼리의 내적을 모은 그람 행렬로 측정한다.
  • pix2pix는 입력과 정답이 짝지어진 데이터를 요구해 제약이 크지만, CycleGAN은 순환 일관성 손실을 써서 짝이 없는 데이터로도 학습한다.
  • StarGAN은 도메인 정보를 입력에 함께 넣어 하나의 생성기로 여러 도메인을 처리하고, BicycleGAN은 잠재 코드를 도입해 결과가 몇 가지로만 쏠리는 모드 붕괴를 완화한다.

쉽게 이해하기

UC 버클리의 'Modern Computer Vision and Deep Learning'(CS 198-126) 20번째 강의로, 주제는 이미지 스타일링이다. 강의는 이미지 대 이미지 변환이라는 큰 틀을 먼저 세운 뒤, 그 안의 한 갈래인 뉴럴 스타일 트랜스퍼를 자세히 설명하고, 이어서 적대적 생성 신경망(GAN) 계열 모델들이 같은 문제를 어떻게 다르게 풀었는지 순서대로 짚는다. 이미지 대 이미지 변환은 원본 도메인의 이미지를 목표 도메인의 대응 이미지로 옮기는 작업이다. 핵심은 내용을 보존하면서 표현 방식만 바꾸는 것이다. 강의는 화풍을 옮기는 스타일 트랜스퍼 외에도 이미지 합성, 흑백 사진의 컬러화, 손상된 이미지의 복원을 같은 문제군으로 묶어 소개한다.

뉴럴 스타일 트랜스퍼의 입력은 세 가지다. 형태를 유지할 내용 이미지, 화풍을 가져올 스타일 참조 이미지, 그리고 최적화 대상인 생성 이미지다. 원 논문은 새 구조를 만드는 대신 사전 학습된 깊은 분류용 합성곱 신경망(VGG-19)을 그대로 쓰고 손실 함수만 얹었다. 앞쪽 층은 모서리나 질감 같은 저수준 특징을, 뒤로 갈수록 추상적인 고수준 특징을 담기 때문에, 중간층의 특징 맵에서 내용과 스타일 표현을 함께 뽑아낸다.

두 손실의 성격은 다르다. 내용 손실은 중간층 출력끼리의 유클리드 거리를 재는 것으로 끝난다. 스타일 손실은 층마다 특징 맵들을 펼쳐 서로 내적을 구하는데, 벡터가 비슷할수록 내적이 커진다는 성질을 이용해 어떤 특징들이 함께 나타나는지를 상관관계로 잡아낸다. 이렇게 얻은 깊이 C짜리 그람 행렬은 C×C 크기가 되고, 두 손실을 합쳐 역전파로 출력 이미지를 갱신한다.

후반부는 GAN 계열이다. 판별기는 사실상 분류용 합성곱 신경망이고 생성기는 업샘플링을 맡는다는 복습에 이어, StyleGAN이 스타일 벡터를 합성 네트워크에 주입해 각 합성곱 층에서 조금씩 조정하며 고수준 속성과 저수준 속성을 분리한다는 점, 이때 바뀌는 것은 생성기뿐이라는 점을 짚는다. pix2pix는 조건부 GAN으로 입력 이미지에 조건을 걸어 출력을 만들지만 짝지어진 데이터가 필요하다는 한계가 있고, CycleGAN은 변환했다가 되돌리면 원본이 나와야 한다는 순환 일관성 손실로 짝 없는 데이터에서 학습한다. 말 사진 묶음과 얼룩말 사진 묶음만 있으면 되고, 한 장 한 장 대응시킬 필요가 없다.

마지막은 확장과 한계다. StarGAN은 여러 도메인을 다룰 때 생성기를 도메인 수만큼 만들어야 하는 문제를 피하려고, 이미지와 함께 도메인 정보(이진 라벨이나 원핫 인코딩)를 입력으로 넣는다. 금발·성별·나이·피부 톤 같은 속성을 함께 다루는 식이다. 한편 pix2pix와 CycleGAN은 출력이 몇 가지로만 쏠리는 모드 붕괴를 겪는데, BicycleGAN은 저차원 잠재 코드를 함께 입력하고 출력을 다시 잠재 공간으로 되돌리는 인코더까지 학습해, 서로 다른 잠재 코드가 같은 결과를 내지 않도록 한다. 강의는 비전 트랜스포머를 이미지 변환에 쓰는 시도가 나오고 있지만 GAN만큼 간단하지는 않다는 언급으로 마무리된다.

주요 인사이트

  • 스타일과 내용을 나눠서 다룰 수 있다는 발상이 이 분야의 출발점이다. 같은 신경망 특징을 쓰면서도 값 자체를 비교하느냐, 특징끼리의 상관관계를 비교하느냐만 바꿔 서로 다른 성질을 뽑아낸다.
  • 그람 행렬은 특징 맵의 위치 정보를 지우고 어떤 특징이 함께 나타나는지만 남긴다. 화풍이 '어디에 무엇이 있는가'가 아니라 '무엇과 무엇이 같이 나타나는가'로 정의되는 셈이다.
  • 짝지어진 학습 데이터를 구하기 어렵다는 현실적 제약이 CycleGAN 같은 구조를 낳았다. 모델 설계는 순수한 성능 경쟁이 아니라 데이터 수집 비용과 맞물려 움직인다.
  • 다중 도메인과 다중 모달 출력으로 넘어가는 흐름은 '하나의 입력에는 하나의 정답'이라는 가정을 깨는 과정이었다. 밤 풍경을 낮으로 바꾸는 방법이 하나일 이유는 없다.
  • 비전 트랜스포머가 인식 과제에서 강세를 보였다고 해서 생성 과제에 곧바로 유리한 것은 아니다. 강의는 생성기라는 구조가 주는 이점 때문에 GAN이 여전히 다루기 쉽다고 정리한다.

자주 묻는 질문

그람 행렬이 왜 스타일을 나타내나요?

층마다 특징 맵들을 펼쳐 서로 내적을 구하면 어떤 특징들이 함께 활성화되는지에 대한 상관관계가 남습니다. 벡터가 비슷할수록 내적이 커지는 성질을 이용하는 것으로, 깊이가 C인 특징 맵에서는 C×C 크기의 행렬이 나옵니다. 이 값이 이미지의 화풍 정보를 담는 표현으로 쓰입니다.

pix2pix와 CycleGAN은 무엇이 다른가요?

pix2pix는 입력 이미지와 그에 대응하는 정답 이미지가 한 쌍으로 묶인 데이터를 요구하는 지도학습에 가까운 방식이라, 데이터를 구하기 어렵고 활용 폭이 좁습니다. CycleGAN은 말 사진 묶음과 얼룩말 사진 묶음처럼 서로 대응되지 않는 두 집합만 있으면 되고, 변환했다가 되돌렸을 때 원본이 나와야 한다는 순환 일관성 손실로 이를 가능하게 합니다.

모드 붕괴는 무엇이고 어떻게 다루나요?

생성 결과가 표현할 수 있는 경우의 수에 비해 몇 가지로만 쏠리는 현상입니다. 강의는 pix2pix와 CycleGAN이 다양한 장면을 담아내지 못하는 예로 이를 설명합니다. BicycleGAN은 저차원 잠재 코드를 이미지와 함께 입력하고, 출력을 다시 잠재 공간으로 되돌리는 인코더를 학습해 서로 다른 잠재 코드가 같은 출력을 내는 확률을 낮추는 방식으로 이 문제를 완화합니다.

스타일 트랜스퍼에 새로운 신경망 구조가 필요한가요?

원 논문은 새 구조를 만들지 않고 사전 학습된 깊은 분류용 합성곱 신경망을 그대로 가져다 썼습니다. 달라진 것은 손실 함수로, 중간층 출력에서 내용 손실과 스타일 손실을 계산해 더한 뒤 생성 이미지를 역전파로 갱신합니다. 강의는 전체 구조 면에서 새로운 것은 많지 않고 기존 합성곱 신경망 지식이 그대로 쓰인다고 정리합니다.

원문과 출처

이 글은 원본 영상의 자막을 바탕으로 한국어 독자를 위해 요약했습니다. 전체 맥락과 최신 정보는 원문에서 확인하세요.

YouTube 원본 영상 보기 ↗

관련 AI 소식