Получение разреженного максимума решения в замкнутой форме и лежащая в его основе функция потерь

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

1. Обзор Sparsemax

В статье От Softmax к Sparsemax: разреженная модель внимания и мульти-меточная классификация Мартинс и др. предложите новую альтернативу широко известной функции активации softmax, представив Sparsemax.

Хотя softmax является подходящим выбором для мультиклассовой классификации, которая выводит нормализованное распределение вероятностей по K вероятностям, во многих задачах мы хотим получить более разреженный результат. Martins et al. ввести новую функцию активации, называемую sparsemax, которая выводит разреженные вероятности полиномиального распределения и, следовательно, отфильтровывает шум из массы распределения. Это означает, что sparsemax будет назначать вероятность точно 0 для некоторых классов, в то время как softmax вместо этого сохранит эти классы и назначит им очень маленькие значения, например 10⁻³. Sparsemax может быть особенно полезен в больших задачах классификации; например, в задачах обработки естественного языка (NLP), где слой softmax моделирует полиномиальное распределение по очень большому словарному набору.

Однако на практике преобразование функции softmax в разреженную оценку не является простой задачей. Получение такого преобразования при сохранении некоторых фундаментальных свойств softmax - например, простая для вычисления, недорогая для дифференцирования и легко преобразованная в выпуклую функцию потерь - оказывается довольно сложной задачей. Традиционный способ обойти это в машинном обучении - использовать штраф L1, который допускает некоторый уровень разреженности в отношении входных переменных и / или глубоких слоев в нейронных сетях. Хотя этот подход относительно прост, штраф L1 влияет на веса нейронной сети, а не на целевые выходы как разреженные вероятности. Таким образом, Martins et al. признают необходимость дополнительной функции активации, т.е. sparsemax, которую они формулируют как решаемую квадратичную задачу, и находят решение при наборе ограничений для получения свойств, аналогичных softmax.

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

  • Sparsemax - это кусочно-линейная функция активации

В то время как форма softmax эквивалентна традиционной сигмовидной форме, sparsemax является «твердой» сигмоидной в одном измерении. Кроме того, в двух измерениях sparsemax является кусочно-линейной функцией с целыми зонами насыщения (0 или 1). Вот рисунок из бумаги, который поможет вам визуализировать softmax и sparsemax.

  • Sparsemax Loss относится к классификации Huber Loss

Производная функция потерь sparsemax в двоичном случае напрямую связана с модифицированными потерями Хубера, используемыми для классификации (определенными в Чжан, Тонг. Статистическое поведение и согласованность методов классификации, основанных на минимизации выпуклого риска. Анналы статистики, стр. 56–85 , 2004 »и Цзоу, Хуэй, Чжу, Цзи, и Хасти, Тревор. Вектор маржи, допустимые потери и многоклассовые классификаторы маржи. Технический отчет, Стэнфордский университет, 2006 ). То есть, если x и y - это два значения перед sparsemax, с использованием слоя sparsemax и потерь sparsemax, с t = x - y , и предполагая без ограничения общности, что правильная метка - 1, мы можем показать, что:

Это хорошее свойство, которое доказывает теоретическую основу sparsemax; Потеря Хубера - это компромисс между штрафами L1 и L2, что мы и пытаемся получить от активации softmax, включая разреженность. Кроме того, это сходство с потерями Хубера может быть продемонстрировано путем сравнения потерь с другими стандартными классификационными потерями:

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

  • Sparsemax может повысить производительность по мере роста количества классов

Было показано, что фреймворк sparsemax особенно хорошо работает с наборами данных с большим количеством меток. В приведенном ниже примере вы можете увидеть несколько наборов данных и их детали в таблице 1, а микро-усредненные / макро-усредненные оценки F1 для различных функций активации, т.е. sigmoid, softmax и sparsemax, в таблице 2. Мы видим, что с увеличением количества меток (т.е. нижних строк) повышение производительности sparsemax становится все более очевидным по сравнению с softmax.

  • Sparsemax можно использовать в моделях внимания для потенциального повышения эффективности и большей объяснимости

Идея разреженных результатов также может быть использована в моделях глубокого обучения с механизмами внимания - классе нейронных сетей, вычисляющих веса внимания по потенциально большому количеству объектов. Доказано, что такие механизмы внимания особенно эффективны в задачах НЛП, таких как перевод или языковое моделирование, что привело к созданию так называемых преобразователей, т.е. единовременной архитектуры модели, использующей самовнимание (подробнее см. Attention Is All You Need, Vaswani et al., 2017), широко используемое в современных языковых моделях, таких как BERT (см. BERT: Предварительная подготовка глубинных двунаправленных преобразователей для Понимание языка, Девлин и др., 2018 ). Получение строгих нулевых вероятностей из sparsemax имеет то преимущество, что полностью устраняет влияние некоторых скрытых состояний (слов), если они считаются несущественными, по сравнению с softmax, где сумма бесконечно малых вкладов всех нерелевантных состояний в конечном итоге накапливается и может повлиять на производительность модели. . Кроме того, с нулевыми вероятностями мы усиливаем одно главное преимущество внимания: объяснимость. Использование разреженных оценок помогает очистить карты внимания и проясняет, как работает система внимания.

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

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

2. Функция активации Sparsemax

Обзор Softmax

Softmax - это обобщение сигмоидной на мультиклассовую классификацию. Он использует логит-преобразование для сопоставления всех оценок z с вероятностями p∈ [0,1]:

Концептуально для набора классов K softmax - это функция, отображающая векторы в ℝᴷ на распределение вероятностей в Δᴷ¯¹, ie в симплекс вероятностей K -1. Точнее:

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

Softmax имеет полную поддержку, т.е. выходы с ненулевым значением, математически определяемые как

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

Определение слова Sparsemax

Авторы формулируют функцию активации sparsemax как задачу оптимизации с квадратичными ограничениями:

Это эквивалентно определению его как евклидовой проекции z на вероятностный симплекс Δᴷ ¯ ¹. Разреженность возникает из-за того, что вероятность столкновения с границей симплекса во время проекции высока и, таким образом, делает некоторые размеры равными нулю.

Закрытая форма решения

Приведенное выше определение sparsemax может быть записано в его замкнутом виде как

где 𝜏 представляет пороговую функцию. Мы формально выведем это уравнение шаг за шагом в разделе 3.

Аналогично, также может быть выражено в своем решении в замкнутой форме как

Псевдокод алгоритма 1 ниже суммирует этот набор уравнений и может помочь лучше понять этапы вычисления разреженного максимума вектора z:

Сложная часть - определить пороговое значение 𝜏 (z); мы вернемся к этому во время доказательства в разделе 3. Наконец, выводимая вероятность для каждого класса i равна z минус порог 𝜏 (z) ,, если значение положительное, и 0, если оно отрицательное.

Функция Sparsemax Loss

Наконец, мы также хотим получить функцию потерь, соответствующую sparsemax; это будет частью раздела 4. Хотя первое доказательство решения в замкнутой форме было получено непосредственно из исходного определения sparsemax, функция потерь является вопросом предпочтения и может принимать различные формы. Объясним почему.

Можно показать, что, используя потерю кросс-энтропии (т.е. отрицательную логарифмическую правдоподобие для полиномиального распределения) в сочетании с softmax, функция потерь упрощается до

где k равен индексу истинной метки.

Преимущество, возникающее при использовании комбинации кросс-энтропийных потерь и softmax, упрощает градиент до

Это означает, что во время обратного распространения ошибки оценки softmax (z) достаточно как для прямого, так и для обратного прохода, и никаких дополнительных вычислений не требуется. Такое поведение - свойство, которое мы также хотим сохранить в структуре sparsemax.

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

Добавляя дополнительное ограничение, что минимум sparsemax потерь равен 0, получается, когда S (z) = {k}, т.е., только правильный класс не равен нулю , можно показать, что функция потерь sparsemax имеет вид

3. Доказательство I. Получение решения в закрытой форме Sparsemax.

Задача

Цель этого доказательства - показать следующую эквивалентность:

На словах мы хотим решить задачу оптимизации arg min квадрата евклидовой нормы разницы между вероятностью p и оценкой z. Это можно понять как выбор ближайшей точки в Δᴷ ¯ ¹ из вектора оценок z.

Напоминание об условиях Каруш-Куш-Такера (ККТ)

Условия Каруша – Куна – Таккера (KKT) являются концепцией математической оптимизации. Они представляют собой необходимые условия первого порядка для удовлетворения решения нелинейного программирования с заданным набором конкретных ограничений. В нашей настройке sparsemax мы хотим найти точку минимума некоторой функции f: ℝⁿ → ℝ при определенных условиях.

Тогда задачу оптимизации можно записать следующим образом: найдите x, который минимизирует функцию f так, чтобы условия для g (x) и h (x) выполняются, ie:

Чтобы решить эту проблему, нам сначала нужно определить функцию Лагранжа L (x, μ, λ):

Подход KKT утверждает (на высоком уровне), что с учетом функции Лагранжа L, если (x *, μ *) является седловой точкой L с μ ≥0 и дополнительным провисом μᵢgᵢ (x *) ≥0 ∀ i∈ [0, n] , то x * - это оптимальный вектор задачи оптимизации, указанной выше.

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

Вывод

Учитывая, что sparsemax - это задача оптимизации с ограничениями, мы переписываем ее с использованием более ранних обозначений KKT, ie с помощью f, g и h следующим образом:

Тогда лагранжиан принимает вид

Теперь мы можем дифференцировать функцию Лагранжа относительно x:

Решение превращается в систему трех уравнений:

Первое уравнение (1) возникает из-за того, что градиент лагранжиана равен нулю. Второе уравнение (2) исходит из исходного условия слабины, что μ≥0 и из того, что p является положительным вектором вероятностей. Наконец, уравнение (3) является дополнительным условием провисания.

Впоследствии мы различаем два случая на основе уравнений (2) и (3). Для каждого измерения i ∈ [0, n] либо pᵢ * ›0 и, следовательно, μᵢ * = 0, или μᵢ * ›0 и, следовательно, pᵢ * = 0. Точнее, это означает, что мы рассматриваем два случая: элементы опоры S (z), где p ›0, и элементы вне опоры S ( z), где p = 0.

Продолжая это доказательство sparsemax, мы должны помнить, что мы стремимся к двум вещам: определение значения ненулевых вероятностей и определение условий, при которых вероятности равны 0. Таким образом:

В 1. и 2. zᵢ либо больше, чем 𝜏 *, и поэтому pᵢ * равно их положительной разнице, либо pᵢ * Равно нулю. Следовательно, pᵢ * = (zᵢ - 𝜏 (z)) ⁺.

Кроме того, из уравнения (2) мы знаем, что ∑ ᵢ pᵢ * = 1 и что существует | S (z) | ненулевое pᵢ *, поэтому :

Это завершает первое доказательство вывода решения в замкнутой форме sparsemax.

4. Доказательство II: вывод функции Sparsemax Loss.

Задача

Цель этого второго доказательства - показать следующую эквивалентность:

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

Леммы

Прежде чем приступить к доказательству, нам нужно определить некоторые важные обозначения и установить два важных результата:

Для леммы 1 мы можем напрямую вычислить частную производную 𝜏² относительно z.

Действительно, если z ᵢ находится в S (z), тогда он будет присутствовать в сумме числителя, а его производная будет иметь масштаб, обратно пропорциональный | S (z) |; в противном случае производная будет равна нулю.

Затем, используя цепное правило, мы можем вывести производную от 𝜏² относительно z:

Обратите внимание, что если j∉ S (z), то 𝜏 (z) = 0.

В лемме 2 нас интересует так называемый чрезмерно самоуверенный sparsemax, ie, когда прогноз присваивает 100% веса только истинному класс k. В этом случае мы имеем spar semax (z, k) = δ_k. Это имеет два последствия, а именно:

Вывод

Мы хотим получить функцию потерь sparsemax такую, что

Во-первых, давайте посмотрим на частную производную sparsemax по zᵢ в невекториальной форме:

Затем мы можем сделать вывод, что для K∈:

Последний оставшийся шаг - определить постоянную интегрирования. Мы могли бы просто выбрать K = 0, и градиент все равно был бы правильным, но мы могли бы найти более подходящее решение. Здесь мы используем вторую лемму, которую мы определили выше. В случае идеального прогнозирования мы хотели бы, чтобы потери были равны нулю, аналогично softmax или другим функциям потерь, таким как MAE / MSE.

Точнее, нам необходимо выполнить следующее требование:

Таким образом:

В итоге получаем, что:

Это завершает второе доказательство вывода функции потерь sparsemax.

5. Вывод

В этом посте мы представили идею и математические формулировки, лежащие в основе функции активации sparsemax, которая позволяет использовать более разреженную область вывода, чем в традиционном softmax. Мы начали с обобщения некоторых ключевых результатов исследования Martins et al. документ, в котором делается вывод о том, что эмпирически sparsemax может улучшить производительность моделей классификации по мере увеличения количества классов. Кроме того, в моделях внимания НЛП, тренируемых с помощью sparsemax, преобладают повышение производительности, а также возможности большей объяснимости. Наконец, основная часть поста была посвящена двум важным доказательствам sparsemax; а именно вывод решения в замкнутой форме и лежащей в основе функции потерь.