Skip to content
This repository has been archived by the owner on Oct 3, 2024. It is now read-only.

Latest commit

 

History

History
43 lines (31 loc) · 2.68 KB

T21.md

File metadata and controls

43 lines (31 loc) · 2.68 KB

SoftArgMax. SoftMax

SoftArgMax - это функция для вычисления вероятностного распределения наиболее вероятных позиций (аргументов) в заданном векторе.

Пусть $x$ - это выходные значения из алгоритма, причем $x$ - уверенность алгоритма в том, что объект принадлежит классу $i$, $x \in [-\infty, +\infty]$, найдем для них такие $p_1, \ldots, p_n$, что $p_i \in [0, 1]$ и $\sum_{i = 1}^{n}{p_{i}} = 1$, то есть $p_i$ - показывает, насколько вероятно, что каждая позиция будет самой вероятной:

$$ p_{i} = \dfrac{\exp{(x_{i})}}{\sum_{j = 1}^{n}{\exp{(x_j)}}} $$

Пусть $y = \text{SoftArgMax}{(x)}$, тогда:

$$ \begin{aligned} \dfrac{\partial{y_{i}}}{\partial{x_{j}}} &= \begin{cases} y_{i} \cdot (1 - y_{j}), & i = j \\ -y_{i} \cdot y_{j}, & i \neq j \end{cases} \\ &= y_{i} \cdot (I[i = j] - y_{j}) \end{aligned} $$

Свойства $\text{SoftArgMax}$:

  • Вычисляет по вектору чисел вектор с распределением вероятностей;
  • Можно интерпретировать как вероятность нахождения максимума в $i$-й координате;
  • $\text{SoftArgMax}{(x - c, y - c, z - c)} = \text{SoftArgMax}{(x, y, z)}$;
  • Данная функция является частным случаем сигмоиды: $\sigma{(y)} = \text{SoftArgMax}{(y, 0)}$.

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

$$ \text{SoftMax}{(x_1, \ldots, x_n)} = \log{\left(\sum_{i = 1}^{n}{(\exp{(x_{i})})}\right)} $$

Свойства $\text{SoftMax}$:

  • $\text{SoftMax}{(a, a, a,)} \neq a$;
  • $\text{SoftMax}{(x + a, y + a, z + a)} = \text{SoftMax}{(x, y, z)} + a$;
  • Производная этой функции - это $\text{SoftArgMax}$.

Отличие от $\sigma$: $\text{SoftMax}$ похож на функцию сигмоиды, но отличается тем, что нормирует выходные значения до вероятностного распределения, а сигмоида выдает только одно значение вероятности.