Художник научил нейронную сеть создавать портреты несуществующих людей
Майк Тика пишет портреты несуществующих людей. Однако пользуется он для этого не кистью, а «воображением» нейронной сети.
Майк Тика пишет портреты несуществующих людей. Однако пользуется он для этого не кистью, а «воображением» нейронной сети.
Майк провел около девяти месяцев, разрабатывая проект «Портреты воображаемых людей», последовавший за «Инцепционизмом» и «Кубиком Грувика».
GAN, генеративные состязательные сети
В своем проекте Майк использовал генеративные состязательные сети (Generative adversarial networks, GAN):
Положим, вы хотите, чтобы GAN изобразила кошку. Для начала вам потребуется большое количество фотографий кошек. После вы должны подготовить модель для создания изображения кошки, которая учитывала бы все особенности животного: усы, лапы, хвост. Лишь только в качестве базового набора данных для машинного обучения Майк использовал около 20 000 изображений в высоком качестве с портала Flickr.
Но это только первый шаг. Чтобы получить реалистичное изображение кошки, а не цифровой набросок, вам необходимо создать вторую нейронную сеть, известную как дискриминатор. В то время как первая нейронная сеть (генератор) будет создавать картинки кошек, вторая (дискриминатор) будет сверять работу первой с реальными изображениями кошек и выяснять, достоверны ли они. Основываясь на результатах, система настраивает параметры генератора, чтобы сделать выходное изображение более реалистичным.
Если вы используете только одну сеть, то размер выходного изображения будет колебаться в диапазоне от 128×128 до 256×256 пикселей. Чтобы увеличить размер изображений, нужно собрать несколько отдельно подготовленных GAN таким образом, чтобы последующий уровень был дискриминатором предыдущего. Данный этап сможет поднять качество изображения, и размер будет варьироваться между 768×768 и 1024×1024 пикселями.
В конечном итоге Майк хочет сгенерировать 4K-фотографии, однако в настоящее время ему сложно подобрать массив данных для обучения системы: