Это заметка прошлой недели. Блокнот был сломан и отправлен в ремонт на целую неделю. Заметка этой недели, пожалуйста, наверстать позже. :)
TL;DR
Adversarial AutoencodersОбъединив GAN и VAE, мы предлагаем对抗自编码器 AAE
, воплощать в жизнь变分推断 Variational Inference
Сопоставляет апостериорное распределение скрытых переменных от кодировщика с произвольным априорным распределением скрытых переменных Этот процесс сопоставления гарантирует, что значимые результаты могут быть получены из любой части априорного пространства.
AAE имеет две цели обучения: одна - потеря реконструкции, а другая - состязательная потеря, Последняя используется для сопоставления апостериорного распределения скрытых переменных автоэнкодера с произвольным априорным распределением скрытой переменной.
Простейший AAE показан на рисунке ниже.Строка выше — это структура автокодировщика, который кодирует 1 как z, а затем декодирует его обратно в 1; красный кружок — это кодировщик автокодировщика, который также G в GAN, а блок в правом нижнем углу — это D. В отличие от обычного GAN, который принимает реальные или сгенерированные естественные изображения в качестве входных данных D, вход D в AAE — это скрытая переменная z, которая подчиняется апостериорное распределение q(z) (сгенерированное) или априорное распределение p автоэнкодера (z) (здесь как реальные данные).
В этой статье предлагается алгоритм вариационного вывода, использующий структуру GAN в качестве вероятностного автоэнкодера, и исследуются многие контролируемые, полуконтролируемые и неконтролируемые методы приложений (ниже приводится более подробное введение, неясные места см. в исходном тексте).
В GAN отсутствует эффективный механизм вывода, ALI и BiGAN, вводят механизм вывода, вводя в структуру GAN сеть вывода от x (например, естественные изображения) до z. Вход D: (x, z_hat) или (x_tilde, z ), Используйте это, чтобы узнать совместные распределения вероятностей q (x, z_hat) и p (x_tilde, z). Структура выглядит следующим образом:
Таким образом, игра между АЛИ и БиГАН разворачивается в G (генерирующая сеть), I (выводная сеть) и D (дискриминационная сеть) (G и I совместно «обманывают» D).
Adversarial Autoencoders
Адрес бумаги:АР Вест V.org/PDF/1511.05…
В последние годы обучение глубоких генеративных моделей в основном основано наMCMC 马尔可夫链蒙特卡罗(搜索)
Алгоритм Одним из недостатков использования метода MCMC является то, что градиент его рассчитанного логарифмического правдоподобия становится все менее и менее точным по мере обучения, поскольку выборки, взятые из цепи Маркова, не могут быть достаточно быстро смешаны с моделью.
позже变分自编码器 VAE
это использовать识别网络 recognition network
для предсказания апостериорного распределения скрытых переменных.
AAE имеет две цели обучения: одна - потеря реконструкции, а другая - состязательная потеря. Последняя используется для сопоставления апостериорного распределения скрытой переменной автоэнкодера с произвольным априорным распределением скрытой переменной. Его структура выглядит следующим образом:
Сеть от «1» до «1» — это автоэнкодер,红框中的是自编码器的编码器部分, 也是 GAN 的生成器
В отличие от GAN, рассмотренных ранее, реальные данные этой GAN выбираются из ожидаемого априорного распределения p(z), такого как распределение Гаусса, а сгенерированные данные выбираются из результата кодирования q(z). GAN в AAE. Он должен направлять q (z) для соответствия / соответствия p (z).
Цель самого автоэнкодера — минимизировать ошибку реконструкции.
После обучения AAE его декодер может действовать как генеративная модель, используя p(z) для создания образцов, таких как естественные изображения.
Разница между AAE и VAE заключается в следующем: VAE использует штраф за расхождение KL для использования q(z); AAE использует состязательное обучение для сопоставления q(z) и p(z). функциональная форма априорного распределения, в то время как AAE должен иметь возможность выбирать только из априорного распределения, чтобы привести q(z) к соответствию p(z).
VAE минимизирует верхнюю границу отрицательного логарифмического правдоподобия x, выраженного как:
Видно, что вариационная граница состоит из трех частей, первую часть можно рассматривать как член реконструкции автоэнкодера, а второй и третий члены можно рассматривать как обычные члены. Второй член поощряет апостериорное распределение q(z ) иметь большую дисперсию, а третий член минимизирует перекрестную энтропию между q (z) и p (z). В AAE первый член сохраняется, а последние два заменяются состязательным процессом обучения для управления q ( z) для завершения совпадений p(z).
Разница между AAE и GAN заключается в следующем: GAN обычно использует распределение данных на уровне пикселей выходного слоя нейронной сети, в то время как AAE полагается на обучение автоэнкодера для захвата распределения данных.В процессе обучения AAE q(z) может быть сделанным, чтобы соответствовать нижнему Более простое распределение измерений (это действует как упрощение и уменьшение размерности).
Generative Moment Matching Networks, GMMN
использовать最大平均差异 Maximum Mean Discrepancy, MMD
деформировать выходное распределение нейронной сети.ММД можно интерпретировать как минимальное модельное распределение и все распределения данныхMoment, 矩
расстояние.
Самая большая разница между AAE и GMMN+AE заключается в том, что процесс обучения противникаregularizer 正则器
q(z) изменяется с самого начала обучения, в то время как GMMN+AE сначала обучает стандартный автоэнкодер Dropout, а затем подгоняет распределение скрытых переменных предварительно обученного автоэнкодера.
В этой статье следующая структура используется для ввода информации о метке в AAE, что немного похоже на замену GAN на cGAN, Разница в том, что следующая структура использует только информацию о метке в качестве входных данных D и использует半监督
Как показано на рисунке, метка представлена в виде one-hot, который функционирует как переключатель, который используется для выбора соответствующей границы решения D согласно описанию статьи.
Весь процесс неконтролируемого обучения иПредыдущийОписания в чем-то похожи, и читатели могут захотеть их сравнить.10-мерный однонаправленный вектор на самом деле содержит информацию об 11 классах (не активированных, которые могут представлять ситуацию).В статье используются 10 двумерных смешанных распределений Гаусса для представления Распределение скрытой переменной г. Каждый из первых 10 классов соответствует двумерному распределению Гаусса. В то время как дополнительные классы соответствуют неразмеченным обучающим данным, когда в модель подаются неразмеченные данные, соответствующие дополнительным классам, будет используемое для всей смеси распределение Гаусса выбирает границу решения.
При проведении состязательного обучения обучите D и введите соответствующую метку смешанного гауссовского компонента в D через однократный вектор (здесь это немного запутанно, я понимаю, что нужно вводить p (z) и информацию о метках), p(z) неразмеченных данных просто выбирается из всей гауссовской смеси; когда G обучается, метки, соответствующие обучающим выборкам, вводятся в D.
В последние годы генеративные модели стали наиболее популярным методом обучения с полуучителем, поскольку они могут依据某种规则将类标签信息与其他变分的潜因子分开来
.
В статье обучается контролируемый AAE со структурой, показанной на рисунке ниже, чтобы отделить метки классов от информации о стиле изображения.Можно видеть, что декодер использует представление меток с горячим вектором и скрытую переменную z для восстановления Эта архитектура заставляет нейронную сеть быть независимой от всех данных. Вся информация о метке сохраняется в файле z.
Эффект состоит в том, что каждая из следующих строк представляет собой определенный стиль чисел, изученный AAE, который не зависит от меток.
В документе также предлагается структура обучения с полуучителем, но на этот раз обучение с полуучителем представляет собой информацию о категории, как показано ниже По сравнению с приведенной выше структурой обучения с учителем для изучения категории изображения используется состязательная сеть. гарантирует, что скрытая переменная y не несет информации о стиле, а апостериорное распределение y (то есть y, полученное кодировщиком) соответствует категориальному распределению.
Помимо полуконтролируемой структуры обучения, этап полуконтролируемой классификации удаляется и проводятся неконтролируемые эксперименты по кластеризации.
Недостатком методов непараметрического уменьшения размерности является то, что из-за отсутствия параметров новые данные не могут найти место в пространстве встраивания (если только не будет повторно уменьшен весь набор данных), автоэнкодеры также используются для уменьшения размерности данных, но non-regularized Автоэнкодер «разбивает» многообразие на разные пространственные местоположения, что приводит к различным скрытым кодам для похожих изображений.
Наконец, эксперимент по уменьшению размерности проводится в следующей структуре.对抗正则 adversarial regularization
Процесс объединения скрытых кодов похожих картинок делает многообразие непрерывным.
По сравнению с предыдущей архитектурой эта архитектура умножает m-мерные данные, представленные однократно, на матрицу mxn (n
Adversarially Learned Inference
Адрес бумаги:АР Вест V.org/PDF/1606.00…
Блог автора Измаила Бельгази:ishmaelbelghazi.github.io/ALI/
Как и в предыдущем, в этом документе представлены对抗学习推理 ALI
, генерирующая сеть и сеть вывода совместно обучаются состязательным образом.Генеративная сеть - это G в GAN, которая отображает случайные скрытые переменные в пространство данных, а сеть вывода (далее I) обратно отображает обучающие выборки из пространства данных в пространство данных.Скрытое переменное пространство.Поэтому состязательная игра разворачивается между G, I и D.
Методы на основе VAE вводят случайные скрытые переменные z, максимизируя логарифмическую вероятность данных x и максимизируя их совместное распределение p (x, z), Но поскольку точное предельное распределение скрытых переменных часто трудно отследить, VAE вводит дает приближенный апостериорный q ( x , z ) и максимизирует вариационную нижнюю границу логарифмического правдоподобия p ( x ).
Модель, основанная на методе оценки максимального правдоподобия, будет казаться консервативной, а масса вероятностей будет распространяться на все пространство данных (Тайс и др., 2015).
GAN может получить генеративную модель, которая генерирует высококачественные выборки, но не имеет эффективного механизма вывода, поэтому в этой статье推理机制
и深度有向生成模型
Для получения ALI внедряется состязательная структура, подобная GAN, и ее структурная схема показана ниже.
Левое поле представляет собой I, который отображает реальную обучающую выборку x в пространство скрытых переменных, чтобы получить z_hat, правый прямоугольник представляет собой G, который преобразует скрытую переменную z в сгенерированную выборку x_tilde, а D обучен распознавать (x , z_hat) и (x_тильда), z).
G и I АЛИ можно рассматривать как编码器 encoder
и解码器 decoder
, их совместное распределение можно представить в виде следующего вида:
- Совместное (вероятностное) распределение кодировщика q(x, z)=q(x)q(z|x)
- Совместное распределение декодера p(x, z)=p(z)p(x|z)
Следовательно, (x, z_hat) и (x_tilde, z) входа D представляют два совместных распределения соответственно.
Когда обучение ALI завершено и два совместных распределения совпадают, можно предположить, что все предельные распределения и условные распределения совпадают, Например, можно считать, что условная вероятность q (z | x) соответствует апостериорной вероятности q ( г|х).
Функция значения ALI показана ниже Единственное отличие от функции значения GAN состоит в том, что D(x)=> D(x, Gz(x)), D(G(z))=>D(Gx(z ), з).
Чтобы градиент передавался от D к кодировщику и декодеру, градиент должен проходить через два процесса выборки.и, Для этой цели в данной работе используется重参数化 reparametrization
Хитрость заключается не в выборке непосредственно из желаемого распределения, а в преобразовании шума, подчиняющегося желаемому распределению, для вычисления случайных величин.,
Его можно рассчитать по следующей формуле (я пытался воспроизвести код этой статьи с помощью PyTorch, но всегда сталкивался с числовой проблемой, проблема заключается в репараметризации, а обучение пока не увенчалось успехом)
В этой статье также упоминается, что структура ALI может быть расширена до нескольких случайных слоев.Что такое несколько случайных слоев?Это примерно так, не путать с многослойными нейронными сетями:
Вы обнаружите, что ALI чем-то похож на AAE, описанный выше, но, в отличие от AAE, ALI не предназначен для оптимизации потерь при реконструкции, а входными данными для D являются пары (x, z) вместо выборок ребер z.
Важные вещи, которые нужно упомянуть несколько раз:Batch Normalization
Действительно критично для обучения GAN!Но не для выходных слоев G и I, ни для слоев в D, на которые влияет z, чтобы стабилизировать процесс обучения.
Несколько экспериментальных результатов этой статьи:
- Переход между парами отсчетов плавный, а изображения, сгенерированные в середине, тоже очень реальны (их исследование пространства скрытых переменных заключается в выборе z1, z2, а затем выполнении линейной интерполяции для наблюдения за изображениями, сгенерированными промежуточным z) , Это показывает, что ALI не имеет вероятностной массы только для обучающих выборок, но также распространяется на другие скрытые функции, которые способствуют генерации.
- Хотя ALI не оптимизирован для качества реконструкции, реальная реконструкция работает хорошо Это показывает, что условная вероятность q(z|x) хорошо аппроксимирует апостериорную вероятность p(z|x)
- Экспериментальные результаты показывают, что реконструкция ALI не фокусируется на точности на уровне пикселей, например, при захвате положения, цвета, стиля и т. д. объектов будут допущены ошибки, но она может представлять более абстрактные функции, что показывает, что скрытая переменная представление ALI не так хорошо для некоторых Интересный фактор имеет более высокую инвариантность и не выделяет больше мощности для его захвата.
Наконец, в приложении к этой статье выложена сверхдетальная модельная таблица гиперпараметров, которая может легко воспроизвести эксперимент и понравиться.Кроме того, есть очень интересное яичко, и я переведу его и выложу, когда у меня будет время.
Практический опыт, некоторые слои архитектуры АЛИ используют BN и Dropout одновременно.Я сначала не обратил внимание на их приоритет.Рекомендации в Интернете таковы: Dropout помещается в конец.
Другой вопрос, следует ли размещать BN до или после нелинейной функции активации.В статье BN (примечания будут опубликованы позже) говорится, что она помещается перед функцией активации, но в последнее время наблюдается тенденция размещать ее после функции активации.
Adversarial Feature Learning
Адрес бумаги:АР Вест V.org/PDF/1605.09…
В этом документе предлагается двунаправленный GAN (далее BiGAN), структура сети которого очень похожа на ALI, как показано ниже (эти два документа также были включены в ICLR2017).
Даже функция стоимости, BiGAN и ALI почти одинаковы:
Та же концепция, что и ALI, не будет повторяться ниже.По сравнению с ALI, доказательство этой статьи сильнее, различные математические рассуждения, и извлекается только вывод.Для студентов, которые хотят знать больше, просто прочитайте исходный текст.(I сказал, что я не понимаю такого количества умозаключений)
В этой статье указывается, что при достижении глобального оптимума G и E (кодировщики от x до z) являются биективными функциями и обратны друг другу, то есть E = G ^ - 1. BiGAN аппроксимирует автопортрет с L0 Функция потери Энкодер.
В документе также указывается, что оптимальное D должно быть случайным, но из-за неоптимальности G и E D не может достичь случайного состояния.
В отличие от обычных автоэнкодеров, функция потерь L0 не делает предположений о распределении или структуре данных; все структурные свойства BiGAN изучаются D.
В исходной GAN реальная и сгенерированная выборки чередовались, чтобы обеспечить более сильные градиенты для G. Но «обратимые» наблюдения, предоставляемые BiGAN, могут обеспечить достаточно сильные градиенты для G и E. Поэтому в этой статье в одной итерации при обновлении D , G, E методы.
Как следует из названия этой статьи, BiGAN направлен на изучение осмысленных представлений функций Текст описывается следующим образом: не очень ясно о семантически значимых характеристиках сгенерированных данных и реальных данных, На самом деле, когда G генерирует реальные данные, обратимый D полностью игнорирует сгенерированные данные и безоговорочно предсказывает p = 1/2, никакие значимые промежуточные представления не могут быть изучены , BiGAN просто хочет, чтобы GAN научились осмысленным представлениям.