Изменения

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

Порождающие модели

40 байт убрано, 00:40, 18 февраля 2020
Вычисление плотности распределения
С математической точки зрения основная цель порождающей модели обычно состоит в максимизации функции '''правдоподобия''': для набора данных <tex>X = \{x_i\}</tex> максимизировать <tex>\displaystyle \prod_i p_{model}(x_i;\theta)</tex> по параметрам модели <tex>\theta</tex>, т.е. найти <math>\theta^* = \underset{\theta}{\operatorname{argmax}} \displaystyle \prod_i p_{model}(x_i;\theta)</math>
===Потеря порядка===
Чтобы избежать арифметического переполнения снизу<ref>[https://ru.wikipedia.org/wiki/Исчезновение_порядка Исчезновение порядка]</ref> зачастую пользуются свойством логарифма произведения <tex>\log ab = \log a+\log b</tex>. Благодаря моннотоности логарифма, его применение к обоим частям выражения не изменит параметры, при которых достигается максимум. При этом, логарифм от числа близкого к нулю будет числом отрицательным, но в абсолютном значении существенно большим чем исходное число, что делает логарифмические значения вероятностей более удобными для анализа. Что в нашем случае с вероятности очень уместно. Поэтому, мы переписываем нашу формулу с использованием логарифма.
и минимизация этого выражения эквивалентна максимизации того, что выше.
===Таксономия порождающих моделей===
[[Файл:Tax2.jpg|500px|thumb|right|Таксономия порождающих моделей]]
Генеративные модели различаются как раз тем, как именно они строят рас­пределение <tex>p(x; \theta)</tex>.
====Явный подход====
Можно строить это распределение ''явно'', делая вероятностные предположения, которые обычно сводятся к тому, что общее распределение <tex>p(x; \theta)</tex> выражается в виде произведения тех или иных распределений.
Если хочется явно выразить совсем сложные распределения в порождающих моделях, их приходится приближать более простыми, которые уже, в свою очередь, могут быть выражены явно. Для этого обычно используются [[Вариационный автокодировщик|вариационные мето­ды]].
====Неявный подход====
Основная альтернатива всему этому состоит в том, чтобы использовать ''неявные'' порождающие модели, в которых мы не пытаемся получить функцию, подсчитывающую плотность нужного распределения в каждой точке, а просто мо­делируем то, что нам от этой модели нужно. Например, если мы хотим просто научиться порождать фото­графии милых котиков, нам не так важно иметь явную функцию плотности <tex>p(x)</tex>, которая могла бы сказать, насколько вероятно, что перед нами котик, - вполне до­статочно просто уметь генерировать новые <tex>x \sim p(x)</tex>.
76
правок

Навигация