GAN - это тип глубокой нейронной сети, которая состоит из двух основных компонентов: генератора и дискриминатора. Задача генератора состоит в создании новых данных, которые выглядят как обучающие данные, в то время как задача дискриминатора состоит в том, чтобы отличать реальные данные от поддельных, сгенерированных генератором. Генератор и дискриминатор обучаются состязательным образом, что означает, что они конкурируют друг с другом. Генератор пытается обмануть дискриминатор, выдавая более реалистичные данные, в то время как дискриминатор пытается поймать генератор, отклоняя поддельные данные. Таким образом, обе модели со временем совершенствуются, пока не достигнут равновесия, при котором генератор начнёт выдавать данные, неотличимые от реальных, а дискриминатор не сможет отличить их друг от друга.