목표
sketch-RNN 모델에 사용된 데이터 형태와 모델의 구조에 대해서 알아보려고 한다.
1. DATA
구글에서 만든 Quick draw라는 게임을 통해서 데이터가 수집이 된다. (https://quickdraw.withgoogle.com/)
Quick draw는 주어진 제시어를 20초 이내로 사용자가 그림을 그리면 인공지능이 맞추는 게임이다.
수집되는 데이터에는 펜의 움직이는 방향(x축, y축의 이동거리), 펜의 상태(up, down, drag)가 시퀀스 벡터로 입력된다.
이렇게 수집된 데이터셋은 총 345개의 라벨을 가진 50,000,000개이다.
2. "A Neural Representation of Skerch Drawings" 연구의 목표
사람이 그리는 것과 비슷하게 추상적인 개념을 일반화하여 그릴수 있도록 학습시키는 것을 목표로 한다.
이미 생성모델링은 많이 존재하지만, 해당 연구에서는 raster image 방식의 모델링에 초점을 맞추지 않고 일관된 구조의 이미지를 생성하는 것을 목표로 하였다.
* raster image : 작은 컬러(RGB) 사각형의 픽셀이 무수히 모여서 구성된 이미지 파일을 말한다. (ex, .jpg , .png , ...)
해당 논문에서는 seq2seq 기반인 Sketch rnn 모델을 사용하였다.
* seq2seq : 입력값을 통해 출력값을 잘 예측하는 것.
* autoencoder : 입력값을 압축(encode)하고 다시 복원(decode)를 해서 입력값과 동일하게 출력해주는 것. 입력값의 노이즈를 줄여 좀 더 나은 출력값을 만들어낸다.
3. Sketch Rnn 모델 구조
1. Sequence 형태의 입력값을 float형태의 vector로 변형을 해준다. ( = Latent Vector)
2. Latent Vector를 다시 복원함으로써 입력값으로 학습한 것과 비슷한 결과를 나타내준다.
Decoder는 latent vector를 기반으로해서, 데이터의 순서를 가지고, 새로운 스케치를 만들어낸다.
해당 논문에서는 입력값에 노이즈를 추가해서 테스트를 해보기도 하였다. 노이즈를 추가했더니, 입력값과 동일한 결과를 출력하지 못하였고, 비슷한 형태로 재생성한 것을 볼 수 있었다.
4. 연구1 - 노이즈 추가
노이즈를 추가해서 확인해본 결과, 재구성된 고양이 스케치들은 입력값과 동일하게 복사된 출력값이 아닌, "입력값과 비슷한 특징을 가진 새로운 스케치"인 것을 볼 수 있었다.
해당 모델은 학습된 많은 양의 스케치로부터 단순히 가장 가까운 정상적인 모양의 형태를 선택하는 것이 아니다는 것을 강조한다.
5. 연구2- 보간
모델도 인간과 마찬가지로, 동물의 머리, 발, 꼬리를 몸에 부착하여 동물을 만드는 법을 배우게 된다.
이런 방법을 통해 서로 다른 대상의 스케치를 보간할 수 있을까? -> 훈련된 모델에서는 가능하다!
고양이 머리에 돼지 몸통을 추가한 것과 돼지 얼굴에서 고양이 몸통을 뺀 예제를 볼 수 있다.
6. 활용
연구2에서 본 보간 방식을 통해, 우리들은 사용자를 대상으로 추상적인 디자인을 만들어낼 수 있지 않을까?라는 생각을 할 수 있다.
우리는 latent space안에 있는 서로 다른 그림에서 교차점과 관계를 찾을 수 있을 것이다. 그 관계 사이의 벡터들을 샘플로 뽑아서 복원을 해보면 아래의 그림과 같이 두개의 그림이 보간된 이미지를 확인해볼 수 있다.
* latent space : 고차원의 입력값을 가지고 있을때, 차원 축소와 같은 방식을 통해서 하나의 공간에 특징들을 모아두는 공간을 의미한다.
또한 sketch rnn decoder 모듈은 불완전한 스케치에서 완전한 스케치로 예측할 수 있도록 훈련할 수 있다.
7. TODO : kullback-leibler loss 정리하기
'Review a paper' 카테고리의 다른 글
[LLaVA] LLaVA : Large Language and Vision Assistant (0) | 2025.02.23 |
---|---|
[Transformer] Attention is all need(2) Architecture (0) | 2023.02.14 |
[Transformer] Attention is all need(1) Seq2Seq 한계점 (0) | 2023.02.12 |