Это вторая часть исследования рейтинговых потерь. Первая часть покрывает контрастные и тройные потери. В этой части представлены N-пары и угловые потери.

[3] Потеря N-пар

Как контрастные, так и триплетные потери используют евклидово расстояние для количественной оценки сходства между точками. Кроме того, каждый якорь в обучающем мини-пакете связан с одним отрицательным примером. Потеря N-пар меняет эти два предположения. Во-первых, он использует косинусное сходство для количественной оценки сходства между точками. Таким образом, потеря N-пар сравнивает вложения, используя угол между двумя векторами, а не норму. Это не критично, поэтому его формулировка остается похожей на потерю триплетов для одного триплета (a,p,n) следующим образом.

Однако основная идея потери N-пар состоит в том, чтобы связать каждый якорь с одним положительным и каждым отрицательным в пакете следующим образом.

Для N-пар обучающая партия содержит по одной положительной паре из каждого класса. Таким образом, мини-партия размера B будет иметь B//2 положительных пар, и каждый якорь связан с (B-2) отрицательными, как показано на следующем рисунке.

Интуиция N-пар заключается в том, чтобы использовать все негативы в пакете, чтобы направлять обновление градиента, которое ускоряет конвергенцию.

Потеря N-пар, как правило, превосходит потерю триплетов, но с некоторыми оговорками. Размер обучающей мини-партии ограничен сверху числом обучающих классов, поскольку для каждого класса допускается только одна положительная пара. Напротив, размер мини-пакетов потерь триплетов и контрастных потерь ограничен только памятью графического процессора. Кроме того, потеря N пар изучает ненормализованное вложение. Это имеет два следствия: (1) граница между разными классами определяется с использованием угла тета, (2) чтобы избежать вырожденного вложения, которое растет до бесконечности, требуется регуляризатор, ограничивающий пространство вложения. .

[4] Угловые потери

Угловые потери устраняют два ограничения потери триплетов. Во-первых, тройная потеря предполагает фиксированную разницу m между разными классами. Фиксированная маржа нежелательна, потому что разные классы имеют разные внутриклассовые вариации, как показано на следующем рисунке.

Второе ограничение заключается в том, как потеря триплетов формулирует градиент отрицательной точки. На следующем рисунке показано, почему направление для отрицательного градиента может быть неоптимальным, т. е. нет никаких гарантий удаления от центра положительного класса.

Чтобы устранить оба ограничения, авторы предлагают использовать угол в n вместо поля m и скорректировать градиент в отрицательной точке x_n. Вместо того, чтобы сталкивать точки в зависимости от расстояния, цель состоит в том, чтобы минимизировать угол при n, т. е. сделать треугольник a-n-b вершиной n. На следующем рисунке показано, как формула угловых потерь отодвигает отрицательную точку x_n от xc, центра локального кластера, определяемого x_a и x_p. Кроме того, якорь x_a и положительный x_p перетаскиваются навстречу друг другу.

По сравнению с исходными тройными потерями, градиенты которых зависят только от двух точек (например, grad = x_a - x_n), градиенты угловых потерь намного более устойчивы, поскольку учитывают все три точки одновременно. Кроме того, обратите внимание, что по сравнению с метриками, основанными на расстоянии, манипулирование углом n’ не только инвариантно к вращению, но и инвариантно к масштабу по своей природе.

Мои комментарии:

N-пары и угловые потери обычно превосходят ванильные тройные потери. Однако есть важные параметры, которые следует учитывать при сравнении этих подходов.

  • Стратегия выборки, используемая для обучения потере триплетов, может привести к значительным различиям в производительности. Hard Mining эффективен и сходится быстрее, если избежать коллапса модели.
  • Еще одним важным фактором является характер набора обучающих данных. При работе с реидентификацией лиц или кластеризацией лиц можно считать, что каждый класс представлен одним кластером, т. е. одномодовым с небольшими внутриклассовыми вариациями. Тем не менее, некоторые наборы поисковых данных, такие как CUB-200–2011 и Stanford Online Products, имеют множество внутриклассовых вариаций. Эмпирически, жесткая потеря триплетов лучше работает для задач повторной идентификации человека / лица, в то время как N-пары и угловые потери лучше работают с наборами данных CUB-200 и Stanford Online Product.
  • Приступая к новой задаче поиска и настраивая гиперпараметры (скорость обучения и размер партии) для нового набора обучающих данных, я обнаружил, что полужесткая потеря триплетов является наиболее стабильной. Он не достигает наилучшей производительности, но с наименьшей вероятностью вырождается.

Если есть другие рейтинговые потери, о которых стоит упомянуть, оставьте их в комментариях. Если список станет большим, я напишу продолжение.

Ресурсы

[1] Уменьшение размерности путем изучения инвариантного отображения

[2] Глубокое метрическое обучение с использованием триплетной сети

[3] Улучшенное глубокое метрическое обучение с многоклассовой целью потери N-пар

[4] Глубокое метрическое обучение с угловыми потерями

[5] Базовый уровень поиска Tensorflow