Bog'liq Гудфеллоу Я , Бенджио И , Курвилль А Глубокое обучение
274
Оптимизация в обучении глубоких моделей
На этапе тестирования
μ и
σ можно заменить скользящими средними, подготов-
ленными на этапе обучения. Это позволяет вычислять модель для одного примера,
не прибегая к определениям
μ и
σ , которые зависят от всего мини-пакета. Возвра-
щаясь к примеру
y �
=
xw 1
w 2
…
w l , мы видим, что трудности обучения модели можно
по большей части разрешить путем нормировки
h l –1
. Предположим, что
x имеет нор-
мальное распределение с нулевым средним и единичной дисперсией. Тогда
h l –1
тоже
имеет нормальное распределение, потому что преобразование
x в
h l линейно. Однако
у
h l –1
среднее уже не равно 0, а дисперсия не равна 1. После применения пакетной
нормировки мы получаем
h �
l –1
с восстановленными свойствами нулевого среднего
и единичной дисперсии. Почти для любого обновления нижних слоев
h �
l –1
сохра-
няет эти свойства. Тогда выход
y �
можно обучить как простую линейную функцию
y �
=
w l h �
l –1
. Обучение этой модели стало совсем простым делом, потому что параметры
нижних слоев в большинстве случаев ни на что не влияют; их выход всегда перенор-
мируется в нормальное распределение с нулевым средним и единичной дисперсией.
В некоторых патологических ситуациях нижние слои могут оказывать влияние. Из-
менение одного из весов нижнего слоя на 0 может привести к вырожденному выходу,
а изменение знака одного веса может обратить связь между
h �
l –1
и
y . Такие ситуации
очень редки. Без нормировки почти любое обновление очень сильно влияло бы на
статистику
h l –1
. Таким образом, в результате пакетной нормировки обучить эту мо-
дель стало гораздо проще. Конечно, в этом примере ценой за простоту обучения стала
бесполезность нижних уровней. В этой линейной ситуации нижние уровни не дают
вредного эффекта, но и полезного тоже. Объясняется это тем, что в результате нор-
мировки мы устранили статистики первого и второго порядка, а это всё, на что мо-
жет повлиять линейная сеть. В глубокой нейронной сети с нелинейными функциями
активации нижние уровни могут выполнять нелинейные преобразования данных,
поэтому остаются полезными. Действие пакетной нормировки направлено на стан-
дартизацию только среднего и дисперсии каждого блока с целью стабилизировать
обучение, но она не препятствует изменению связей между блоками и нелинейных
статистик одного блока.
Поскольку последний слой сети способен обучиться линейному преобразованию,
мы на самом деле можем попробовать удалить все линейные связи между блоками
в пределах одного слоя. Именно так и поступили авторы работы Desjardins et al.
(2015), которая подсказала идею пакетной нормировки. К сожалению, исключение
всех линейных взаимодействий обходится гораздо дороже стандартизации среднего
и стандартного отклонений каждого отдельного блока, так что пакетная нормировка
до сих пор остается наиболее практичным решением.
Нормировка среднего и стандартного отклонений блока может снизить вырази-
тельную мощность нейронной сети, содержащей этот блок. Для сохранения вырази-
тельной мощности обычно заменяют пакет активаций скрытых блоков