Этот пояснительный пост в блоге мотивирован несколькими вопросами, которые я получил от друзей и коллег по поводу поста в блоге Эвана Миллера Внимание отключается на единицу, где он сделал несколько заявлений об модифицированной версии функции 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 очень мало. относительно наибольшего члена, возведенного в степень.
Тем не менее, автор, по моему мнению, еще не опубликовал публично убедительные экспериментальные доказательства, подтверждающие его утверждения в этом сообщении в блоге, но я с нетерпением жду публикации таких доказательств в будущем.