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

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

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

Один из аспектов функции состоит в том, что по мере того, как мы удаляемся от ее центра, становиться все труднее и труднее становиться более высокой (а также меньшей, если вы находитесь в левой части графика). Другими словами, предположим, что ваша оценка составляет 50 из 100. Если вы немного больше поработаете, скорее всего, вы получите более высокий балл. Но если у вас уже 98 из 100, то для увеличения на 1 балл потребуется гораздо больше усилий.

Теперь посмотрим на обобщение функции. f_1 - логистическая функция. Почему gₓ (x, y) является обобщением f (x)? Если вы вставляете 0 в x, g_x (0, y) становится f (y), так что это обобщение. Или, если вы подставите 0 в y из g (x, y), вы получите тот же результат.

Как видите, есть две буквы g: g₁ и g₂. Если вы добавите эти две функции, вы получите 1. Это означает, что если вы знаете одну из g, другая автоматически устанавливается на (1-your g).

И последнее, что следует отметить, это то, что эти функции g инвариантны при переносе на одно и то же значение в каждой координате. Это свойство помогает нам понять взаимосвязь между f (x) и g.

Предположим, у вас есть число, скажем 2. Затем вы можете преобразовать это число в вероятность, используя f (x). В то же время у вас будет другая вероятность 1-f (x) = f (-x), которая в сумме дает 1.

Кстати, тот факт, что у вас есть число 2 в одномерном пространстве, эквивалентен наличию (0, 2) в двумерном пространстве или (2,0), если хотите. Как этот факт можно интерпретировать с помощью g?

Из первого свойства мы знаем, что f (2) = g_x (0,2). А из второго свойства g_x (0,2) + g_y (0,2) должно быть 1. Верно?

Здесь из третьего свойства g_y (0,2) = g_y (-2, 0). Если внимательно посмотреть на g_y (-2, 0), это просто f (-2).

Другой способ объяснить функцию softmax.

Сигмоидальная функция относится к частному случаю логистической функции, как показано ниже.

OK. Тогда какова формула softmax? Давайте взглянем

Индекс j находится в диапазоне от 1 до K, а z - вектор размерности K. Поначалу нам нелегко увидеть взаимосвязь между этими двумя формулами. Итак, давайте начнем с некоторых числовых чисел, например 3 и 5. Поскольку у нас два числа, K должно быть 2, а z - двумерный вектор, который равен просто [3, 5].

Подключив уравнение softmax, мы получаем следующие два числа, которые ведут себя как вероятности.

Хорошо, выглядит нормально. Однако подумайте о случае, когда одно число действительно больше другого, например [3, 5¹⁰⁰]. В этом случае экспоненциальное значение 5¹⁰⁰ будет действительно большим, так что компьютер может рассматривать это число как почти бесконечность. Конечно, современные компьютеры могут очень хорошо справиться с этой проблемой, но в прежние времена для этого требовалось средство. Одно простое решение для этого - нормализовать максимальное значение до нуля. Другими словами, мы берем максимальное значение из вектора и вычитаем это максимальное значение из всех элементов в векторе.

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