22. 영상 생성 모델의 학습 — 시퀀스와 디퓨전 사이에서 무엇을 "강제"하는가

자주 하는 실수와 요약

자주 하는 실수
실수 나온 문제 바로잡는 법
품질이 좋으니 전체 시퀀스 디퓨전을 어디에나 쓴다고 봄 1 중간에 조작이 들어오거나 길이가 정해지지 않으면 과거만 보고 한 장씩 만드는 자기회귀만 쓸 수 있다
연습 때도 실전 때도 같은 자리에서 출발한다고 봄 2 바로잡아 주는 사람이 없으면 다음 순간은 자기 실수가 만든 자리에서 시작한다. 연습 때의 성공률은 그 자리를 잰 적이 없다
프레임마다 생기는 오차가 그냥 더해진다고 봄 3 어긋난 과거가 다음 프레임에 몇 배로 넘어가는지(g\textcolor{#cc00ff}{g})가 결정한다. g>1\textcolor{#cc00ff}{g} > 1이면 기하급수로 커진다
과거 입력만 모델 것으로 바꾸면 노출 편향이 풀린다고 봄 4 목표가 여전히 데이터의 정답이면 입력과 목표가 한 영상의 짝이 아니다. 영상 전체를 평가하는 손실이 필요하다
시차를 두고 넣어도 판마다 단계 수만큼 따로 센다고 봄 5 한 번 돌릴 때 안에 든 판이 함께 나아간다. 단계 수가 아니라 돌리는 횟수(4 + 3)를 센다
학습 때 거의 나오지 않는 모양은 생성에 쓸 수 없다고 봄 6 모델은 칸마다 자기 수준과 앞 칸의 수준을 보고 푼다. 다만 쓰지 않을 조합은 비감소 제약으로 덜어 낸다
늘 바로잡아 주는 연습이 실전에도 가장 좋다고 봄 7 실전에서는 틀린 뒤를 아무도 바로잡아 주지 않는다. 자기 소리 위에서 끝까지 이어 가는 연습이 실전과 같은 조건이고, 대신 연습 한 번이 비싸다
보상이 같으면 푸는 법도 정책 그래디언트라고 봄 8 셀프 포싱(DMD)은 선생님 모델이 스코어를 주므로 샘플을 거쳐 미분한다(재매개변수화)
짧은 선생님은 긴 영상의 어느 구간도 판단하지 못한다고 봄 9 긴 진짜 영상의 짧은 구간도 짧은 진짜 영상처럼 생겼다. 오류 누적은 짧은 구간 안에서도 드러난다. 먼 프레임 사이의 일관성만 따로 다뤄야 한다
눈금이 다른 점수를 그냥 더해도 된다고 봄 10 크게 퍼진 축이 순위를 정해 버린다. 축마다 평균을 빼고 표준편차로 나눈 뒤 합친다
영상 전체의 어드밴티지를 모든 청크에 곱하면 된다고 봄 11 청크가 많을수록 누가 잘했는지 흐려진다. 같은 과거에서 갈라 비교하고, 가르는 위치를 무작위로 돌린다
요약
방법 과거는 어디서 오나 목표 풀린 문제 / 남은 문제
티처 포싱 데이터(깨끗) 다음 프레임 맞히기 빠르고 안정적 / 노출 편향
스케줄드 샘플링 데이터와 모델을 섞음 데이터의 다음 프레임 노출 편향 완화 / 입력과 목표의 짝이 어긋남
디퓨전 포싱 데이터에 프레임마다 다른 노이즈 프레임별 노이즈 맞히기 두 목표를 한 모델에, 유연한 스케줄 / 여전히 데이터의 과거
셀프 포싱 모델 자신의 롤아웃 영상 전체의 분포 맞추기(DMD 등) 노출 편향, 실시간 속도 / 학습 길이를 넘는 오류 누적
긴 영상 방법들 긴 자기 롤아웃, 재활용한 오류 구간별 교정, 긴 문맥 선생님 분 단위 영상 / 먼 프레임 사이의 일관성
강화학습 모델 자신의 롤아웃 사람이 원하는 보상 움직임·정체성·선호 / 크레딧 할당, 적은 단계에서의 탐색

영상 모델의 학습 목표는 「다음 프레임을 맞힌다」는 시퀀스 목표와 「노이즈를 걷어 낸다」는 디퓨전 목표가 합쳐진 것이다. 자기회귀로 한 장씩 만들면 길이와 실시간을 얻는 대신, 학습 때 정답 과거만 본 모델이 생성 때 자기 과거를 딛으며 어긋남을 키운다(노출 편향, 오류 누적). 디퓨전 포싱은 프레임마다 노이즈 수준을 따로 주어 두 목표를 한 모델에 담았고, 셀프 포싱은 학습 때도 자기 롤아웃 위에서 영상 전체의 분포를 맞추게 해 노출 편향을 뿌리에서 줄였다. 이 목표는 이미 「진짜 영상다움을 보상으로 한 온폴리시 학습」 꼴이어서, 그 자리에 사람이 원하는 보상을 얹는 것이 영상 모델 강화학습의 출발점이 된다. 보상을 얹을 때마다 「무엇을 같게 두고 비교할 것인가」를 새로 묻게 되고, 영상에서 그 답은 같은 과거다.