Объяснение того, как YOLOv1 оценивает правильность своих прогнозов обнаружения и классификации объектов.
Делиться

Введение
В моей предыдущей статье я объяснил, как работает YOLOv1 и как построить архитектуру с нуля с помощью PyTorch. В сегодняшней статье я сосредоточусь на функции потерь, используемой для обучения модели. Я настоятельно рекомендую вам прочитать мою предыдущую статью о YOLOv1 перед этой, так как она охватывает множество фундаментальных моментов, которые вам необходимо знать. Перейдите по ссылке [1], чтобы попасть туда.
Что такое функция потерь?
Думаю, всем уже известно, что функция потерь — чрезвычайно важный компонент глубокого обучения (а также машинного обучения), используемый для оценки того, насколько хорошо наша модель предсказывает истинное значение. В общем, функция потерь должна принимать два входных значения: целевое значение и предсказание, сделанное моделью. Эта функция будет возвращать большое значение, если предсказание далеко от истинного значения. И наоборот, значение функции потерь будет малым, если модель успешно дает предсказание, близкое к целевому значению.
Обычно модель используется либо только для классификации, либо только для регрессии. Однако YOLOv1 немного особенная, поскольку она включает в себя задачу классификации — классификации обнаруженных объектов, при этом сами объекты будут заключены в ограничивающие рамки, координаты и размеры которых определяются с помощью непрерывных чисел, — следовательно, и задачу регрессии. Обычно для классификации используется функция потерь кросс-энтропии, а для регрессии — MAE, MSE, SSE или RMSE. Но поскольку предсказание, сделанное YOLOv1, включает в себя одновременно классификацию и регрессию, нам необходимо создать собственную функцию потерь для решения обеих задач. И вот здесь начинается самое интересное.
Источник: towardsdatascience.com



























