Что такое потеря регуляризации в тензорном потоке?

При обучении DNN обнаружения объектов с помощью API обнаружения объектов Tensorflows платформа Visualization Plattform Tensorboard строит скаляр с именем regularization_loss_1

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

Спасибо!


person gustavz    schedule 25.01.2018    source источник


Ответы (1)


TL; DR: это просто дополнительные потери, вызванные функцией регуляризации. Добавьте это к потерям в сети и оптимизируйте их по сумме двух.

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

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

person GPhilo    schedule 25.01.2018
comment
Зачем нужен вес, близкий к нулю? Эта информация может улучшить ответ - person Hakaishin; 13.12.2018
comment
Я использовал это только как пример возможной потери, которая напрямую не связана с входными данными. Я понятия не имею, желательно ли иметь вес, близкий к нулю. - person GPhilo; 13.12.2018
comment
Веса, близкие к нулю, приводят к активациям, которые находятся ближе к границам триггеров нейронов (наклон сигмовидной кишки или relu) и дальше от насыщенных концов. Это, в свою очередь, делает вашу сеть менее способной создавать сильно нелинейные границы принятия решений, что снижает вероятность переобучения и делает ее более способной к обобщению, но также с меньшей вероятностью захвата очень сложных закономерностей. - person Francois Zard; 19.05.2019
comment
Это был простой термин регуляризации соломенного человека. Он также мог бы сказать: «Предположим, я хочу поощрять решения, близкие к 42, потому что это ответ жизни и т. Д.». Форма функции потерь не является сутью вопроса или ответа. - person welch; 29.01.2020
comment
На моем тренинге по обнаружению объектов TensorFlow у меня постоянно увеличивалась потеря регуляризации. Почему это происходит? Есть идеи, как это интерпретировать? - person hafiz031; 20.07.2020