Почему мы хотим масштабировать результаты при использовании dropout? - PullRequest
0 голосов
/ 09 декабря 2018

Из выпадающей бумаги :

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

Почему мы хотим сохранить ожидаемый результат?Если мы используем активации ReLU, линейное масштабирование весов или активаций приводит к линейному масштабированию сетевых выходов и не влияет на точность классификации.

Чего мне не хватает?

1 Ответ

0 голосов
/ 09 декабря 2018

Если быть точным, мы хотим сохранить не «ожидаемый результат», а ожидаемое значение вывода, то есть мы хотим компенсировать разницу в обучении (когда мы не передаем значения некоторых узлов)и этапы тестирования путем сохранения средних (ожидаемых) значений результатов.

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

...