Soft-Max и Soft-Arg-Max — различия между версиями
Betson (обсуждение | вклад) |
Betson (обсуждение | вклад) |
||
Строка 56: | Строка 56: | ||
*<tex>\boldsymbol{\mathbf{soft{\text -}max}}\left ( x+a,y+a,z+a\right ) =\boldsymbol{\mathbf{soft{\text -}max}}\left ( x,y,z\right ) + a</tex> | *<tex>\boldsymbol{\mathbf{soft{\text -}max}}\left ( x+a,y+a,z+a\right ) =\boldsymbol{\mathbf{soft{\text -}max}}\left ( x,y,z\right ) + a</tex> | ||
− | Заданный выше <tex>\boldsymbol{\mathbf{soft{\text -}max}}</tex> {{---}} | + | Заданный выше <tex>\boldsymbol{\mathbf{soft{\text -}max}}</tex> {{---}} «плохой» в связи с тем, что мы считаем средневзвешенное значение, которое всегда будет меньше максимума, что приведёт к проблемам с поиском максимума. |
===Хороший SoftMax=== | ===Хороший SoftMax=== | ||
Строка 67: | Строка 67: | ||
==Связь между вариациями SoftMax== | ==Связь между вариациями SoftMax== | ||
− | Обозначим | + | Обозначим «плохой» <tex>\boldsymbol{\mathbf{soft{\text -}max}}</tex> как <tex>\boldsymbol{\mathbf{bad{\text -}soft{\text -}max}}</tex>. Тогда: |
*<tex>\boldsymbol{\mathbf{bad{\text -}soft{\text -}max}}\left(x_{1},\ldots,x_{n}\right)=\left \langle x, \right .\boldsymbol{\mathbf{soft{\text -}arg{\text -}max}}\left . \left (x_{1},\ldots,x_{n} \right ) \right \rangle</tex> | *<tex>\boldsymbol{\mathbf{bad{\text -}soft{\text -}max}}\left(x_{1},\ldots,x_{n}\right)=\left \langle x, \right .\boldsymbol{\mathbf{soft{\text -}arg{\text -}max}}\left . \left (x_{1},\ldots,x_{n} \right ) \right \rangle</tex> |
Версия 21:26, 1 июля 2022
Содержание
[убрать]SoftArgMax
Постановка задачи
Пусть есть задача мягкой классификации:
Алгоритм выдает значения
, где — число классов.— уверенность алгоритма в том, что объект принадлежит классу ,
Для этих значений необходимо найти такие
, что:То есть
— распределение вероятностейДля этого выполним преобразование:
Тогда выполняется следующее:
- Модель , возвращающая , после преобразования будет возвращать и останется дифференцируемой
Пусть
, тогда:
У
такое название, так как это, по сути, гладкая аппроксимация модифицированного .Свойства SoftArgMax
- Вычисляет по вектору чисел вектор с распределением вероятностей
- Можно интерпретировать как вероятность нахождения максимума в -й координате
- Предыдущее свойство используют для устойчивости вычислений при
Модификация SoftArgMax
Данная модификация полезна, когда необходимо контролировать распределение вероятностей, получаемое
. Чем больше параметр , тем больше получаемые вероятности будут похожи на равномерное распределение.SoftMax
Плохой SoftMax
Зададим функцию
таким образом:
Гладкая аппроксимация максимума. Математическое ожидание или средневзвешенное, где веса — экспоненты значений соответствующих элементов. Сохраняет некоторые свойства максимума:
Заданный выше
— «плохой» в связи с тем, что мы считаем средневзвешенное значение, которое всегда будет меньше максимума, что приведёт к проблемам с поиском максимума.Хороший SoftMax
- Не сохраняется свойство
- Производная равна
В этом случае сохраняется монотонность, значит, не возникнет проблем с поиском минимума и максимума.
Связь между вариациями SoftMax
Обозначим «плохой»
как . Тогда:Примечания
- В большинстве статей пишется , хотя вместо этого подразумевается
- можно называть также как обобщённая (многомерная) сигмоида
- является алгоритмом подсчёта весов для
Источники
- Лекция 7. Байесовские методы А. Забашта
- Лекция 7. Автоматическое дифференцирование и нейронные сети С. Муравьёв