Куда относятся количество эпох и размер партии в процессе настройки гиперпараметра? - PullRequest
0 голосов
/ 29 апреля 2020

Я довольно плохо знаком с машинным обучением и работаю над оптимизацией гиперпараметров для моей модели. Я делаю это с помощью рандомизированного поиска. У меня вопрос: я должен искать по количеству эпох и размеру партии наряду с другими моими гиперпараметрами (например, функция потерь, количество слоев и т. Д. c.)? Если нет, следует ли мне сначала исправить эти значения, найти другие параметры, а затем вернуться к настройке этих параметров?

Меня беспокоит то, что) поиск во многих эпохах будет чрезвычайно трудоемким, поэтому это при одном низком значении для начального сканирования было бы полезно, и б) что эти параметры, особенно Количество эпох, будет непропорционально влиять на результаты, когда модель будет вести себя хорошо, и не даст мне много информации об остальной части моей архитектуры, так как должен быть режим, в котором больше эпох, до определенного момента, лучше. Я знаю, что это не совсем точно, т. Е. Число эпох - это настоящий гиперпараметр, и слишком много может привести, например, к проблемам с переобучением. В настоящее время моя модель явно не улучшается с числом эпох, хотя кто-то, работающий над аналогичной проблемой в моей области исследований, предположил, что это можно смягчить путем реализации нормализации партии, что является еще одним параметром, который я тестирую. Наконец, я обеспокоен тем, что размер пакета будет сильно зависеть от того факта, что я масштабирую свои данные до 60%, чтобы позволить моему коду работать разумно (и я думаю, что окончательная модель будет обучена на значительно большем количестве данных, чем моделируемые данные на данный момент доступно мне).

1 Ответ

0 голосов
/ 29 апреля 2020

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

Почти для всего остального есть статья Лесла ie Н. Смита, которую я не могу рекомендовать достаточно, Дисциплинированный подход к гиперпараметрам нейронной сети: Часть 1 - скорость обучения, размер партии, импульс и снижение веса .

Как видите, размер партии включен, но эпохи не. Вы также заметите, что архитектура модели не включена (количество слоев, размер слоя и т. Д. c). Поиск нейронной архитектуры - это отдельная огромная область исследований, отдельная от настройки гиперпараметров.


Что касается функции потерь, я не могу придумать ни одной причины «настроить», что, за исключением случаев «Вспомогательных потерь» только для обучения, я подозреваю, что это не то, о чем вы говорите.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...