Я работаю с нейронными сетями (NN) как часть моей диссертации по геофизике, и использую TensorFlow с Keras для обучения моей сети.
Моя текущая задача - использовать NN для аппроксимации термодинамической модели, то есть задачи нелинейной регрессии.Он принимает 13 входных параметров и выдает профиль скорости (скорость в зависимости от глубины) 450 параметров.Мои данные состоят из 100 000 синтетических примеров (т. Е. Шума нет), разбиты на тренировки (80 КБ), валидацию (10 КБ) и тестирование (10 КБ).
Я проверил свою сеть на различные архитектуры: более широкие (5-800 нейронов) и более глубокие (до 10 слоев), разные скорости обучения и размеры пакетов, и даже для многих эпох (5000),В основном все стандартные приемы торговли ...
Но я озадачен тем фактом, что кривая обучения показывает ошибку валидации ниже, чем ошибка обучения (для всех моих тестов), и я никогда не был в состояниисоответствовать тренировочным данным.См. Рисунок ниже:
Ошибка в тестовом наборе, соответственно, низкая, поэтому сеть, по-видимому, может делать достойные прогнозы.Кажется, что достаточно одного скрытого слоя из 50 нейронов.Однако я не уверен, могу ли я доверять этим результатам из-за поведения кривой обучения.Я считал, что это может быть связано с набором проверок, состоящим из примеров, которые «легко» предсказать, но я не понимаю, как мне это изменить.Возможно, больший набор проверок?
Подводя итог: обязательно ли это плохой признак, если ошибка проверки меньше или очень близка к ошибке обучения?Что делать, если прогнозы, сделанные с указанной сетью, являются приличными?
Возможно ли, что переоснащение просто невозможно для моей проблемы и данных?