Что такое функция Softplus?
Функция Softplus, \(f(x) = \ln(1 + e^{x})\), — это гладкое дифференцируемое приближение активации ReLU (rectified linear unit), которая применяется в нейронных сетях. В отличие от ReLU с её резким изломом в нуле, Softplus гладкая на всей области определения и всегда строго положительна. Этот калькулятор строит таблицу значений \(x\), \(f(x)\) и первой производной на выбранном вами диапазоне, а также рисует обе кривые, чтобы вы наглядно увидели характерный плавный переход от S-образного участка к наклонной прямой.
Как пользоваться
Введите три значения: Начальное значение x (первая абсцисса), Шаг (расстояние между точками) и Количество повторений (сколько строк сгенерировать). Например, при начальном значении -5, шаге 0,1 и 101 повторении вы получите \(x\) от -5,0 до +5,0. В результате появятся прокручиваемая таблица и график функции Softplus вместе с её производной.
Разбор формулы
Softplus задаётся как $$f(x) = \ln\!\left(1 + e^{x}\right).$$ Её производная равна $$f^{\prime}(x) = \frac{e^{x}}{1 + e^{x}} = \frac{1}{1 + e^{-x}}$$ — это в точности логистическая сигмоида. При больших положительных \(x\) функция \(f(x)\) стремится к \(x\), а \(f^{\prime}(x)\) — к 1; при больших отрицательных \(x\) значение \(f(x)\) стремится к 0, а \(f^{\prime}(x)\) — тоже к 0. Чтобы избежать переполнения при больших \(x\), калькулятор использует численно устойчивую форму $$f(x) = \max(x, 0) + \ln\!\left(1 + e^{-|x|}\right).$$
Пример расчёта
При \(x = 0\): \(f(0) = \ln(2) = 0{,}693147\) и \(f^{\prime}(0) = 0{,}5\). При \(x = 1\): \(f(1) = \ln(1 + 2{,}718282) = 1{,}313262\) и \(f^{\prime}(1) = \dfrac{1}{1 + e^{-1}} = 0{,}731059\). При \(x = -1\): \(f(-1) = 0{,}313262\) и \(f^{\prime}(-1) = 0{,}268941\). Обратите внимание на тождество \(f(x) - f(-x) = x\), например \(1{,}313262 - 0{,}313262 = 1\).
Частые вопросы
Зачем использовать Softplus вместо ReLU? Softplus гладкая и имеет ненулевой градиент во всех точках, что помогает методам оптимизации на основе градиента, хотя ReLU вычисляется быстрее.
Всегда ли результат положителен? Да. Выражение \(\ln(1 + e^{x}) > 0\) при любом конечном \(x\), поскольку \(1 + e^{x} > 1\).
Что показывает производная? Это наклон кривой Softplus, и он равен логистической сигмоиде: значение монотонно растёт от 0 до 1 и равно 0,5 при \(x = 0\).