Рубрики

Генеративные Состязательные Сети (ГАН) | Введение

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

Чтобы сначала понять GAN, у вас должно быть мало понимания сверточных нейронных сетей . CNN обучаются классифицировать изображения относительно их меток, если изображение подается на CNN, оно анализирует пиксель за пикселем и пропускается через узлы, присутствующие в скрытых слоях CNN, и в качестве выходных данных сообщает, о чем это изображение или что он видит на изображении.

Например:
Если CNN обучен для классификации собак и кошек, и изображение подается на этот CNN, он может сказать, есть ли на этом изображении собака или кошка. Поэтому его также можно назвать алгоритмом классификации.

Чем отличаются GAN?

GAN можно разделить на две части: генератор и дискриминатор .

Дискриминатор —
Эту часть GAN можно считать схожей с тем, что делает CNN. Дискриминатор — это сверточная нейронная сеть, состоящая из множества скрытых слоев и одного выходного слоя, основное отличие здесь состоит в том, что выходной слой GAN может иметь только два выхода, в отличие от CNN, которые могут иметь выходные данные относительно количества меток, на которых он обучен.
Выходные данные дискриминатора могут быть равны 1 или 0 из-за специально выбранной функции активации для этой задачи. Если выходные данные равны 1, то предоставленные данные являются действительными, а если выходные данные равны 0, то они называются поддельными данными.

Дискриминатор обучается работе с реальными данными, поэтому он учится распознавать, как выглядят реальные данные, и какие функции следует классифицировать как реальные.

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

Как показано на изображении выше, вектор случайных значений задается в качестве входных данных для Inverse-CNN, и после прохождения через скрытые слои и функции активации изображение принимается в качестве выходных данных.

Совместная работа генератора и дискриминатора:
Как мы уже обсуждали, Discriminator обучается действительным данным, чтобы классифицировать, являются ли данные данными верными или нет, поэтому работа Discriminator состоит в том, чтобы сказать, что реально, а что фальшиво.

Теперь Генератор начинает генерировать данные из случайного ввода, а затем эти сгенерированные данные передаются в Discriminator в качестве входных данных. Теперь Discriminator анализирует данные и проверяет, насколько близко они должны быть классифицированы как реальные, если сгенерированные данные не содержат достаточно функций, чтобы Дискриминатор классифицирует их как реальные, затем эти данные и связанные с ним весовые коэффициенты отправляются обратно в Генератор с использованием обратного распространения, чтобы он мог перенастроить весовые коэффициенты, связанные с данными, и создать новые данные, которые лучше предыдущих. Эти недавно сгенерированные данные снова передаются на дискриминатор и продолжаются.
Этот процесс повторяется до тех пор, пока Дискриминатор продолжает классифицировать сгенерированные данные как фальшивые, поскольку каждый раз данные классифицируются как фальшивые и с каждым обратным распространением качество данных становится все лучше и лучше, и наступает момент, когда Генератор становится настолько точным, что становится трудно различать реальные данные и данные, сгенерированные Генератором.

Проще говоря, Дискриминатор — обученный парень, который может сказать, что реально, а что фальшиво, и Генератор пытается обмануть Дискриминатор и заставить его поверить в то, что сгенерированные данные реальны, с каждой неудачной попыткой Генератор учится и совершенствует себя, чтобы сделать данные более реальными. нравиться. Это также может быть заявлено как соревнование между Генератором и Дискриминатором.

Подробнее читайтеhttp://espressocode.top/generative-adversarial-network-gan/

Рекомендуемые посты:

Генеративные Состязательные Сети (ГАН) | Введение

0.00 (0%) 0 votes