|
|
Строка 1: |
Строка 1: |
− | {| class="wikitable" align="center" style="color: red; background-color: black; font-size: 56px; width: 800px;"
| |
− | |+
| |
− | |-align="center"
| |
− | |'''НЕТ ВОЙНЕ'''
| |
− | |-style="font-size: 16px;"
| |
− | |
| |
− | 24 февраля 2022 года российское руководство во главе с Владимиром Путиным развязало агрессивную войну против Украины. В глазах всего мира это военное преступление совершено от лица всей страны, всех россиян.
| |
− |
| |
− | Будучи гражданами Российской Федерации, мы против своей воли оказались ответственными за нарушение международного права, военное вторжение и массовую гибель людей. Чудовищность совершенного преступления не оставляет возможности промолчать или ограничиться пассивным несогласием.
| |
− |
| |
− | Мы убеждены в абсолютной ценности человеческой жизни, в незыблемости прав и свобод личности. Режим Путина — угроза этим ценностям. Наша задача — обьединить все силы для сопротивления ей.
| |
− |
| |
− | Эту войну начали не россияне, а обезумевший диктатор. И наш гражданский долг — сделать всё, чтобы её остановить.
| |
− |
| |
− | ''Антивоенный комитет России''
| |
− | |-style="font-size: 16px;"
| |
− | |Распространяйте правду о текущих событиях, оберегайте от пропаганды своих друзей и близких. Изменение общественного восприятия войны - ключ к её завершению.
| |
− | |-style="font-size: 16px;"
| |
− | |[https://meduza.io/ meduza.io], [https://www.youtube.com/c/popularpolitics/videos Популярная политика], [https://novayagazeta.ru/ Новая газета], [https://zona.media/ zona.media], [https://www.youtube.com/c/MackNack/videos Майкл Наки].
| |
− | |}
| |
− |
| |
| ==SoftArgMax== | | ==SoftArgMax== |
| ===Постановка задачи=== | | ===Постановка задачи=== |
SoftArgMax
Постановка задачи
Пусть есть задача мягкой классификации:
Алгоритм выдает значения [math]L_{1}, L_{2},\ldots, L_{n}[/math], где [math]n[/math] — число классов.
[math]L_{i}[/math] — уверенность алгоритма в том, что объект принадлежит классу [math]i[/math], [math]L_{i} \in \left [ -\infty, +\infty\right ][/math]
Для этих значений необходимо найти такие [math]p_{1},\ldots,p_{n}[/math], что:
- [math]p_{i} \in \left [ 0, 1\right ][/math]
- [math]\sum_{i}p_{i}=1[/math]
То есть [math]p_{1},\ldots,p_{n}[/math] — распределение вероятностей
Для этого выполним преобразование:
[math]p_{i} = \frac{\exp\left(L_{i}\right)}{\sum_{i}\exp\left(L_{i}\right)}[/math]
Тогда выполняется следующее:
- [math]L_{i} \leqslant L_{j} \implies p_{i} \leqslant p_{j}[/math]
- Модель [math]a[/math], возвращающая [math]L_{i}[/math], после преобразования будет возвращать [math]p_{i}[/math] и останется дифференцируемой
- [math]p =softArgMax\left ( L \right )[/math]
Пусть [math]y = softArgMax\left ( x \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]
У [math]softArgMax[/math] такое название, так как это, по сути, гладкая аппроксимация модифицированного [math]argMax[/math].
Свойства SoftArgMax
- Вычисляет по вектору чисел вектор с распределением вероятностей
- Можно интерпретировать как вероятность нахождения максимума в [math]i[/math]-й координате
- [math]softArgMax\left ( x - c,y-c,z-c\right )=softArgMax\left ( x,y,z\right )[/math]
- Предыдущее свойство используют для устойчивости вычислений при [math]c=max\left ( x,y,z \right )[/math]
- [math]softArgMax[/math] — частный случай сигмоиды. [math]softArgMax\left(y, 0\right) = \sigma \left(y\right)[/math]
Модификация SoftArgMax
[math]softArgMax_{t}\left(x\right)=\frac{\exp\left(\frac{x_{i}}{t}\right)}{\sum\exp\left(\frac{x_{j}}{t}\right)}[/math]
Данная модификация полезна, когда необходимо контролировать распределение вероятностей, получаемое [math]softArgMax[/math]. Чем больше параметр [math]t[/math], тем больше получаемые вероятности будут похожи на равномерное распределение.
SoftMax
Плохой SoftMax
Плохой SoftMax (помечен красным)
Хороший SoftMax (помечен оранжевым)
Зададим функцию [math]softMax[/math] таким образом:
[math]softMax\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 .softArgMax\left . \left (x_{1},\ldots,x_{n} \right ) \right \rangle[/math]
Гладкая аппроксимация максимума. Математическое ожидание или средневзвешенное, где веса — экспоненты значений соответствующих элементов. Сохраняет некоторые свойства максимума:
- [math]softMax\left ( a,a,a\right ) = a[/math]
- [math]softMax\left ( x+a,y+a,z+a\right ) =softMax\left ( x,y,z\right ) + a[/math]
Заданный выше [math]softMax[/math] — «плохой» в связи с тем, что мы считаем средневзвешенное значение, которое всегда будет меньше максимума, что приведёт к проблемам с поиском максимума.
Хороший SoftMax
[math]softMax\left ( x_{1},\ldots,x_{n}\right ) = \log\left(\sum_{i}\exp\left(x_{i}\right)\right)[/math]
- Не сохраняется свойство [math]softMax\left(a,a,a\right)=a[/math]
- Производная равна [math]softArgMax[/math]
В этом случае сохраняется монотонность, значит, не возникнет проблем с поиском минимума и максимума.
Связь между вариациями SoftMax
Обозначим «плохой» [math]softMax[/math] как [math]badSoftMax[/math]. Тогда:
- [math]badSoftMax\left(x_{1},\ldots,x_{n}\right)=\left \langle x, \right .softArgMax\left . \left (x_{1},\ldots,x_{n} \right ) \right \rangle[/math]
- [math]\nabla softMax\left(x_{1},\ldots,x_{n}\right)=softArgMax\left(x_{1},\ldots,x_{n}\right)[/math]
- [math]\log\left(\right.softArgMax_{i}\left(x_{1},\ldots,x_{n}\right)\left.\right) = x_{i} -softMax\left(x_{1},\ldots,x_{n}\right)[/math]
Для подсчёта, например, перекрёстной энтропии, необходимо вычислить [math]\log\left(p_{i}\right)[/math]. Последнее свойство позволяет вычислять производную от [math]\log\left(p_{i}\right)[/math], когда [math]p_{i} = 0[/math].
Примечания
- В большинстве статей пишется [math]softMax[/math], хотя вместо этого подразумевается [math]softArgMax[/math]
- [math]softArgMax[/math] можно называть также как обобщённая (многомерная) сигмоида
- [math]softArgMax[/math] является алгоритмом подсчёта весов для [math]softMax[/math]
Источники
- Лекция 7. Байесовские методы А. Забашта
- Лекция 7. Автоматическое дифференцирование и нейронные сети С. Муравьёв