четверг, 23 августа 2018 г.

Регуляризация для упрощения модели: лямбда

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

minimize(Loss(Data|Model)+λ complexity(Model))

Выполнение L2 регуляризации оказывает следующий эффект на модель:

  • Приближает значения весов к нулю (но не до самого нуля)
  • Приближает среднее значение весов к нулю, с нормальным (колоколообразным или Гауссовым) распределением.

Увеличение значения лямбды усиливает эффект регуляризации. Например, гистограмма весов для большого значения лямбда может выглядеть следующим образом:

Гистограмма весов

Снижение значения лямбды приводит к более пологой гистограмме:

Гистограмма весов, пройзведенная значением лямбда поменьше.

Когда выбирают значение лямбда, цель - достичь правильного баланса между простотой модели и достаточным обучением тренировочным данным:

  • Если значение лямбда слишком большое, тогда модель будет простой, но появится риск недообучения данным. Модель не будет достаточно обучаться тренировочным данным, поэтому будет плохо прогнозировать результаты.
  • Если значение лямбда слишком маленькое, тогда модель будет более сложной, и увеличится риск переобучения. Модель будет обучаться излишним особенностям тренировочных данных и не сможет генерализоваться на новых данных.

Задание лямбда равной нулю полностью отменяет регуляризацию. В этом случае тренировка сфокусирована исключительно на минимизации потери и приводит к высокому риску переобучения.

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

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

Ранняя остановка означает окончание тренировки до того как модель полностью приблизится. На практике, часто сталкиваются с неясностью с ранней остановкой, когда тренируют в онлайн (постоянном) режиме.

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