Обучение разреженных нейронных сетей с помощью L₀-регуляризации

Аннотация
Мы предлагаем практический метод регуляризации по норме L₀ для нейронных сетей: прореживание сети во время обучения за счет стимулирования весов принимать значения, равные ровно нулю. Такая регуляризация представляет интерес, поскольку (1) она может значительно ускорить обучение и инференс, а также (2) улучшить обобщающую способность. AIC и BIC, хорошо известные критерии выбора моделей, являются частными случаями регуляризации L₀. Однако, поскольку норма L₀ весов не дифференцируема, мы не можем напрямую включить ее в качестве члена регуляризации в целевую функцию. Мы предлагаем решение посредством включения совокупности неотрицательных стохастических гейтов (вентилей), которые совместно определяют, какие веса следует обнулить. Мы показываем, что, как ни парадоксально, для определенных распределений гейтов ожидаемая норма L₀ полученных гейтированных весов дифференцируема по параметрам распределения. Далее мы предлагаем распределение hard concrete для гейтов, которое получается путем «растяжения» бинарного распределения concrete с последующим преобразованием его выборок с помощью жесткой сигмоидной функции (hard-sigmoid). Параметры распределения гейтов могут затем оптимизироваться совместно с исходными параметрами сети. В результате наш метод позволяет осуществлять простое и эффективное обучение структуры моделей с помощью стохастического градиентного спуска и обеспечивает условные вычисления принципиальным образом. Мы проводим различные эксперименты, чтобы продемонстрировать эффективность полученного подхода и регуляризатора.
Авторы
Полный текст статьи читайте на OpenAI
