본문으로 바로가기

AI가 이제 창작의 영역까지 넘보고 있다. 솔직히 처음에는 이해가 안갔다. 도대체 어떻게 이런 창작이 가능한 것이지? 그래서 노벨 AI가 사용한다는 stable diffusion model에 대해 좀 알아봤다(비전공자임) 틀린 부분 있을 수 있으니 지적 환영합니다.

 

● 노벨 AI 프로그램 설명

위는 노벨 AI가 그린 그림이다. AI는 현재 손을 잘 못그리는데, 손이 이상한 걸 보면 AI그림이 확실하다. 정기 구독을 해야하는 유료 프로그램이고 월 10$, 15$, 25$ 버젼이 있다. 무료 체험판은 없음.

 

1. GTA 그림체로 호머 심슨이 자동차 타고 있는 모습 그려줘

2. 고양이가 자동차 타고 있는 모습 그려줘

 

같이 키워드로 AI에게 명령을 하면 그에 맞는 그림을 여러 버젼으로 주고, 우리가 그 중 선택하는 방식이다.

 

● stable diffusion 모델 설명하는 움짤

위 움짤은 diffusion model을 설명한 것인데, 형체를 알 수 없는 그림으로부터 점점 파인애플을 복원시킨다. 이 때 diffusion은 흩뿌리다, 확산이라는 의미로 맨 처음 그림은 diffusion처럼 모든 픽셀이 흩뿌려져있다.

 

그럼 위 짤을 내 방식대로 풀어서 설명해보겠다.

● 노이즈화의 의미

먼저 사진 1장에 약간 노이즈를 입힌다. 이를 노이즈화 한다고 하자. 사람이 사진 한 장 한 장 노이즈화 하면 너무 오래 걸리니 함수를 짠다. 컴퓨터가 알아서 사진을 조금씩 노이즈화 할 수 있도록 말이다. 이 함수를 노이즈 함수라고 하자.(그냥 내가 지은 함수 이름이다)

● 노이즈를 할 수록 픽셀이 흩뿌려진다

노이즈 함수를 여러 번 반복하다보면 왼쪽의 원본이 오른쪽 깨진 사진, 흩뿌려진 사진으로 조금씩 변한다. 물론 위 사진은 모자이크 한 사진이라 노이즈와 조금 다르지만, 이해를 쉽게 하기 위해 이렇게 표현함.

 

노이즈 함수를 1번 작동시킬 때마다 사진은 위와 같이 흩뿌려질 것이고, 이를 무한번 반복하면 아래와 같은 사진이 될 것이다.

 

모든 픽셀이 흩뿌려져 있는 사진이다.

 

● 타노스 핑거스냅과 같음

만약 이해가 어렵다면 어벤져스 타노스의 핑거스냅 생각하면 된다. 인물을 구성하고 있던 것들 하나하나가 여러 군데로 흩뿌려지는 것이다. 이게 노이즈 함수다. 노이즈 함수는 유를 무로 바꾸는 것이라 어렵지 않다.

 

● 흩뿌려진 입자를 다시 원래로 되돌릴 수 있을까?

문제는 반대다. 타노스 핑거스냅으로 분해되어버린, 흩뿌려져버린 입자, 픽셀들을 다시 원본인 사람, 그림으로 돌려놓을 수 있을까?? 놀랍게도 컴퓨터 AI한테 시키면 된다.

 

당장 무에서 유를 창조하는 것은 불가능하다. 하지만 노이즈값 1의 그림을 노이즈값 0의 그림으로 복원시키는 것은 가능하다.

 

● 선명하게 하는 것과 같음

왼쪽은 노이즈 함수를 1번 돌린 그림이다. 오른쪽은 원본 그림이다. AI에게 이렇게 학습시킨다.

 

"왼쪽은 노이즈값 1인 그림이고, 오른쪽은 노이즈값 0인 그림이야"

 

 

또 한번 노이즈 함수를 돌리자. 그리고 AI에게 학습시킨다.

 

"왼쪽은 노이즈값 3인 그림이고, 오른쪽은 노이즈값 2인 그림이야"

 

● AI는 여러 경우를 비교해서 방법을 찾는다

이런 걸 6번정도 AI에게 입력하고, 노이즈값 6인 그림을 노이즈값 0인 원본으로 어떻게 바꿀 것인지 AI에게 찾으라고 명령한다. 그러면 AI는 6→5 , 5→4, 4→3, 3→2, 2→1, 1→원본 그림들을 대조하며 어떻게 노이즈 생긴 그림을 선명하게 할 것인지 엄청난 처리, 계산 속도로 학습해서 나름의 방법, 자신만의 방법을 찾는다.

 

이렇게 찾은 방법을 역노이즈 함수라고 부른다(그냥 내가 지은 함수 이름이다. 실제 함수 이름은 더 복잡하다) 시간만 있다면 AI가 찾은 방법을 통해 노이즈값 6인 그림을 원본으로 변환할 수 있게 된다. 우리는 이걸 복원이라 부른다.

 

● 오른쪽 짤로부터 고양이도 복원 가능!

시간만 더 있다면 노이즈값 10인 그림을 원본으로 복원할 수 있겠지? 더 있다면 노이즈값 500인 그림을 원본으로 복원할 수 있겠고? 이 과정을 엄청나게 긴 시간동안 반복하면? 위 사진처럼 노이즈밖에 없는 무언가로부터 고양이 그림을 복원할 수 있게 된다.

 

많은 시간과 계산, 학습을 통해 AI는 결국 노이즈로부터 어떻게 해야 그림을 복원할 수 있는지 방법을 찾게 된다. 그리고 이는 AI만 아는, 인간은 이해할 수 없는 모종의 함수다.

 

● 키워드와 사진을 매칭하기 시작

근데 여기서 문제가 하나 발생한다. 뭘 기준으로 어떤 그림을 복원할까 하는 문제 말이다. 그래서 키워드도 AI에게 같이 학습시키기로 했다.

 

'초록색 잎' '노란색 파인애플' '그림'이라는 키워드와 파인애플 노이즈값 0~무한까지의 사진을 매칭해서 AI에게 학습시킨다.

 

노이즈짤

그리고 AI에게 이렇게 명령한다. '초록색 잎' '노란색 파인애플' '그림'을 복원시켜줘! 라고 하면 노벨 AI는 자신만의 방법을 통해 노이즈값 무한대인 그림부터 노이즈값 0인 파인애플 원본까지 복원해서 우리에게 제시한다.

 

'너가 찾는 원본 이게 맞지?'

 

AI는 자신이 그림을 그렸다고 생각하지 않는다. 자신이 학습한 그림들을 기반으로 노이즈짤로부터 사용자가 원하는 그림을 복원시켰다고 생각한다.

 

사실 원본따위 없으니까 창작이 맞지만, AI는 원본이 있다고 믿는다.

● 같은 그림이라도 다양한 버젼으로 학습시킴

이런 식으로 고양이 그림 다른 버젼으로 10000장, 파인애플 그림 10000장, 빨간 머리 마법사 그림 10000장 등등 온갖 사진을 다 집어놓고 키워드와 매칭해서 학습시키면, AI는 위 노이즈짤로부터 온갖 그림을 복원할 수 있게 된다.

 

바로 위 움짤같은 방법으로 말이다.

 

● 랜덤 생성 노이즈값

이 때 AI가 사용하는 노이즈값 무한대의 노이즈 그림(=시드)는 랜덤으로 생성된다. 시드는 씨앗이란 뜻으로 주식 투자할 때 시드머니 있잖아. 그 시드랑 같은 의미다.

 

왜 복원의 시작점인 시드를 랜덤으로 할까? 그 이유는 다른 버젼의 그림을 제공하기 위해서다.

● 다양한 취향 만족을 위해

노벨AI는 철저히 상업적인 프로그램이다. 사람마다 취향이 다른데, 같은 키워드 입력해서 같은 그림이 나오면 분명 불만족하는 사용자가 나온다.

 

온갖 그림체, 다양한 결과물을 갖다가 던져주면 그 중 하나는 분명 만족하는 것이 있겠지. 다양한 결과물을 위해 첫 시작점인 시드를 랜덤으로 설정한다.

 

 

AI 그림 저작권 논쟁 생각 정리

인간은 짧게는 몇 시간, 길게는 몇 주에 걸쳐 작품 하나를 완성시킨다. 반면 AI는 마치 공장에서 양산하듯 초 단위로 그림을 그린다. 이 수많은 그림들의 저작권을 모두 인정해줄 수 있을까? 법적

jista.tistory.com

● 더 퀄리티 좋은 그림 뽑는 법

반면 우리가 직접 시드를 AI에게 줄 수 있다. 어떤 그림이나 사진을 주고 이를 기반으로 복원해달라고 하면 더 퀄리티 좋은 그림으로 복원해준다.

 

이는 마치 미용실갈 때 원하는 헤어스타일 사진을 들고가서 '이렇게 잘라주세요'하는 것과 같다. 시드를 동일하게 하고 같은 키워드를 입력하면 같은 결과물이 나온다. 키워드가 자세할수록 더 퀄리티 좋은 그림을 복원시켜준다.

 

 


-->