1 숫자 생성 인공지능 개발 원리
생성 신경망을 사용하며 숫자 생성 인공지능을 만들어 보겠습니다. 그리고 생성 신경망 중 GAN(Generative adversarial network, ‘갠’ 또는 ‘간’이라고 읽음)이라는 기법을 사용하겠습니다. GAN의 뜻을 풀이해 보면 적대적 생성 신경망입니다. 무엇인가를 생성하는 방법인데 적대적으로 생성한다는 것입니다. 이것이 무슨 의미일까요? 다음 그림을 살펴봅시다.
그림 18-2 | 판별자와 생성자
GAN이라는 신경망은 2개의 신경망으로 구성되어 있습니다. 바로 판별자 신경망과 생성자 신경망입니다. 생성자는 아무런 의미가 없는 그림에서 진짜처럼 그럴듯한 가짜 그림을 생성할 수 있으며, 판별자는 진짜 그림과 생성자가 만든 가짜 그림을 구별할 수 있습니다.
생성자는 목표가 있습니다. 바로 판별자가 자신이 만든 가짜 그림을 진짜처럼 생각하도록 하는 것이죠. 그렇다면 판별자의 목표는 무엇일까요? 판별자의 목표는 생성자가 만든 그림을 진짜인지 가짜인지 다 구별해 내는 것입니다.
이처럼 생성자와 판별자는 서로를 이기기 위해 학습하기 시작합니다. 그러면 생성자는 판별자가 진짜와 가짜를 구별하지 못할 정도로 진짜 같은 그림을 만들어 내게 됩니다. 바로 이렇게 두 개의 신경망을 사용하여 새로운 그림을 생성해 내는 기법이 바로 적대적 생성 신경망, GAN입니다.