Изменения
Нет описания правки
'''Задача генерации объектов''' (англ. ''object generation problem'') {{---}} задача, связанная с машинным обучением, заключающаяся в создании новых правдоподобных объектов на основании заданной выборки.
Полученные объекты могут как быть использованы независимо как для прикладных целей (в таком случае, это чаще всего изображения), так и для устранения несбалансированности классов (''оверсэмплинг'') генерации объектов для тренировочной выборки, когда размечать настоящие данные — долго и дальнейшей обработки данных (обычно ''классификации'')дорого, или их нужно анонимизировать. В зависимости от того, для какой из этих целей используется генерация объектов, постановка задачи и методы её решения несколько отличаются.
== Генерация объектов для прикладных целей ==
=== Применение ===
=== Используемые модели ===
Для достижения данной цели обычно используются [[Порождающие модели | порождающие модели]]. В таком варианте в качестве задачи ставится восстановление совместного распределения <tex>p(x,y)</tex>, где <tex>y</tex> — это один бит, отвечающий за отдельный признак (то есть тот класс, к которому должна принадлежать созданный объект; например, фотография человека), а <tex>x</tex> — это весь объект (фотография).
Чаще всего порождаемый объект <tex>X</tex> представляет собой набор элементов <tex>X = \{x_i\}</tex>, что позволяет порождать объект по частям. Для изображения, например, такими частями будут являться пиксели. Таким образом, при порождении следующих частей объекта мы можем опираться на уже созданные, и тогда перед нами встаёт задача максимизация функции правдоподобия: для набора данных <tex>X = \{x_i\}</tex> максимизировать <tex>\displaystyle \prod_i p_{\operatorname{model}}(x_i;,\theta)</tex> по параметрам модели θ<tex>\theta</tex>, т.е. найти <math>\theta^* = \underset{\theta}{\operatorname{argmax}} \displaystyle \prod_i p_{\operatorname{model}}(x_i;,\theta)</math>. Эта задача относится к классу задач обучения без учителя или с частичным привлечением учителя. При её решении либо работают с явными распределениями, сводя распределение <tex>p(x,y)</tex> к произведению распределений определённой структуры, либо используют неявные модели, которые не восстанавливают всю функцию плотности, а только моделируют ту часть этой функции, которая нужна непосредственно. Стоит отметить, что простые порождающие модели, такие как наивный байесовский классификатор, не показывают достаточное качество результата, чтобы на их основе можно было сгенерировать полноценные мультимедиа объекты. Из класса порождающих моделей при генерации именно изображений особенно хорошо показали себя модели [[Generative Adversarial Nets (GAN) | состязательных сетей]], [[PixelRNN и PixelCNN | PixelRNN и PixelCNN]], а также DRAW (рисуют изображение с помощью сочетания [[Рекуррентные нейронные сети | рекуррентных НС]] и [[Механизм внимания | механизма внимания]]). Также стоит отметить модель [https://en.wikipedia.org/wiki/WaveNet WaveNet], используемую для создания звуковых записей. Эта модель создана в 2016 году, а к 2018 году, после нескольких оптимизаций вычислительной сложности, она нашла применение в Google при создании образцов речи на различных языках.<!---
== Оверсэмплинг ==
'''ADASYN''' (''Adaptive synthetic sampling'') – семейство методов, являющихся попыткой «адаптации» SMOTE, то есть создания объектов, с которыми на выборке будет показан лучший результат классификации. Такие методы могут: создавать больше данных на миноритарных классах, на которых обучение сложнее; изменять пространство объектов в сторону точек, у которых соседи неоднородны; просто добавлять случайное изменение к генерируемым точкам для создания естественного шума.
-->
==См. также==
*[[Generative Adversarial Nets (GAN)]]
*[[Генерация изображения по тексту]]
*[[Порождающие модели]]
== Примечания ==
<references/>
== Источники ==
<li>[https://en.wikipedia.org/wiki/Generative_adversarial_network Генеративно-состязательная сеть]</li>
<li>[https://en.wikipedia.org/wiki/WaveNet WaveNet]</li>
<li>[https://ru.wikipedia.org/wiki/%D0%93%D0%B5%D0%BD%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80_%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%B0 Генератор текста] </li>
<!---
<li>[https://en.wikipedia.org/wiki/Oversampling_and_undersampling_in_data_analysis Оверсемплинг]</li>
<li>[https://www.kaggle.com/residentmario/oversampling-with-smote-and-adasyn Оверсемплинг с SMOTE]</li>
<li>[https://medium.com/coinmonks/smote-and-adasyn-handling-imbalanced-data-set-34f5223e167 Методы работы с небалансными данными в SMOTE и ADASYN]</li>
-->
<li>[https://towardsdatascience.com/dealing-with-imbalanced-classes-in-machine-learning-d43d6fa19d2 Методы работы с небалансными классами]</li>
<li>[https://basegroup.ru/community/articles/imbalance-datasets Несбалансированные датасеты]</li>
</ol>
[[Категория: Машинное обучение]]
[[Категория: Порождающие модели]]
[[Категория: Генерация объектов]]