Soft-Max и Soft-Arg-Max — различия между версиями
Betson (обсуждение | вклад) (Отмена правки 82619, сделанной Betson (обсуждение)) |
Betson (обсуждение | вклад) (Отмена правки 82618, сделанной Betson (обсуждение)) |
||
Строка 49: | Строка 49: | ||
Зададим функцию '''soft-max''' таким образом: | Зададим функцию '''soft-max''' таким образом: | ||
− | <tex> | + | '''soft-max'''<tex>\left ( x_{1},\ldots,x_{n}\right ) = \frac{x_{i}~\cdot~\exp \left ( x_{i} \right )}{\sum_{j}\exp \left( x_{j} \right )} = \left \langle x, \right .</tex>'''soft-arg-max'''<tex>\left . \left (x_{1},\ldots,x_{n} \right ) \right \rangle</tex> |
Гладкая аппроксимация максимума. Математическое ожидание или средневзвешенное, где веса {{---}} экспоненты значений соответствующих элементов. Сохраняет некоторые свойства максимума: | Гладкая аппроксимация максимума. Математическое ожидание или средневзвешенное, где веса {{---}} экспоненты значений соответствующих элементов. Сохраняет некоторые свойства максимума: | ||
− | *<tex> | + | *'''soft-max'''<tex>\left ( a,a,a\right ) = a</tex> |
− | *<tex> | + | *'''soft-max'''<tex>\left ( x+a,y+a,z+a\right ) =</tex> '''soft-max'''<tex>\left ( x,y,z\right ) + a</tex> |
Заданный выше '''soft-max''' {{---}} "плохой" в связи с тем, что мы считаем средневзвешенное значение, которое всегда будет меньше максимума, что приведёт к проблемам с поиском максимума. | Заданный выше '''soft-max''' {{---}} "плохой" в связи с тем, что мы считаем средневзвешенное значение, которое всегда будет меньше максимума, что приведёт к проблемам с поиском максимума. |
Версия 19:31, 1 июля 2022
Содержание
Soft-Arg-Max
Постановка задачи
Пусть есть задача мягкой классификации:
Алгоритм выдает значения
, где — число классов.— уверенность алгоритма в том, что объект принадлежит классу ,
Для этих значений необходимо найти такие
, что:То есть
— распределение вероятностейДля этого выполним преобразование:
Тогда выполняется следующее:
- Модель , возвращающая , после преобразования будет возвращать и останется дифференцируемой
Пусть
, тогда:
У soft-arg-max такое название, так как это, по сути, гладкая аппроксимация модифицированного arg-max.
Свойства soft-arg-max
- Вычисляет по вектору чисел вектор с распределением вероятностей
- Можно интерпретировать как вероятность нахождения максимума в -й координате
- Предыдущее свойство используют для устойчивости вычислений при
Модификация soft-arg-max
soft-arg-max
Данная модификация полезна, когда необходимо контролировать распределение вероятностей, получаемое soft-arg-max. Чем больше параметр
, тем больше получаемые вероятности будут похожи на равномерное распределение.Soft-Max
Плохой Soft-Max
Зададим функцию soft-max таким образом:
soft-max
soft-arg-maxГладкая аппроксимация максимума. Математическое ожидание или средневзвешенное, где веса — экспоненты значений соответствующих элементов. Сохраняет некоторые свойства максимума:
- soft-max
- soft-max soft-max
Заданный выше soft-max — "плохой" в связи с тем, что мы считаем средневзвешенное значение, которое всегда будет меньше максимума, что приведёт к проблемам с поиском максимума.
Хороший Soft-Max
soft-max
- Не сохраняется свойство soft-max
- Производная равна soft-arg-max
В этом случае сохраняется монотонность, значит, не возникнет проблем с поиском минимума и максимума.
Связь между вариациями Soft-Max
Обозначим "плохой" soft-max как bad-soft-max. Тогда:
- bad-soft-max soft-arg-max
- soft-max soft-arg-max
- soft-arg-max soft-max
Примечания
- В большинстве статей пишется soft-max, хотя вместо этого подразумевается soft-arg-max
- soft-arg-max можно называть также как обобщённая (многомерная) сигмоида
- soft-arg-max является алгоритмом подсчёта весов для soft-max
Источники
- Лекция 7. Байесовские методы А. Забашта
- Лекция 7. Автоматическое дифференцирование и нейронные сети С. Муравьёв