Порождающие модели — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
(Вычисление распределения)
(не показаны 4 промежуточные версии этого же участника)
Строка 1: Строка 1:
 
[[Файл:Generative_v_discriminative.png|420px|thumb|right|Порождающая модель пытается генерировать рукописные 0 и 1, для этого моделирует распределение по всему пространству данных. Напротив, дискриминативная модель старается разделить данные, без необходимости точно моделировать, как объекты размещаются по обе стороны от линии.]]
 
[[Файл:Generative_v_discriminative.png|420px|thumb|right|Порождающая модель пытается генерировать рукописные 0 и 1, для этого моделирует распределение по всему пространству данных. Напротив, дискриминативная модель старается разделить данные, без необходимости точно моделировать, как объекты размещаются по обе стороны от линии.]]
  
'''Порождающие модели''' (англ. ''generative model'') {{---}} это класс моделей совместного распределения вероятностей <tex>p(x, y)</tex> для генерации новых объектов на основе исходных данных.
+
'''Порождающие модели''' (англ. ''generative model'') {{---}} это класс моделей, которые обучают ''совместное'' распределение<ref> [https://en.wikipedia.org/wiki/Joint_probability_distribution Joint probability distribution]</ref> данных <tex>p(x, y)</tex>; отсюда легко получить ''условное'' распределение <tex>p(y | x)={p(x, y)\over p(x)}</tex>, но совместное даёт больше информации и его можно использовать, например, для ''генерации'' новых фотографий животных, которые выглядят как настоящие животные.
  
Порождающая модель может генерировать новые фотографии животных, которые выглядят как настоящие животные, в то время как дискриминативная модель (англ. ''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> обучает только ''условное'' распределение и может, например, отличить собаку от кошки.
  
 
== Классификация задачи ==
 
== Классификация задачи ==
Строка 12: Строка 12:
 
Мы хотим научиться создавать правдоподобный объект относительно некоторой скрытой структуры исходных объектов. Давайте изучим распределение по ним, а затем просто будем сэмплировать новый объект из этого распределения. Значит эта задача относится к классу задач [[Общие понятия#Обучение без учителя (англ. Unsupervised learning)|обучения без учителя]].
 
Мы хотим научиться создавать правдоподобный объект относительно некоторой скрытой структуры исходных объектов. Давайте изучим распределение по ним, а затем просто будем сэмплировать новый объект из этого распределения. Значит эта задача относится к классу задач [[Общие понятия#Обучение без учителя (англ. Unsupervised learning)|обучения без учителя]].
  
== Вычисление распределения ==
+
== Вычисление плотности распределения ==
[[Файл:Tax2.png|500px|thumb|right]]
+
[[Файл:Tax2.jpg|500px|thumb|right]]
 +
С математической точки зрения основная цель порождающей модели обычно состоит в максимизации функции правдоподобия: для набора данных
 
Оценка плотности распределения является основной задачей порождающих моделей.
 
Оценка плотности распределения является основной задачей порождающих моделей.
  
Строка 26: Строка 27:
  
 
== См. также ==
 
== См. также ==
*[[Байесовская классификация#Наивный байесовский классификатор|Наивный байесовский классификатор(как пример простейшей порождающей модели)]]
+
*[[Байесовская классификация#Наивный байесовский классификатор|Наивный байесовский классификатор(простейшая порождающая модель)]]
  
 +
== Примечания ==
 
*[https://towardsdatascience.com/generating-passwords-with-generative-models-from-probabilistic-to-deep-learning-approaches-54d41d8810e3 Примеры генерации паролей на основе исходного распределения]
 
*[https://towardsdatascience.com/generating-passwords-with-generative-models-from-probabilistic-to-deep-learning-approaches-54d41d8810e3 Примеры генерации паролей на основе исходного распределения]
 
== Примечания ==
 
 
<references/>
 
<references/>
  
Строка 36: Строка 36:
 
*[https://en.wikipedia.org/wiki/Generative_model Generative_model]
 
*[https://en.wikipedia.org/wiki/Generative_model Generative_model]
 
*[https://developers.google.com/machine-learning/gan/generative Google courses с примерами на понимание]
 
*[https://developers.google.com/machine-learning/gan/generative Google courses с примерами на понимание]
 +
*[https://arxiv.org/abs/1701.00160 NIPS 2016 Tutorial: Generative Adversarial Networks(Ian Goodfellow, 2016)]
  
 
[[Категория: Машинное обучение]]
 
[[Категория: Машинное обучение]]
 
[[Категория: Порождающие модели]]
 
[[Категория: Порождающие модели]]

Версия 21:17, 16 февраля 2020

Порождающая модель пытается генерировать рукописные 0 и 1, для этого моделирует распределение по всему пространству данных. Напротив, дискриминативная модель старается разделить данные, без необходимости точно моделировать, как объекты размещаются по обе стороны от линии.

Порождающие модели (англ. generative model) — это класс моделей, которые обучают совместное распределение[1] данных [math]p(x, y)[/math]; отсюда легко получить условное распределение [math]p(y | x)={p(x, y)\over p(x)}[/math], но совместное даёт больше информации и его можно использовать, например, для генерации новых фотографий животных, которые выглядят как настоящие животные.

С другой стороны, дискриминативная модель (англ. discriminative model)[2] обучает только условное распределение и может, например, отличить собаку от кошки.

Классификация задачи

Можно использовать некоторые эмпирические правила для генерации новых объектов, не используя машинного обучения.

Требуется чтобы новые объекты были правдоподобными в своей области. Новое изображение человека должно быть правдоподобным, как изображение, но также человек на нём должен быть правдоподобным как человек.

Мы хотим научиться создавать правдоподобный объект относительно некоторой скрытой структуры исходных объектов. Давайте изучим распределение по ним, а затем просто будем сэмплировать новый объект из этого распределения. Значит эта задача относится к классу задач обучения без учителя.

Вычисление плотности распределения

Tax2.jpg

С математической точки зрения основная цель порождающей модели обычно состоит в максимизации функции правдоподобия: для набора данных Оценка плотности распределения является основной задачей порождающих моделей.

Два основных подхода:

  • Явный: определить распределение [math]p_{model}[/math], описывающее объекты и генерировать данные из него
  • Неявный: получить некоторое распределение, оценить его близость с [math]p_{model}[/math] через дивергенцию Кульбака-Лейблера[3]

Глубокие порождающие модели на основе нейронных сетей

См. также

Примечания

Источники информации