Некоторые мысли о реализации смарт-макета с использованием рекурсивных автоэнкодеров

внешний интерфейс
Некоторые мысли о реализации смарт-макета с использованием рекурсивных автоэнкодеров

Текст/Отсутствие Луны


Обзор


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


"ЧИТАЙТЕ: Рекурсивные автоэнкодеры для создания макета документа" В этой статье предлагается метод, который использует комбинацию рекуррентных нейронных сетей и автоэнкодеров для автоматического создания различных макетов из случайных распределений Гаусса. В то же время для метода измерения вводится комбинированный метод метрик. хорошо или плохо. На следующих страницах мы в основном представим метод этой статьи и некоторые мысли о приземлении во фронтенд-сцене.Что касается статьи, заинтересованные читатели могут далеечитать здесь.


Рекуррентные нейронные сети и автоэнкодеры


Прежде чем представить эту статью, я хотел бы кратко представить два метода, рекуррентную нейронную сеть (RVNN) и вариационный автоэнкодер (VAE), чтобы лучше понять.


Рекуррентная нейронная сеть


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


image.png


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


image.png


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


VAE


VAE — это своего рода автоэнкодер. Я полагаю, что читатели, знакомые с GAN, также знакомы с VAE. Давайте сначала кратко представим автоэнкодер.


image.png


Общая идея автоэнкодера состоит в том, что если у вас сегодня есть две сети, то первая сеть отвечает за отображение вектора x в многомерном пространстве на вектор z в низкоразмерном пространстве, например, на рисунке , мы сопоставляем изображение с размерным вектором, а затем вторая сеть отвечает за сопоставление этого вектора z с вектором x1 в многомерном пространстве.Цель нашего обучения — сделать x и x1 максимально близкими. Таким образом, мы можем думать, что этот вектор z является представлением x, и аналогичным образом мы убираем обученный x1 и становимся генеративной сетью, которая может генерировать соответствующее изображение, представленное z.


VAE внес некоторые улучшения в самокодировщик.Даже если VAE основан на самокодировщике, кодировщик генерирует дополнительный случайный вектор дисперсии.В то же время эта дисперсия и z объединяются вместе, чтобы перейти к следующему шагу для сделать модель более стабильной.


Как представить обучающие данные


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


image.png


Как показано на рисунке выше, чтобы лучше адаптировать рекурсивную сеть, мы сначала преобразуем данные в форму бинарного дерева.Просматриваем проектный документ слева направо и сверху вниз.Для каждого базового элемента фактический Это эквивалентно листовому узлу, а затем узлы объединяются снизу вверх в порядке сканирования.Объединенный узел называется внутренним узлом, поэтому он в конечном итоге сольется в корневой узел. Обратите внимание, что каждый внутренний узел на самом деле имеет информацию об относительном положении, которая представляет собой относительное положение двух элементов перед слиянием, которое можно разделить на правое, нижнее правое, нижнее, закрытое, нижнее левое и т. д. Ширина и высота ограничивающей рамки каждого конечного узла сначала будут нормализованы до [0, 1]


Рекурсивное построение модели


Для обучающих данных мы соединим ширину и высоту каждого листового узла и информацию о классификации в вектор, значения ширины и высоты находятся между [0, 1], классификация представляет собой однократный вектор, а затем мы используем однослойную нейронную сеть. Сеть отображает этот вектор соединения в плотный вектор nD, где n — эмпирическое значение 300, введенное в статье. Таким образом, вход фактически представляет собой 300-мерный вектор.


Кодер (кодер пространственных отношений SRE)


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



Как показано в формуле, x1 x2 — это вектор n_D двух входных узлов, а r представляет относительное положение двух векторов на основе элемента слева. Функция f представляет собой выражение для многослойного персептрона текущего кодировщика. Это постоянно кодируется в рекурсивной сети и, наконец, объединяется в вектор, представляющий корневой узел.


Декодер (декодер пространственных отношений SRD)


Это очень просто, декодер — это прямой процесс выше, а родительский узел разбивается на два узла.



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


Обучите модель


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



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


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


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


является расхождением KL между пространством p (z), представленным вектором конечного корневого узла, и стандартным гауссовским распределением q (z), поскольку мы в конечном итоге хотим, чтобы вход в наш декодер был случайным вектором, выбранным из гауссовского распределения, Затем модель может автоматически генерировать макет, поэтому мы хотим, чтобы вектор корневого узла был как можно более гауссовым.


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


модель измерения


В этой статье представлен их собственный метод измерения, который они назвали DocSim, который, как следует из названия, измеряет сходство документов. Этот метод фактически основан на методе BLEU, который представляет собой набор схем, используемых для измерения систем перевода. DocSimАналогичным образом сравнивая два данных документа, D, D', для любой пары ограничивающих рамок B ∈ D и B' ∈ D, мы назначаем метрику для измерения того, насколько B и B' похожи по форме, местоположению и классификации, итоговая оценка измерения — общий вес индикаторов измерения для ограничивающей рамки.


Экспериментальный набор данных


Набор данных ICDAR2015


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


Набор данных, запрашиваемый пользователем (США)


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


Результаты экспериментов

image.png


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


image.png


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


некоторые размышления


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


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