Керас разница между val_loss и потерей во время тренировки

18

В чем разница между тренировками в Керасе val_lossи lossво время них?

Например

Epoch 1/20
1000/1000 [==============================] - 1s - loss: 0.1760, val_loss: 0.2032  

На некоторых сайтах я читал, что при проверке не работал отсев.

Vladimircape
источник
То , что вы читали о отсева, вероятно , что, когда используется отсев (т.е. dropoutне None), отсев применяется только во время обучения (т.е. не недоучка не применяется во время проверки). Таким образом, одно из различий между потерей при валидации ( val_loss) и потерей при обучении ( loss) заключается в том, что при использовании отсева потеря при валидации может быть ниже, чем потеря при обучении (обычно не ожидается в случаях, когда отсев не используется).
Пси

Ответы:

15

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

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

validation_split: Смещение между 0 и 1. Часть данных обучения, которые будут использоваться в качестве данных проверки. Модель выделит эту часть обучающих данных, не будет тренироваться на ней и оценит потери и любые метрики модели на этих данных в конце каждой эпохи. Данные проверки выбираются из последних выборок в предоставленных данных x и y перед перетасовкой.

validation_data: tuple (x_val, y_val) или tuple (x_val, y_val, val_sample_weights) для оценки потерь и любые метрики модели в конце каждой эпохи. Модель не будет обучаться на этих данных. Это переопределит validation_split.

Как вы видете

fit(self, x=None, y=None, batch_size=None, epochs=1, verbose=1, callbacks=None, validation_split=0.0, validation_data=None, shuffle=True, class_weight=None, sample_weight=None, initial_epoch=0, steps_per_epoch=None, validation_steps=None)

fitМетод используется в Kerasимеет параметр с именем validation_split, который указывает процент данных, используемых для оценки модели, которая создается после каждой эпохи. После оценки модели с использованием этого количества данных, об этом будет сообщать, val_lossесли вы установили подробное значение 1; Более того, как четко указано в документации, вы можете использовать либо, validation_dataлибо validation_split. Данные перекрестной проверки используются для выяснения того, соответствует ли ваша модель данным или нет. Это то, что мы можем понять, имеет ли наша модель возможность обобщения или нет.

СМИ
источник