Генеративно-состязательные сети (GAN) — это модель неконтролируемого машинного обучения, первоначально придуманная Яном Гудфеллоу, известным исследователем в области машинного обучения. Сама идея очень интересна, здесь две нейронные сети выступают в качестве противников и поэтому вынуждены работать друг против друга, следовательно, враждебные сети.

Хорошим примером, иллюстрирующим это, является то, что одна нейронная сеть похожа на фальсификатора, а другая — на следователя, мотив фальсификатора, скажем, состоит в том, чтобы сделать поддельную картину, чтобы обойти следователя, а мотив следователя — выяснить, является ли картина подделка или нет. Имея много раундов этого взаимодействия фальсификатора, пытающегося обмануть следователя, и следователя, пытающегося поймать фальсификатора, и фальсификатор, и следователь лучше справляются со своими задачами. В конце концов, если мы избавимся от следователя, то останется нейронная сеть, которая великолепно генерирует картины.

Сеть фальсификатора называется генератором, а исследователь — дискриминатором. Дискриминатор изначально обучается как классификатор с использованием набора данных. Затем на генератор подается случайный шум для генерации «чего-то», что явно отбрасывается дискриминатором. Это делается снова и снова, пока они оба не станут лучше и лучше и не начнут соревноваться друг с другом. Теоретически достигается точка, когда генератор выдает изображения, неотличимые от реальных, а дискриминатор выдает 0,5.

Некоторые интересные проекты GAN, на которые стоит обратить внимание:

Создание изображений кошек

Создание изображений аниме-девушек

Подробнее на:



Поскольку это было чрезвычайно упрощенное объяснение, вот еще несколько источников, на которые можно сослаться: