Soft-Max и Soft-Arg-Max — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
(Soft-Arg-Max)
(Soft-Arg-Max)
Строка 8: Строка 8:
  
 
Есть модель a, возвращающая Li. Необходимо сделать так, чтобы a возвращала pi, при этом оставаясь дифференциируемой.
 
Есть модель a, возвращающая Li. Необходимо сделать так, чтобы a возвращала pi, при этом оставаясь дифференциируемой.
<tex>y = </tex>'''soft-arg-max'''<tex>\left ( x \right )</tex>, где <tex>y_{i} = \frac{\exp\left ( x_{i} \right )}{\sum_{j}\exp\left ( x_{i} \right )}</tex>
+
<tex>y = </tex> '''soft-arg-max'''<tex>\left ( x \right )</tex>, где <tex>y_{i} = \frac{\exp\left ( x_{i} \right )}{\sum_{j}\exp\left ( x_{i} \right )}</tex>
 
<tex>\frac{\partial y_{i}}{\partial x_{j}} = \begin{cases}
 
<tex>\frac{\partial y_{i}}{\partial x_{j}} = \begin{cases}
 
  &y_{i}\left ( 1 - y_{j} \right ),~i = j \\  
 
  &y_{i}\left ( 1 - y_{j} \right ),~i = j \\  
Строка 17: Строка 17:
 
*Вычисляет по вектору чисел вектор с распределением вероятностей.
 
*Вычисляет по вектору чисел вектор с распределением вероятностей.
 
*Можно интерпретировать как вероятность нахождения максимума в <tex>i</tex>-й координате.
 
*Можно интерпретировать как вероятность нахождения максимума в <tex>i</tex>-й координате.
*'''soft-arg-max'''<tex>\left ( x - c,y-c,z-c\right )=</tex>'''soft-arg-max'''<tex>\left ( x,y,z\right )</tex>
+
*'''soft-arg-max'''<tex>\left ( x - c,y-c,z-c\right )=</tex> '''soft-arg-max'''<tex>\left ( x,y,z\right )</tex>
 
*Предыдущее свойство используют для устойчивости вычислений. При <tex>c=max\left ( x,y,z \right )</tex>
 
*Предыдущее свойство используют для устойчивости вычислений. При <tex>c=max\left ( x,y,z \right )</tex>
  
 
==Soft-Max==
 
==Soft-Max==

Версия 16:15, 1 июля 2022

Soft-Max и Soft-Arg-Max.

Soft-Arg-Max

Пусть есть задача мягкой классификации: Алгоритм выдает значения L1, L2, ... Ln, где n - число классов. Li - уверенность алгоритма в том, что объект принадлежит классу i; -oo <=Li <= +oo. Нужно для этих значений найти такие p1,...pn, что pi из [0, 1], а сумма pi = 1, то есть p1..pn - распределение вероятностей. Для этого возьмём экспоненту от L1..Ln; Получим числа от [0;+oo] и нормируем их: pi = exp(Li)/Sum(exp(Li)) Выполняется следующее: Li <= Lj => Pi <= Pj

Есть модель a, возвращающая Li. Необходимо сделать так, чтобы a возвращала pi, при этом оставаясь дифференциируемой. [math]y = [/math] soft-arg-max[math]\left ( x \right )[/math], где [math]y_{i} = \frac{\exp\left ( x_{i} \right )}{\sum_{j}\exp\left ( x_{i} \right )}[/math] [math]\frac{\partial y_{i}}{\partial x_{j}} = \begin{cases} &y_{i}\left ( 1 - y_{j} \right ),~i = j \\ &-y_{i}\cdot y_{j},~~~~~~i \neq j \end{cases} = y_{i}\left ( I\left [ i = j \right ] - y_{j}\right )[/math]

Свойства soft-arg-max

  • Вычисляет по вектору чисел вектор с распределением вероятностей.
  • Можно интерпретировать как вероятность нахождения максимума в [math]i[/math]-й координате.
  • soft-arg-max[math]\left ( x - c,y-c,z-c\right )=[/math] soft-arg-max[math]\left ( x,y,z\right )[/math]
  • Предыдущее свойство используют для устойчивости вычислений. При [math]c=max\left ( x,y,z \right )[/math]

Soft-Max