3 스케치 RNN으로 순환 신경망 체험하기
연속된 데이터의 관계를 파악할 수 있는 순환 신경망을 체험해 보겠습니다.
지금부터 소개할 도구는 스케치 RNN(Sketch RNN)입니다. 스케치 RNN은 이름에서도 볼 수 있듯이 순환 신경망을 사용합니다. 스케치 RNN에서 사용하는 데이터는 3장에서 살펴본 퀵 드로우(Quick Draw)의 데이터셋입니다.
앞에서 살펴봤듯이 퀵 드로우는 여러분이 그린 그림이 무엇인지 인공지능이 맞히는 게임입니다. 퀵 드로우 데이터셋은 퀵 드로우를 체험하는 수많은 사람들이 그린 그림 데이터로 구성되어 있으며, 어떠한 순서로 그림을 그렸는지에 대한 데이터가 포함되어 있습니다. 예를 들어 고양이를 그린다면 사람들은 대부분 얼굴을 그리고 귀를 그린 후, 눈, 코, 입, 수염을 그리는 등, 모두 같지는 않겠지만 일련의 순서에 따라서 그림을 그릴 것입니다.
이러한 순서 또한 연속된 데이터입니다. 스케치 RNN은 이러한 순서 데이터를 학습하였습니다. 사람들이 그린 순서대로 그림들을 학습하였기 때문에 그림을 그리는 과정을 예측할 수 있습니다.
그래서 고양이를 그릴 때 누군가 얼굴을 그리면 자동으로 귀를 그려 줍니다. 또한 귀를 그리면 자동으로 눈을 그려 줍니다. 물론 이러한 순서만으로 하지 않기 때문에 귀를 그리면, 얼굴을 그리고, 눈과 코, 입을 그려 줍니다. 그림 8-7은 얼굴 형태인 동그라미만 그렸을 때 귀, 눈, 코를 자동으로 그려 준 모습입니다.
그림 8-7 | 동그라미만 그리면 귀, 눈, 코가 자동으로 그려짐