диагностика тренировочного процесса нейронной сети - PullRequest
0 голосов
/ 24 января 2019

Я тренирую автоэнкодер DNN для вопроса регрессии.Нужны предложения по улучшению учебного процесса.

Общее количество обучающих выборок составляет около ~ 100 000.Я использую Keras, чтобы соответствовать модели, установив validation_split = 0.1.После тренировки я нарисовал изменение функции потери и получил следующую картину.Как можно видеть здесь, потеря при проверке является нестабильной, а средние значения очень близки к потере при обучении.

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

[ Редактировать 1/26/2019 ] Подробности сетевой архитектуры следующие: Он имеет 1 скрытый уровень из 50 узлов.Слой ввода и вывода имеет 1000 узлов соответственно.Активация скрытого слоя - это ReLU.Функция потери MSE.Для оптимизатора я использую Adadelta с настройками параметров по умолчанию.Я также пытался установить lr = 0.5, но получил очень похожие результаты.Различные характеристики данных имеют масштаб от -10 до 10, со средним значением 0.

enter image description here

1 Ответ

0 голосов
/ 26 января 2019

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

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

Для лучшего результата обучения и тестирования вы можете следовать этим советам:

  1. Использовать небольшую сеть.Достаточно сети с одним скрытым слоем.
  2. Выполнение активаций на входе, а также на скрытых слоях.Выходной слой должен иметь линейную функцию.Используйте функцию активации ReLU.
  3. Предпочитайте небольшую скорость обучения, например, 0,001.Используйте оптимизатор RMSProp.Он отлично работает при большинстве проблем регрессии.
  4. Если вы не используете функцию среднеквадратичной ошибки, используйте ее.
  5. Попробуйте медленное и устойчивое обучение, а не быстрое обучение.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...