РезюмеВ этой статье предлагается совершенно новая основа для оценки генеративных моделей — «состязательный процесс». В этой структуре мы одновременно обучаем две модели: 1) генеративную модель G, которая используется для захвата распределения данных; 2) дискриминационную модель D, которая используется для определения того, получены ли выборки входных данных из обучающих данных. чем источник для генерации вероятности модели G. Обучение модели G заключается в том, чтобы заставить дискриминантную модель D ошибаться с наибольшей вероятностью. Эта структура похожа на минимаксный алгоритм в игре с двумя игроками и отражает стоящую за ним идею теории игр. Для любой производящей функции G и дискриминантной функции D существует единственное решение этой игровой задачи, то есть модель G может точно имитировать распределение обучающих данных, а выход дискриминантной модели D всегда равен 50%. Если и G, и D определены как многослойные персептроны, то всю систему G и D можно обучить с помощью алгоритма обратного распространения ошибки. В этой структуре мы больше не полагаемся на цепи Маркова или развернутые смоделированные сети логического вывода ни на этапе обучения, ни на этапе генерации выборки. В экспериментальной части этой статьи мы оцениваем выборочные данные, сгенерированные моделью G, как качественно, так и количественно, чтобы продемонстрировать потенциал этой структуры.
1. ВведениеЛюди надеются, что глубокое обучение можно будет использовать для поиска моделей с богатыми выразительными возможностями и иерархической структурой, а также использовать модели для выражения распределения вероятностей различных типов данных, используемых в приложениях ИИ, таких как данные изображения и данные звуковых волн, содержащие речь. и символы на естественном языке и т. д. До сих пор некоторые из наиболее влиятельных приложений в области глубокого обучения включали дискриминационные модели, которые обычно отображают многомерные данные о восприятии сенсора в определенную метку категории. За этими приложениями стоят алгоритм обратного распространения ошибки и алгоритм подавления случайных нейронов (алгоритм выпадения), оба из которых применяют кусочно-линейные единицы позади них для получения лучшей производительности градиента. Напротив, влияние глубоких генеративных моделей намного слабее по двум причинам: первая заключается в том, что для генеративных моделей нам необходимо полагаться на оценку максимального правдоподобия и некоторые другие связанные расчеты политики, и эти математические расчеты. Неизбежно, что многие вероятностные оценки требуется, что очень сложно в практическом использовании; вторая причина заключается в том, что в генеративных моделях мы хотим в полной мере использовать преимущества кусочно-линейных единиц для получения лучшей производительности градиента Есть объективные трудности. В этой статье мы предлагаем новый подход к оценке генеративной модели, который позволяет обойти эти проблемы. В структуре состязательной сети, предложенной в этой статье, есть две модели: одна — генеративная модель, другая — модель, противостоящая генеративной модели (далее собирательно именуемая дискриминационной моделью), и между этими двумя моделями существуют состязательные отношения. две модели. Дискриминантная модель должна научиться различать, происходит ли выборка данных из распределения модели или из распределения данных. Мы можем сравнить генеративную модель с бандой, занимающейся фальшивыми банкнотами, которая пытается заработать фальшивые деньги, а дискриминационную модель — с полицейским, который пытается обнаружить фальшивые банкноты. Результатом постоянной игры между двумя командами является то, что обе группы продолжают улучшать свои способности до тех пор, пока поддельные и настоящие банкноты не станут неотличимы друг от друга. Платформа может выводить множество конкретных алгоритмов обучения, использующих различные модели и алгоритмы оптимизации. В этой статье мы обсуждаем только один частный случай: передача случайного шума в генеративную модель через многослойный персептрон для генерации выборочных данных, а дискриминативная модель также является многослойным персептроном. Мы называем этот частный случай состязательной сетью. В этом примере обе модели обучаются с использованием очень успешного алгоритма обратного распространения и алгоритма подавления случайных нейронов, где выборочные данные, сгенерированные генеративной моделью, получены с помощью прямого алгоритма, а подробности обучения можно найти в [16]. Весь процесс обучения модели больше не зависит от аналогового вывода или цепей Маркова.
2. Связанные исследованияДо сих пор большинство исследований генеративных моделей были сосредоточены на соответствующем обучении модели путем максимизации логарифмического правдоподобия на основе некоторых заданных параметров функции распределения вероятностей. Среди таких моделей наиболее удачной является глубокая машина Больцмана, детали которой можно найти в [25]. В этих моделях обычно используются очень сложные функции правдоподобия, что требует большого количества оценок градиента правдоподобия. Эти трудности привели к разработке модели «генеративной машины». В модели генеративной машины зависимость от функции правдоподобия больше не является явной, и поэтому выборочные данные могут быть сгенерированы в соответствии с желаемым распределением. Генерирующая случайная сеть стохастические сети) — тип генеративной машинной модели, которую можно обучать непосредственно с помощью алгоритма обратного распространения ошибки, в отличие от машин Больцмана, требующих большого количества приблизительных оценок. Исследование в этой статье еще больше расширяет представление о генераторах и больше не использует цепь Маркова, используемую в генеративных случайных сетях.
Во время этого исследования мы не знали о Кингме и Веллинге (подробности см. в [18]). Резенде и др. (подробности см. в [23]) разработали более общее правило стохастического обратного распространения, которое позволяет моделям распространять обратно градиенты с использованием распределения Гаусса в пределах ограниченной дисперсии. В то же время эти правила обратного распространения позволяют модели изучить условную дисперсию генератора, который используется в качестве гиперпараметра в нашем исследовании. Кингма и Веллинг [18] и Резенде и др. [23] также использовали случайные правила обратного распространения для обучения автокодировщиков переменных (ВАЭ). Подобно генеративно-состязательным сетям, VAE объединяют дифференцируемую генеративную сеть и другую нейронную сеть в сетевую группу. Однако, в отличие от GAN, вторая нейронная сеть в VAE представляет собой модель распознавания, которая выполняет некоторые приблизительные задачи рассуждения. GAN должен быть выводим в видимых единицах, поэтому его нельзя использовать для моделирования дискретных данных; в то время как VAE требует выведения единиц скрытого слоя, поэтому модель не может содержать скрытые переменные с дискретными значениями. Существует много других методов, подобных ВАЭ, подробности см. в [12, 22], но эти методы не имеют отношения к изучаемому в данной статье методу, поэтому подробно их обсуждать не будем. Дискриминантные критерии использовались для обучения генеративных моделей в предыдущих исследованиях (подробности см. в ссылках [29, 13]), но критерии, использованные в этих исследованиях, трудно применить к генеративным моделям. Метод, который они использовали, трудно аппроксимировать даже с помощью глубокой модели, потому что метод включает отношения вероятностей, которые нельзя аппроксимировать с помощью методов переменной аппроксимации, которые занижают значения вероятности. Генеративные модели обучаются с использованием NCE (Noise Contrastive Estimation) [13], а результирующие весовые параметры помогают модели отличать данные от некоторого фиксированного шаблона распределения шума. Если в качестве источника данных о распределении шума используется предварительно обученная модель, а последовательность моделей получается путем обучения в многоуровневом последовательном соединении, это поможет повысить производительность генеративной модели. Этот подход можно рассматривать как механизм неформальной конкуренции, и его идея примерно такая же, как у состязательных сетей. Настоящим недостатком метода NCE является то, что его дискриминатор определяется отношением между плотностью вероятности распределения шума и плотностью вероятности распределения модели. Есть также некоторые исследования, использующие понятие состязательности в общем смысле, то есть построение двух нейронных сетей для конкуренции друг с другом, и наиболее репрезентативным исследованием является минимизация предсказуемости [26]. В модели минимизации тестируемости каждый скрытый блок первой нейронной сети обучается так, чтобы он оставался отличным от выходных данных второй нейронной сети, основная цель которой состоит в том, чтобы в случае выходного значения нейрона скрытого слоя значение этого скрытого нейрона предсказывается. По сравнению с моделью минимизации тестируемости исследование в этой статье имеет три существенных отличия: 1) В этой статье конкуренция между сетями является единственным критерием обучения, и этого критерия достаточно для поддержки обучения всей нейронной сети. Модель минимизации тестируемости — это всего лишь регуляризатор, посредством которого на блок скрытого слоя нейронной сети накладывается определенное ограничение, чтобы блок скрытого слоя мог удовлетворять другие задачи, сохраняя при этом статистическую независимость; 2). Природа конкуренции иная. В модели минимизации тестируемости выходы двух сетей должны быть обработаны, и цель одной сети — сделать выходы двух сетей похожими, а цель другой сети — сделать выходы двух сетей одинаковыми. разные. Все выходные значения сети являются скалярными значениями. В генеративно-состязательной модели (GAN) сеть используется для генерации многомерного вектора и использования его в качестве входных данных для второй сети, а затем для выбора входных данных для отправки во вторую сеть, и в это время вторая сеть Сеть не знает о входных данных; 3) Процесс обучения отличается. Модель минимизации тестируемости — это задача оптимизации, целью которой является оптимизация целевой функции до точки минимума. GAN основана на игровой задаче о максимуме и минимуме, в процессе обучения есть функция ценности, цель одной сети — максимизировать эту функцию ценности, а цель другой сети — минимизировать эту функцию ценности. В конечном итоге игра заканчивается в седловой точке, которая является максимальной точкой для одной сети и минимальной точкой для другой сети. Генеративно-состязательные сети также иногда путают с понятием «состязательные примеры» [28]. Состязательные примеры — это примеры, обнаруженные, когда алгоритм оптимизации на основе градиента напрямую применяется к входным образцам, подаваемым в сеть классификатора. Основная цель этого состоит в том, чтобы найти образцы, которые похожи на входные образцы, но неправильно классифицированы. Можно видеть, что «состязательные примеры» отличаются от генеративно-состязательной сети, предложенной в этой статье, и состязательные примеры не являются механизмом, который можно использовать для обучения генеративных моделей. На самом деле «состязательный пример» в основном используется как инструмент анализа для изучения странного поведения самой нейронной сети. Например, если у нас есть классификатор изображений на основе нейронной сети, классификатор может классифицировать определенное изображение с очень высокой степенью уверенности, но если к классифицированному изображению добавляется случайное изображение, оно практически неразличимо для человеческого глаза. Шумовые помехи, в это время классификатор фактически классифицирует изображение в неправильную категорию с высокой степенью достоверности. Существование таких «состязательных примеров» указывает на то, что обучение генеративно-состязательной сети недостаточно, поскольку показывает, что дискриминантная модель способна различать класс примера даже без какого-либо моделирования свойств класса примера.
3, враждебная сеть
В следующей части мы проведем теоретический анализ состязательной сети, показав, что при условии, что дискриминантная модель D имеет достаточную дискриминационную способность (например, отсутствие ограничений по параметрам для D), максимальные и минимальные критерии обучения, содержащиеся в приведенном выше формула может сгенерировать модель G. Распределение выборочных данных восстанавливается (то есть генерирующая модель G изучила функцию распределения входных выборочных данных, и данные, восстановленные из G, могут быть подделаны). См. рисунок 1 для примерного объяснения. В практической реализации мы должны реализовать такую игру итерационным численным методом. Оптимизация дискриминационной модели D во внутреннем цикле обучающего цикла требует больших вычислительных ресурсов и может привести к переобучению модели на ограниченном наборе данных. Возможной альтернативой является поочередная оптимизация модели D и модели G. В частности, каждая пара дискриминаторных моделей D оптимизируется за k шагов, а затем генеративная модель G оптимизируется за один шаг и продолжает чередоваться до сходимости . . . Преимущество этой схемы состоит в том, что пока модель генератора G изменяется достаточно медленно, модель дискриминатора D всегда будет сохранять свое оптимальное положение решения. См. Алгоритм 1 для псевдокода этого процесса.
4. Теоретический анализ
4.2 Сходимость алгоритма 1
5. Эмпирический анализМы обучаем состязательные сети на ряде наборов данных, включая MNIST, TFD (база данных лиц Торонто) и CIFAR-10. Сеть генератора G использует как модифицированную линейную функцию активации, так и сигмовидную функцию активации, в то время как сеть дискриминатора использует функцию активации maxout. При обучении сети дискриминатора мы также использовали прием Dropout. Хотя теоретическая структура поддерживает отсев и некоторые другие операции, связанные с шумом, на средних уровнях генератора, на практике мы добавляем шум только к нижнему слою сети в качестве входного сигнала сети генератора.
Упомянутые выше преимущества в основном вычислительные, а состязательная модель также имеет некоторые статистические преимущества, то есть сеть генерации G не обновляется напрямую выборками данных, а только использует градиентный сигнал, выдаваемый сетью D, для обновления соответствующих весов. сети G. параметр. Это означает, что параметры сгенерированной сети G не выводятся напрямую из входных данных. Еще одним преимуществом состязательных сетей является то, что сеть может представлять очень резкие или даже затухающие распределения данных.
использованная литература
[1] Bastien, F., Lamblin, P., Pascanu, R., Bergstra, J., Goodfellow, I. J., Bergeron, A., Bouchard, N., and Bengio, Y. (2012). Theano: new features and speed improvements. Deep Learning and Unsupervised Feature Learning NIPS 2012 Workshop.
[2] Bengio, Y. (2009).Изучение глубоких архитектур для ИИ Now Publishers.
[3] Bengio, Y., Mesnil, G., Dauphin, Y., and Rifai, S. (2013), Лучшее микширование с помощью глубоких представлений.В ICML’13.
[4] Bengio, Y., Thibodeau-Laufer, E., and Yosinski, J. (2014a), Глубокие генеративные стохастические сети, обучаемые обратным распространением, В ICML’14.
[5] Bengio, Y., Thibodeau-Laufer, E., Alain, G., and Yosinski, J. (2014b), Глубокие генеративные стохастические сети, обучаемые обратным распространением, В материалах 30-й Международной конференции по машинному обучению (ICML’14).
[6] Bergstra, J., Breuleux, O., Bastien, F., Lamblin, P., Pascanu, R., Desjardins, G., Turian, J., Warde-Farley, D., and Bengio, Y. (2010).Theano: компилятор математических выражений для процессора и графического процессора.В Proceedings of the Python for Scientific Вычислительная конференция (SciPy) Устная презентация.
[7] Breuleux, O., Bengio, Y., and Vincent, P. (2011), Быстрое создание репрезентативных выборок из процесса, полученного из RBM, Neural Computation, 23(8), 2053–2073.
[8] Glorot, X., Bordes, A., and Bengio, Y. (2011)Нейронные сети с глубоким разреженным выпрямителем // AISTATS’2011.
[9] Goodfellow, I. J., Warde-Farley, D., Mirza, M., Courville, A., and Bengio, Y. (2013a).Сети Maxout на ICML’2013.
[10] Goodfellow, I. J., Mirza, M., Courville, A., and Bengio, Y. (2013b). Глубокие машины Больцмана с множественным предсказанием // NIPS’2013.
[11] Goodfellow, I. J., Warde-Farley, D., Lamblin, P., Dumoulin, V., Mirza, M., Pascanu, R., Bergstra, J., Bastien, F., and Bengio, Y. (2013c).Pylearn2: исследовательская библиотека по машинному обучению, препринт arXiv arXiv:1308.4214.
[12] Gregor, K., Danihelka, I., Mnih, A., Blundell, C., andWierstra, D. (2014).Глубокие авторегрессионные сети // ICML’2014.
[13] Gutmann, M. and Hyvarinen, A. (2010).Шумоконтрастная оценка: новый принцип оценки для ненормализованных статистических моделей, Материалы тринадцатой Международной конференции по искусственному интеллекту и статистике. (АЙСТАЦ’10).
[14]Хинтон Г., Денг Л., Даль Г.Э., Мохамед А., Джейтли Н., Сениор А., Ванхоук В., Нгуен П., Сайнат Т. и Кингсбери Б. ( 2012а), Глубокие нейронные сети для акустического моделирования при распознавании речи.Обработка сигналов IEEE. Журнал, 29(6), 82–97.
[15] Hinton, G. E., Dayan, P., Frey, B. J., and Neal, R. M. (1995).Алгоритм бодрствования и сна для неконтролируемых нейронных сетей, Наука, 268, 1558–1161.
[16] Hinton, G. E., Srivastava, N., Krizhevsky, A., Sutskever, I., and Salakhutdinov, R. (2012b). Improving neural networks by preventing co-adaptation of feature detectors. Technical report, arXiv:1207.0580.
[17] Jarrett, K., Kavukcuoglu, K., Ranzato, M., and LeCun, Y. (2009). Какова наилучшая многоступенчатая архитектура для распознавания объектов, в материалах Международной конференции по компьютерному зрению (ICCV’09), стр. 2146–2153, IEEE.
[18] Kingma, D. P. and Welling, M. (2014).Автокодирование вариационных байесов, В материалах Международной конференции по обучающим представлениям (ICLR).
[19] Krizhevsky, A. and Hinton, G. (2009). Learning multiple layers of features from tiny images. Technical report, University of Toronto.
[20] Krizhevsky, A., Sutskever, I., and Hinton, G. (2012), Классификация ImageNet с глубокими свёрточными нейронными сетями, В NIPS'2012.
[21] LeCun, Y., Bottou, L., Bengio, Y., and Haffner, P. (1998).Градиентное обучение применительно к распознаванию документов, Proceedings of the IEEE, 86(11), 2278–2324.
[22]Мних, А. и Грегор, К. (2014).Нейронный вариационный вывод и обучение в сетях убеждений, Технический отчет, препринт arXiv: 1402.0030.
[23] Rezende, D. J., Mohamed, S., and Wierstra, D. (2014).Стохастическое обратное распространение и приблизительный вывод в глубоких генеративных моделях, Технический отчет, arXiv:1401.4082.
[24] Rifai, S., Bengio, Y., Dauphin, Y., and Vincent, P. (2012)Генеративный процесс выборки сжатых автокодировщиков В ICML’12.
[25] Salakhutdinov, R. and Hinton, G. E. (2009).Глубокие машины Больцмана // AISTATS’2009, стр. 448–455.
[26] Schmidhuber, J. (1992), Изучение факторных кодов путем минимизации предсказуемости, Neural Computation, 4(6), 863–879.
[27] Susskind, J., Anderson, A., and Hinton, G. E. (2010).Набор данных о лицах в Торонто, Технический отчет UTML TR 2010-001, Университет Торонто.
[28] Szegedy, C., Zaremba, W., Sutskever, I., Bruna, J., Erhan, D., Goodfellow, I. J., and Fergus, R. (2014).Интригующие свойства нейронных сетей, ICLR, abs/1312.6199.
[29] Tu, Z. (2007), Изучение генеративных моделей с помощью дискриминационных подходов, Компьютерное зрение и распознавание образов, 2007 г., CVPR’07, Конференция IEEE, стр. 1–8, IEEE.