Глава 3. Вводим нелинейность: теперь не только взвешенные суммы
119
к таковому качество модели, — результат многократных проб различных сочетаний
параметров.
Такие параметры, как количество нейронов, метод задания начальных значений
ядра и функция активации, называются
гиперпараметрами
(hyperparameters) мо
дели. Название «гиперпараметры» подчеркивает, что это не весовые параметры мо
дели, обновляемые автоматически во время обучения путем обратного распростра
нения ошибки (то есть вызовов
Model.fit()
). Гиперпараметры модели выбираются
один раз и в течение обучения не меняются. Они нередко определяют количество
и размер весовых параметров (например, как поле
units
для плотного слоя), на
чальные значения весовых параметров (как поле
kernelInitializer
) и способ их
обновления во время обучения (как переданное в
Model.compile()
поле
optimizer
).
Следовательно, это параметры более высокого уровня, чем весовые параметры.
Отсюда и название «гиперпараметры».
Помимо размеров слоев и типа весовых параметров, существует множество дру
гих типов гиперпараметров модели и ее обучения, например:
z
z
количество плотных слоев в модели наподобие тех, что в листингах 3.1 и 3.2;
z
z
тип используемого для ядра плотного слоя инициализатора;
z
z
использовать ли какуюлибо регуляризацию весов (см. раздел 8.1) и если да, то
каков коэффициент регуляризации;
z
z
включать ли в модель слои дропаута (см. подраздел 4.3.2) и если да, то какова
скорость дропаута;
z
z
тип используемого для обучения оптимизатора (например,
'sgd'
или
'adam'
;
см. инфобокс 3.1);
z
z
количество эпох обучения модели;
z
z
скорость обучения оптимизатора;
z
z
снижать ли постепенно скорость обучения оптимизатора по мере обучения
и если да, то насколько быстро;
z
z
размер батча для обучения.
Последние пять перечисленных примеров несколько выделяются, поскольку
не связаны с самой архитектурой модели как таковой; они представляют собой
настройки процесса обучения модели. Тем не менее они влияют на результаты об
учения, а значит, могут считаться гиперпараметрами. У моделей, включающих более
разнообразные типы слоев (например, сверточные и рекуррентные, обсуждаемые
в главах 4, 5 и 9), потенциальное число настраиваемых гиперпараметров еще боль
ше. Отсюда ясно, почему даже у простой модели глубокого обучения количество
настраиваемых гиперпараметров может достигать десятков.
Процесс выбора хороших значений гиперпараметров называется
оптимизацией
гиперпараметров
(hyperparameter optimization) или
подстройкой
(hyperparameter
tuning). Цель оптимизации гиперпараметров — найти набор (гипер)параметров,
ведущий к минимальным потерям на проверочном наборе данных после обучения.
120
Do'stlaringiz bilan baham: |