Изучение полезности гиперсетей в преодолении ограничений традиционных моделей при инвертировании дискриминантных представлений.

Вступление

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

К сожалению, обучение глубоким и выразительным генеративным моделям оказалось очень сложной задачей. Использование дискриминантно обученных представлений изображений по-прежнему является предпочтительным методом в последующих задачах компьютерного зрения, включая как прикладные задачи обнаружения и распознавания объектов, так и задачи семантического видения, такие как создание подписей к изображениям или визуальные ответы на вопросы.

Вот почему инвертирование дискриминативно обученных мощных представлений представляет определенный интерес как практический инструмент, облегчающий построение лучших генеративных моделей для семантического видения (хотя можно утверждать, что неконтролируемое обучение или обучение с подкреплением представлений более AGI-ish).

Имея под рукой высокоуровневые отличительные особенности, можно обучить декодер или условную генеративную состязательную сеть. Чтобы еще больше упростить процесс обучения генеративной модели, можно использовать промежуточные отличительные признаки для управления реконструкцией или выборкой, как в сложенных GAN.

В этой статье мы представляем дополнительную возможность для улучшения моделей инвертирования дискриминативных представлений: гиперсети. Они кажутся полезными в качестве декодеров, по крайней мере, для инвертирования некоторых отличительных признаков. Здесь мы будем использовать термин HyperNets в соответствии с определением, изложенным в нашем предыдущем сообщении: имея в виду искусственные нейронные сети, которые имеют соединения более высокого порядка, то есть соединения на соединениях.

Задача

Гиперсети для аппроксимации семейств функций

Целью дискриминантных моделей является прогнозирование целевых переменных (например, меток классов) с учетом наблюдаемых переменных (например, изображений). Значения этих целевых переменных обычно инвариантны для определенных преобразований входных шаблонов. Таким образом, дискриминантные модели, естественно, извлекают выгоду из обучающих представлений, которые отбрасывают нерелевантную информацию. Вот почему необходимы некоторые дополнительные функции n для создания или реконструкции конкретного изображения x = g (n | z), несмотря на высокоуровневые отличительные особенности z = f (x). Эти характеристики можно рассматривать как «шум», отобранный из определенного предварительного распределения, например n ~ N (0, I) в чисто генеративных настройках (вызывая условное распределение p (x | z)) или как расширение скрытого кода, созданного дополнительным кодировщиком n = e (x ) в случае автоэнкодеров.

Однако вопрос в том, как смешать эти функции - z и n - в генераторе. Самый простой способ - просто взять их конкатенацию и обучить генератор как (приближение) функцию рендеринга двух аргументов. Увы, эти аргументы весьма различны по своей природе. В то время как признаки « описывают высокоуровневое содержимое изображения, вектор « можно поставить в соответствие параметрам некоторого преобразования изображения. Это более точно моделируется как параметрическое семейство функций, а не как отдельная функция двух аргументов.

Как мы обсуждали в одном из наших предыдущих постов, традиционные нейронные сети плохо подходят для аппроксимации семейств функций. В частности, если n содержит параметры пространственного преобразования, то обычные сети первого порядка не могут обобщить преобразование - сами по себе отделенные от содержимого изображения. Кроме того, восстановление изображений для этих значений параметров преобразования оказывается неудачным; для которых аналогичные изображения не были представлены в обучающей выборке.

И наоборот, гиперсети успешно справляются с этой задачей благодаря своей способности аппроксимировать классы функций, отображать параметры функций на веса аппроксимирующей нейронной сети и естественным образом отделять это отображение от содержимого изображения.

Когда изображения подвергаются известным классам пространственных преобразований, можно эффективно использовать специализированные модели. Тем не менее, инвертирование дискриминантных представлений не является надуманным практическим случаем неизвестного преобразования, которое необходимо изучить, что делает эту задачу интересным тестовым приложением для гиперсетей.

Зачем инвертировать Faster R-CNN?

Faster R-CNN - широко используемый метод обнаружения и распознавания объектов. Поскольку он обучен распознавать ограниченный набор классов, не метки, присвоенные извлеченным ограничивающим рамкам вокруг заметных объектов, а их высокоуровневые функции, которые могут быть полезны. Например, несколько моделей визуальных ответов на вопросы (VQA) построены на основе Faster R-CNN (например, здесь). Однако задача VQA предполагает не только способность распознавать расширенный набор классов объектов, но также идентифицировать их атрибуты (как общие, так и специфичные для классов), выполняемые действия, отношения и многое другое, что требует перехода к визуальным функциям.

Обычной практикой является точная настройка относительно общих функций, обученных на широком наборе данных (например, функции ResNet, обученные на ImageNet) или наборе данных из целевого домена. В противном случае эти функции не будут отображаться на должном уровне (см., Например, этот документ). Таким образом, тонкая настройка функций Faster R-CNN желательна для VQA, хотя обычно и не выполняется. Однако проблема заключается в том, что метки для ограничивающих рамок отсутствуют в наборах данных VQA, и точная настройка не может быть выполнена под наблюдением.

В таких ситуациях могут помочь генеративные модели, потому что они описывают распределение плотности входных паттернов, и это распределение можно точно настроить для соответствия новому набору данных без надзора. Другими словами, сначала нужно обучить генеративную модель, обусловленную дискриминационным функции в том же наборе данных, который использовался для обучения дискриминантной модели.

Прежде чем пытаться построить полноценную генеративную модель, мы хотели бы спросить, какой декодер будет способен восстанавливать содержимое ограничивающих рамок на основе функций Faster R-CNN (и такой декодер сам по себе может быть полезен для неконтролируемых пользователей). тонкая настройка).

Ниже мы опишем попытку создать декодер, который сможет восстанавливать изображения в ограничивающих прямоугольниках с помощью их функций Faster R-CNN.

Эксперименты

Реконструкция только на основе функций Faster R-CNN

Давайте сначала начнем с наивной модели, которая пытается реконструировать изображения в ограничивающих прямоугольниках исключительно на основе функций Faster R-CNN (предварительно обученных на ImageNet и тонко настроенных на Visual Genome). Мы использовали модель со следующей архитектурой:

Мы обучили модель различным подмножествам Visual Genome.

Можно было ожидать, что функции Faster R-CNN будут достаточно богатыми, и исходные изображения будут реконструированы по ним, однако на самом деле это не так. Восстановленные изображения выглядят довольно размытыми:

Углубление модели может помочь улучшить результаты, но мы рассмотрим разные модели одинаковой малой глубины, чтобы разница в качестве реконструкции была более заметной.

Кодирование потерянной информации

Как было отмечено выше, дискриминантные модели в целом выигрывают от отказа от некоторых факторов вариации (например, конкретного положения объектов), по отношению к которым результаты распознавания должны быть инвариантными. Таким образом, естественно расширить возможности Faster R-CNN некоторыми скрытыми функциями, созданными дополнительным кодировщиком, таким образом, чтобы можно было успешно восстановить исходные изображения. Предполагается, что эти дополнительные функции являются параметрами некоторого преобразования, и их количество не должно быть большим, чтобы избежать прямого кодирования в них содержимого изображения.

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

Декодер такой же, как и раньше, но он принимает в качестве входных данных конкатенированный Faster R-CNN и с дополнительными изученными функциями:

Неудивительно, что эта модель может производить более качественные реконструкции. Однако, хотя его результаты на наборе поездов разумны, реконструкции тестовых изображений по-прежнему плохие:

Хотя декодер использует функции Faster R-CNN, он не может обобщить за пределами обучающего набора, как объединить их с дополнительными скрытыми функциями.

Использование гиперсетей

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

Здесь мы не знаем, какое преобразование следует применить и какие у него параметры, но мы можем надеяться, что дополнительный кодировщик изучит такой скрытый код и что HyperNet изучит преобразование, которое декодер сможет восстановить из изображений.

Мы использовали следующую архитектуру для декодера, в то время как дополнительный кодировщик идентичен приведенному выше, но его функции передаются в сеть управления вместо того, чтобы объединять их с функциями Faster R-CNN (код можно найти здесь):

HyperNet обеспечивает значительно лучшую реконструкцию:

Следует подчеркнуть, что модель действительно использует функции Faster R-CNN и не игнорирует их, просто обучая дополнительный кодировщик. Действительно, если мы обучим ту же модель, но заменим функции Faster R-CNN нулями, результат - даже на обучающей выборке - будет:

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

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

В заключение важно отметить тот факт, что разделение скрытого кода на признаки, описывающие содержимое изображения, и параметры его преобразования облегчают задачу обучения инверсии представления. Эти части скрытого кода имеют разные вычислительные эффекты. Если попытаться изучить представление, в котором все скрытые переменные вызывают одинаковые вычисления, будет труднее разделить эти два типа переменных. Следовательно, учитывая вышеупомянутые ограничения более традиционных методов, было бы целесообразно использовать HyperNets в задаче изучения распутанных представлений.

Как вы можете принять участие?

Если вы хотите узнать больше о SingularityNET, у нас есть увлеченное и талантливое сообщество, с которым вы можете связаться, посетив наш Форум сообщества. Не стесняйтесь поздороваться и представиться здесь. Мы гордимся нашими разработчиками и исследователями, которые активно публикуют свои исследования на благо сообщества; Вы можете прочитать исследование здесь.

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