Редактирование: Порождающие модели

Перейти к: навигация, поиск

Внимание! Вы не авторизовались на сайте. Ваш IP-адрес будет публично видимым, если вы будете вносить любые правки. Если вы войдёте или создадите учётную запись, правки вместо этого будут связаны с вашим именем пользователя, а также у вас появятся другие преимущества.

Правка может быть отменена. Пожалуйста, просмотрите сравнение версий, чтобы убедиться, что это именно те изменения, которые вас интересуют, и нажмите «Записать страницу», чтобы изменения вступили в силу.
Текущая версия Ваш текст
Строка 4: Строка 4:
  
 
С другой стороны, дискриминативная модель (англ. ''discriminative model'')<ref> [https://en.wikipedia.org/wiki/Discriminative_model Discriminative model]</ref> обучает только ''условное'' распределение и может, например, отличить собаку от кошки.
 
С другой стороны, дискриминативная модель (англ. ''discriminative model'')<ref> [https://en.wikipedia.org/wiki/Discriminative_model Discriminative model]</ref> обучает только ''условное'' распределение и может, например, отличить собаку от кошки.
 
Примером простейшей порождающей модели является [[Байесовская классификация#Наивный байесовский классификатор|наивный байесовский классификатор]].
 
  
 
== Классификация задачи ==
 
== Классификация задачи ==
Строка 44: Строка 42:
 
Так представляется модель в FVBN (fully visible belief net­works)<ref>[https://mitpress.mit.edu/books/graphical-models-machine-learning-and-digital-communication Frey B. Graphical Models for Machine Learning and Digital Communication, Cambridge, MA: MIT Press, 1998.]</ref>, идея которых состоит в том, что с одномерными распределениями нетрудно разобраться - в ранних работах их представляли классическими моделями. А сейчас мы можем их промоделировать последовательно [[Глубокое обучение|глу­бокими сетями]], получится модель, которая сможет последовательно породить <tex>х</tex> компонент за компонентом, каждый раз для порождения <tex>x_i</tex> опираясь на уже порожденные <tex>x_1, {{...}}, x_{i-1})</tex>.
 
Так представляется модель в FVBN (fully visible belief net­works)<ref>[https://mitpress.mit.edu/books/graphical-models-machine-learning-and-digital-communication Frey B. Graphical Models for Machine Learning and Digital Communication, Cambridge, MA: MIT Press, 1998.]</ref>, идея которых состоит в том, что с одномерными распределениями нетрудно разобраться - в ранних работах их представляли классическими моделями. А сейчас мы можем их промоделировать последовательно [[Глубокое обучение|глу­бокими сетями]], получится модель, которая сможет последовательно породить <tex>х</tex> компонент за компонентом, каждый раз для порождения <tex>x_i</tex> опираясь на уже порожденные <tex>x_1, {{...}}, x_{i-1})</tex>.
  
Именно эта идея лежит в основе моде­ли для работы со звуком WaveNet, разработанной Google DeepMind<ref>[https://deepmind.com/blog/article/wavenet-generative-model-raw-audio Blog post by DeepMind about WaveNet]</ref>. Существующие параметрические модели синтезирования речи<ref>[https://en.wikipedia.org/wiki/Speech_synthesis Text-To-Speech (TTS)]</ref> обычно генерируют звук, прогоняя выходной сигнал через специальные обработчики, называемые вокодерами<ref>[https://en.wikipedia.org/wiki/Vocoder Vocoder]</ref>.
+
Именно эта идея лежит в основе моде­ли для работы со звуком [[WaveNet]]<sup>[на 24.02.20 не создан]</sup>, разработанной Google DeepMind<ref>[https://deepmind.com/blog/article/wavenet-generative-model-raw-audio Blog post by DeepMind about WaveNet]</ref>. Существующие параметрические модели синтезирования речи<ref>[https://en.wikipedia.org/wiki/Speech_synthesis Text-To-Speech (TTS)]</ref> обычно генерируют звук, прогоняя выходной сигнал через специальные обработчики, называемые вокодерами<ref>[https://en.wikipedia.org/wiki/Vocoder Vocoder]</ref>.
 
[[Файл:WaveNet.gif|thumb|upright=1.5|right|Устройство WaveNet]]
 
[[Файл:WaveNet.gif|thumb|upright=1.5|right|Устройство WaveNet]]
 
WaveNet меняет парадигму, генерируя звуковой сигнал по семплам. Это не только приводит к более натуральному звучанию речи, но и позволяет создавать любые звуки, включая музыку.
 
WaveNet меняет парадигму, генерируя звуковой сигнал по семплам. Это не только приводит к более натуральному звучанию речи, но и позволяет создавать любые звуки, включая музыку.
Строка 50: Строка 48:
 
Во время обучения входящие последовательности представляют собой звуковые волны от примеров записи голоса. После тренировки можно с помощью сети генерировать синтетические фразы. На каждом шагу семплирования значение вычисляется из вероятностного распределения, посчитанного сетью. Затем это значение возвращается на вход и делается новое предсказание для следующего шага.
 
Во время обучения входящие последовательности представляют собой звуковые волны от примеров записи голоса. После тренировки можно с помощью сети генерировать синтетические фразы. На каждом шагу семплирования значение вычисляется из вероятностного распределения, посчитанного сетью. Затем это значение возвращается на вход и делается новое предсказание для следующего шага.
  
В моделях [[Задача генерации объектов|PixelRNN]]<sup>[на 24.02.20 не создан]</sup> и [[Задача генерации объектов|PixelCNN]]<sup>[на 24.02.20 не создан]</sup> строится изображение пиксель за пикселем, слева направо и свер­ху вниз. Каждый пиксель <tex>x_n</tex> порождается из условного распределе­ния <tex>p(x_n \mid x_1, {{...}}, x_{n-1})</tex>
+
В моделях [[PixelRNN]]<sup>[на 24.02.20 не создан]</sup> и [[PixelCNN]]<sup>[на 24.02.20 не создан]</sup> строится изображение пиксель за пикселем, слева направо и свер­ху вниз. Каждый пиксель <tex>x_n</tex> порождается из условного распределе­ния <tex>p(x_n \mid x_1, {{...}}, x_{n-1})</tex>
а оно уже моделируется или [[Рекуррентные нейронные сети|рекуррентной сетью]] или [[Сверточные нейронные сети|сверточной]].
+
а оно уже моделируется или [[Рекуррентные нейронные сети|рекуррентной сетью] или [[Сверточные нейронные сети|сверточной]].
  
Модель DRAW<ref>[http://arxiv.org/abs/1502.04623 DRAW: A Recurrent Neural Network For Image Generation / K. Gregor et al. / / arXiv, 2015.]</ref> последо­вательно «рисует» картинку с помощью рекуррентной сети, а [[механизм внимания]]<sup>[на 24.02.20 не создан]</sup> помогает сети в данный момент сконцентрироваться на нужной части изображе­ния.
+
Модель [[DRAW]]<sup>[на 24.02.20 не создан]</sup> последо­вательно «рисует» картинку с помощью рекуррентной сети, а [[механизм внимания]]<sup>[на 24.02.20 не создан]</sup> помогает сети в данный момент сконцентрироваться на нужной части изображе­ния.
  
 
Если хочется явно выразить совсем сложные распределения в порождающих моделях, их приходится приближать более простыми, которые уже, в свою очередь, могут быть выражены явно. Для этого обычно используются [[Вариационный автокодировщик|вариационные мето­ды]].
 
Если хочется явно выразить совсем сложные распределения в порождающих моделях, их приходится приближать более простыми, которые уже, в свою очередь, могут быть выражены явно. Для этого обычно используются [[Вариационный автокодировщик|вариационные мето­ды]].
Строка 61: Строка 59:
  
 
Сэмплирование из сложных многомерных распределений делается с помощью МСМС<ref>[https://en.wikipedia.org/wiki/Markov_chain_Monte_Carlo Markov chain Monte Carlo(МСМС)]</ref>-методов: попробуем построить мар­ковскую цепь, которая описывает случайное блуждание под графиком плотности распределения.  
 
Сэмплирование из сложных многомерных распределений делается с помощью МСМС<ref>[https://en.wikipedia.org/wiki/Markov_chain_Monte_Carlo Markov chain Monte Carlo(МСМС)]</ref>-методов: попробуем построить мар­ковскую цепь, которая описывает случайное блуждание под графиком плотности распределения.  
Если достаточно долго блуждать под графиком плотности <tex>p(x)</tex>, можно будет считать, что полученная точка представляет собой случайную точ­ку, взятую по распределению <tex>p(x)</tex>. Примером такого моделирования глубокой сетью являются порождающие стохастические сети<ref>[https://arxiv.org/abs/1503.05571 Generative Stochastic Networks]</ref>.
+
Если достаточно долго блуждать под графиком плотности <tex>p(x)</tex>, можно будет считать, что полученная точка представляет собой случайную точ­ку, взятую по распределению <tex>p(x)</tex>. Примером такого моделирования глубокой сетью являются ''порождающие стохастические сети''(англ. ''Generative Stochastic Networks'')
  
[[Generative Adversarial Nets (GAN)|Порождающие состязательные сети]] {{---}} алгоритм машинного обучения, построенный на комбинации из двух нейронных сетей: генеративная модель <tex>G</tex>, которая строит приближение распределения данных, и дискриминативная модель <tex>D</tex>, оценивающая вероятность, что образец пришел из тренировочных данных, а не сгенерированных моделью <tex>G</tex>. Обучение для модели <tex>G</tex> заключается в максимизации вероятности ошибки дискриминатора <tex>D</tex>.
+
== Глубокие порождающие модели на основе нейронных сетей ==
 
 
== См. также ==
 
*[[Байесовская классификация#Наивный байесовский классификатор|Наивный байесовский классификатор]]
 
 
*[[Generative Adversarial Nets (GAN)|Порождающие состязательные сети]]
 
*[[Generative Adversarial Nets (GAN)|Порождающие состязательные сети]]
 
*[[Автокодировщик]]
 
*[[Автокодировщик]]
 
*[[Вариационный автокодировщик]]
 
*[[Вариационный автокодировщик]]
 +
 +
== См. также ==
 +
*[[Байесовская классификация#Наивный байесовский классификатор|Наивный байесовский классификатор(простейшая порождающая модель)]]
  
 
== Примечания ==
 
== Примечания ==

Пожалуйста, учтите, что любой ваш вклад в проект «Викиконспекты» может быть отредактирован или удалён другими участниками. Если вы не хотите, чтобы кто-либо изменял ваши тексты, не помещайте их сюда.
Вы также подтверждаете, что являетесь автором вносимых дополнений, или скопировали их из источника, допускающего свободное распространение и изменение своего содержимого (см. Викиконспекты:Авторские права). НЕ РАЗМЕЩАЙТЕ БЕЗ РАЗРЕШЕНИЯ ОХРАНЯЕМЫЕ АВТОРСКИМ ПРАВОМ МАТЕРИАЛЫ!

Чтобы изменить эту страницу, пожалуйста, ответьте на приведённый ниже вопрос (подробнее):

Отменить | Справка по редактированию (в новом окне)

Шаблон, используемый на этой странице: