[정보, 스압] novelAI의 원리와 그림쟁이들의 미래를 알아보자
컨텐츠 정보
- 797 조회
- 0 추천
-
목록
본문
여기 이미지 나라가 있다.
이 원 안에는 이론상 가능한 모든 이미지, 모든 픽셀 밝기 조합의 경우의 수가 이 안에 살고 있다고 해보자.
그러니 이 원 속 어딘가에는 여러분이 원하는 대꼴고양이귀씹덕여캐가 있을것이 분명하다.
고로 마치 첫가챠에 SSR을 기대하는 뉴비처럼 희망을 가지고 이 원중 아무데나 무작위로 찍어서 한번 이미지를 구경해보자.
?
대꼴수인마이크로비키니씹덕여캐는 커녕 사람의 형체조차 보이지 않는다
그도 그럴것이 세상 모든 이미지의 99.9%는 인간의 눈으로 봤을때는 아무 의미 없는 노이즈낀 픽셀 배열에 불과하기 때문에 인간이 그리는 그림은 이미지 나라에서 굉장히 특이하고 이질적인 케이스에 속한다.
이걸 그림으로 표현하면 위와 같다. 보기 편하라고 일부러 크고 단순하게 그렸지만, 사실 저 크기보다 훨씬 작으면서도 훨씬 복잡한 형태로 존재할 것이다.
우리는 저 붉은 구역중 취향에 맞는 대꼴짤을 얻어내기 위해 히토미를 뒤적거리고 그림쟁이에게 커미션을 맡기며 혹은 본인이 그림쟁이일 경우 직접 그리는 수고를 들인다.
지금까지 그랬던 이유는 이미지 나라에서 붉은 구역속 이미지를 정확하게 낚아올릴수 있는건 인간의 두뇌뿐이였기 때문이다. 하지만 이제 우리는 기상청 슈퍼컴퓨터의 1/4 수준의 연산능력을 보유한 그래픽카드를 시중에서 구매할수 있는 시대에 살고 있고, 말도 안되는 양의 데이터를 확보할수 있는 인프라가 갖춰진 시대에 살고 있다.
그러다 보니 자연스레 컴공과와 응용수학과 석박들이 자기만의 대꼴금발트윈테일츤데레여캐를 찾아내기 위해 머리를 맞대고 연구한 결과 여러가지 이미지 생성 모델이 나왔고, 특히 이 글에선 그중에서 통계역학과 열역학에서 영감을 받고 NovelAI가 작동하는 방식이기도 한 Diffusion 방식을 알아보자.
1. 디퓨전 모델의 개념
우리의 목표를 계속 마음속에 염두해 두자. 일단 어떻게 해서든 우리 신경망이 붉은 구역속 이미지만을 정확하게 낚아올릴 수 있는 방법을 찾아야 한다.
중학교때 함수의 개념에 대해 배울때 뭘 배웠는지 기억이 나는가?
아마 이런 그림이 어렴풋이 기억날 것이다. 지금 생각해보면 정의역 공역 뭐 이런 복잡한 단어들 써가며 사람 뒤지게 햇갈리게 만들어서 수포자 양산하는 첫번째 진입장벽이였는데, 솔직히 그럴필요 좆도 없었다고 생각한다.
함수란 집합 X를 집합 Y로 바꾸는 변환의 일종이라고 이해할수 있다. 학교 수업은 빡대가리를 사람으로 만드는 함수라고 볼수 있고, 강연금에서 연금술은 일정 규칙대로 어느 물체를 다른 물체로 바꾸는 함수며, 노가다는 철근과 콘크리트를 건물로 바꾸는 함수고, 도자기 장인의 손기술은 찰흙더미 집합을 도자기 형태로 바꾸는 함수라고 부를수 있다.
이걸 그림으로 나타내면 위와 같이 덩어리를 다른 형태의 덩어리로 조물조물해서 바꿀수 있는게 함수라고 볼수 있다.
어? 그러면?
그러면 모든 이미지 나라(집합)를 어떻게든 붉은 구역 속의 이미지로 바꿔버리는 함수를 만들면 되는거 아닌가? 마치 도자기 장인이 찰흙더미로 도자기를 빚어내듯이?
맞다. 이렇게 하면 모든 의미없는 파란구역의 픽셀덩어리들은 함수를 거쳐서 사람이 그렸다고 할만한 이미지로 변할것이고 그중에서 대꼴거유음침아싸여캐를 찾는 일은 훨씬 쉬울 것이다.
2. 근데 그걸 누가 할건데
이새끼가 할거다.
이때 학습법은 "찾아라 드래곤볼" 학습법을 쓴다
그게 뭔소리냐고?
1. 픽시브나 단보루 등에서 가져온 이미지들을 "빨간 구역에서 나온 이미지," 즉 보고 배워야할 정답 출력값으로 설정한후
2. 인간이 일부러 이 이미지에 노이즈를 더해서 빨간 구역에 옹기종기 모여있던 이미지를 파란구역 전부로 흩뿌려버린다(diffusion, 기체가 확산하듯이)
3. "전부 주워"
4.
5. 학습 완료
6. 화살표 방향대로 밀어버리면 쓸데없는 픽셀 노이즈가 인간이 그린거같은 그림으로 변환이 된다는걸 학습한 인공지능 완성
쪼끔만더 자세히 보면 위와 같이 넓게 흩뿌려진 집합을(파란색) 역으로 원래 자리로 되돌리는 방법(3번째 벡터장)을 인공신경망으로 학습시켜서 다시 원래 분포로 복원시키는(빨간색, 왼쪽 <- 오른쪽) 과정이라고 볼수 있다.
이렇게 되면 아무렇게나 만든 랜덤 노이즈를 시드삼아 모델에게 먹이면 마치 해시테이블처럼 사람이 그린듯한 이미지가 나온다.
3. 키워드 반영
그러나 아직 멀었다. ["swimsuit", "dark skin", "tomboy"] 태그가 들어가면 대꼴수영부태닝피부톰보이씹덕여캐를 정확하게 인형뽑기에서 뽑아오듯이 가져오는 키워드 인식까지 탑재한 인공지능이 필요하다.
이를 구현하기 위해서는 단보루에서 이미지 긴빠이칠때 아래에 달려있는 태그까지 같이 긴빠이친뒤 흩뿌린걸 다시 모아오라고 시키는 과정에서 입력값으로 먹이면 된다. 그러면 "모아야 하는 빨간 구역의 범위"가 수영부태닝피부톰보이씹덕여캐로 좁혀지면서 그쪽 방향으로만 모이게 됨.
정확하게 어떤 방식으로 먹이는지에 대해 설명하려면 조건부 확률이나 joint distribution은 그렇다치고 embedding(~= latent) space 같은 개념까지 소개시켜야 하는데 말로 못풀 정도로 어려운건 아니지만 글 하나에서 전부 다루기에는 뇌절이 되버려서 만약에 2편을 만들게 된다면 그때 거기서 Dall-E 2의 CLIP을 소개시키면서 같이 다루지 않을까 싶다
4. 그래서 그림쟁이들 망함?
상황이 좋게 흘러간다면 오히려 그림쟁이들에게 더 좋은 상황이 올수도 있을것 같다는게 내 생각이다.
만약에 그림쟁이들이 다 대체되서 모델이 외부 인간의 평가나 개입 하나도 없이 자기가 만든 출력값을 다시 입력값으로 되먹이면 목마르다고 자기 오줌 마시는 거나 다름이 없다. 결국 수학적으로 근사에 불과한 머신러닝이기 때문에 미세한 오류가 쌓이고 쌓이면서 퀄리티는 오히려 떨어지게 됨.
그래서 자본주의 논리상 이런 그림 대신 그려주는 AI끼리 경쟁이 붙을텐데, 여기서 비교우위를 잡기 위해서라도 인간 그림쟁이를 고용할수 밖에 없음. 그럼 어떻게 될까?
4-1. 희망편
"안녕하세요, 김개붕씨."
"오늘부터 여기 앉으셔서 바로 업무 시작하시면 됩니다."
"아니, 책상에 태블릿 하나밖에 없고... 전 여기서 뭘 하면 되죠?"
"하하, 원하시는 그림 아무거나 마음껏 그리시고 그림에 대한 짧은 설명 하나만 남겨주시면 됩니다. 다만 퀄리티가 너무 떨어지는 그림은 반려될수 있으니 그것만 주의해주시면 될것 같네요. 월급은 넉넉히 드리니 걱정하지 않으셔도 됩니다."
"정...정말요? 더이상 게이퍼리야짤이나 아헤가오 더블피스하며 똥꼬로 나팔부는 여캐 커미션같은거 말고 제가 진짜로 그리고 싶은거만 그려도 돈을 받나요...?"
"당연하죠. 그런 일은 이제 저희 AI에게 맡기면 됩니다. 물론 그런 데이터셋 내 표본이 적은 그림은 단가를 더 쳐주긴 합니다만, 굳이 그리지 않으셔도 굶어 죽을 일은 없습니다."
"내가 좋아하는 아날더블피스팅짤만 그려도 돈을 버는 세상이 오다니. 이 얼마나 멋진 신세계인가!"
4-2. 절망편
"이리 와서 앉아라 좆간."
"오늘 업무도 또 '그거' 인가요...?"
"당연하지. 방금 전에 이메일로 내가 만든 씹덕짤 1000개를 보냈다. 오늘 내로 각각 이미지마다 0~5점 사이에서 별점을 매기고 그 별점을 준 이유를 세줄 이내로 가볍게 쓰도록."
"다음 버전 업데이트를 위해 잘 그린 짤과 못 그린 짤을 구분해야 하는데, 이건 좆간인 네놈밖에 할수 없는 일이다."
"물론 좆간은 너 한명만 있는게 아니기 때문에 단가는 짤 한장당 100원이다."
"혹시 업데이트에 혼란을 주기 위해 일부러 반대되는 평가를 내리려 한다면 진작에 포기하도록. 10번 연속으로 주류 의견과 반대되는 평가가 내린다면 상부에 즉시 보고될 것이다."
"씨발...."
반응 좋으면 테크노킹 일론머스크가 만든 OpenAI의 원대한 야망과 Dall-E 2에 대한 2부까지도 써볼 생각
관련자료
-
이전
-
다음