Квазислучайный поиск

В этом разделе основное внимание уделяется квазислучайному поиску.

Зачем использовать квазислучайный поиск?

Квазислучайный поиск (основанный на последовательностях с низким расхождением) — это наше предпочтение перед более сложными инструментами оптимизации «черного ящика», когда он используется как часть итеративного процесса настройки, предназначенного для максимального понимания проблемы настройки (то, что мы называем «фазой исследования»). Байесовская оптимизация и подобные инструменты больше подходят для этапа эксплуатации. Квазислучайный поиск, основанный на случайно сдвинутых последовательностях с низким расхождением, можно рассматривать как «поиск по неравномерной, перетасованной сетке», поскольку он равномерно, но случайным образом исследует заданное пространство поиска и распределяет точки поиска в большей степени, чем случайный поиск.

Преимущества квазислучайного поиска перед более сложными инструментами оптимизации «черного ящика» (например, байесовской оптимизацией, эволюционными алгоритмами) включают в себя:

  • Неадаптивная выборка пространства поиска позволяет изменить цель настройки в апостериорном анализе без повторного проведения экспериментов. Например, мы обычно хотим найти лучшее испытание с точки зрения ошибки проверки, достигнутой на любом этапе обучения. Однако неадаптивный характер квазислучайного поиска позволяет найти лучшее испытание на основе окончательной ошибки проверки, ошибки обучения или какой-либо альтернативной метрики оценки без повторного проведения каких-либо экспериментов.
  • Квазислучайный поиск ведет себя последовательно и статистически воспроизводимо. Должно быть возможно воспроизвести исследование шестимесячной давности, даже если реализация алгоритма поиска изменится, при условии, что оно сохранит те же свойства единообразия. При использовании сложного программного обеспечения для байесовской оптимизации реализация может существенно меняться в зависимости от версии, что значительно усложняет воспроизведение старого поиска. Не всегда возможно вернуться к старой реализации (например, если инструмент оптимизации запускается как служба).
  • Единообразное исследование пространства поиска облегчает анализ результатов и того, что они могут предложить о пространстве поиска. Например, если лучшая точка при обходе квазислучайного поиска находится на границе пространства поиска, это хороший (но не надежный) сигнал о том, что границы пространства поиска следует изменить. Тем не менее, адаптивный алгоритм оптимизации черного ящика мог бы пренебречь серединой пространства поиска из-за некоторых неудачных ранних испытаний, даже если он содержит одинаково хорошие точки, поскольку именно этот вид неравномерности должен использовать хороший алгоритм оптимизации. для ускорения поиска.
  • Выполнение различного количества испытаний параллельно и последовательно не дает статистически разных результатов при использовании квазислучайного поиска (или других неадаптивных алгоритмов поиска), в отличие от адаптивных алгоритмов.
  • Более сложные алгоритмы поиска не всегда могут правильно обрабатывать невозможные точки, особенно если они разработаны без учета настройки гиперпараметров нейронной сети.
  • Квазислучайный поиск прост и особенно хорошо работает, когда параллельно выполняется множество испытаний по настройке. Как ни странно 1 , адаптивному алгоритму очень трудно превзойти квазислучайный поиск, бюджет которого в 2 раза превышает его бюджет, особенно когда многие испытания необходимо проводить параллельно (и, следовательно, очень мало шансов использовать результаты предыдущих испытаний, когда запуск новых испытаний). Без опыта байесовской оптимизации и других передовых методов оптимизации «черного ящика» вы не сможете достичь тех преимуществ, которые они в принципе способны обеспечить. Трудно оценить передовые алгоритмы оптимизации «черного ящика» в реалистичных условиях настройки глубокого обучения. Это очень активная область текущих исследований, и более сложные алгоритмы имеют свои подводные камни для неопытных пользователей. Эксперты в этих методах могут получить хорошие результаты, но в условиях высокого параллелизма пространство поиска и бюджет имеют гораздо большее значение.

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

Vizier с открытым исходным кодом имеет реализацию квазислучайного поиска . Установите algorithm="QUASI_RANDOM_SEARCH" в этом примере использования Vizier . В этом примере проверки гиперпараметров существует альтернативная реализация. Обе эти реализации генерируют последовательность Холтона для данного пространства поиска (предназначенную для реализации сдвинутой, зашифрованной последовательности Холтона, как рекомендовано в разделе «Критические гиперпараметры: No Random, No Cry») .

Если алгоритм квазислучайного поиска, основанный на последовательности с низким расхождением, недоступен, вместо него можно заменить псевдослучайный равномерный поиск, хотя это, вероятно, будет немного менее эффективным. В 1-2 измерениях поиск по сетке также приемлем, но не в более высоких измерениях. (См. Бергстра и Бенджио, 2012 ).

Сколько испытаний необходимо, чтобы получить хорошие результаты при квазислучайном поиске?

Невозможно определить, сколько испытаний необходимо для получения результатов при квазислучайном поиске в целом, но вы можете посмотреть конкретные примеры. Как показано на рисунке 3, количество испытаний в исследовании может оказать существенное влияние на результаты:

Ящичный график частоты ошибок проверки (ось Y) в зависимости от бюджета настройки (ось X), где бюджет настройки — это количество испытаний. Средняя частота ошибок при проверке обычно снижалась по мере увеличения бюджета настройки.

Рисунок 3: ResNet-50, настроенный на ImageNet со 100 испытаниями. С помощью начальной загрузки были смоделированы различные объемы бюджета настройки. Построены коробчатые диаграммы лучших показателей для каждого пробного бюджета.

Обратите внимание на следующее относительно рисунка 3:

  • Межквартильные размахи при выборке из 6 испытаний намного больше, чем при выборке из 20 испытаний.
  • Даже при наличии 20 испытаний разница между особенно удачными и неудачными исследованиями, вероятно, больше, чем типичная разница между повторными тренировками этой модели на разных случайных начальных числах с фиксированными гиперпараметрами, которые для этой рабочей нагрузки могут составлять около +/- 0,1% из-за ошибки проверки. ставка ~23%.

  1. Бен Рехт и Кевин Джеймисон отметили, насколько сильным является случайный поиск с 2X-бюджетом в качестве базовой линии ( в статье Hyperband приводятся аналогичные аргументы), но, безусловно, можно найти пространства поиска и проблемы, в которых современные методы байесовской оптимизации не справляются. случайный поиск, бюджет которого вдвое превышает бюджет. Однако, по нашему опыту, победить случайный поиск с 2X-бюджетом становится намного сложнее в режиме высокого параллелизма, поскольку байесовская оптимизация не имеет возможности наблюдать результаты предыдущих испытаний.