Не разрушит ли выпадающий слой сеть?

Представьте, что у вас есть глубокая нейронная сеть для решения задачи регрессии, чтобы предсказать вес человека. Ваша нейронная сеть выглядит так:

Dense(112, activation='relu')
Dense(512, activation='relu)
Dropout(0.5)
Dense(1, activation='relu')

Теперь во время обучения предположим, что 50% узлов соответствует выходу от 30 до 100 в зависимости от входа. Теперь во время тестирования, когда выпадение не происходит, результат от 30 до 100 не будет удваиваться, потому что ранее, когда было активным только 50% узлов, эти 50% узлов передавали какое-то значение на выходной узел, и, таким образом, мы получали на выходе от 30 до 100, а теперь во время тестирования, когда все узлы активны, поэтому все узлы передают какое-то значение на выходной узел. Итак, если 50% узлов получили результат от 30 до 100, не будет ли это значение удвоено во время тестирования, когда активны 100% узлов?


person Dhruv Agarwal    schedule 01.08.2020    source источник
comment
Вы, кажется, полностью игнорируете, что Dropout имеет функциональность (умножение на p) именно для предотвращения проблемы, о которой вы спрашиваете.   -  person Dr. Snoopy    schedule 01.08.2020
comment
Не могли бы вы рассказать об этой функциональности подробнее?   -  person Dhruv Agarwal    schedule 02.08.2020


Ответы (1)


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

Если единица сохраняется с вероятностью p, то во время тестирования все текущие веса этой единицы сначала умножаются на p.

Итак, в случае прогнозирования весов, о которых я упоминал в вопросе, все текущие веса после выпадающего слоя сначала будут умножены на p (0,5 в данном случае), в результате чего тестовый результат будет таким же, как и тренировочный, примерно от 30 до 100. , и устранение проблемы!

person Dhruv Agarwal    schedule 07.09.2020