Оптимизация гиперпараметров в Cpp? - PullRequest
0 голосов
/ 07 мая 2018

Мне нужно приспособить глубокую нейронную сеть к данным, поступающим из процесса генерации данных, подумайте о AR (5). Таким образом, у меня есть пять особенностей на наблюдение и один y для некоторого большого числа N наблюдений в каждой симуляции. Меня интересует только среднеквадратичная ошибка лучших показателей DNN в каждой модели.

Поскольку это настройка симуляции, мне нужно выполнить большое количество этих симуляций, и в рамках каждой симуляции подгонять нейронную сеть к данным. Единственный разумный способ, которым я могу думать об этом, - это подгонять DNN через гиперпараметрическую оптимизацию с учетом каждой симуляции (dlib's find_min_global будет моим оптимизатором).

Имеет ли смысл выполнять это упражнение на C ++ (медленная разработка, потому что я не опытный) или Python (более быстрая итерация, потому что я довольно опытный).

С того места, где я сижу, C ++ или Python могут не сильно влиять на время выполнения, поскольку модель должна компилироваться каждый раз, когда оптимизатор предлагает новый вектор гиперпараметров (я здесь не прав?). Если есть возможность скомпилировать один раз и проверить все гиперпараметры между нижней и верхней границами, то C ++ будет моим выходом к решению (возможно ли это на каком-либо из языков DNN с открытым исходным кодом?).

Если кто-то делал это упражнение раньше, пожалуйста, совет.

Спасибо всем за помощь.

1 Ответ

0 голосов
/ 07 мая 2018

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

enter image description here

Итак, я бы порекомендовал использовать для этого python и тензор потока, все керасы поддерживают это. Так что это не может быть проблемой. Примечание. Если я понял ваш вопрос по-другому, поправьте меня, пожалуйста.

...