В FAQ Optuna есть четкий ответ, когда речь идет о динамической настройке диапазона параметра во время исследования: это не представляет проблемы, поскольку каждый сэмплер определяется индивидуально.
Но как насчет добавления и/или удаления параметров? Способна ли Оптуна справиться с такими настройками?
При этом я заметил одну вещь: в фрейме данных результатов эти параметры получают nan
записи для других испытаний. Будет ли какая-либо польза от возможности установить для этих nan
их значения (по умолчанию), которые они имели, когда они не были сэмплированы? Является ли исследование все еще надежным со всеми этими неизвестными значениями?
Ответ на вопрос здесь:
Спасибо за вопрос. Оптуна внутри поддерживает два типа выборки:
optuna.samplers.BaseSampler.sample_independent
иoptuna.samplers.BaseSampler.sample_relative
.Первый
optuna.samplers.BaseSampler.sample_independent
— это метод, который сэмплирует независимо от каждого параметра, и на него не влияет добавление или удаление параметров. Добавленные параметры учитываются с момента их добавления.Последний
optuna.samplers.BaseSampler.sample_relative
— это метод, который производит выборку с учетом корреляции параметров, и на него влияет добавление или удаление параметров. Пространство поиска Optuna по умолчанию для корреляции — это набор произведений доменов параметров, которые существуют с начала настройки гиперпараметра до настоящего времени. Разработчики, внедряющие сэмплеры, могут реализовать собственный метод расчета пространства поискаoptuna.samplers.BaseSampler.infer_relative_search_space
. Это может позволить учитывать корреляции для гиперпараметров, которые были добавлены или удалены, но это зависит от алгоритма выборки, поэтому обычные пользователи не могут изменять API.