Я пытаюсь обучить нейронную сеть для классификации, но у меня довольно шумные ярлыки (около 30% ярлыков ошибочны).
Потеря перекрестной энтропии действительно работает, но мне было интересно, есть ли альтернативы, более эффективные в этом случае? или потеря кросс-энтропии является оптимальной?
Я не уверен, но я думаю о некоторой «отсечке» кросс-энтропийной потери, так что потеря для одной точки данных будет не больше некоторой верхней границы, будет ли это работать?
Спасибо!
Обновление
Согласно ответу Лукаса, я получил следующее для производных для прогнозного выхода и ввода функции softmax . Таким образом, я предполагаю, что по сути это добавление сглаживающего члена к производным.
Производные для исходной кросс-энтропийной потери:
Обновление
Я только что случайно прочитал статью Google, в которой применяется та же формула, что и в ответе Лукаса, но с разными интерпретациями.
В разделе 7 Регуляризация модели с помощью сглаживания меток
Это (перекрестная потеря энтропии), однако, может вызвать две проблемы. Во-первых, это может привести к переобучению: если модель учится назначать полную вероятность метке основополагающего факта для каждого примера обучения, обобщение не гарантируется. Во-вторых, он способствует тому, что различия между самым большим логитом и всеми остальными становятся большими, и это, в сочетании с ограниченным градиентом , снижает способность модели адаптироваться. Интуитивно это происходит потому, что модель становится слишком уверенной в своих прогнозах.
Но вместо того, чтобы добавить сглаживающий термин к предсказаниям, они добавили его в основную истину , которая оказалась полезной.
В наших экспериментах ImageNet с классами K = 1000 мы использовали u (k) = 1/1000 и = 0.1. Для ILSVRC 2012 мы обнаружили постоянное улучшение примерно на 0,2% абсолютного как для ошибки топ-1, так и для ошибки топ-5.