Memorization In Stable Diffusion Is Unexpectedly Driven by CLIP Embeddings
본 논문은 패딩 토큰에서의 텍스트 끝 임베딩의 구조적 중복이 그 영향을 증폭시켜 스테이블 디퓨전에서의 암기 현상을 예상치 못하게 주도한다는 사실을 밝히고, 이미지 품질을 저하시키지 않으면서 이 문제를 완화하기 위한 간단한 추론 시 전략을 제안한다.
원본 논문은 CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기
"Memorization In Stable Diffusion Is Unexpectedly Driven by CLIP Embeddings"라는 논문에 대한 설명을 간단한 개념과 비유로 나누어 제시합니다.
핵심 문제: 모델이 '기억'에 갇혀 있음
수백만 장의 사진으로 훈련된 재능 있는 화가 (Stable Diffusion) 를 상상해 보세요. 때로는 이 화가에게 새로운 것을 그려달라고 요청할 때, 훈련 세트에 있는 특정 사진을 픽셀 단위로 정확히 복사해 버리는 실수를 저지릅니다. 이를 **기억 (memorization)**이라고 합니다. 모델이 새로운 것을 창조하는 것이 아니라 기존 데이터를 그대로 토해내는 것이기 때문에, 이는 개인정보 보호 및 저작권 리스크가 됩니다.
과학자들은 왜 이런 일이 발생하는지 규명해 오고 있습니다. 대부분의 이론은 사용자가 입력한 단어 (프롬프트) 나 모델 내부의 수학에 초점을 맞췄습니다. 그러나 이 논문은 지시문의 '패딩 (padding)' 부분에 숨어 있는 놀라운 범인을 발견했습니다.
배경: 화가가 지시문을 읽는 방식
이 발견을 이해하려면 화가가 어떻게 지시문을 읽는지 살펴봐야 합니다.
- 프롬프트: "A cat on a mat"과 같은 문장을 입력합니다.
- 제한: 화가는 특정 길이 (77 개의 '토큰' 또는 단어 부분) 까지의 지시문만 읽을 수 있습니다.
- 채우기: 문장이 짧다면 (예: 10 단어), 컴퓨터는 77 개의 한계에 도달하기 위해 나머지 67 개의 빈 공간을 채워야 합니다.
구식 방식 (Stable Diffusion v1.4):
컴퓨터는 그 빈 공간을 특별한 '문장 끝' 토큰 (이를 <eot>이라고 부르겠습니다) 으로 채웁니다.
- 비유: 이야기를 읽는데 마지막 페이지가 하얀 종이라면, 빈칸으로 두는 대신 프린터가 페이지가 꽉 찰 때까지 "THE END"라는 단어를 반복해서 찍어 넣는다고 상상해 보세요.
- 따라서 짧은 프롬프트의 경우, 화가는
[당신의 단어] + [THE END] + [THE END] + [THE END]...(60 회 이상 반복) 를 보게 됩니다.
발견: '에코 챔버 (Echo Chamber)' 효과
논문의 저자들은 화가가 특히 이미지를 기억할 때, 이러한 반복된 "THE END" 도장에 크게 의존한다는 사실을 발견했습니다.
그들이 발견한 사건 연쇄는 다음과 같습니다:
- 훈련 불일치: 단어를 수학으로 변환하는 시스템 (CLIP) 은 문장 전체의 가장 중요한 요약으로 첫 번째 "THE END" 토큰을 처리하도록 훈련되었습니다. 이는 실제 단어와 채우기 토큰을 무시하도록 학습되었습니다.
- 오작동: 컴퓨터가 빈 공간을 더 많은 "THE END" 토큰으로 채우기 때문에, 화가는 갑자기 "THE END" 토큰이 수십 번 반복되는 것을 보게 됩니다.
- 증폭: 화가는 "와, 'THE END' 토큰이 너무 많이 있네! 이것이 지시문의 가장 중요한 부분임에 틀림없다!"라고 생각합니다.
- 결과: 모델은 이 반복된 토큰에 과도하게 집중합니다. 만약 그 특정 "THE END" 패턴이 훈련 중에 특정 저작권이 있는 이미지와 연관되어 있었다면, 모델은 그 루프에 갇혀 실제 요청을 무시하고 그 정확한 이미지를 재현하게 됩니다.
비유:
지휘자 (모델) 가 솔로 가수 (프롬프트) 를 들어야 하는 합창단을 상상해 보세요. 하지만 합창단원들이 모두 "STOP!" (패딩 토큰) 이라고 반복해서 외치고 있습니다. 지휘자는 그 외침에 압도되어 솔로 가수를 듣는 것을 멈추고, "STOP!" 명령에 따라 원을 그리며 행진하기 시작합니다. 만약 그 "STOP!" 명령이 이전에 특정 춤 동작과 연결되어 있었다면, 합창단은 음악을 무시하고 그 춤만 반복하게 됩니다.
놀라운 반전: 단어가 그렇게 중요하지 않음
저자들은 프롬프트의 실제 단어를 제거하고 대신 "End" 토큰으로 대체하여 이를 테스트했습니다.
- 결과: 모델은 여전히 인식 가능한 이미지를 생성할 수 있었습니다.
- 결론: 사용자가 입력한 실제 단어 (프롬프트) 는 기억 과정에 거의 기여하지 않습니다. 복사 행동을 주도하는 것은 '채우기' 토큰입니다.
해결책: 두 가지 간단한 수정
이 논문은 모델을 재훈련하거나 속도를 늦추지 않고 이 문제를 멈추게 하는 두 가지 쉬운 방법을 제안합니다. 둘 다 '추론 시간 (inference-time)' 수정으로, 이미지가 생성되기 직전에 적용할 수 있습니다.
수정 1: 채우기 토큰 변경
- 행동: 빈 공간을 "THE END" (
<eot>) 로 채우는 대신, 느낌표 (!) 와 같은 중립적인 기호로 대체합니다. - 작동 원리: 에코 챔버가 깨집니다. 모델이 60 개의 "End" 토큰 사본을不再 보게 됩니다. 대신 동일한 무거운 무게를 지니지 않는 중립적인 기호를 보게 됩니다.
- 추가: 안전을 위해 원래의 단일 "End" 토큰도 숨깁니다 (마스킹).
수정 2: 채우기 토큰 음소거
- 행동: 토큰을 그대로 두되, 반복된 "End" 토큰의 볼륨 (마스크) 을 줄여 모델이 이에 덜 주의를 기울이게 합니다.
- 작동 원리: 토크나이저를 변경하지 않고도 '메아리'의 영향을 줄입니다.
증명: 왜 버전 2.1 이 더 나은가
저자들은 Stable Diffusion v2.1(더 새로운 버전)이 이 기억 문제를 덜 심각하게 겪는다는 사실을 알아차렸습니다.
- 이유: v2.1 제작자들이 실수로 이 문제를 해결한 것으로 나타났습니다. 그들은 "THE END"를 반복하는 대신 중립적인 기호를 사용하는 다른 텍스트 시스템 (OpenCLIP) 으로 전환했습니다.
- 교훈: v2.1 이 자연스럽게 기억을 덜 하게 되었다는 사실은, v1.4 에서의 문제의 주요 원인이 실제로 '반복된 End 토큰'이었음을 증명합니다.
요약
- 문제: Stable Diffusion 은 때때로 훈련 이미지를 정확히 복사합니다.
- 원인: 짧은 프롬프트는 반복된 "문장 끝" 토큰으로 채워집니다. 모델은 이러한 반복된 토큰을 지시문의 가장 중요한 부분으로 오인하여 '과적합 (overfit)'이 발생하고 특정 이미지를 기억하게 됩니다.
- 해결: 채우기 토큰을
!와 같은 중립적인 것으로 변경하거나 반복된 토큰을 음소거합니다. 이는 이미지 품질을 유지하면서 기억을 멈추게 합니다. - 이점: AI 를 재훈련하거나 사전에 위험한 이미지를 감지할 필요 없이 이 수정을 즉시 적용할 수 있습니다.
연구 분야의 논문에 파묻히고 계신가요?
연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.