Эта серия предназначена для читателей, которые уже слышали обсуждаемые здесь идеи, но ищут более глубокого понимания.Машинное обучение быстро меняется.Сейчас я не могу представить практическую потребность в использовании svm.Модели нейронных сетей почти всегда могли заменить svm. Но до недавнего времени они были явно современными. Я хочу понять, что логическая эволюция идей важнее, чем алгоритмы или более причудливые архитектуры.
Итак, приступим.GAN — это генеративные модели, которые изучают распределение данных для создания новых точек. Представьте себе случайное изображение (выборочное из гауссовского распределения), отправленное через нейронную сеть. также того же размера (изображение). Теперь, если бы мы могли сказать сети настраивать ее параметры до тех пор, пока выходное изображение не будет близко к нашему эталонному изображению, но отличается, мы получили бы генеративную модель. Она могла бы генерировать изображения из случайного шума. Единственное требование - что должно быть дифференцируемо, чтобы мы могли подталкивать веса с помощью обратного движения (для ознакомления с обратным движением см. часть-2).
Таким образом, мы могли бы использовать классификатор, чтобы сказать нам, является ли сгенерированное изображение поддельным или реальным. функция, которая может заставить генератор создавать более реалистичные изображения и классификатор для более точного определения подделок …… мы получили GAN.
Здесь важно отметить, что классификатор не проходит предварительную подготовку. Он обучается вместе с генератором.
этап 1: возьмите несколько образцов случайного шума, чтобы получить поддельные данные, и некоторые фактические точки данных (реальные данные) для обучения классификатора.
этап 2: Держите веса классификатора заблокированными и используйте вывод классификатора для обучения генератора.
Этот процесс продолжает чередоваться, пока не сходится…
Теперь давайте посмотрим на фактическую функцию потерь, которую мы хотим минимизировать.
Теперь на этапе 1 мы начинаем с генератора и настраиваем классификатор.
Теперь мы пытаемся найти аргумент G, минимизирующий потери при заданном D*(x).
Таким образом, мы видим, как мы могли бы в конечном итоге приблизиться к распределению нашего генератора к распределению данных…. Теперь, если вам удалось зайти так далеко, вы можете прочитать некоторые из оригинальных статей. генеративные состязательные сети.»