마술로서 이해하는 그림 그리는 AI 강좌
하면 할수록 주술화되는, AI 이미지 연성에 대하여.
이하는 그 분야의 전문가들에게 엄청나게 혼날지도 모르는, 조잡한 로직과 제어 강좌이다.
일단메이저 서비스에서 공통으로 작동하는 노하우(DALL-E2, MidJourney, StableDiffusion, DiscoDiffusion, crayon, dall-e mini 등).

대충 이해하는 이미지 AI의 구조
대화형 AI에게주문이란 이미지 연성의방향성를 정하는 것에 불과하다.
예를 들어, 이하는 「I love apple」로 연성된 이미지의 예이다. 어쩐지 뭉뚱그려진 것이 나온다.

「Apple」이라는 방향성는, 「사과」, 「풋사과」와 「애플 컴퓨터(구 레인보우 로고)」, 「애플 컴퓨터(신 로고)」 등 여러 가능성을 동시에 가지고 있기 때문이다.
즉, 「Apple」이란 AI에게는 매우 모호한 방향성인 것이다.
사진인지 일러스트인지도 모른다. 덤으로 「하트」도 합체되어 나오고 있다. 이런 짧은 영창은 많은 경우 제어 불능이 된다.
AI는 모호한 명령에는 동시에 성립할 법한 그림을 연성해 버린다(참고, 얼굴이 분열되는 것은 또 다른 현상입니다)。
뛰어난 AI 사역에는 영창을 통해 방향성를 묶는 설계가 필요하다.
이하는「과일 사과」라고 제약을 건 영창이다. 개선되었지만, 아직 빨간 사과와 풋사과가 동시에 존재하고 있다.

이처럼 사과를 하나 내놓는 데에도 그에 걸맞은 방향성 영창이 필요하다.
사실 더 안정적인 영창을 위해서는 발상을 바꿀 필요가 있다.
「이커머스 사이트용의, 화질이 좋은, 심플한 배경에 있는, 단독의 빨간 사과」
라고 하면, 한 번에 사과가 연성된다.

「이커머스용 상품 사진」은 배경이나 레이아웃의 재현성이 높다. 이 점을 깨달으면 좋은주문을 다듬을 수 있다.
하지만 AI의 벡터는 수천 차원에 이른다. 무작정 단어를 나열해도 여러 단어가 서로의 벡터를 상쇄해 버린다.
따라서 AI를 잘 부리려면 두 가지 이해, 즉 '벡터의 방향을 강하게 적절히 하는힘 있는 말의 어휘력'과 '재현성을 가진 주문의 구성'이 필요해진다.
알아두면 좋은 지식
색채가 '빨강과 파랑과 초록이 섞인 듯한 상태'일 때는 벡터가 너무 모호한 상태라고 생각된다. 그것은 MidJourney의 화풍이 아니다. 더 벡터의 한정이 필요한 상태다.
힘 있는 말을 찾아라
힘 있는 말이란명쾌한 방향성을 가진 말이다. '모호함이 없는 순수한 단어'라고 해도 좋다.
이는 AI의 학습 구조에 기인한다. AI는 인터넷에 있는 이미지와 그 해설문을 쌍으로 학습한다. 무수한 쌍의 학습을 통해가능성 공간라고도 할 수 있는 벡터 공간을 형성한다.
그 구조상 '학습 과정에서 내용이 흔들리지 않고 반복해서 나오는 이미지와 문자의 쌍'에는 강한 힘이 생긴다.
주문 영창의 마지막 절에 "Unreal Engine"이나 "Playstation5"라는 룬을 넣으면 화질이 향상되기 쉽다. 이는 AI가 기사와 이미지의 쌍으로부터 '{언리얼 엔진(게임 제작 툴 이름)은 화질이 대단하다'와 같은 내용을 학습했기 때문일 것이다.
마찬가지로 첫 번째 절에 "beautiful concept art of"를 부여하는 것도 강력하다. 이것도 '{평균적인 콘셉트 아트라고 불리는 이미지는 그림 실력이 뛰어나다'기 때문이다.
아래에 비교도를 나타낸다.



개인적으로 추천하는 강력한 룬은 카메라 설정이다.
영창의 마지막 절에 'Canon EOS 5D Mark 4와 SIGMA Art Lens 35mm F1.4 DG HSM 렌즈로 촬영, F값 2.4, ISO 200, 셔터 스피드 2000' 등을 추가하면 품질이 크게 높아진다。
화질뿐만 아니라 구도나 라이팅, 보케 등을 포함해 전체적으로 컨트롤할 수 있다.

이는 '그런 표기가 붙어 있는 이미지는 프로의 사진이나 제조사 공식 샘플 사진, 하이 아마추어가 찍은 사진 사이트의 작품'이라고 AI가 학습했기 때문이다. 앞 보케나 뒤 보케를 의도적으로 내고 싶을 때 강력한 룬으로 기능한다.

우선 초심자는 놀면서 강력한 룬의 레퍼토리를 찾아가는 것이 좋을 것이다.
힘 있는 구문을 찾아라
영창 시 단어 선정의 순서도 중요하다.
다음은 '로봇이 있는 풍경'과 '풍경 속에 있는 로봇'에서의 표시 차이이다.


언뜻 보기에는 똑같아 보이는 명령이라도 로봇의 취급이 크게 달라지는 것을 알 수 있다. 이처럼 '무엇을 어떤 순서로 말할 것인가?는 이미지 연성의 품질을 크게 좌우한다.
원칙적으로는 대체로 '앞에 있는 문장일수록 강하고, 뒤에 있는 단어일수록 약하다', '마지막 문장은 어느 정도 강하다', '전치사나 관계대명사 앞의 단어가 더 강하게 나타나고 뒤의 단어는 더 약해진다'와 같은 특징을 은연중에 가진다.
기본적으로는 '미술관이나 사진 사이트, 화집의 캡션에 가까운 문체'로 주문을 만드는 것이 좋다.
AI 연성을 예전부터 해온 상급 마술사들 사이에서는 다음과 같은 구성이 정석으로 자리 잡은 듯하다.
<전체 포맷><주제><주제의 보충><작가><전체의 보충><플레이버>
<전체 포맷>Detailing oil painting of
<주제>The great white castle on deep forest landscape
<영령>by CASPAR DAVID FRIEDRICH and CLAUDE LORRAIN,
<전체의 보충> perfect lighting, golden hour,
<플레이버> taken with Canon 5D Mk4

오래된 위대한 자들을 불러라
AI 마술의 영창에는 제2음절~제3음절에 오래된 위대한 자들의 존함을 넣으면 정밀도가 안정된다. 다빈치라든가 렘브란트와 같은 톱 영령이나, 카라바조와 같이 아직 잊히지 않은 오래된 자들의 이름이다.
기본적으로 풍경화를 그릴 때는 풍경 화가의 존함을, 인물화를 그릴 때는 인물 화가의 존함을 영창에 섞으면 정밀도가 높아진다.

단, 여기서 소환되는 것은 다빈치 본인이 아니라, "다빈치적인 것을 체현한 무언가"라고 생각하는 편이 좋다.
AI가 학습한 것은 '다빈치라는 단어와 연결된 이미지군'에 불과하다. 거기에는 다빈치의 제자나 다빈치의 영향을 받은 작품, 다빈치의 본가, 다빈치와 비교된 작품의 성분도 섞여 있기 때문이다.
「달리 작의 초상화」라고 영창하면 달리 본인이 나타난다!

이는 "Salvador Dalí"의 벡터 공간에 달리 본인의 신나는 퍼포먼스 사진이나 자화상이 많이 포함되어 있기 때문이다. 이처럼 우리는 단순히 AI와 대화하는 것이 아니다. 언어를 통해 간접적으로 AI에게 벡터 파라미터를 전달하고 있다는 의식이 중요하다.
참고로 영령이나 정령에게는 지역·지명도 보정이 걸린다. 일본의 영령의 이름을 외워도 서양의 마술 기반 하에서는 제어하기 어렵다.지명도 보정상으로는 Hokusai급의 대영령이 아니면 좀처럼 안정되지 않는다.
같은 「landscape painting of forests」라는 영창이라도 작가만 바꿔도 이만큼 달라진다.


개인적으로는 여러 영령을 합사하는 것을 추천한다. 이른바 복합 영령이다. 같은 속성을 가진 영령을 믹스하면 표현이 안정된다. 반대로 다른 속성을 가진 영령을 믹스하면 불안정해지지만 표현이 블렌딩된다.
아래 그림은 위 그림에서 예로 든 보쉬의 그림에 다른 작가를 복합한 것이다. 보쉬 특유의 뭉툭한 오브젝트 느낌을 유지하면서도 완전히 다른 화풍이 된 것을 알 수 있다.

현대 아티스트의 이름을 단독으로 사용하는 것은 가급적 피하는 편이 좋다고 생각한다. 기본적으로 화가의 이름을 넣을 때는 여러 명을 넣거나, 사후 70년이 지난 사람의 이름을 메인으로 하여 특정 개인의 화풍에 너무 의존하는 프롬프트를 만들지 않는 것이 좋다.
법률적이라기보다는 감정이나 도의적인 문제에 휘말릴지도 모른다. (저작권법은 원칙적으로 개별 작품 그 자체에 부여되며, 스타일이나 아이디어, 콘셉트는 단독으로는 저작권법의 보호 대상이 되지 않기 때문이다).
리스크 회피를 우선하는 사람은 「르네상스」나 「로코코」처럼 시대나 무브먼트를 통째로 소환하는 것이 좋다.
이런 부분은 아마 가까운 미래에 매너가 될 것 같은 느낌이 든다.
실존하는 배우나 정치인, 유명인의 이름은 절대로 넣지 마라!
인간 이미지의 안정화 노하우로 '실존하는 유명인의 이름을 넣는다'는 것이 있다.하지만 절대, 절대로 하지 않는 편이 좋다.
이것은 금주라고 생각하는 편이 낫다.
즉사급의 무서운 사례를 디스코드 타임라인에서 목격한 적이 있다.
누군가가 '할리우드 여배우'와 '붙잡힌 공주 기사의 사진' 같은 문구를 합성해 이미지를 만들려고 했다. 아마 본인은 악의 없이 '붙잡힌 공주 기사 같은 무언가'의 작품 퀄리티를 높이고 싶었을 것이다. 그렇기에 무심코 '할리우드 여배우'의 이름을 넣었을 것이라 생각한다.
그런데 AI는 갑자기 '포토리얼한 가슴 노출 공주 기사 같은 무언가, 게다가 얼굴은 할리우드 여배우'를 출력한 것이다!!
사고이기는 하겠지만, 상당히 위험한 이미지다.
그 이미지는 실수로 만든 누군가가 지웠거나, 신고를 받은 운영진이 삭제하여 별일 없이 넘어갔다. 아마 악의 없는 불행한 사고였을 것이라 생각한다.
하지만 만약 이 이미지가 세상에 나왔다면… 그것은 훌륭한 딥페이크 포르노가 되어버린다. 확산되었다면 배상액이 엄청난 대참사가 되었을 것이다.
유명인을 소체로 한 인체 연성에는 그런 일격 즉사 리스크가 있다.지금의 AI 동작 방식으로는 본인이 의도하지 않아도 실존 인물의 부적절한(NOT SAFE) 이미지가 갑자기 연성될 수 있다.유명인의 이름이 포함된 프롬프트 문구는 가볍게 만들지 않는 것이 좋다고 생각한다.

어쨌든 '실존하는 인간의 얼굴이 형성될 수 있는 실명이 들어간 프롬프트'는 절대 만들지 않는 것이 좋다. 앞으로 그런 사고나 사건이 다발할 것이기에, 미리 강력하게 주의를 환기해 두는 바이다.
AI의 근원을 이해하자
이하, 조금 더 깊이 들어간 기술적인 이야기.
이 MidJourney나 DALL-E, Stable Diffusion 같은 이미지 생성 기법은 Clip Guided라는 기술을 기반으로 한다. 이 구조를 이해하고 있으면 문장의 벡터를 이미지화하기 쉽다.
Clip은 이미지와 문자를 '상호 비교 가능한 벡터'로 변환하는 AI다. 조금 더 쉽게 말하자면 '이 이미지와 문자의 쌍이 얼마나 일치하는가?'를 점수로 측정하는 AI라고도 할 수 있다.
현재의 이미지 생성은 이 Clip을 사용하여 '문자'와 '그림'의 거리가 가까워지도록 이미지를 생성한다.
AI는 '쌍을 이루는 이미지와 문자'를 수억 개 학습하여 만들어졌다. 즉, '인터넷의 이미지와 그에 붙은 캡션'으로 학습된 것이다.
이 때문에 Clip형 이미지 생성은 '사용자로부터 캡션을 받아, 그 캡션과 쌍을 이룰 법한 이미지'를 생성하려고 한다. 이 기본 규칙을 이해하면 이미지 연성의 정밀도가 크게 올라간다.
원하는 이미지를 얻으려면 '내가 원하는 이미지가 미술관 사이트나 쇼핑몰, 사진 사이트에 있을 때, 어떤 캡션이 붙어 있을까?'를 상상하고 그에 맞는 문장을 생각하면 되기 때문이다.
앞서 언급한 '기본 구문' 등은 바로 그와 비슷한 구조로 이루어져 있다.
<전체 포맷><주제><주제 보충><저자><전체 보충><플레이버>
유화 '해바라기가 있는 풍경'(고흐 작). 새빨간 태양과 정열적인 색감, 강렬한 붓터치. ... 와 같은 작성 방식은 미술관이나 미술 경매 카탈로그의 기재 방식과 매우 흡사하다.
더 익숙해지면 더욱 특수한 기법(벡터의 가중치를 직접 주입하는 방식)도 있지만, 그것은 상급 마술이므로 다음 기회에 다루겠다.
벡터 직접 주입 기법의 예
oil painting::1 landscape with sunflower::1 by Vincent van Gogh::0.25 water color ::-0.25
그 외에도 노이즈나 원화를 사용한 유도, 인페인팅(수정 보완), 확대, 축소, 복합 AI, 포토샵이나 Blender 소재로의 전용 등 소재는 다양하지만... 너무 길어지므로 생략한다.
그럼 여러분, 용법과 용량을 지켜 즐거운 마술 라이프를!

덤으로, 신비는 은닉하라...?
오컬티즘은 은비학이라고 쓰지만, 마술이란 즉 '프로세스를 은폐하고 결과물만 공개하는' 기술 체계라고 생각하면 된다. 즉 마술적 사고에서는 이런 노하우를 독점해야만 가치나 권력성이 생긴다.
「신비는 은닉되어야 한다」라는 말이다.
하지만 시대는 21세기. 인터넷 시대에 정보의 확산은 불가역적이고 고속화되었다. 은닉한 신비 따위, 며칠 뒤면 누군가가 인터넷에 무료로 뿌려버린다. 이제 정보를 독점하는 것은 현실적이지 않다.
그렇다면 정기적으로 정보를 공개해 나가며, 지식을 결집함으로써 마술의 심오한 근원에 도달해야 하지 않을까...라고 생각한다.
프롬프트에 관해서는 아래에 DALL-E Prompt Book이라는 커닝 페이퍼가 있다. 이것을 읽으면 필요한 기초 단어는 금방 알 수 있을 것이다.
단, 개별 AI의 버릇이나 주문을 암기하는 것은 별 의미가 없다. 커닝 페이퍼를 보면 되기 때문이다.
진정으로 기억해야 할 노하우는, 「새로운 블랙박스 기술을 마주했을 때, 어떻게 단시간에 행동의 가설을 세우고 잠정적으로 제어하에 둘 것인가?」라고 생각한다. 이 테크닉의 재현성이야말로 중요하다고 생각한다.
메카 스케치라든가
AIに描かせた、「新しい時代の到来を祝福するメチャクチャ太った猫の神聖で素晴らしい油絵」#dalle2 pic.twitter.com/oybOQFxM3k
— 深津 貴之 / THE GUILD / note.com (@fladdict) July 3, 2022
기술적으로 이해하거나 코드를 만져보고 싶은 사람
제대로 구조부터 공부한 사람은 아래 내용을 일독해 보자.
근본적인 코드를 읽고 싶은 사람은 Latente Diffusion Model이나 Glide X3를 찾아보자.
이 글을 3일 정도 퇴고하면서, 타입문 세계관과 어떻게든 정합성을 맞추려고 노력하는 사이에, @shi3z 님에게 먼저 글을 올리고 말았다. 정말 분하다.
いいなと思ったら応援しよう!
いただいたサポートは、コロナでオフィスいけてないので、コロナあけにnoteチームにピザおごったり、サービス設計の参考書籍代にします。