Diffusion과 CLIP, 이미지 생성 AI의 핵심, 작동원리
안녕하세요, 부루퉁입니다. 지난번 뉴스레터에서 “이미지 생성 AI가 어떻게 이미지를 생성하는가?”에 대한 큰 흐름을 살펴봤습니다. 간략하게 복습하면, 텍스트(프롬프트)를 이해하는 단계와 이미지를 그리는 단계로 나뉘어 진행된다는 것이 핵심이었습니다.
이번에는 그 두 가지 단계에서 중요한 역할을 맡고 있는 Diffusion과 CLIP에 대해 조금 더 자세히 이야기해보겠습니다.
Diffusion: 이미지를 점점 ‘구체화’하는 기술
Diffusion 모델은 요즘 가장 널리 쓰이는 이미지 생성 기법(모델) 중 하나입니다.
- 기본 개념: 이미지를 무작위 상태(노이즈)에서 시작해, 여러 차례에 걸쳐 조금씩 원래의 형태를 되살려가는 과정을 통해 최종 이미지를 만들어냅니다.
- 작동 원리
- 처음에는 ‘진짜인지 가짜인지 구분 안 될 정도로 노이즈가 심한 상태’에서 출발합니다.
- 모델(U-Net 구조 등)이 ‘이번 단계에서 어떻게 노이즈를 줄여가야 하는지’를 학습해, 반복적으로 이미지를 선명하게 만듭니다.
- 수십~수백 번의 과정을 거치면서 최종적으로 우리가 원하는 모습을 그려냅니다.
- 노이즈를 추가했다가 제거하는 이유
- 데이터 분포를 학습: AI가 이미지를 생성하려면, 현실의 이미지가 갖고 있는 패턴과 구조(밝기, 색감, 모양 등)을 이해야합니다. 이미지가 어떻게 구성되어 있는지를 "역방향"으로 추적하는 방법을 배우는 것이죠.
- 안정적인 학습: 노이즈가 조금만 들어간 상태를 깨끗하게 만드는 작은 목표를 여러 번 반복하기 때문에, 모델이 매 단계에서 해야 할 일이 비교적 단순하고 구체적입니다. 그리고 각 단계마다 노이즈가 얼마나 제거됐는지를 명확하게 측정해볼 수 있고, 이런 피드백이 쌓여 학습이 보다 안정적으로 이뤄집니다.
결국 Diffusion은 “노이즈를 조금씩 제거해가며 이미지를 구체화한다”고 이해하면 쉽습니다. 그래서 여러분이 프롬프트를 입력하면, AI는 “어떤 그림을 그려야 할지”를 고려해가면서 점차 노이즈를 줄여나가, 마치 필름 사진이 서서히 현상되듯 결과물을 만들어내는 겁니다.
CLIP: 텍스트와 이미지를 연결해주는 통역사
이제 CLIP에 대해 살펴보도록 하죠.
- CLIP(Contrastive Language-Image Pre-training)은 오픈AI(OpenAI)에서 개발한 모델로, 간단히 말해 “문장(텍스트)와 이미지가 서로 어떤 연관성을 갖는지”를 학습합니다.
- 어떻게 사용되는가?
- 우리가 입력한 프롬프트(예: “사진속에 강아지”)를 CLIP이 분석합니다.
- CLIP은 “이 문장에 어울리는 이미지는 어떤 특징을 가져야 하는가?”를 판단하고, 결과 이미지가 프롬프트와 얼마나 부합하는지 점수화합니다.
- Diffusion 모델이 생성한 이미지를 다시 보고, “좀 더 강아지를 강조해야겠어” 같은 식으로 지시해 최종 이미지를 점점 더 정확하게 만듭니다.
즉, CLIP은 AI 아티스트가 원하는 문장을 바탕으로, “이게 정말 ‘사진속 강아지’를 묘사하는 이미지인가?”를 판단하고 피드백해주는 역할을 합니다.
두 기술이 합쳐지는 과정
쉽게 정리하면 이렇습니다.
- CLIP이 “이 텍스트를 만족시키려면 어떤 이미지가 되어야 한다”고 가이드를 잡아줍니다.
- Diffusion 모델이 이를 참고해 무작위 상태에서부터 이미지를 조금씩 구체화해가면서 “더 텍스트에 가깝게” 만든 결과물을 내놓습니다.
- CLIP이 최종 결과물을 확인하고, 다시 “여기서 이 부분을 더 조정해줘”라고 피드백을 주면서 반복합니다.
이렇게 CLIP과 Diffusion은 서로 맞물려 가며, 우리가 원하는 이미지를 생성해주는 것입니다.
마무리하며
22년 말부터 생성형 AI를 공부하면서, 이 분야의 작동 원리를 이해하기가 쉽지 않다는 걸 매번 느낍니다. 영문 논문 위주라 기술적 이해가 까다롭지만, “어떻게 작동할까?”라는 호기심을 풀어가는 즐거움이 크더라고요. 앞으로도 새로운 생성형 AI 기술이 등장할 때마다, 제가 이해한 내용을 이해하기 쉽게 전해드리겠습니다. 오늘도 함께해 주셔서 감사합니다!
부루퉁 인스타그램: https://www.instagram.com/boorutung/
부루퉁의AI 네이버 블로그: https://blog.naver.com/ldlquddnr
부루퉁의 업데이트되는 챗GPT 전자책: https://vo.la/blbLY
뉴스레터 광고 공간 (광고주를 모집합니다)
For newsletter banner advertising inquiries, please contact: Bopyo@aikoreacommunity.com
이곳에 서비스를 소개하세요!
뉴스레터 배너 광고 문의: Bopyo@aikoreacommunity.com
뉴스레터 편집장 소개
- 보표 홈페이지
- https://amzbopyo.com/
- 보표 SNS
- 보표 레터: https://www.bopyoletters.com/
- X(트위터): https://twitter.com/AIBopyo
- 스레드: https://www.threads.net/@bopyo.amz
- 링크드인: https://www.linkedin.com/in/bopyo-park-848631231/
- 인스타그램: https://www.instagram.com/bopyo.amz/
- AI 코리아 커뮤니티 아카데미
- https://app.aikoreacommunity.com/collections/932400