전문가가 아니지만 대략적으로 알아본것들이 혹시 도움이 되지 않을까 해서 써봄


일단 정규화 이미지(regularization image)라는 단어는 직접적으로 논문에 나오는 단어가 아님

클래스별 사전 보존 손실(class-specific prior preservation loss)을 위해 필요한 데이터를 뜻하는데

논문에도 정규화 역할을 한다고 써있으니까 틀린표현은 아님


https://arxiv.org/pdf/2208.12242v1.pdf

https://www.arxiv-vanity.com/papers/2208.12242/

이게 원본 논문인 것 같음


전부 읽을 필요는 없고 요지는

최근 나온 텍스트-이미지 확산 모델은 놀라운 성능이지만, 주어진 것들을 모방시킬 수가 없다.

그걸 위해서 우리가 만든 기술은:

고유 식별자 뒤에 클래스 이름을 붙인 프롬프트로 미세조정(파인튜닝) 한다

(예시로 드림부스 훈련에 a shimura girl 이런식으로 값을 넣었다면 shimura는 고유 식별자, girl은 클래스)

과적합과 언어 드리프트(language drift)를 막기 위해 클래스별 사전 보존 손실(class-specific prior preservation loss) 라는걸 제안한다

언어 드리프트: 원래는 언어가 변화한다는 뜻의 언어학 용어같은데,

여기서는 클래스 자체가 고유 식별자로 오염된다는 말로 쓰임

위는 사전 보존 손실 없이 학습시킨것

아래는 사전 보존 손실 있이 학습시킨것

사전 보존 손실이 없으면 나오는 이미지들은 인풋 데이터처럼 천 재질 위에 엎드린 형태를 띄고 있음(과적합)

논문에선 사전 보존 손실이 대상 개의 재현도를 손상시키지 않고, 다양한 포즈를 보여줄 수 있다고 말함


이건 언어 드리프트를 보여주는 사진임

위는 드림부스 학습 전 모델

중간은 사전 보존 손실 없이 학습

아래는 사전 보존 손실 있이 학습

중간을 보면 고유 식별자 없이 클래스(a dog)만 입력했는데도 학습시킨 개의 이미지가 나옴




사전 보존 손실에 대한 설명 이미지인데

쉽게 말하자면  a shimura girl을 학습시킬 때

넣은 shimura 이미지들을 표현하는 함수가 shimura가 안 붙은 그냥 girl도 잘 표현할 수 있는지 검증하며 학습시킴


근데 그림체나 캐릭터 학습을 위해서 쓴 드림부스에

언어 드리프트 현상이 일어난다고 이게 큰 문제가 되는건지는 모르겠음





그리고 논문에서 권장하는 학습법은

λ=사전 보존 손실 가중치=1

200epoch(1epoch가 정확히 뭘 뜻하는지는 몰루)

러닝레이트 1e-5

클래스 샘플(정규화 이미지): 200*N

N: 학습시킬 데이터 양이고 일반적으로는 3~5개


이부분은 실제 사용되는 학습법과 많이 달라서 의아했음

일단 논문에서 보여준 개, 안경, 시계같은건 기본적인 데이터가 많아서 조금의 데이터로도 학습이 가능한 거라고 생각함

많은 수의 데이터를 넣는다면 정규화 이미지가 저렇게 많이 필요할지는 모르겠음

사실 많은 수의 이미지를 넣는것에 대해서 이게 맞나 싶기도 한데.. 


그리고 논문에서 확실히 알려주는 것 하나는 고유 식별자 선택에 관한 것임

a shimura girl을 학습시킨다 할때 shimura 부분


1. 기존에 있는 단어를 사용: 훈련 시간 증가, 성능 감소

2. 희귀한 단어를 만들기 위해 이것저것 섞어서 쓴다(논문에선 xxy5syt00 사용): 단어를 붙여도 개별적인 단어에 대해서도 인식하기 때문에 일반적인 단어와 마찬가지로 좋지 않다

3. 잘 쓰이지 않는 3글자 이하의 글자조합: 잘 작동함


그러니까 고유 식별자에 캐릭터 이름 쓰지 말고 3글자 이내의 특이한 글자조합을 쓰라는 말임

그래서 sks라는 식별자가 기본으로 설정된 코드들이 있는데


sks도 총 중에 하나를 뜻하는 단어라서 완전 좋다고는 할 수 없음

사진은 프롬프트에 sks만 넣고 nai에서 생성한 이미지임



아무런 뜻 없어보여도 그냥 3글자를 사용하면 안되는데

uxj라는 단어는 토큰 2개의 조합으로 인식됨

우측 하단의 2/75를 보면 알 수 있음


아이마스 갤에서는 hor이나 iom을 사용하는 걸 봤는데 




hor는 파라오 중 하나의 이름이면서 호루스(horus)와 비슷한 단어라 nai에서도 묘하게 이집트스러운게 나옴




iom은 국제이주기구를 뜻하긴 하지만 nai에서 감을 못 잡는거보니 괜찮을듯?



결국 정규화 이미지쪽에 대해선 제대로 결론이 없는 글이긴 한데

이건 수많은 사람들의 결과 데이터들로밖에 알 수 없을듯