Поиск по сетке против случайного поиска, какой из них для моделей глубокого обучения?
Иногда мне хочется, чтобы создание модели глубокого обучения было таким же простым, как для Майка Тайсона, чтобы выиграть боксерский поединок — один удар, и все кончено. Правда в том, что я часто задаю себе слишком много вопросов, когда начинаю оптимизировать свои модели: сколько слоев я должен включить? Сколько единиц или фильтров подходит для каждого слоя? Какую функцию активации следует использовать — ReLu? Должен ли я интегрировать Пакетную нормализацию после определенного слоя? Какую долю отсева я должен применять? Список можно продолжить.
Эти архитектурные решения называются гиперпараметрами. Они отличаются от обычных параметров модели, которые обучаются с помощью обратного распространения ошибки. Со временем мы начинаем понимать, что работает, а что нет, когда дело доходит до этих решений.
Однако — без обид, конечно — даже самые опытные из нас редко добиваются приличных результатов со своим первоначальным выбором. Итак, чтобы не тратить время на пробы и ошибки, я создаю список решений для оптимизации задач глубокого обучения.
Хотя существуют различные стратегии оптимизации, от простого случайного поиска до генетических алгоритмов, сегодня я подробно расскажу о двух популярных методах: поиске по сетке и случайном поиске.
Поиск по сетке
Поиск по сетке — это систематическая методология, используемая для настройки гиперпараметров. Несмотря на исчерпывающую стратегию поиска, которая кажется подходом грубой силы, он остается популярным выбором. Для этого требуется сетка значений гиперпараметров, каждая уникальная комбинация которых будет оцениваться перед определением оптимального набора.
Поскольку поиск по сетке анализирует все возможные комбинации в заранее заданной сетке, он может потребовать значительных вычислительных ресурсов и времени. Это особенно актуально для задач глубокого обучения, которые имеют большие наборы данных. Итак, нам нужно помнить о размере данных, прежде чем применять поиск по сетке.
Кроме того, поиск по сетке не включает никакой информации или отзывов из предыдущих итераций — я расскажу о байесовской оптимизации позже, а пока вы можете прочитать о преимуществах байесовской статистики. Так или иначе, в результате он может потратить время на комбинации, которые маловероятны...