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

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

Оригинальная функция softmax:

Модифицированная функция softmax:

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

Обратите внимание, что когда наибольший экспоненциальный член велик по отношению к числу 1, числитель 1 мал по отношению к знаменателю, и, таким образом,

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

В нашей попытке оправдать его утверждения мы позволяем

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

Оригинальная функция softmax:

Таким образом, даже как

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

Модифицированная функция softmax:

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

И наконец, о последнем утверждении:

Это просто определение модифицированной функции softmax, а исходная функция softmax объясняется следующим образом:

где

и аналогичное объяснение исходной функции softmax завершает утверждение.

Последние мысли

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

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

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