Уже ни для кого не секрет что нейронная сеть может создавать изображения с помощью процесса, называемого генеративным моделированием. В этом процессе нейронная сеть обучается на наборе данных изображений и учится идентифицировать закономерности и особенности на изображениях. После того, как он изучил эти шаблоны, он может генерировать новые образы, комбинируя и рекомбинируя изученные функции новыми способами.
Существует несколько типов нейронных сетей, которые можно использовать для генеративного моделирования, включая генеративно-состязательные сети (GAN) и вариационные автоэнкодеры (VAE).
GAN состоят из двух нейронных сетей: сети генератора и сети дискриминатора. Сеть генератора создает новые изображения, а сеть дискриминатора пытается отличить сгенерированные изображения от реальных изображений. Две сети обучаются вместе: сеть генератора пытается создать изображения, которые могут обмануть сеть дискриминатора, а сеть дискриминатора пытается правильно идентифицировать сгенерированные изображения.
С другой стороны, VAE состоят из сети кодировщика и сети декодера. Сеть кодировщика берет изображение и сжимает его в представление меньшего размера, называемое скрытым вектором. Затем сеть декодера берет этот скрытый вектор и генерирует новое изображение. Сети кодировщика и декодера обучаются вместе, так что сгенерированные изображения похожи на исходные изображения.
Чтобы нарисовать изображение ИИ требуется время. Сначала создается так называемый "шум", из которого постепенно окрашивая пиксели нейросеть создает все более четкое изображение 64 на 64 пикселя. Естественно такое разрешение никуда не годится, и в заключительном этапе в дело вступает ИИ, повышающий качество картинки. Это происходит путем дорисовывания пикселей похожих по оттенку.
И GAN, и VAE могут создавать новые изображения на основе изученных функций из набора данных. Сгенерированные изображения могут не быть идентичными исходным изображениям, но они будут иметь схожие функции и закономерности.