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

Использование модулей оптимизации ограничений и / или логики поверх нейронных сетей стало довольно распространенной практикой для многих структурированных предсказаний задач в НЛП и компьютерном зрении. Например: BiLSTM-CRF для последовательности задач в NLP или использование CRF с потенциальной функцией, поступающей из нейронной сети, для задач сегментации изображений.

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

Как ограничения включаются в архитектуру глубокого обучения?

Существует четыре популярных метода, с помощью которых можно попытаться включить ограничения домена в нейронную архитектуру:

  • Использование слоя ограниченной оптимизации поверх нейронной сети
  • Добавление штрафа за нарушение ограничений
  • Ограничение, обеспечивающее архитектурный дизайн
  • Увеличение данных

Уровни ограниченной оптимизации

Некоторые из популярных уровней оптимизации с ограничениями - это решатели условного случайного поля, декодирования Витерби, целочисленного линейного программирования (ILP) или нелинейного программирования (NLP).

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

Давайте разберемся с этим, используя популярную архитектуру, в которой используется этот метод - BiLSTM CRF.

Предположим, вам дано предложение, и вы должны сделать для него тегирование части речи. Двунаправленная архитектура LSTM (или BiLSTM) обычно используется для такой задачи маркировки последовательностей. BiLSTM учитывает слово, которое нужно пометить, вместе со словами, предшествующими и последующими за ним, чтобы сгенерировать локальное вложение, которое используется для прогнозирования тега для текущего слова.

Теперь мы видим, что существует множество естественных ограничений на пространство вывода. Скажем, например, не часто можно встретить существительное, за которым следует прилагательное, или наречие, за которым следует наречие (все это мягкие ограничения, поскольку существуют некоторые исключения). Можно было бы подумать, что нейронная архитектура должна знать об этих ограничениях, но часто это не так. Это иллюстрируется более высокой эффективностью CRF, чем BiLSTM.

Новаторский подход заключался в объединении сильных сторон нейронных моделей с CRF, что привело к созданию архитектур BiLSTM-CRF или LSTM-CRF. Богатое встраивание, производимое BiLSTM, действует как функция для уровня CRF. Об этом подробнее здесь".

Подобные методы также использовались в компьютерном зрении, обычно для задач сегментации путем комбинирования HMM или CRF с нейронной сетью. См. Пример здесь.

Штраф за нарушение ограничений

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

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

Проектирование нейронной архитектуры для обеспечения соблюдения ограничений

Это был один из самых ранних, но наиболее труднодостижимых подходов к наложению ограничений. При таком подходе мы проектируем архитектуру таким образом, чтобы ограничения применялись автоматически. Мы можем получить интуитивное представление о таком методе, используя недавнюю работу, продвигающую этот подход: Дополнение нейронных сетей с помощью логики первого порядка. Работа ограничивается наложением ограничений на нейроны, которые имеют семантическое основание (таким образом, ограничивая подход к выходным нейронам или нейронам внимания для большинства практических сетей). Более того, ограничения имеют вид L -> R. Таким образом, всякий раз, когда активация L высока, активация R также должна быть высокой, и, таким образом, смещение, соответствующее активации L, добавляется к нейрону, ответственному за R, тем самым подталкивая R к более высокому уровню всякий раз, когда L высокий.

Расширение данных для усиления ограничений

Можно также усилить ограничения, пополнив данные, чтобы стимулировать сети более внимательно относиться к ограничениям. Чтобы снова получить представление об этом подходе, давайте рассмотрим Основанную на логике структуру для согласованности нейронных моделей. Таким образом, группа работала над задачей СНЛИ. Учитывая два утверждения P и Q, нужно сказать, влечет ли P за собой Q, P противоречит Q или эти два утверждения нейтральны. Естественно, можно видеть транзитивность следствия и коммутативность противоречий. Однако в документе показано, что модели SOTA для SNLI часто не обеспечивают соблюдение этой согласованности. Таким образом, основной вклад статьи заключается в использовании увеличения данных, чтобы обеспечить соблюдение этой согласованности. Например, если (P, Q) находится в наборе данных с меткой противоречит, то (Q, P) также следует добавить с меткой противоречит, таким образом заставляя модель изучать коммутативность.

Как мы можем узнать ограничения?

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

Обучение на основе состязательных ограничений для структурированного прогнозирования, Рен и др.

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

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

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

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

Forward Pass : Solve current approximated problem
Backward Pass: Improve approximated problem

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

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

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

Ура!