경영자를 위한 AI 딥러닝
2026년 9월 30일 · Chapter 5 · Visual AI

비주얼 AI: 사진을 보고, 그리고, 움직이는 AI

오늘은 컴퓨터가 사진을 "보는" 방법(CNN)에서 출발해, 새 그림을 "그리는" 방법(GAN, 스테이블 디퓨전), 글과 그림을 함께 이해하는 방법(멀티모달 트랜스포머), 마지막으로 움직이는 영상을 만드는 방법(비디오 생성 모델)까지 한 번에 훑었어요. 모든 이야기를 꿰는 열쇠 말은 "잠재 공간(latent space)", 즉 복잡한 그림을 작은 숫자 묶음으로 줄여 놓은 공간이에요.

보충 표시는 교수님 자료와 필기에 없는데 이해를 위해 더한 내용이에요.

① CNN 사진을 보는 법 필터 · 특징 맵 ② GAN 경쟁하며 그리기 생성자 vs 판별자 ③ 디퓨전 잡음을 지우며 그리기 VAE · 글로 조종 ④ 멀티모달 글 + 그림 함께 임베딩 · 어텐션 ⑤ 비디오 시간이 더해진 그림 일관성 · 비용 공통 열쇠: 잠재 공간 (Latent Space) 복잡한 그림을 작은 숫자 묶음으로 줄여 두고, 그 숫자를 바꿔 새 그림을 만들어요 보기 (분류) "이건 7이에요"
오늘 수업 한눈에 보기: 보는 AI(①)에서 만드는 AI(②~⑤)로

용어 사전

이 노트에 나오는 줄임말이에요. 처음 보면 이 표로 돌아와서 확인하세요.

용어뜻
CNN
Convolutional 합성곱 + Neural 신경 + Network 망
작은 필터로 사진을 훑으며 모양을 찾는 신경망
MLP
Multi-Layer 여러 층 + Perceptron 퍼셉트론
모든 입력이 모든 뉴런과 연결된 기본 신경망
RGB
Red 빨강 + Green 초록 + Blue 파랑
컬러 사진의 세 가지 색 채널
ReLU
Rectified 바로잡은 + Linear 직선 + Unit 단위
음수는 0으로, 양수는 그대로 두는 규칙
GAN
Generative 만들어 내는 + Adversarial 맞서는 + Network 망
그리는 망과 가려내는 망이 경쟁하며 배우는 방식
DCGAN
Deep 깊은 + Convolutional 합성곱 + GAN
CNN 구조로 만든 GAN
VAE
Variational 변분(확률로 표현하는) + Auto 스스로 + Encoder 부호기
그림을 작은 숫자로 줄였다가 다시 그림으로 되살리는 망
CLIP
Contrastive 대조 + Language 언어 + Image 이미지 + Pre-training 사전 학습
사진과 설명 글이 맞는 짝인지 점수를 매기는 모델
VLM
Vision 시각 + Language 언어 + Model 모델
사진을 보고 글로 대답하는 모델
DiT
Diffusion 확산 + Transformer 트랜스포머
트랜스포머로 잡음을 지워 가는 확산 모델 구조

1부. CNN: 컴퓨터는 사진을 어떻게 볼까

1-1. 사진은 숫자가 빽빽한 표예요

이 장에서 배울 것
컴퓨터 눈에 사진이 어떻게 보이는지, 그리고 사진으로 풀 수 있는 문제의 종류를 알아봐요.

컴퓨터에게 사진은 픽셀(pixel, 화소)이라는 작은 점들의 표예요. 점 하나하나에 밝기나 색이 숫자로 적혀 있어요.

  • 흑백 사진은 숫자 표가 1장이에요. 이것을 채널(channel) 1개라고 해요.
  • 컬러 사진은 보통 빨강·초록·파랑(RGB) 표 3장이 겹쳐 있어요. 채널이 3개예요.
  • 바로 옆에 붙은 픽셀끼리는 선, 모서리 같은 작은 무늬를 함께 만들어요. 이게 오늘 이야기의 출발점이에요.
우리 눈: 숫자 "1" → 0025500 025525500 0025500 0025500 02552552550 컴퓨터 눈: 숫자 표 (검은 점 = 255)
사진 한 장은 컴퓨터에게 숫자 표 한 장(흑백) 또는 세 장(컬러)이에요.

사진으로 풀 수 있는 문제는 무엇을 알고 싶은지에 따라 달라요.

문제 종류묻는 질문예
분류 (Classification)사진에 무엇이 있나요?"고양이 사진이에요"
위치 찾기 (Localization)주인공은 어디에 있나요?고양이 둘레에 네모 하나
탐지 (Detection)어떤 물체들이 각각 어디에 있나요?고양이·개·사람마다 네모
핵심 정리
  • 사진은 픽셀 숫자의 표예요. 흑백은 채널 1개, 컬러는 RGB 3개예요.
  • 옆 픽셀끼리 선·모서리 같은 작은 무늬를 만들어요.
  • 어떤 문제(분류·위치·탐지)를 풀지는 사업 질문이 정해요.

1-2. 모든 점을 다 이으면 너무 커져요

이 장에서 배울 것
지난주에 배운 다층 퍼셉트론(MLP)을 사진에 그대로 쓰면 왜 곤란한지 알아봐요.

지난주의 다층 퍼셉트론은 입력 하나하나가 다음 층의 뉴런 모두와 연결돼요. 이것을 "완전 연결(fully connected)"이라고 해요. 사진에 쓰면 픽셀 하나가 입력 하나가 돼요.

4K 흑백 사진의 입력 수
8,294,400개
가로 3,840 × 세로 2,160 픽셀
첫 은닉층 뉴런 128개만 둬도
약 10.6억 개
학습해야 할 가중치(연결 강도) 수

첫 층 하나에서만 10억 개가 넘는 숫자를 배워야 해요. 계산도 무겁고, 데이터도 엄청 많이 필요해요. 작은 28 × 28 손글씨 사진에서도 MLP는 금방 커져요(1-5장에서 실제 숫자로 비교해요).

질문 상자

Q. 필기: "멀티레이어 퍼셉트론? 클래시피케이션? 너무 많은 파라미터? 4K는?"

A. 맞아요. 다층 퍼셉트론으로도 사진 분류(classification)는 할 수 있어요. 그런데 사진이 커질수록 연결이 폭발적으로 늘어나요. 4K 사진이면 첫 층만 약 10.6억 개예요. 게다가 MLP는 픽셀을 한 줄로 펴서 보기 때문에 "어느 픽셀이 어느 픽셀 옆인지"라는 중요한 정보를 잃어요. 그래서 사진 전용 구조가 필요했어요.

핵심 정리
  • MLP는 모든 입력을 모든 뉴런과 이어서 사진이 크면 가중치가 폭발해요.
  • 4K 흑백 + 뉴런 128개 = 약 10.6억 개 가중치예요.
  • "이웃 픽셀"이라는 정보도 잃어서, 사진 전용 구조가 필요해요.

1-3. 르쿤의 아이디어: 작은 필터로 훑기

이 장에서 배울 것
CNN의 핵심인 "지역 필터"와 "가중치 공유"를 배우고, 이것이 어디서 나왔는지 봐요.

프랑스에서 박사 학위를 받은 얀 르쿤(Yann LeCun)은 미국 통신 회사 AT&T의 연구소 벨 연구소(Bell Labs)에서 이 문제를 풀었어요. 아이디어는 간단해요. "사진 전체를 한꺼번에 보지 말고, 작은 창(필터)으로 한 부분씩 훑자."

르쿤은 1988년 벨 연구소의 래리 재킬(Larry Jackel)이 이끄는 연구 부서에 들어가 손글씨 인식 신경망을 만들었어요. AT&T는 미국 전화 사업을 거의 독차지하다가 1984년 반독점 판결로 지역 전화 회사 7곳(이른바 "베이비 벨")을 떼어 냈어요. 오늘날의 버라이즌(Verizon)도 그중 하나에서 이어진 회사예요. 1996년에는 AT&T에서 장비 회사 루슨트(Lucent)가 분리되면서 벨 연구소의 상당 부분이 그쪽으로 옮겨 갔어요.

개념 카드

합성곱 Convolution

💡개념
작은 필터를 사진 위에 대고 겹친 칸끼리 곱해서 더하는 계산이에요.

필터(filter)는 3 × 3처럼 작은 숫자 표예요. 이 필터를 사진의 한 부분에 겹쳐 놓고, 같은 자리의 숫자끼리 곱한 뒤 모두 더해요. 그러면 숫자 하나가 나와요.

필터를 한 칸 옆으로 옮겨 같은 계산을 또 해요. 이렇게 사진 전체를 훑으면 새 숫자 표가 생겨요. 이 표를 특징 맵(feature map)이라고 불러요. 필터가 찾는 모양이 있는 곳에서 숫자가 크게 나와요.

중요한 점은 같은 필터를 모든 위치에서 그대로 쓴다는 거예요. 이것을 가중치 공유(weight sharing)라고 해요. 그래서 배워야 할 숫자가 9개(3 × 3)뿐이에요. 사진 크기와 상관없어요.

👀그림으로 먼저 보기
1 1 1 0 0 0 0 0 0 × 1 1 1 0 0 0 −1 −1 −1 = 3 사진 조각 (위가 밝은 가로줄) 필터 (가로줄 찾기) 특징 맵의 한 칸 같은 자리끼리 곱해서 모두 더해요
1×1 + 1×1 + 1×1 + 0 + … + 0×(−1) = 3. 필터가 찾는 가로줄이 있어서 큰 숫자가 나왔어요.
❓이게 없으면?
Q사진 속 고양이가 왼쪽에 있든 오른쪽에 있든 알아볼 수 있을까요?A모든 위치마다 따로 배우면 위치마다 다시 공부해야 해요. 같은 필터로 훑으면 어디에 있든 같은 모양을 찾아요. 배울 숫자도 확 줄어요.
⚙️어떻게 작동할까
1
필터를 사진의 작은 조각에 겹쳐요.
→
2
같은 자리끼리 곱하고 모두 더해 숫자 하나를 얻어요.
→
3
필터를 옮겨 가며 반복해 특징 맵을 완성해요.
🔍쉬운 비유: 돋보기로 숨은그림찾기
비유AI
작은 돋보기↔3 × 3 필터
돋보기를 그림 위로 쭉 옮기기↔필터로 사진을 훑기
"여기 우산 있다!" 표시한 종이↔특징 맵
🔢숫자 예시
3 × 3 필터 하나가 배울 숫자
9개
사진이 4K든 28 × 28이든 똑같아요
같은 필터가 쓰이는 자리
모든 위치
가중치 공유 덕분이에요
⚠️헷갈리기 쉬운 점
완전 연결 (MLP)
픽셀마다 따로 연결해요. 사진이 크면 가중치가 폭발해요.
합성곱 (CNN)
작은 필터 하나를 돌려 써요. 이웃 픽셀 관계도 지켜요.

LeNet: CNN의 시작

르쿤과 동료들은 이 아이디어로 손글씨를 읽는 신경망 LeNet을 만들었어요. LeNet-1(1990년)에 이미 CNN의 핵심 요소가 다 들어 있었고, 가장 다듬어진 LeNet-5(1998년)를 보통 "LeNet"이라고 불러요.

  • 합성곱으로 작은 무늬를 찾아요.
  • 서브샘플링(subsampling, 줄이기)으로 세세한 위치 정보를 줄여요.
  • 마지막 분류기가 어떤 글자인지 맞혀요.

2012년에는 AlexNet이 이미지넷 대회에서 큰 차이로 우승하며 CNN 시대를 열었어요. 합성곱 층 5개와 완전 연결 층 3개로 되어 있고, 큰 데이터와 GPU 덕분에 크게 학습할 수 있었어요.

핵심 정리
  • CNN은 작은 필터로 사진을 훑어요(지역 필터).
  • 같은 필터를 모든 위치에 다시 써요(가중치 공유) → 배울 숫자가 확 줄어요.
  • LeNet(1990·1998)이 시작, AlexNet(2012)이 대중화했어요.

1-4. 선 → 모양 → 고양이: 특징을 층층이 쌓기

이 장에서 배울 것
CNN이 층을 거치며 단순한 무늬에서 복잡한 물체로 생각을 키워 가는 방식을 봐요.

고양이 얼굴을 떠올려 보세요. 눈, 귀, 코가 있고, 그 안에는 굽은 곡선과 짧은 선이 있어요. CNN도 똑같이 생각해요. 작은 부품을 먼저 찾고, 그것을 모아 더 큰 부품을 찾아요.

개념 카드

특징의 계층 Hierarchy of Visual Features

💡개념
앞쪽 층은 선·모서리 같은 단순한 무늬를, 뒤쪽 층은 그것을 모은 눈·귀·얼굴을 찾아요.

첫 층의 필터는 사진의 아주 작은 영역만 봐요. 그래서 가로선, 세로선, 동그라미 끝 같은 단순한 무늬에 반응해요.

다음 층은 앞 층이 만든 특징 맵을 다시 훑어요. 그러면 "선 여러 개가 모인 것", 즉 눈이나 귀 같은 더 큰 모양에 반응하게 돼요. 층이 깊어질수록 한 번에 보는 영역이 넓어져요.

마지막에는 분류기가 가장 깊은 층의 결과(표현, representation)를 보고 "고양이"라고 결정해요. 이 단계별 특징을 사람이 정해 주지 않아도, 학습하면서 신경망이 스스로 찾아요.

👀그림으로 먼저 보기
1층: 선·모서리 2층: 곡선·동그라미 3층: 귀·눈 분류: 고양이! 층이 깊어질수록 더 넓은 영역, 더 복잡한 모양
작은 부품을 모아 큰 부품으로, 큰 부품을 모아 물체로.
❓이게 없으면?
Q필터 한 층만으로 고양이를 찾을 수 있을까요?A한 층은 좁은 영역의 단순한 무늬만 봐요. 여러 층을 쌓아야 부품을 조립해 "고양이"라는 큰 그림을 알아볼 수 있어요.
⚙️어떻게 작동할까
1
앞 층이 선·모서리 특징 맵을 만들어요.
→
2
다음 층이 그 맵을 다시 훑어 더 큰 모양을 찾아요.
→
3
마지막 표현을 보고 분류기가 답을 정해요.
🧩쉬운 비유: 레고 조립
비유AI
작은 레고 조각↔선·모서리 (1층)
조각을 끼운 바퀴·창문↔눈·귀 같은 부품 (중간 층)
완성된 자동차↔"고양이" 판단 (분류기)
🔢숫자 예시
AlexNet의 합성곱 층
5개
층마다 점점 복잡한 특징을 배워요
그 뒤 완전 연결 층
3개
모은 특징으로 분류해요
⚠️헷갈리기 쉬운 점
사람이 정한 특징
예전에는 "눈은 이렇게 생겼다"를 사람이 규칙으로 적었어요.
CNN이 배운 특징
CNN은 데이터와 오차를 보고 어떤 특징이 쓸모 있는지 스스로 찾아요.
핵심 정리
  • 앞 층은 단순한 무늬, 뒤 층은 그것을 모은 복잡한 모양을 찾아요.
  • 층이 깊을수록 한 번에 보는 영역이 넓어져요.
  • 어떤 특징을 찾을지는 신경망이 학습으로 정해요.

1-5. CNN의 부품들: 필터, ReLU, 스트라이드, 패딩, 풀링

이 장에서 배울 것
CNN을 이루는 부품 하나하나가 무슨 일을 하는지, 그리고 크기가 어떻게 줄어드는지 봐요.

정해 둔 필터와 배우는 필터

소벨 필터(Sobel filter)는 사람이 미리 숫자를 정해 둔 유명한 필터예요. 밝기가 갑자기 바뀌는 곳, 즉 경계선을 강조해요. 평평한 곳에서는 작은 값이, 경계에서는 큰 값이 나와요. 방향(가로·세로)마다 다른 소벨 필터가 있어요.

CNN의 필터는 다르게 시작해요. 처음엔 아무렇게나(랜덤) 정한 숫자로 시작해요. 그리고 예측이 틀린 만큼(오차) 역전파로 필터 숫자를 고쳐요. 그래서 학습이 끝나면 소벨처럼 선을 찾는 필터도 생기고, 사람이 생각 못 한 필터도 생겨요.

채널과 특징 맵

컬러 사진은 R·G·B 세 채널이에요. 필터 하나는 세 채널을 한꺼번에 보고 숫자 하나를 내요. 필터를 여러 개 쓰면 특징 맵도 여러 장 생겨요. 필터 32개면 특징 맵 32장이에요.

개념 카드

ReLU Rectified Linear Unit

💡개념
음수는 0으로 바꾸고, 양수는 그대로 두는 아주 간단한 규칙이에요.

식으로 쓰면 ReLU(x) = max(0, x)예요. "0과 x 중 큰 쪽을 고른다"는 뜻이에요.

이렇게 단순한데도 신경망에 비선형성을 더해 줘요. 비선형이란 "직선으로만 표현되지 않는다"는 뜻이에요. 곱하고 더하기만 반복하면 아무리 층을 쌓아도 결국 직선 하나와 같아요. 중간에 ReLU 같은 꺾임을 넣어야 층을 쌓는 의미가 생겨요.

특징 맵에서 "이 모양이 없다"(음수)는 신호를 0으로 지워, 정말 반응한 곳만 남기는 효과도 있어요. 수업에서는 요즘 CNN이 활성화 함수로 거의 ReLU 하나만 쓴다고 했어요.

👀그림으로 먼저 보기
입력 x 출력 음수 → 0 양수 → 그대로 −35−12 ↓ ReLU 0502
음수는 모두 0, 양수는 크기 그대로.
❓이게 없으면?
Q곱하고 더하는 층만 여러 개 쌓으면 안 될까요?A그러면 몇 층을 쌓아도 직선 하나로 줄어들어요. XOR 같은 복잡한 문제를 못 풀어요. ReLU가 꺾임을 넣어 줘요.
⚙️어떻게 작동할까
1
합성곱 결과 숫자를 하나씩 봐요.
→
2
0보다 작으면 0으로 바꿔요.
→
3
0보다 크면 그대로 다음 층에 넘겨요.
🎤쉬운 비유: 칭찬만 받아 적는 기자
비유AI
"별로였어요"(마이너스) 의견↔음수 → 0으로 지움
"좋았어요"는 강도 그대로 기록↔양수 → 그대로
🔢숫자 예시
ReLU(−3)
0
음수는 0
ReLU(5)
5
양수는 그대로

스트라이드와 패딩: 필터를 어떻게 옮길까

부품하는 일효과
스트라이드 (Stride, 보폭)필터가 한 번에 몇 칸씩 움직일지1이면 옆 칸마다, 2면 한 칸씩 건너뛰어요. 클수록 결과가 작아져요.
패딩 (Padding, 덧대기)사진 테두리에 칸을 덧대기Valid: 덧대지 않음(결과가 조금 작아짐). Zero: 0으로 둘러쌈. Same: 보폭 1일 때 크기를 그대로 유지
개념 카드

맥스 풀링 Max Pooling

💡개념
작은 구역마다 가장 큰 값 하나만 남겨 특징 맵을 줄이는 방법이에요.

보통 2 × 2 구역을 보폭 2로 옮겨 가며 써요. 네 칸 중 가장 큰 숫자 하나만 남기니까, 가로와 세로가 각각 절반으로 줄어요.

가장 큰 값은 "이 구역에서 필터가 가장 강하게 반응했다"는 뜻이에요. 그래서 중요한 신호는 지키고, 정확히 몇 번째 칸이었는지 같은 위치 정보는 조금 버려요.

크기가 줄어들면 다음 층의 계산이 가벼워지고, 물체가 살짝 움직여도 결과가 크게 달라지지 않아요.

👀그림으로 먼저 보기
1 6 2 0 3 2 7 1 0 1 3 2 4 2 1 5 → 6 7 4 5 2×2, 보폭 2 4 × 4 → 2 × 2
같은 색 구역에서 가장 큰 값만 남았어요. 가로·세로가 절반이 됐어요.
❓이게 없으면?
Q특징 맵을 줄이지 않고 계속 쌓으면요?A층마다 크기가 그대로라 계산이 무거워져요. 물체가 한 칸만 움직여도 결과가 흔들려요. 풀링이 중요한 신호만 남기고 크기를 줄여요.
⚙️어떻게 작동할까
1
특징 맵을 2 × 2 구역으로 나눠요.
→
2
구역마다 가장 큰 값을 골라요.
→
3
고른 값만 모아 절반 크기 맵을 만들어요.
🏫쉬운 비유: 반 대표 뽑기
비유AI
네 명씩 모둠 나누기↔2 × 2 구역
모둠에서 점수 1등만 대표로↔가장 큰 값만 남기기
대표 명단은 원래의 4분의 1↔가로·세로 절반
🔢숫자 예시
26 × 26 맵에 2 × 2 풀링
13 × 13
가로·세로 각각 절반
남는 칸 수
4분의 1
676칸 → 169칸
⚠️헷갈리기 쉬운 점
스트라이드
필터를 몇 칸씩 옮길지. 합성곱 자체의 보폭이에요.
풀링
합성곱 뒤에 구역의 대표값만 남겨 줄이는 별도 단계예요.

크기가 어떻게 바뀔까: 28 × 28 사진의 여행

단계결과 크기 (가로 × 세로 × 장수)말로 풀면
입력28 × 28 × 1흑백 사진 한 장
합성곱 3 × 3, 필터 32개26 × 26 × 32테두리 1칸씩 줄고, 특징 맵 32장
맥스 풀링 2 × 213 × 13 × 32가로·세로 절반
합성곱 3 × 3, 필터 64개11 × 11 × 64특징 맵 64장
맥스 풀링 2 × 25 × 5 × 64다시 절반 (나머지는 버림)
평탄화 (Flatten)1,600표를 한 줄로 쭉 펴요 (5 × 5 × 64)
완전 연결 신경망 (784 → 128 → 10)
101,770개
배워야 할 숫자(파라미터)
CNN (합성곱·풀링 2번 → 10)
34,826개
약 3분의 1인데 사진에 더 잘 맞아요
핵심 정리
  • 합성곱은 무늬를 재고, ReLU는 꺾임(비선형)을 더해요.
  • 스트라이드·패딩·풀링은 결과 크기와 위치 정보를 조절해요.
  • 같은 28 × 28 문제에서 CNN은 파라미터가 약 3분의 1이에요.

1-6. 실습: Fashion-MNIST로 옷 분류하기

이 장에서 배울 것
완성된 CNN 분류기의 모양과, 학습·평가를 위해 데이터를 나누는 이유를 배워요.

Fashion-MNIST는 독일 패션 이커머스 회사 잘란도(Zalando)의 연구팀이 공개한 연습용 데이터예요. 티셔츠, 바지, 운동화 같은 옷 사진이 들어 있어요.

  • 28 × 28 크기의 흑백 사진 70,000장
  • 옷 종류 10가지
  • 학습용 60,000장, 시험용 10,000장

완성된 분류기의 모양

옷 사진28 × 28 합성곱 + 풀링 (반복)특징 뽑기 평탄화한 줄로 펴기 분류 머리 (Dense 10)10가지 옷마다 점수 Conv2D가 필터를 배우고 MaxPooling2D가 크기를 줄여요
특징 뽑기(합성곱·풀링) 부분과 분류 머리(마지막 층)로 나뉘어요.

필기의 "플래튼, 히든 레이어"는 이 그림의 평탄화(Flatten)와 그 뒤 완전 연결 층(은닉층)을 말해요. TensorFlow 코드에서도 Conv2D → MaxPooling2D → Flatten → Dense(10) 순서로 그대로 적어요.

개념 카드

일반화와 데이터 나누기 Generalization & Data Splits

💡개념
모델이 처음 보는 사진에서도 잘 맞히는지 확인하려고, 데이터를 학습용과 시험용으로 나눠 둬요.

학습(training)할 때는 모델의 예측을 정답(라벨)과 비교해요. 틀린 만큼 역전파로 가중치를 고쳐요. 예측(inference, 추론)할 때는 다 배운 가중치를 고정한 채 새 사진에 적용만 해요.

학습에 쓴 사진으로 시험을 보면 점수가 좋게 나오는 게 당연해요. 답을 외웠을 수도 있으니까요. 그래서 학습에 한 번도 안 쓴 시험용(test) 데이터를 따로 떼어 둬요. 여기서의 점수가 실제 실력이에요.

중간에 모델 구조나 설정을 고를 때 쓰는 검증용(validation) 데이터도 따로 두는 게 좋아요. 학습용 → 가중치 고치기, 검증용 → 설정 고르기, 시험용 → 마지막 점수 매기기예요.

👀그림으로 먼저 보기
학습용 60,000장 (약 86%) 시험용 가중치를 고치는 데 써요 10,000장 마지막 점수만 Fashion-MNIST 전체 70,000장
시험용은 학습 내내 숨겨 두었다가 마지막에 한 번만 써요.
❓이게 없으면?
Q학습 데이터 점수가 99%면 실전에서도 99%일까요?A아닐 수 있어요. 답을 외웠을 수도 있어요. 처음 보는 데이터로 시험해야 진짜 실력을 알 수 있어요.
⚙️어떻게 작동할까
1
학습용으로 예측 → 정답과 비교 → 가중치 고치기.
→
2
검증용으로 층 수·필터 수 같은 설정을 골라요.
→
3
시험용으로 마지막에 한 번 점수를 매겨요.
📝쉬운 비유: 문제집과 수능
비유AI
문제집 풀고 채점하며 공부↔학습용 데이터
모의고사로 공부법 점검↔검증용 데이터
처음 보는 수능 문제↔시험용 데이터
🔢숫자 예시
학습용
60,000장
전체의 약 86%
시험용
10,000장
전체의 약 14%
⚠️헷갈리기 쉬운 점
학습 (Training)
가중치가 바뀌어요. 정답 라벨이 필요해요.
예측 (Inference)
가중치는 고정. 새 사진에 적용만 해요.

특징이 정말 찾아지는 걸까?

필기의 질문처럼 "과연 피처가 찾아지는 거냐"를 확인하려고 특징 맵을 그림으로 그려 봐요. 줄마다 다른 입력 사진, 칸마다 층을 지나며 바뀐 반응을 보여 주면, 필터가 어디에 반응하는지 볼 수 있어요. 다만 이런 그림은 점검용이에요. "이것 때문에 이렇게 판단했다"는 원인 증명은 아니에요.

핵심 정리
  • 분류기 = 특징 뽑기(합성곱·풀링) + 평탄화 + 분류 머리예요.
  • 학습은 가중치를 바꾸고, 예측은 고정된 가중치를 써요.
  • 처음 보는 시험 데이터 점수가 진짜 실력이에요.
실무 관점
공장의 불량 검사가 대표적이에요. 사진이 제품 상태를 기록하고, 라벨 붙은 불량 사진이 CNN에게 불량 무늬를 가르쳐요. 하지만 정확도만 보면 안 돼요. "불량을 놓치는 비용"과 "정상품을 버리는 비용"이 다르니, 어디까지 자동으로 판정하고 언제 사람이 다시 볼지 규칙을 같이 정해야 실제로 쓸 수 있어요.

2부. GAN: 경쟁하며 그리는 법을 배워요

2-1. 맞히기와 만들기는 다른 질문이에요

이 장에서 배울 것
"분류"와 "생성"이 무엇이 다른지 비교해요.

지금까지는 사진을 보고 "이건 7이에요"라고 맞히는(분류) AI였어요. 이제 질문을 바꿔요. "컴퓨터가 세상에 없던 새 손글씨 숫자를 그릴(생성) 수 있을까?"

질문분류 (Classification)생성 (Generation)
입력이미 있는 사진무작위 숫자 묶음 (잠재 벡터)
출력종류 이름이나 점수새 사진
예"이 숫자는 7이에요"새로 쓴 손글씨 숫자
기본 GAN에서판별자 D가 진짜/가짜를 배워요생성자 G가 D를 속이는 법을 배워요

잘 그렸는지 확인하려면 두 가지를 봐요. 숫자처럼 읽히는지(품질), 그리고 결과끼리 서로 다른지(다양성)예요.

핵심 정리
  • 분류: 있는 사진 → 이름. 생성: 무작위 숫자 → 새 사진.
  • 생성 결과는 "읽히는지"와 "다양한지"를 둘 다 봐야 해요.

2-2. 위조범과 감정사: GAN의 학습

이 장에서 배울 것
두 신경망이 번갈아 실력을 키우는 GAN의 학습 방법을 배워요.
개념 카드

생성적 적대 신경망 GAN · Generative Adversarial Network

💡개념
그리는 망(생성자)과 가려내는 망(판별자)이 서로 경쟁하면서 함께 실력이 느는 방식이에요.

이름의 "적대(adversarial)"는 "서로 맞선다"는 뜻이에요. 생성자 G(Generator)는 무작위 숫자를 받아 그림을 그려요. 판별자 D(Discriminator)는 그림을 보고 진짜 사진인지 G가 만든 가짜인지 점수를 매겨요.

D는 진짜와 가짜를 더 잘 구별하도록 배우고, G는 D가 "진짜"라고 믿게 만들도록 배워요. D가 "이건 고양이가 아니야"라고 퇴짜를 놓을수록 G는 더 노력해요. 이 경쟁을 아주 여러 번 반복하면 G의 그림이 점점 진짜 같아져요. 이 방법은 2014년 이언 굿펠로(Ian Goodfellow) 등이 발표했어요.

학습이 끝나면 그림을 만들 때는 G만 있으면 돼요. D는 학습 때 피드백을 주는 선생님 역할이었어요.

👀그림으로 먼저 보기
무작위 숫자 z [0.3, −1.2, 0.7…] 생성자 G 위조범 가짜 그림 진짜 사진 판별자 D 감정사 진짜일까? 진짜 1 / 가짜 0 "이건 가짜야" 피드백 → G가 더 잘 그리도록 고쳐요
G는 D를 속이려 하고, D는 속지 않으려 해요. 둘이 번갈아 배워요.
❓이게 없으면?
Q"진짜 같은 그림"이 뭔지 컴퓨터에게 어떻게 알려 줄까요?A규칙으로 적기는 거의 불가능해요. GAN은 판별자라는 "채점자"를 함께 학습시켜, 그 채점자의 피드백으로 그림 실력을 키워요.
⚙️어떻게 작동할까
1
D 훈련: G는 고정. 진짜엔 높은 점수, 가짜엔 낮은 점수를 주도록 D만 고쳐요.
→
2
G 훈련: D는 고정. D가 "진짜"라고 하도록 D를 거쳐 온 신호로 G만 고쳐요.
→
3
1과 2를 여러 묶음(batch)에 걸쳐 반복해요.
🎨쉬운 비유: 위조 지폐범과 경찰
비유AI
위조 지폐범↔생성자 G
가짜를 가려내는 경찰↔판별자 D
경찰에게 걸릴수록 더 정교해지는 위조↔D의 피드백으로 G가 발전
🔢숫자 예시
실습(DCGAN) 데이터
28 × 28
손글씨 숫자 사진
G의 입력
숫자 100개
무작위 벡터 z
D의 정답 표시
1 / 0
진짜 = 1, 가짜 = 0
⚠️헷갈리기 쉬운 점
학습할 때
G와 D를 번갈아 고쳐요. 둘 다 필요해요.
그림 만들 때
z를 뽑아 다 배운 G에 넣기만 해요. D는 필요 없어요.

CNN 구조로 G와 D를 만든 GAN을 DCGAN(Deep Convolutional GAN)이라고 해요. 실습에서는 손글씨 데이터로 학습하며 초반·중반·후반 결과를 비교했어요. 처음엔 얼룩 같던 그림이 점점 숫자처럼 변해요.

질문 상자

Q. 생성자에게 피드백을 주는 건 누구예요?

A. 판별자 D를 거쳐 나온 점수가 피드백이에요. 정확히는 "D가 가짜라고 본 정도"를 줄이는 방향으로 학습 과정(학습 루프)이 G의 가중치를 고쳐요.

Q. 모든 GAN에 "이건 고양이" 같은 종류 라벨이 필요한가요?

A. 아니에요. 기본 GAN은 "진짜냐 가짜냐"만 알면 되고, 설명 글이나 종류 라벨이 필요 없어요. "고양이를 그려" 처럼 종류를 지정하고 싶을 때만 라벨을 함께 넣는 조건부 GAN(conditional GAN)을 써요.

필기의 "앤트로픽이 발표한 에이전트에도 이런 내용이 있다"는 앤트로픽의 2026년 3월 엔지니어링 글 「Harness design for long-running application development」를 말하는 것으로 보여요. GAN에서 아이디어를 얻어, 앱을 만드는 생성 에이전트와 그 결과를 사용자처럼 직접 써 보며 채점하는 평가 에이전트를 따로 둬요. 만든 사람이 자기 작품을 채점하면 후하게 보기 쉬워서, 채점은 다른 에이전트에게 맡기는 거예요.

핵심 정리
  • GAN = 생성자 G(그리기) + 판별자 D(가려내기)의 경쟁이에요.
  • 학습은 D 고치기 → G 고치기를 번갈아 반복해요.
  • 그림을 만들 때는 다 배운 G만 써요.

2-3. 잠재 공간: 그림의 비밀 좌표

이 장에서 배울 것
생성자가 받는 무작위 숫자 z가 무엇이고, 그 숫자가 놓인 "잠재 공간"이 무엇인지 배워요.
개념 카드

잠재 공간 Latent Space

💡개념
복잡한 그림을 작은 숫자 묶음(좌표)으로 줄여 담은 공간이에요.

"잠재(latent)"는 "겉으로 드러나지 않고 숨어 있다"는 뜻이에요. 통계의 구조방정식에서 쓰는 "잠재 변수"와 같은 말이에요. 눈에 보이진 않지만 결과를 설명하는 숨은 요인이에요.

4K 컬러 사진에는 약 2,500만 개(3,840 × 2,160 × 3)의 숫자가 있어요. 그런데 우리는 그 사진을 보고 "예쁜 고양이가 있네" 한마디로 줄여 말해요. 잠재 공간도 마찬가지로 많은 정보를 핵심만 남긴 작은 숫자 묶음으로 담아요. 이 숫자 묶음 하나를 잠재 벡터(latent vector)라고 해요.

GAN에서는 잠재 벡터 z가 생성자의 입력이에요. G는 "z 좌표 → 그림"으로 바꾸는 법을 학습으로 익혀요. z를 조금씩 바꾸면 그림도 조금씩 바뀔 수 있어요. 예를 들어 흰 머그컵 좌표에서 빨간 머그컵 좌표로 천천히 옮기면 컵 색이 서서히 변할 수 있어요. 다만 이런 매끄러운 변화가 항상 보장되지는 않아요.

👀그림으로 먼저 보기
z A z B 같은 생성자 G에 좌표만 바꿔 넣었어요 (개념 그림) 학습은 G를 바꾸고, 생성은 G를 고정한 채 z를 바꿔요
잠재 공간의 위치를 옮기면 그림의 모습이 바뀔 수 있어요.
❓이게 없으면?
Q새 그림을 만들 때 수천만 개 픽셀을 하나하나 정해야 할까요?A잠재 공간 덕분에 숫자 100개 정도만 정하면 돼요. 나머지는 학습된 생성자가 채워요.
⚙️어떻게 작동할까
1
시드(seed)를 정해 무작위 숫자를 뽑아요 (예: 42).
→
2
그 숫자 묶음 z를 다 배운 G에 넣어요. x = G(z).
→
3
z를 바꾸면 다른 그림이 나와요.
🗺️쉬운 비유: 지도 좌표
비유AI
"위도·경도" 숫자 두 개↔잠재 벡터 z
좌표를 넣으면 그곳 풍경이 나오는 지도 앱↔생성자 G
좌표를 조금 옮기면 옆 동네 풍경↔z를 바꾸면 비슷한 다른 그림
🔢숫자 예시
4K 컬러 사진의 숫자
약 2,500만 개
3,840 × 2,160 × 3
실습 GAN의 잠재 벡터
100개
이 작은 묶음에서 그림이 나와요
⚠️헷갈리기 쉬운 점
입력 공간 (픽셀)
사진의 실제 숫자들. 한 칸은 "그 자리의 색"처럼 뜻이 분명해요.
잠재 공간
학습으로 생긴 숨은 좌표. 숫자 하나하나에 사람이 붙인 이름표는 없어요.
질문 상자

Q. 필기: "인풋 스페이스는 색깔을 의미하기도 한다? 인풋 스페이스와 레이턴트 스페이스 위치의 차이?"

A. 입력 공간(픽셀)에서는 한 숫자가 "이 점의 색"처럼 직접적인 뜻이 있어요. 잠재 공간에서는 숫자들이 함께 모여 "컵 모양", "색감" 같은 큰 특징을 나타내요. 그래서 잠재 공간에서 위치를 옮기면 픽셀 몇 개가 아니라 컵 모양이나 색 같은 의미 있는 변화가 생길 수 있어요. 어떤 방향이 어떤 뜻인지는 학습된 모델마다 달라요.

핵심 정리
  • 잠재 공간 = 복잡한 그림을 작은 숫자 좌표로 줄여 둔 공간이에요.
  • GAN은 잠재 벡터 z를 생성자에 넣어 그림을 만들어요.
  • z를 바꾸면 그림이 바뀌지만, 매끄러운 변화는 보장되지 않아요.

2-4. 좋은 생성을 판단하는 법, 그리고 스타일 바꾸기

이 장에서 배울 것
GAN이 빠지기 쉬운 함정(모드 붕괴)과 평가 기준, 응용 사례(스타일 전이)를 알아봐요.

모드 붕괴: 다양성이 사라져요

생성자가 판별자를 속이는 "쉬운 답" 몇 개만 찾으면, 입력 z가 달라도 거의 같은 그림만 반복해서 내놓아요. 이것을 모드 붕괴(mode collapse)라고 해요. 그림 하나하나는 그럴듯해도, 데이터의 다양한 모습 중 일부가 통째로 빠져요. 예를 들어 0~9를 다 그려야 하는데 1만 계속 그리는 식이에요.

품질과 다양성은 따로 봐야 해요

점검 항목묻는 질문
품질 (Sample quality)결과물 하나하나가 그럴듯한가요?
다양성 (Coverage)결과들이 데이터의 여러 모습을 골고루 담나요?
암기 (Memorization)학습 사진을 그대로 베껴 내지는 않나요?
쓸모 (Usefulness)원래 하려던 일에 도움이 되나요?
질문 상자

Q. 완벽한 그림 100장이 다 똑같다면 충분할까요?

A. 아니에요. 품질은 좋지만 다양성이 0이에요. 모드 붕괴의 전형이에요. 생성 모델은 예쁜 그림 한 장이 아니라 여러 결과를 함께 보고 판단해야 해요.

응용: 스타일 전이 (Style Transfer)

신경망이 배운 특징에는 물체의 모양뿐 아니라 붓 터치, 질감, 색감 같은 스타일도 담겨요. 그래서 "내용" 사진과 "스타일" 그림을 합쳐, 시골 풍경 사진을 고흐가 그린 것처럼 바꿀 수 있어요(Gatys 등, 2015). 짝지은 사진 없이도 말 사진을 얼룩말로, 여름을 겨울로 바꾸는 GAN 방식(CycleGAN, Zhu 등, 2017)도 수업에서 소개됐어요. 이런 변환을 하려면 모델이 그 스타일을 미리 학습해 둬야 해요.

핵심 정리
  • 모드 붕괴: 그럴듯하지만 비슷한 그림만 반복하는 현상이에요.
  • 생성 모델은 품질·다양성·암기·쓸모를 따로 점검해요.
  • 배운 특징에는 스타일도 담겨서, 고흐풍 변환 같은 응용이 가능해요.
실무 관점
생성 AI로 광고 시안을 뽑을 때 "제일 예쁜 한 장"만 보지 마세요. 시안이 서로 충분히 다른지(다양성), 기존 작품을 베끼지 않았는지(암기)도 같이 확인해야 해요. 그리고 "만드는 AI"와 "채점하는 AI(또는 사람)"를 나누면 결과가 좋아진다는 GAN의 교훈은 업무용 AI 에이전트 설계에도 그대로 쓰여요.

3부. 스테이블 디퓨전: 잡음을 지우며 그리기

3-1. 같은 말, 다른 그림

이 장에서 배울 것
요즘 이미지 생성의 주류인 디퓨전 모델이 무엇이고, 왜 같은 프롬프트로 다른 그림이 나오는지 알아봐요.

수업에서는 요즘 이미지·비디오 생성에서 GAN보다 디퓨전(확산) 모델이 훨씬 많이 쓰인다고 했어요. 대표가 스테이블 디퓨전(Stable Diffusion)이에요. 핵심 아이디어는 세 줄이에요.

  • 잡음(노이즈)에서 출발해요.
  • 학습된 "잡음 제거기"가 조금씩 여러 번 고쳐 가요.
  • 글(프롬프트)이 어떤 그림이 될지 이끌어요.

"나무 테이블 위의 빨간 머그컵"이라고 써도 매번 그림이 달라요. 글은 목표를 설명할 뿐, 정답 그림 하나를 정해 주지 않기 때문이에요. 같은 설명에 맞는 구도가 아주 많아요. 게다가 시드(seed)가 다르면 출발하는 잡음이 달라지고, 모델과 설정도 결과에 영향을 줘요.

핵심 정리
  • 디퓨전 모델은 잡음에서 시작해 조금씩 고쳐 그림을 만들어요.
  • 프롬프트는 목표를 설명할 뿐이라 여러 그림이 가능해요.
  • 시드는 출발 잡음을 정해요. 시드가 다르면 그림도 달라져요.

3-2. 그림을 줄였다 되살리는 VAE

이 장에서 배울 것
잠재 벡터를 만드는 인코더·디코더, 그리고 VAE를 배워요.

잠재 벡터는 "순서가 있는 숫자 목록"이에요. 회사 데이터로 생각하면 쉬워요. 고객 한 명을 [80, 4, 2] = [월 지출 80달러, 방문 4번, 반품 2번]처럼 요약하는 것과 같아요. 많은 관찰을 몇 개 숫자로 줄였죠. 그림의 잠재 벡터도 학습된 시각 특징을 담아요. 다만 숫자 하나하나에 "지출" 같은 사람이 붙인 이름은 없어요. 스테이블 디퓨전은 실제로는 숫자를 격자(텐서, tensor)로 담아요.

개념 카드

오토인코더와 VAE Autoencoder · Variational Autoencoder

💡개념
그림을 작은 숫자로 줄이는 인코더와, 그 숫자로 그림을 되살리는 디코더를 함께 학습한 망이에요.

인코더(encoder, 부호기)는 복잡한 그림을 짧은 코드(잠재 벡터)로 줄여요. 디코더(decoder, 복호기)는 그 코드를 받아 다시 그림을 그려요. 신경망 모양이 입구는 넓고, 가운데는 좁고, 출구는 다시 넓어요. 이렇게 "스스로 줄였다가 스스로 되살리는" 망을 오토인코더(autoencoder)라고 해요.

가운데가 좁으니 정보를 다 담을 수 없어요. 그래서 망은 "되살리는 데 꼭 필요한 정보"만 남기는 법을 배워요. 되살린 그림과 원본을 비교해, 차이가 작아지도록 학습해요. 그러다 보면 비슷한 그림은 잠재 공간에서 가까운 곳에 모여요.

VAE는 오토인코더의 한 종류예요. 코드를 딱 한 점이 아니라 "이 근처일 가능성"으로 표현해요. 그래서 잠재 공간이 빈틈없이 잘 정돈되고, 그 안에서 새 점을 골라도 그럴듯한 그림이 나오기 쉬워요. 보통 압축(예: 파일 압축)은 정해진 규칙대로 하는 방식이지만, 신경망은 비선형적으로, 즉 데이터에 맞춰 유연하게 압축해요.

👀그림으로 먼저 보기
원본 그림 인코더 잠재 벡터 [0.2, −1.1, 0.8 …] 디코더 되살린 그림 가운데가 좁아서 꼭 필요한 정보만 남아요 원본과 되살린 그림의 차이가 작아지도록 학습해요
넓게 → 좁게 → 다시 넓게. 좁은 가운데가 잠재 공간이에요.
❓이게 없으면?
Q큰 그림의 픽셀 수백만 개를 그대로 다루며 그림을 만들면요?A계산이 엄청 무거워요. VAE가 그림을 작은 잠재 표현으로 줄여 줘서, 무거운 작업을 작은 공간에서 할 수 있어요.
⚙️어떻게 작동할까
1
인코더가 그림을 작은 잠재 표현으로 줄여요.
→
2
디코더가 그 표현으로 그림을 되살려요.
→
3
원본과 비교해 차이를 줄이도록 둘을 함께 고쳐요.
📚쉬운 비유: 책 요약 노트
비유AI
두꺼운 소설을 한 장 요약↔인코더
요약 노트↔잠재 벡터
요약만 보고 이야기를 다시 들려주기↔디코더
🔢숫자 예시
고객 요약 벡터
[80, 4, 2]
지출 80달러, 방문 4번, 반품 2번
그림의 잠재 벡터
이름표 없음
숫자마다 사람이 붙인 뜻은 없어요
⚠️헷갈리기 쉬운 점
보통 오토인코더
그림 하나를 잠재 공간의 점 하나로 보내요.
VAE
"이 근처일 가능성"으로 보내서 잠재 공간이 고르게 정돈돼요.
핵심 정리
  • 잠재 벡터는 많은 정보를 몇 개 숫자로 요약한 목록이에요.
  • 오토인코더 = 줄이는 인코더 + 되살리는 디코더예요.
  • VAE는 잠재 공간을 잘 정돈해 비슷한 그림끼리 모이게 해요.

3-3. 왜 잠재 공간에서 작업할까요

이 장에서 배울 것
디퓨전을 픽셀이 아니라 잠재 공간에서 하는 이유를 이해해요.

스테이블 디퓨전은 이렇게 일해요. 인코더가 그림을 작게 줄이고, 잡음 제거는 그 작은 공간에서 하고, 마지막에 디코더가 눈에 보이는 픽셀로 되살려요.

비유

사람도 생각을 추상화해요. 소설을 읽고 나면 머릿속에 "줄거리와 분위기"가 남아요. 웹툰 그림도 실제 장면보다 훨씬 단순해요. 그런데 이걸 영화로 만들면, 감독에 따라 배경·조명·표정이 엄청나게 자세해져요. 잠재 공간은 이 시나리오와 같아요. 핵심을 짧게 정해 두고, 디코더가 그것을 실제 화면으로 펼쳐요.

핵심 정리
  • 작은 잠재 공간에서 작업하면 계산이 훨씬 가벼워요.
  • 인코더 → (잠재 공간에서 잡음 제거) → 디코더 순서예요.

3-4. 일부러 잡음을 섞고, 지우는 법을 배워요

이 장에서 배울 것
디퓨전 모델이 어떻게 학습하고 어떻게 그림을 만드는지 배워요.
개념 카드

확산 모델 Diffusion Model

💡개념
깨끗한 그림에 잡음을 섞는 과정을 거꾸로 배워서, 잡음에서 출발해 조금씩 지워 가며 그림을 만드는 모델이에요.

순방향 확산(forward diffusion): 학습용 그림에 무작위 잡음을 조금씩 더해 결국 알아볼 수 없게 만들어요. 잉크 한 방울이 물에 퍼져(확산) 흐려지는 것처럼요. 그래서 "디퓨전(diffusion, 확산)"이라는 이름이 붙었어요. 얼마나 잡음을 넣을지는 잡음 일정(noise schedule)이 정해요.

학습할 때 시스템은 자기가 어떤 잡음을 넣었는지 알아요. 그래서 정답을 따로 사람이 붙이지 않아도 돼요. 잡음 섞인 잠재 표현을 보여 주고 "어떤 잡음이 들어갔을까?"를 맞히게 해요. 이 일을 하는 망을 잡음 제거기(denoiser)라고 하고, 스테이블 디퓨전 1.x에서는 U-Net이라는 구조를 써요. 깨끗한 원본(clean latent)이 학습의 목표가 돼요.

그림을 만들 때는 거꾸로 해요. 완전한 잡음에서 출발해 잡음 제거기가 "여기 이만큼 잡음이 있어"라고 예측하면, 그만큼 빼서 조금 깨끗하게 만들어요. 이것을 여러 번 반복하면 대략적인 모양 → 물체 → 세부 순서로 그림이 나타나요.

👀그림으로 먼저 보기
① 잡음 ② 거친 구조 ③ 물체 등장 ④ 다듬기 ⑤ 완성 프롬프트: "나무 테이블 위의 빨간 머그컵" 바뀌는 것: 잠재 값 · 고정된 것: 모델 가중치와 프롬프트
잡음 제거를 여러 번 반복하며 그림이 점점 또렷해져요 (개념 그림).
❓이게 없으면?
Q"진짜 같은 그림"의 정답을 어디서 구할까요?A잡음을 직접 넣었으니 넣은 잡음이 곧 정답이에요. 사람이 라벨을 붙이지 않아도 데이터만으로 학습 목표가 생겨요.
⚙️어떻게 작동할까
1
학습: 깨끗한 잠재 표현에 아는 잡음을 섞어요.
→
2
잡음 제거기가 넣은 잡음을 맞히도록 고쳐요.
→
3
생성: 무작위 잡음에서 예측한 잡음을 조금씩 빼며 반복해요.
🖼️쉬운 비유: 김 서린 유리 닦기
비유AI
유리에 김을 일부러 불어 흐리게 하기↔순방향 확산 (잡음 섞기)
"얼마나 흐린지" 알아맞히며 닦는 연습↔잡음 예측 학습
조금씩 닦을수록 뒤의 풍경이 드러남↔단계별 잡음 제거로 생성
🔢숫자 예시
학습 재료
4가지
깨끗한 잠재 · 아는 잡음 · 잡음 정도 · 설명 글
생성 과정 (개념 그림)
5단계
잡음 → 구조 → 물체 → 다듬기 → 완성
⚠️헷갈리기 쉬운 점
학습할 때
가중치가 바뀌어요. 잡음을 맞히는 실력을 키워요.
생성할 때
가중치는 고정. 잠재 값만 단계마다 바뀌어요.
질문 상자

Q. 필기: "근데 왜 디퓨전이지? 무슨 뜻인데?"

A. "확산"이라는 뜻이에요. 물에 떨어진 잉크가 퍼져 흐려지듯, 그림에 잡음이 퍼져 알아볼 수 없게 되는 과정(순방향 확산)에서 이름을 따왔어요. 모델은 이 확산을 거꾸로 되돌리는 법을 배워요.

Q. 필기: "왜 중간에 뭔지 모를 벡터를 다 거쳐 가? 그냥 말로 하고 싶어."

A. 말로 지시하는 건 맞아요. 다만 컴퓨터 안에서는 말도, 그림도 숫자로 바꿔야 서로 비교하고 합칠 수 있어요. 그 숫자가 텍스트 벡터와 잠재 벡터예요. 요즘은 이 과정을 한 모델 안에 묶어서 사용자는 말만 하면 되게 만들고 있어요(4부의 멀티모달 트랜스포머).

핵심 정리
  • 학습: 아는 잡음을 섞고, 그 잡음을 맞히게 해요.
  • 생성: 무작위 잡음에서 예측한 잡음을 조금씩 빼며 반복해요.
  • 이름 "디퓨전(확산)"은 잡음이 퍼지는 과정에서 왔어요.

3-5. 글로 그림을 이끌기

이 장에서 배울 것
프롬프트가 잡음 제거 과정에 어떻게 끼어드는지, 스테이블 디퓨전 부품 구성을 배워요.

학습할 때 사진과 설명 글의 짝(이미지-캡션 쌍)을 아주 많이 보여 줘요. 그러면 잡음 제거기가 "이 말에는 이런 모양"이라는 연결을 배워요. 설명 글 하나는 여러 그림과 짝이 될 수 있다는 점도 기억하세요.

부품쉬운 말로 하는 일
토크나이저 (Tokenizer)프롬프트를 작은 조각(토큰)으로 잘라요
텍스트 인코더 (Text encoder)조각들을 문맥이 담긴 숫자(텍스트 벡터)로 바꿔요
교차 어텐션 (Cross-attention)잡음 제거기가 텍스트 정보를 참고하게 이어 줘요
VAE그림을 줄이고, 마지막에 되살려요
U-Net 잡음 제거기지금 단계의 잡음을 예측해요
스케줄러 (Scheduler)다음 단계 값을 계산해요 (얼마나 지울지)
프롬프트"빨간 머그컵…" 텍스트 인코더 무작위 잡음 잠재시드가 정해요 U-Net 잡음 제거기+ 스케줄러 (여러 번 반복) 최종 잠재 VAE 디코더→ 그림 픽셀 교차 어텐션
스테이블 디퓨전 1.x의 생성 흐름. 글은 숫자로 바뀌어 잡음 제거의 방향을 잡아 줘요.

글이 얼마나 세게 이끌까: 가이던스

가이던스(guidance) 값은 프롬프트의 영향력을 정해요. 값이 크면 글을 더 충실히 따르지만, 클수록 항상 좋은 건 아니에요. 너무 크면 그림이 부자연스러워질 수 있어요. 수업 예시는 2.5 / 7.5 / 10.5를 비교했어요.

실험할 때는 한 번에 하나만 바꿔요

회차바꾸는 것그대로 두는 것
A시드프롬프트와 모든 설정
B가이던스 값시드, 프롬프트, 모델, 스케줄러
C프롬프트 속 특징 하나시드와 모든 설정

있는 그림에서 출발하기 (Image-to-image)

무작위 잡음 대신 기존 그림에 잡음을 섞어 출발할 수도 있어요. 잡음을 얼마나 세게 섞을지(noise strength)가 바뀔 수 있는 정도를 정해요. 약하면 원래 그림이 많이 남고, 세면 크게 바뀌어요.

핵심 정리
  • 이미지-캡션 쌍으로 학습해서 글이 잡음 제거를 이끌어요.
  • 부품: 텍스트 인코더, U-Net 잡음 제거기, 스케줄러, VAE.
  • 가이던스는 프롬프트 영향력이에요. 크다고 다 좋진 않아요.

3-6. 그럴듯해도 틀릴 수 있어요, 그리고 GAN과의 차이

이 장에서 배울 것
생성된 그림을 점검하는 기준과 GAN·디퓨전의 차이를 정리해요.
점검예시 질문
물체요청한 개수와 종류가 다 있나요?
관계컵이 테이블 "위"에 있나요, "아래"가 아니라?
글자와 세부글자와 작은 구조가 정확한가요?
출처어떤 모델과 설정으로 만들었나요?
비교기본 GAN초기 잠재 디퓨전 (SD 1.x)
학습 신호판별자와의 경쟁 피드백잡음 예측
망의 개수생성자 + 판별자, 2개잡음 제거 모델 1개로 생성
생성 방식생성자를 한 번 통과잠재 값을 여러 번 고침
글로 조종조건부 설계가 따로 필요처음부터 글 조건이 들어 있음
버전 메모GAN 구조는 아주 다양SD3는 MMDiT(멀티모달 디퓨전 트랜스포머) 사용
질문 상자

Q. 필기: "땅에 있는 사람, 떠 있는 사람 같은 차이가 레이턴트 스페이스의 한 방향일까? 벡터 검색처럼 비슷한 걸 찾는 건가?"

A. 좋은 직관이에요. 잘 학습된 잠재 공간에서는 비슷한 그림이 가까이 모이고, 어떤 방향으로 움직이면 특정 특징(떠 있음, 색감 등)이 바뀌는 경우가 많아요. 벡터 검색이 "가까운 벡터 = 비슷한 내용"을 쓰는 것과 같은 원리예요. 다만 방향과 뜻이 깔끔하게 일대일로 맞는다는 보장은 없어요. 같은 "우주인"이라도 다양한 그림이 나오는 건 수많은 이미지-설명 쌍으로 배운 넓은 영역에서 시드마다 다른 곳에 도착하기 때문이에요.

핵심 정리
  • 그럴듯한 그림도 개수·관계·글자·출처를 점검해야 해요.
  • GAN은 망 2개의 경쟁, 디퓨전은 망 1개의 반복 잡음 제거예요.
  • 잠재 공간에서 가까움 = 비슷함이지만, 방향의 뜻은 보장되지 않아요.
실무 관점
마케팅 이미지를 생성 AI로 만들 때는 시드·모델·설정을 기록해 두세요. 마음에 든 결과를 다시 만들거나 조금만 고칠 수 있어요. 시안을 비교할 때는 "한 번에 하나만 바꾸기" 원칙을 지키면 무엇이 결과를 바꿨는지 알 수 있어요. 그리고 제품 개수, 로고 글자, 위치 관계처럼 틀리기 쉬운 부분은 사람이 꼭 확인해야 해요.

4부. 멀티모달 트랜스포머: 글과 그림을 함께 이해하기

4-1. 같은 사진, 다른 질문

이 장에서 배울 것
"멀티모달"이 무엇이고, 왜 질문에 따라 봐야 할 증거가 달라지는지 알아봐요.

멀티모달(multimodal)은 "여러 종류의 데이터"라는 뜻이에요. 글, 그림, 소리처럼 형태가 다른 데이터를 함께 다루는 모델을 말해요. 테이블 위 머그컵 사진 한 장을 두고도 질문은 여러 가지예요.

  • "보이는 물건은 뭐예요?" → 사진 전체를 훑어야 해요.
  • "머그컵은 무슨 색이에요?" → 컵 부분만 보면 돼요.
  • "이 컵의 주인은 누구예요?" → 사진만으로는 알 수 없어요.

그래서 모델은 질문에 따라 사진의 어느 부분이 중요한지 골라 봐야 해요. 이 "골라 보기"가 뒤에 나올 어텐션이에요.

핵심 정리
  • 멀티모달 = 글·그림·소리 같은 여러 데이터를 함께 다루기예요.
  • 질문이 달라지면 사진에서 봐야 할 부분도 달라져요.
  • 사진에 없는 정보(주인이 누구인지)는 답할 수 없어야 정상이에요.

4-2. 토큰과 임베딩: 모든 것을 숫자 벡터로

이 장에서 배울 것
글과 그림을 같은 방식으로 다루기 위해 조각(토큰)과 숫자 벡터(임베딩)로 바꾸는 법을 배워요.

트랜스포머는 입력을 조각들의 줄(시퀀스)로 받아요. 글은 단어나 단어 조각이 토큰(token)이 돼요. 그림은 작은 네모 조각, 즉 패치(patch)로 잘라 토큰처럼 써요. 순서와 위치 정보도 함께 넣어 배열이 흐트러지지 않게 해요.

개념 카드

임베딩 Embedding

💡개념
글 조각이나 그림 조각의 뜻을 숫자 목록(벡터)으로 바꿔 놓은 것이에요.

컴퓨터는 "고양이"라는 글자나 귀 모양 그림 조각을 그대로 비교할 수 없어요. 그래서 각각을 수백 개 숫자로 된 벡터로 바꿔요. 이것이 임베딩이에요. "박아 넣는다(embed)"는 말처럼, 뜻을 숫자 공간 속 한 위치에 박아 두는 거예요.

학습을 거치면 뜻이 비슷한 것끼리 가까운 위치에 놓여요. "강아지"와 "개"는 가깝고 "자전거"는 멀어요. 글과 그림을 함께 학습하면 "빨간 머그컵"이라는 글 벡터와 빨간 머그컵 사진 벡터도 가까워져요. 그래야 글과 그림을 서로 비교하고 합칠 수 있어요.

필기의 "레이턴트 스페이스를 만드는데, 이걸 임베딩"이라는 말처럼, 임베딩이 사는 공간도 일종의 잠재 공간이에요.

👀그림으로 먼저 보기
"강아지" "개" 강아지 사진 "빨간 머그컵" 머그컵 사진 "자전거" 뜻이 비슷하면 가까이, 다르면 멀리 (개념 그림, 실제로는 수백 차원)
글(동그라미)과 그림(네모)이 같은 공간에 놓여 서로 비교할 수 있어요.
❓이게 없으면?
Q"빨간 머그컵"이라는 글과 컵 사진이 같은 뜻인지 어떻게 알까요?A글자와 픽셀은 생김새가 전혀 달라요. 둘 다 같은 숫자 공간의 벡터로 바꿔야 "가깝다 = 비슷하다"로 비교할 수 있어요.
⚙️어떻게 작동할까
1
글은 토큰, 그림은 패치로 잘라요.
→
2
조각마다 숫자 벡터로 바꾸고 위치 정보를 더해요.
→
3
학습하면서 비슷한 뜻은 가까이 오도록 벡터를 조정해요.
📍쉬운 비유: 도서관 서가 위치
비유AI
책마다 붙은 서가 번호↔임베딩 벡터
비슷한 주제 책은 같은 칸 근처↔비슷한 뜻은 가까운 위치
그림책과 소설도 주제가 같으면 이웃↔글과 그림이 같은 공간에
🔢숫자 예시
글 토큰
벡터
숫자 특징의 목록
그림 패치
벡터
시각 특징의 목록
위치
벡터
순서·자리 정보
⚠️헷갈리기 쉬운 점
토큰 · 패치
입력을 자른 "조각" 그 자체예요.
임베딩
그 조각의 뜻을 담은 "숫자 벡터"예요.
핵심 정리
  • 글은 토큰, 그림은 패치로 잘라 줄을 세워요.
  • 임베딩은 조각의 뜻을 숫자 벡터로 바꾼 거예요.
  • 학습 후 비슷한 뜻은 가까이 모여, 글과 그림을 비교할 수 있어요.

4-3. 어텐션: 지금 중요한 곳에 집중하기

이 장에서 배울 것
트랜스포머의 핵심인 어텐션이 무엇을 하는지 배워요.
개념 카드

어텐션 Attention

💡개념
지금 처리하는 조각에게 다른 조각들 중 무엇이 중요한지 점수를 매겨 그만큼 정보를 섞어 주는 방법이에요.

"머그컵은 무슨 색이에요?"라는 질문에서는 "색"과 "머그컵" 토큰, 그리고 사진의 컵 부분 패치가 중요해요. 배경의 테이블은 덜 중요해요. 어텐션은 이런 중요도를 숫자로 계산해요.

세 가지 역할로 나눠 생각하면 쉬워요. 쿼리(Query, 질문)는 "나한테 어떤 정보가 필요해?"예요. 키(Key, 열쇠)는 각 조각이 "나는 이런 정보야"라고 내건 이름표예요. 쿼리와 키가 잘 맞을수록 점수가 높아요. 값(Value)은 실제로 가져다 섞을 내용이에요.

중요도는 고정되어 있지 않고 지금 토큰과 과제에 따라 바뀌어요. 그래서 같은 사진이라도 질문마다 다른 부분에 집중해요. 이미지 생성 모델에서도 어디를 중요하게 볼지 정하는 데 어텐션을 많이 써요.

👀그림으로 먼저 보기
질문 토큰 "색" 배경 벽 컵 테이블 0.05 0.85 0.10 선이 굵을수록 더 많이 참고해요 (개념 그림, 실제 측정값 아님)
"색"을 묻는 질문은 사진의 컵 부분에 가장 많이 집중해요.
❓이게 없으면?
Q모든 조각을 똑같이 섞으면 안 될까요?A중요한 정보가 배경에 묻혀요. 어텐션이 있어야 질문과 관련 있는 부분을 골라 크게 반영할 수 있어요.
⚙️어떻게 작동할까
1
쿼리: 지금 조각이 "무엇이 필요해?"라고 물어요.
→
2
다른 조각들의 키와 비교해 관련 점수를 매겨요.
→
3
점수만큼 값을 섞어 새 표현을 만들어요.
🏫쉬운 비유: 회의 중 메모하기
비유AI
"예산 얘기만 적자"는 내 관심사↔쿼리
발언마다 붙은 주제 이름표↔키
관련 발언 내용만 크게 받아 적기↔값을 점수만큼 섞기
🔢숫자 예시
컵 패치 (개념 예시)
0.85
가장 많이 참고
테이블 패치
0.10
조금 참고
점수 합
1.00
나눠 가진 집중도
⚠️헷갈리기 쉬운 점
CNN 필터
정해진 작은 이웃만 봐요. 어디서든 같은 필터를 써요.
어텐션
멀리 있는 조각도 볼 수 있고, 과제마다 집중할 곳이 달라져요.
핵심 정리
  • 어텐션 = 지금 필요한 정보에 점수를 매겨 골라 섞기예요.
  • 쿼리(질문) · 키(이름표) · 값(내용) 세 역할로 계산해요.
  • 집중할 곳은 질문과 과제에 따라 바뀌어요.

4-4. 맞추는 모델(CLIP)과 대답하는 모델(VLM)

이 장에서 배울 것
사진과 글을 짝짓는 CLIP과 사진을 보고 대답하는 VLM의 차이를 배워요.

CLIP은 그림 인코더와 글 인코더 두 개를 함께 학습해요. 맞는 짝(사진과 그 설명)은 가깝게, 틀린 짝은 멀게 만드는 대조 학습(contrastive learning)을 써요. 그래서 사진 한 장에 여러 설명을 주면 "어떤 설명이 가장 잘 맞나" 순위를 매겨요.

단, 순위는 내가 준 후보들 안에서의 상대적인 결과예요. "빨간 머그컵", "파란 자전거", "선반 위 흰 그릇" 중에서 고르게 하면 하나는 1등이 돼요. 후보가 모두 틀렸을 수도 있다는 점을 꼭 기억하세요.

VLM은 사진을 보고 글로 대답을 만들어 내는 모델이에요. 예로 LLaVA는 그림 인코더(보통 CLIP의 그림 부분)를 언어 모델에 연결해요. 학습은 두 단계예요. 먼저 그림 표현을 언어 모델에 맞추는 정렬(alignment), 다음에 그림 관련 지시에 답하는 법을 배우는 지시 튜닝(instruction tuning)이에요.

비교CLIP생성형 VLM
보통 출력유사도 점수 / 순위대답 글
예사진에 맞는 설명 순위 매기기사진에 대한 질문에 답하기
주된 계산두 표현 비교그림 조건을 붙여 글 생성
부품 공유가능해요. VLM이 CLIP의 그림 인코더를 쓰기도 해요
질문 상자

Q. 필기: "트랜스포머 특징은 뭐가 중요한지 찾아내는 딥러닝 모델이라 이미지 생성 모델로도 쓰인다? 이게 맞나?"

A. 맞아요. 어텐션으로 "어디가 중요한지" 계산하는 트랜스포머는 글뿐 아니라 그림 생성에도 쓰여요. 스테이블 디퓨전 3는 잡음 제거기를 U-Net 대신 멀티모달 디퓨전 트랜스포머(MMDiT)로 바꿨고, 비디오 생성 모델도 디퓨전 트랜스포머를 써요(5부).

핵심 정리
  • CLIP: 사진-글 짝 맞추기 점수. 후보 안에서의 상대 순위예요.
  • VLM(예: LLaVA): 그림 인코더 + 언어 모델로 대답을 만들어요.
  • 트랜스포머는 이해와 생성 양쪽에 다 쓰여요.

4-5. 술술 대답해도 증거를 확인해요

이 장에서 배울 것
VLM의 대답을 사진과 대조해 점검하는 방법을 배워요.

수업 시연에서는 "보이는 물건만 말해", "컵 색은?", "컵 주인은?", "모르면 무엇이 부족한지 말해" 같은 프롬프트로 관찰과 추론을 구분해 봤어요. 또 월 12잔·화 15잔·수 9잔이 적힌 작은 표를 주고, 그대로 읽어 적기와 합계 계산하기(36잔)와 다음 주 예측을 따로 확인했어요. 읽기와 계산은 서로 다른 능력이에요.

실수 유형점검 방법
없는 물건을 지어냄원래 사진과 비교해요
작은 글자 잘못 읽음확대해서 받아 적은 내용을 확인해요
계산 틀림뽑아낸 숫자로 직접 다시 계산해요
근거 없는 결론"무슨 증거가 빠졌지?"를 물어요

이렇게 대답을 입력 사진의 증거에 비추어 확인하는 것을 시각적 근거 확인(visual grounding)이라고 해요.

핵심 정리
  • 관찰(보이는 것)과 추론(짐작)을 구분해서 물어봐요.
  • 읽기와 계산은 다른 능력이니 따로 확인해요.
  • 유창한 대답일수록 원본 증거와 대조해요.
실무 관점
영수증·견적서·대시보드 캡처를 AI에게 읽힐 때는 "먼저 표의 숫자를 그대로 옮겨 적어" → "그 숫자로 합계를 내" 처럼 읽기와 계산을 나눠 시키세요. 틀린 곳을 찾기 쉬워져요. CLIP 같은 매칭 모델로 상품 사진을 분류할 때는 후보 목록에 "해당 없음"을 꼭 넣어, 억지로 아무 범주에나 끼워 넣지 않게 하세요.

5부. 비디오 생성: 그림에 시간을 더하면

5-1. 앞에서 배운 것이 모두 모여요

이 장에서 배울 것
비디오 생성이 앞의 세 이야기와 어떻게 이어지는지, 왜 "시간 일관성"이 핵심인지 배워요.

비디오는 그림 생성에 시간이라는 축이 하나 더해진 거예요. 앞에서 배운 아이디어가 그대로 쓰여요.

  • GAN에서: 학습(가중치를 고침)과 생성(가중치를 고정하고 입력을 바꿈)을 구분하는 생각
  • 잠재 디퓨전에서: 작게 줄인 표현 안에서 작업하기
  • 어텐션에서: 공간과 시간에 걸쳐 관련 정보를 잇기

영상은 사진을 빠르게 넘긴 거예요. 영화는 보통 1초에 24장, 방송·인터넷 영상은 30장 안팎이에요. 그래서 10초짜리 영상도 약 300장의 그림이 필요해요.

개념 카드

시간 일관성 Temporal Consistency

💡개념
영상 속 같은 물체는 처음부터 끝까지 같은 물체로 보여야 한다는 조건이에요.

한 장 한 장은 아주 선명해도, 이어 붙이면 이상한 영상이 될 수 있어요. 빨간 컵이 다음 장면에서 갑자기 파란 컵이 되거나, 앞으로 걸어가던 사람이 옆으로 미끄러지면 안 돼요.

그래서 비디오 모델은 장면마다 물체의 정체성(identity), 움직임(motion), 사건의 흐름(events)을 함께 지켜야 해요. 잠재 공간 안에 3차원 모양, 색, 그림자 정보를 담고, 시간에 따라 그 값이 연속적으로 바뀌어야 해요. 움직이는 방향도 앞뒤가 맞아야 해요.

그림 한 장을 만들 때보다 지켜야 할 조건(제약)이 훨씬 많아요. 이 점이 비디오 생성이 어렵고 비싼 가장 큰 이유예요.

👀그림으로 먼저 보기
✓ 일관된 영상 ✕ 일관성이 깨진 영상 같은 컵이 자연스럽게 이동 빨강 → 파랑, 모양도 찌그러짐
한 장씩은 멀쩡해도 이어 보면 이상할 수 있어요.
❓이게 없으면?
Q그림 300장을 따로따로 잘 만들면 영상이 될까요?A장마다 컵 색, 위치, 조명이 조금씩 달라져 깜빡이는 영상이 돼요. 장면 사이의 연결을 함께 지켜야 해요.
⚙️어떻게 점검할까
1
정체성: 같은 물건·사람이 끝까지 같은가요?
→
2
움직임·인과: 행동의 결과가 그럴듯한가요?
→
3
타이밍: 소리와 보이는 사건이 맞나요?
🎞️쉬운 비유: 플립북 만화
비유AI
공책 귀퉁이에 그린 한 장 한 장↔프레임
장마다 주인공 얼굴을 똑같이 그리기↔정체성 유지
조금씩만 위치를 옮겨 그리기↔연속적인 움직임
🔢숫자 예시
10초 영상 (초당 30장)
약 300장
모든 장이 서로 맞아야 해요
영화 표준
초당 24장
방송·인터넷 영상은 30장 안팎
⚠️헷갈리기 쉬운 점
한 장의 품질
프레임 하나가 선명하고 그럴듯한가.
영상의 일관성
프레임들이 이어졌을 때 같은 세상으로 보이는가.
핵심 정리
  • 비디오 = 그림 생성 + 시간 축이에요.
  • 10초 영상도 약 300장이라, 장 사이 연결을 모두 지켜야 해요.
  • 정체성·움직임·타이밍을 함께 점검해요.

5-2. 비디오 디퓨전은 어떻게 돌아갈까

이 장에서 배울 것
비디오 잠재 표현의 모양과 생성 반복 과정, 헷갈리기 쉬운 두 가지 "시간"을 구분해요.

비디오 잠재 표현에는 축이 4개예요

비디오의 잠재 표현은 T × H × W × C 모양의 숫자 묶음이에요. 시간(Time) × 높이(Height) × 너비(Width) × 채널(Channel)이에요. 이 덩어리를 작은 조각(패치)으로 잘라 트랜스포머의 토큰으로 써요. 시간과 공간을 함께 자른 조각이라 시공간 패치(spacetime patch)라고 불러요.

잡음 섞인 비디오 잠재 조건: 글 · 참조 디퓨전 트랜스포머패치끼리 어텐션 디코더보이는 프레임으로 여러 번 반복해 다듬어요
잡음 섞인 비디오 잠재를 조건에 맞춰 반복 정제한 뒤, 디코더가 실제 프레임으로 바꿔요.

헷갈리기 쉬운 두 가지

구분무엇이 바뀌나
학습할 때예시와 오차로 모델 가중치가 바뀌어요
생성할 때가중치는 고정, 잠재 값이 단계마다 바뀌어요
영상 속 시간 (가로축)만들어질 영상 안의 순간들 (0초, 1초, 2초…)
생성 단계 (세로축)잡음을 지우는 반복 횟수. 한 단계에서 영상 전체가 함께 다듬어져요

학습 목표는 모델마다 달라요. 잡음을 예측하기도 하고, 깨끗한 데이터나 "속도(velocity)"를 예측하기도 해요.

핵심 정리
  • 비디오 잠재 = 시간 × 높이 × 너비 × 채널, 시공간 패치로 잘라요.
  • 디퓨전 트랜스포머가 잡음 섞인 잠재를 반복해 다듬어요.
  • "영상 속 시간"과 "생성 단계"는 서로 다른 축이에요.

5-3. 조건, 소리, 그리고 실제 모델들

이 장에서 배울 것
무엇으로 영상을 조종하는지, 소리를 함께 만드는 방법, 수업에서 본 실제 모델들을 정리해요.

조건이 장면을 이끌어요

  • 글은 장면, 행동, 소리를 정해요.
  • 참조 이미지는 생김새와 시작·끝 장면을 정해요. 같은 사람 사진을 넣고 "앞으로 걸어가", "뒤로 물러나"처럼 시킬 수 있어요.
  • 어떤 입력을 받는지는 모델마다 달라요.

소리와 영상을 함께 만들기

영상과 소리는 각자 잠재 표현을 가져요. 두 갈래가 다듬어지는 동안 정보를 주고받고, 함께 디코딩해서 보이는 사건과 소리를 맞춰요. 예로 ByteDance의 Seedance 1.5 pro 논문이 이런 구조를 공개했어요. 필기처럼 목소리를 만드는 건 어렵지 않지만, 입 모양(립싱크)과 표정을 소리에 맞추는 것이 어려운 부분이에요.

모델수업에서 본 핵심
Sora (OpenAI, 2024)압축한 영상을 시공간 패치로 자르고 디퓨전 트랜스포머로 처리하는 구조를 공개. 2024년 구조와 Sora 2 제품은 따로 봐야 하고, 서비스는 종료됐어요
Veo 3 (Google DeepMind)영상과 소리 잠재에 함께 디퓨전을 적용. 픽셀·소리를 잠재와 잇는 오토인코더가 따로 있어요
Nano Banana · Gemini OmniNano Banana는 정지 이미지를 만들거나 고치고(참조 이미지 준비), 영상 모델은 시간에 따른 변화와 소리를 만들어요. 도구를 이어 쓴다고 내부 구조가 같다는 뜻은 아니에요
Seedance 2.5 (ByteDance, 2026년 7월 31일 발표)소리-영상 동시 생성을 확장. 참조와 부분 수정으로 더 긴 장면을 이끌고, 정체성·사건·소리를 길게 유지해야 해요

공개 자료를 읽을 때는 세 가지를 나눠 봐요. 구조(어떤 원리로 만드는가), 능력(시연에서 무엇을 보여 줬나), 제품 접근(실제로 쓸 수 있나)은 서로 다른 질문이에요.

핵심 정리
  • 글은 장면·행동·소리를, 참조 이미지는 생김새를 정해요.
  • 최신 모델은 영상과 소리를 함께 만들어 타이밍을 맞춰요.
  • 구조·능력·제품 접근은 따로 판단해요.

5-4. 왜 비쌀까, 그리고 잘 쓰는 법

이 장에서 배울 것
비디오 생성 비용이 큰 이유와, 실제로 쓸 때의 요령을 배워요.

비디오 생성이 비싼 이유는 세 가지예요.

  1. 잠재 표현의 칸(위치)이 많을수록 계산이 늘어요. 영상은 시간 축 때문에 그림보다 훨씬 많아요.
  2. 잡음 제거를 여러 번 반복해야 해서, 만들 때마다 계산이 반복돼요.
  3. 마음에 안 들어 버리는 영상과 사람의 검토 시간도 비용이에요.
쓸 수 있는 영상 1개의 비용 ≈ 시도 1번 비용 ÷ 합격률

말로 풀면: 한 번 만드는 데 1만 원이고 4번 중 1번만 쓸 만하면(합격률 25%), 쓸 수 있는 영상 하나에 실제로는 약 4만 원이 들어요. (검토·편집 비용은 빼고 계산)

질문 상자

Q. 필기: "LLM이 더 큰가, 이미지 모델이 더 큰가? 뭐가 컴퓨팅 파워를 더 먹는가?"

A. 수업 자료가 강조한 건 "결과물 하나를 만드는 데 드는 계산"이에요. 영상은 칸이 많고 반복 횟수도 많아서 결과 하나당 계산이 아주 커요. 그래서 비싸요. 모델 크기(파라미터 수) 자체를 비교하는 건 모델마다 달라서 한마디로 답하기 어려워요. 확인이 필요해요.

참고로 초기 스테이블 디퓨전 1.x의 잡음 제거기(U-Net)는 파라미터가 약 8억 6천만 개 수준으로 알려져 있어요. 반면 최신 대형 언어 모델은 수천억 개 이상인 경우가 많아요. 그래서 "모델 크기"는 언어 모델이 큰 편이지만, "결과물 하나당 계산"은 영상이 훨씬 클 수 있어요. 최신 영상 모델의 크기는 대부분 공개되지 않았어요.

그럴듯함과 믿을 수 있음은 달라요

멋져 보이는 영상도 틀린 사건을 숨길 수 있어요. 정체성(제품이 끝까지 같은가), 인과(행동의 결과가 그럴듯한가), 타이밍(소리와 사건이 맞는가)을 확인하세요.

간단 사용 요령

  • 이미지 → 영상: 일관된 참조 이미지를 준비하고, 프롬프트에는 움직임·카메라·소리를 적은 뒤, 영상 전체를 처음부터 끝까지 검토해요.
  • 카메라 조건: 참조는 그대로 두고 "뒤로 물러나기(MOVE BACK)", "확대(ZOOM IN)"처럼 조건을 하나씩만 바꿔 비교해요. 시드 고정은 그 서비스가 지원할 때만 도움이 돼요.
핵심 정리
  • 칸이 많고 반복이 많고 버리는 영상도 있어서 비싸요.
  • 실제 비용 ≈ 시도 비용 ÷ 합격률이에요.
  • 참조 이미지 + 조건 하나씩 바꾸기로 다루고, 전체를 검토해요.
실무 관점
홍보 영상을 AI로 만들 때 예산은 "1회 생성 단가"가 아니라 "쓸 수 있는 영상 1개당 비용"으로 잡으세요. 합격률을 높이려면 제품 참조 이미지를 먼저 깔끔하게 만들고(예: 이미지 생성 도구), 카메라·동작 조건을 하나씩 시험해 보는 게 좋아요. 완성본은 제품 모양·로고가 끝까지 같은지, 소리와 동작이 맞는지 사람이 꼭 확인하세요.

오늘 수업 전체 요약

부한 줄 요약
1부 CNN작은 필터를 사진 전체에 돌려 쓰며(가중치 공유) 선 → 모양 → 물체 순으로 특징을 쌓아 분류해요.
2부 GAN생성자와 판별자가 경쟁하며 배우고, 잠재 벡터 z를 생성자에 넣어 새 그림을 만들어요.
3부 스테이블 디퓨전VAE로 줄인 잠재 공간에서, 글의 안내를 받으며 잡음을 조금씩 지워 그림을 만들어요.
4부 멀티모달글과 그림을 토큰·임베딩으로 바꾸고, 어텐션으로 중요한 정보를 골라 맞추거나(CLIP) 대답해요(VLM).
5부 비디오그림에 시간 축이 더해져 일관성 유지가 어렵고, 결과 하나당 계산이 커서 비싸요.

용어 색인

한글영어한 줄 뜻나온 장
픽셀 · 채널Pixel · Channel사진의 점 하나 · 색 숫자 표 한 장1-1
완전 연결Fully connected모든 입력을 모든 뉴런과 잇는 방식1-2
합성곱Convolution필터와 사진 조각을 곱해서 더하기1-3
필터 · 특징 맵Filter · Feature map무늬를 찾는 작은 숫자 표 · 그 반응 지도1-3
가중치 공유Weight sharing같은 필터를 모든 위치에 다시 쓰기1-3
특징의 계층Feature hierarchy단순한 무늬를 모아 복잡한 모양으로1-4
소벨 필터Sobel filter사람이 정해 둔 경계선 찾기 필터1-5
ReLURectified Linear Unit음수는 0, 양수는 그대로1-5
스트라이드 · 패딩Stride · Padding필터의 보폭 · 테두리 덧대기1-5
맥스 풀링Max pooling구역의 가장 큰 값만 남겨 줄이기1-5
평탄화Flatten숫자 표를 한 줄로 펴기1-6
일반화Generalization처음 보는 데이터에서도 잘 맞히기1-6
생성적 적대 신경망GAN그리는 망과 가려내는 망의 경쟁 학습2-2
생성자 · 판별자Generator · Discriminator그림을 만드는 망 · 진짜 가짜를 가리는 망2-2
잠재 공간 · 잠재 벡터Latent space · Latent vector그림을 작은 숫자 좌표로 줄여 둔 공간 · 그 좌표2-3
시드Seed무작위 출발점을 정하는 번호2-3
모드 붕괴Mode collapse비슷한 결과만 반복하는 현상2-4
스타일 전이Style transfer그림의 붓 터치·질감을 다른 사진에 입히기2-4
오토인코더 · VAEAutoencoder · VAE줄였다 되살리는 망 · 잠재 공간을 정돈한 버전3-2
확산 모델Diffusion model잡음을 조금씩 지워 그림을 만드는 모델3-4
순방향 확산Forward diffusion학습용 그림에 잡음을 조금씩 섞는 과정3-4
가이던스Guidance프롬프트의 영향력 세기3-5
멀티모달Multimodal글·그림·소리 등 여러 데이터를 함께4-1
토큰 · 패치Token · Patch글 조각 · 그림 조각4-2
임베딩Embedding조각의 뜻을 숫자 벡터로 바꾼 것4-2
어텐션Attention중요한 정보에 점수를 매겨 골라 섞기4-3
대조 학습Contrastive learning맞는 짝은 가깝게, 틀린 짝은 멀게4-4
시각적 근거 확인Visual grounding대답을 입력 사진의 증거와 대조하기4-5
시간 일관성Temporal consistency같은 물체가 영상 내내 같게 보이기5-1
시공간 패치Spacetime patch시간과 공간을 함께 자른 비디오 조각5-2