Как бороться с корреляцией между классами в глубокой классификации обучения? - PullRequest
0 голосов
/ 30 октября 2019

Я не уверен, как справиться с ситуацией, когда некоторые классы в сети классификации с глубоким обучением связаны друг с другом.

Например, при классификации изображений, если на входе изображена собака, а на выходе - кошка, потери должны быть ниже, чем если на выходе - самолет или мост. Мне было интересно, как cs люди справляются с этим раньше, и есть ли какие-либо бумаги, на которые я могу сослаться. Спасибо!

1 Ответ

2 голосов
/ 30 октября 2019

tl; др:
Вы не можете / не должны

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

d[i,j] = f(L[i], L[j])

(где d[i,j] - расстояние между классами с метками L[i] и L[j] и f является функцией этих 2 классов / меток), то вы можете включить ее в свою функцию потерь, чтобы потеря была больше, если d велика, и меньше, если d мала.

Однаков вашем примере с кошками / собаками / самолетами / мостами / ... я не могу поверить, что есть правильный способ определить расстояние между собакой / кошкой или собакой / мостом и т. д. Если вы действительно хотите, вы, конечно, можетевручную решите, что, например, прогнозирование моста в 3 раза хуже, чем прогнозирование собаки, если ваше изображение содержит кошку:

d[cat,dog]=1
d[cat,bridge]=3

Но я бы не рекомендовал это вообще.

Когда будетЯ рекомендую это? Если у вас есть ряд классов и корреляционная матрица, которая правильно количественно определяет корреляцию между всеми классами.

...