В чем разница между тестированием и проверкой конкретно в Mask-R-CNN?

#validation #neural-network #instance #loss #faster-rcnn

#проверка #нейронная сеть #экземпляр #потеря #быстрее-rcnn

Вопрос:

У меня есть собственный набор данных изображений, и я использую Mask-R-CNN для обучения. Там вы делите свой набор данных на обучение, проверку и тестирование.

Я хочу знать разницу между проверкой и тестированием. Я знаю, что проверка в целом используется для оценки качества NN после каждой эпохи. Основываясь на этом, вы можете увидеть, насколько хорош NN и происходит ли переобучение. Но я хочу знать, изучает ли NN на основе набора проверки.

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

Но что именно происходит в Mask-R-CNN на основе validationset? Установлена ли проверка только для просмотра результатов? Или некоторые параметры будут скорректированы на основе результата проверки, чтобы избежать переобучения? Даже если это так, какое влияние оказывает validationset на параметры? Будут ли скорректированы сами нейроны или нет?

Если влияние очень и очень мало, то я выберу набор проверки, равный набору тестов, потому что у меня не так много изображений (800).

Итак, в основном я хочу знать разницу между тестированием и валидацией в Mask-R-CNN, то есть как и насколько validationset влияет на NN.

Ответ №1:

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

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

Резервирование другого набора, тестового набора, для оценки после оценки этого набора проверки — это роскошь, которую вы можете иметь, если у вас много данных. Часто вам может не хватать достаточно помеченных данных, чтобы даже стоило отложить отдельный набор тестов.

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