Генерация объектов — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
(Применение)
м (Источники)
Строка 97: Строка 97:
 
[[Категория: Машинное обучение]]
 
[[Категория: Машинное обучение]]
 
[[Категория: Порождающие модели]]
 
[[Категория: Порождающие модели]]
 +
[[Категория: Генерация объектов]]

Версия 19:03, 3 января 2021

Эта статья находится в разработке!


Задача генерации объектов (англ. object generation problem) — задача, связанная с машинным обучением, заключающаяся в создании новых правдоподобных объектов на основании заданной выборки. Полученные объекты могут как быть использованы независимо для прикладных целей (в таком случае, это чаще всего изображения), так и для устранения несбалансированности классов (оверсэмплинг) и дальнейшей обработки данных (обычно классификации). В зависимости от того, для какой из этих целей используется генерация объектов, постановка задачи и методы её решения несколько отличаются.

Генерация объектов для прикладных целей

Применение

Изображения

В искусстве и рекламе

При генерации объектов основная задача обычно состоит в том, чтобы научиться создавать изображения, которые человек не может отличить от изображений, полученных иных путём. Такие изображения могут использоваться, среди прочего, для более дешёвого создания модельных снимков, обложек или пейзажей. Одним из ярких примеров такого использования является создание фотографий вымышленных людей для рекламы в расчёте на то, что люди будут больше ассоциировать себя с образом, не представляющим кого-либо конкретного, но сочетающим в себе те черты, которые есть у них самих. А модель GAN под названием Speech2Face может реконструировать изображение лица человека после прослушивания его голоса.

В науке

Генерация объектов может улучшать астрономические изображения и использоваться при моделировании дорогостоящих для изучения физических процессов. Так, в 2019 году при помощи состязательных сетей были успешно смоделированы распределения темной материи в определенном направлении в пространстве и составлены предсказания гравитационного линзирования.

GAN также может использоваться для обнаружения глаукомных изображений, помогая ранней диагностике, которая необходима для предотвращения частичной или полной потери зрения.[1]

Музыка и звуки

В Google активно используется модель WaveNet которая способна генерировать речь, похожую на голос любого человека, и другие звуки, включая музыку (например, композиции на пианино).


Анимация и игры

Еще генерация объектов может использоваться при воссоздании текстур старых игр в лучшем расширении (пример игры, для которой был использован такой метод – Resident Evil ).

Пример сгенерированного изображения

Используемые модели

Для достижения данной цели обычно используются порождающие модели. В таком варианте в качестве задачи ставится восстановление совместного распределения [math]p(x,y)[/math], где [math]y[/math] — это один бит, отвечающий за отдельный признак (то есть тот класс, к которому должна принадлежать созданный объект; например, фотография человека), а [math]x[/math] — это весь объект (фотография). Чаще всего порождаемый объект [math]X[/math] представляет собой набор элементов [math]X = \{x_i\}[/math], что позволяет порождать объект по частям. Для изображения, например, такими частями будут являться пиксели. Таким образом, при порождении следующих частей объекта мы можем опираться на уже созданные, и тогда перед нами встаёт задача максимизация функции правдоподобия: для набора данных [math]X = \{x_i\}[/math] максимизировать [math]\displaystyle \prod_i p_{\operatorname{model}}(x_i,\theta)[/math] по параметрам модели θ, т.е. найти [math]\theta^* = \underset{\theta}{\operatorname{argmax}} \displaystyle \prod_i p_{\operatorname{model}}(x_i,\theta)[/math]. Эта задача относится к классу задач обучения без учителя или с частичным привлечением учителя. При её решении либо работают с явными распределениями, сводя распределение [math]p(x,y)[/math] к произведению распределений определённой структуры, либо используют неявные модели, которые не восстанавливают всю функцию плотности, а только моделируют ту часть этой функции, которая нужна непосредственно. Стоит отметить, что простые порождающие модели, такие как наивный байесовский классификатор, не показывают достаточное качество результата, чтобы на их основе можно было сгенерировать полноценные мультимедиа объекты. Из класса порождающих моделей при генерации именно изображений особенно хорошо показали себя модели состязательных сетей, PixelRNN и PixelCNN, а также DRAW (рисуют изображение с помощью сочетания рекуррентных НС и механизма внимания). Также стоит отметить модель WaveNet, используемую для создания звуковых записей. Эта модель создана в 2016 году, а к 2018 году, после нескольких оптимизаций вычислительной сложности, она нашла применение в Google при создании образцов речи на различных языках.

Источники

  1. Генеративно-состязательная сеть
  2. WaveNet
  3. Методы работы с небалансными классами
  4. Несбалансированные датасеты
  1. [1] Статья про обнаружение глаукомных изображений