Функция Softmax - Softmax function - Wikipedia

В функция softmax, также известный как softargmax[1]:184 или же нормализованная экспоненциальная функция,[2]:198 является обобщением логистическая функция к нескольким измерениям. Он используется в полиномиальная логистическая регрессия и часто используется в качестве последнего функция активации из нейронная сеть для нормализации выхода сети к распределение вероятностей по прогнозируемым выходным классам на основе Аксиома выбора Люси.

Функция softmax принимает на вход вектор z из K действительные числа, и нормализует его в распределение вероятностей состоящий из K вероятности пропорциональны экспонентам входных чисел. То есть до применения softmax некоторые компоненты вектора могут быть отрицательными или больше единицы; и не может суммировать до 1; но после применения softmax каждый компонент будет в интервал , а в сумме компоненты будут равны 1, чтобы их можно было интерпретировать как вероятности. Кроме того, более крупные входные компоненты будут соответствовать большим вероятностям.

Стандартная (единичная) функция softmax определяется формулой

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

Вместо е, отличающийся основание б > 0 можно использовать; выбирая большее значение б создаст распределение вероятностей, которое более сконцентрировано вокруг позиций наибольших входных значений. Письмо или же [а] (серьезно β)[b] дает выражения:[c]

.

В некоторых полях база фиксирована, что соответствует фиксированному масштабу,[d] в то время как в других параметр β разнообразен.

Интерпретации

Гладкий аргумент макс.

Название «softmax» вводит в заблуждение; функция не гладкий максимумгладкое приближение к максимум функция), но представляет собой скорее гладкое приближение к arg max функция: функция, значение которой который индекс имеет максимум. Фактически, термин «softmax» также используется для близких LogSumExp функция, которая представляет собой плавный максимум. По этой причине некоторые предпочитают более точный термин «softargmax», но термин «softmax» является общепринятым в машинном обучении.[3][4] В этом разделе термин «softargmax» используется, чтобы подчеркнуть эту интерпретацию.

Формально вместо того, чтобы рассматривать arg max как функцию с категориальным выводом (соответствующий индексу), рассмотрим функцию arg max с горячий представление вывода (при наличии уникального максимального аргумента):

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

Это может быть обобщено на несколько значений arg max (несколько равных максимальное значение) путем деления 1 между всеми максимальными аргументами; формально 1/k куда k - это максимальное количество аргументов. Например, поскольку второй и третий аргументы являются максимальными. Если все аргументы равны, это просто Точки z с несколькими максимальными значениями arg: особые точки (или особенности, и образуют особое множество) - это точки, в которых arg max разрывается (с скачкообразный разрыв ) - в то время как точки с одним аргументом max известны как неособые или регулярные точки.

В последнем выражении, приведенном во введении, softargmax теперь является гладкой аппроксимацией arg max: as , softargmax сходится к arg max. Существуют различные понятия сходимости функции; softargmax сходится к arg max точечно, то есть для каждого фиксированного входа z в качестве , Однако softargmax не сходятся равномерно в arg max, что интуитивно означает, что разные точки сходятся с разной скоростью и могут сходиться сколь угодно медленно. Фактически softargmax непрерывен, но arg max не является непрерывным в особом множестве, где две координаты равны, в то время как равномерный предел непрерывных функций непрерывен. Неудачная сходимость связана с тем, что для входов, где две координаты почти равны (и одна является максимальной), arg max является индексом одной или другой, поэтому небольшое изменение входных данных приводит к большим изменениям в выходных. Например, но и для всех входов: чем ближе точки к сингулярному множеству , тем медленнее они сходятся. Однако softargmax делает компактно сходятся на неособом множестве.

И наоборот, как , softargmax сходится к arg min таким же образом, где особое множество - это точки с двумя arg мин значения. На языке тропический анализ, softmax - это деформация или «квантование» arg max и arg min, соответствующее использованию бревенчатое полукольцо вместо макс-плюс полукольцо (соответственно мин-плюс полукольцо ), и восстановление arg max или arg min путем взятия предела называется «тропикализация» или «деквантование».

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

Однако, если разница небольшая по сравнению с температурой, значение не близко к arg max. Например, разница в 10 мала по сравнению с температурой 100:

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

Теория вероятности

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

Статистическая механика

В статистическая механика, функция softargmax известна как Распределение Больцмана (или же Распределение Гиббса ):[5]:7 набор индексов являются микросостояния системы; входы являются энергии этого состояния; знаменатель известен как функция распределения, часто обозначаемый Z; и фактор β называется холодность (или же термодинамическая бета, или же обратная температура ).

Приложения

Функция softmax используется в различных мультиклассовая классификация методы, такие как полиномиальная логистическая регрессия (также известная как регрессия softmax)[2]:206–209 [1], мультикласс линейный дискриминантный анализ, наивные байесовские классификаторы, и искусственные нейронные сети.[6] В частности, в полиномиальной логистической регрессии и линейном дискриминантном анализе входные данные функции являются результатом K отчетливый линейные функции, и прогнозируемая вероятность jй класс задан вектор-образец Икс и весовой вектор ш является:

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

Нейронные сети

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

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

Это выражение симметрично по индексам и, таким образом, также может быть выражено как

Здесь Дельта Кронекера используется для простоты (ср. производную от сигмовидная функция, выражаясь через саму функцию).

Если функция масштабируется с параметром , то эти выражения нужно умножить на .

Видеть Полиномиальный логит для вероятностной модели, использующей функцию активации softmax.

Обучение с подкреплением

В области обучение с подкреплением, функция softmax может использоваться для преобразования значений в вероятности действия. Обычно используется следующая функция:[7]

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

Характеристики

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

По главной диагонали softmax - это просто равномерное распределение по выходам, : равные баллы дают равные вероятности.

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

Геометрически softmax постоянен по диагоналям: это измерение, которое исключается, и соответствует тому, что выход softmax не зависит от перевода во входных оценках (выбор 0 баллов). Можно нормализовать входные оценки, предположив, что сумма равна нулю (вычтите среднее значение: куда ), а затем softmax переводит гиперплоскость точек, сумма которых равна нулю, , в открытый симплекс положительных значений, сумма которых равна 1, аналогично тому, как показатель степени переводится из 0 в 1, и положительный.

Напротив, softmax не инвариантен при масштабировании. Например, но

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

Функция softmax также является градиентом LogSumExp функция, a гладкий максимум; определение:

частные производные:

Выражая частные производные в виде вектора с градиент дает softmax.

История

Функция softmax использовалась в статистическая механика как Распределение Больцмана в основополагающей статье Больцман (1868),[8] формализованы и популяризированы во влиятельном учебнике Гиббс (1902).[9]

Использование softmax в теория принятия решений зачисляется на Люс (1959),[10]:1 кто использовал аксиому независимость от нерелевантных альтернатив в теория рационального выбора вывести softmax в Аксиома выбора Люси для относительных предпочтений.

В машинном обучении термин «softmax» приписывается Джону С. Брайдлу в двух докладах на конференции 1989 г. Уздечка (1990a):[10]:1 и Уздечка (1990b):[3]

Нас интересуют нелинейные сети с прямой связью (многослойные персептроны или MLP) с несколькими выходами. Мы хотим рассматривать выходы сети как вероятности альтернатив (например классы шаблонов), обусловленные входными данными. Мы ищем соответствующие нелинейности на выходе и соответствующие критерии для адаптации параметров сети (например веса). Мы объясняем две модификации: оценку вероятности, которая является альтернативой минимизации квадратичной ошибки, и нормированную экспоненциальную (softmax) многовходовое обобщение логистической нелинейности.[11]:227

Для любого входа все выходы должны быть положительными, и их сумма должна быть равна единице. ...

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

Это преобразование можно рассматривать как обобщение логистики с несколькими входами, действующее на весь выходной слой. Он сохраняет порядок ранжирования входных значений и представляет собой дифференцируемое обобщение операции «победитель получает все» по выбору максимального значения. По этой причине нам нравится называть его softmax.[12]:213

Пример

Если мы возьмем на входе [1, 2, 3, 4, 1, 2, 3], softmax будет [0,024, 0,064, 0,175, 0,475, 0,024, 0,064, 0,175]. Выход имеет большую часть своего веса там, где в исходном вводе была цифра «4». Это то, для чего функция обычно используется: для выделения наибольших значений и подавления значений, которые значительно ниже максимального значения. Но обратите внимание: softmax не масштабно инвариантен, поэтому, если бы входные данные были [0,1, 0,2, 0,3, 0,4, 0,1, 0,2, 0,3] (что в сумме составляет 1,6), softmax будет [0,125, 0,138, 0,153, 0,169, 0,125, 0,138, 0,153]. Это показывает, что для значений от 0 до 1 softmax фактически уменьшает максимальное значение (обратите внимание, что 0,169 не только меньше 0,475, но и меньше начальной пропорции 0,4 / 1,6 = 0,25).

Расчет этого примера с использованием Python код:

>>> импорт тупой в качестве нп>>> а = [1.0, 2.0, 3.0, 4.0, 1.0, 2.0, 3.0]>>> нп.exp(а) / нп.сумма(нп.exp(а)) множество([0.02364054, 0.06426166, 0.1746813, 0.474833, 0.02364054,       0.06426166, 0.1746813])

Вот пример Юля код:

Юлия> А = [1.0, 2.0, 3.0, 4.0, 1.0, 2.0, 3.0];  # точка с запятой для подавления интерактивного выводаЮлия> exp.(А) ./ сумма(exp.(А))7-элементный массив {Float64,1}: 0.0236405 0.0642617 0.174681 0.474833 0.0236405 0.0642617 0.174681

Вот пример р код:

> z <- c(1.0, 2.0, 3.0, 4.0, 1.0, 2.0, 3.0)> softmax <- exp(z)/сумма(exp(z))> softmax[1] 0.02364054 0.06426166 0.17468130 0.47483300 0.02364054 0.06426166 0.17468130

Смотрите также

Примечания

  1. ^ Положительный β соответствует максимальному соглашению и является обычным в машинном обучении, соответствующее наивысшему баллу с наибольшей вероятностью. Отрицательный β соответствует минимальному соглашению и является общепринятым в термодинамике, соответствующим самому низкоэнергетическому состоянию, имеющему наибольшую вероятность; это соответствует соглашению в Распределение Гиббса, устный перевод β в качестве холодность.
  2. ^ Обозначение β для термодинамическая бета, что является обратным температура: ,
  3. ^ За (холодность нулевая, бесконечная температура), , и это становится постоянной функцией , соответствующий дискретное равномерное распределение.
  4. ^ В статистической механике исправление β интерпретируется как наличие холода и температуры 1.

Рекомендации

  1. ^ Добрый парень, Ян; Бенхио, Йошуа; Курвиль, Аарон (2016). «6.2.2.3 Модули Softmax для многоуровневого распределения выходов». Глубокое обучение. MIT Press. С. 180–184. ISBN  978-0-26203561-3.CS1 maint: ref = harv (связь)
  2. ^ а б Епископ, Кристофер М. (2006). Распознавание образов и машинное обучение. Springer. ISBN  0-387-31073-8.
  3. ^ а б Сако, Юсаку (2018-06-02). "Термин" softmax "сводит вас с ума?". Середина.
  4. ^ Goodfellow, Bengio & Courville, 2016 г., pp. 183–184: Название softmax может сбивать с толку. Функция более тесно связана с функцией arg max, чем с функцией max. Термин «мягкий» происходит от того факта, что функция softmax является непрерывной и дифференцируемой. Функция arg max, результат которой представлен в виде горячего вектора, не является непрерывной или дифференцируемой. Таким образом, функция softmax обеспечивает «смягченную» версию arg max. Соответствующая программная версия максимальной функции . Возможно, было бы лучше называть функцию softmax «softargmax», но нынешнее имя - это устоявшееся соглашение.
  5. ^ ЛеКун, Янн; Чопра, Сумит; Хадселл, Райя; Ранзато, Марк'Аурелио; Хуан, Фу Цзе (2006). «Учебник по обучению на основе энергии» (PDF). В Гекхане Бакыре; Томас Хофманн; Бернхард Шёлкопф; Александр Дж. Смола; Бен Таскар; С.В.Н. Вишванатан (ред.). Прогнозирование структурированных данных. Серия нейронной обработки информации. MIT Press. ISBN  978-0-26202617-8.
  6. ^ ai-faq Что такое функция активации softmax?
  7. ^ Саттон, Р. С. и Барто А. Г. Обучение с подкреплением: введение. MIT Press, Кембридж, Массачусетс, 1998. Выбор действия Softmax
  8. ^ Больцман, Людвиг (1868). "Studien über das Gleichgewicht der lebendigen Kraft zwischen bewegten materiellen Punkten" [Исследования баланса жизненной силы между движущимися материальными точками]. Wiener Berichte. 58: 517–560.
  9. ^ Гиббс, Джозия Уиллард (1902). Элементарные принципы статистической механики.
  10. ^ а б Гао, Болин; Павел, Лакра (2017). «О свойствах функции Softmax с применением в теории игр и обучении с подкреплением». arXiv:1704.00805 [math.OC ].
  11. ^ Уздечка, Джон С. (1990a). Soulié F.F .; Эро Ж. (ред.). Вероятностная интерпретация выходных данных сети прямой классификации с взаимосвязью со статистическим распознаванием образов. Нейрокомпьютеры: алгоритмы, архитектуры и приложения (1989). Серия НАТО ASI (Серия F: Компьютерные и системные науки). 68. Берлин, Гейдельберг: Springer. С. 227–236. Дои:10.1007/978-3-642-76153-9_28.
  12. ^ Уздечка, Джон С. (1990b). Д. С. Турецкий (ред.). Обучение алгоритмов распознавания стохастических моделей как сетей может привести к максимальной взаимной оценке параметров информации. Достижения в системах обработки нейронной информации 2 (1989). Морган-Кауфманн.