Какой тип регуляризации использует регуляризацию L2 или исключение в multiRNNCell?

Я работаю над проектом, связанным с автокодировщиком последовательностей для прогнозирования временных рядов. Итак, я использовал tf.contrib.rnn.MultiRNNCell в кодировщике и декодере. Я не понимаю, какая стратегия используется для регуляризации моей модели seq2seq. Должен ли я использовать регуляризацию L2 при потере или использовать DropOutWrapper (tf.contrib.rnn.DropoutWrapper) в multiRNNCell? Или я могу использовать обе стратегии... L2 для весов и смещения (проекционный слой) и DropOutWrapper между ячейками в multiRNNCell? Заранее спасибо :)


person dnovai    schedule 23.04.2018    source источник


Ответы (1)


Вы можете использовать как отсев, так и регуляризацию L2 одновременно, как это обычно делается. Это совершенно разные типы регуляризации. Тем не менее, я хотел бы отметить, что в недавней литературе предполагалось, что нормализация партии заменила необходимость отсева, как указано в исходной статье о нормализации партии:

https://arxiv.org/abs/1502.03167

Из аннотации: «Он также действует как регуляризатор, в некоторых случаях устраняя необходимость в Dropout».

Регуляризация L2 обычно применяется, когда используется пакетная норма. Ничто не мешает вам применить все 3 формы регуляризации, приведенное выше заявление указывает только на то, что вы можете не увидеть улучшения, применяя отсев, когда пакетная норма уже используется.

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

person David Parks    schedule 23.04.2018
comment
Спасибо Интересная бумага. Всего найлучшего! Я собираюсь следовать вашему совету. Я думаю, что L2 нуждается в дополнительном параметре (для выбора), а стратегия отсева просто (обычно) использует keep_prob = 0,5. Я проведу несколько контрольных экспериментов, чтобы разобраться с более подробной информацией. - person dnovai; 24.04.2018
comment
Когда я запустил поиск гиперпараметров, я обнаружил, что оптимальный показатель отсева сильно отличается от 0,5. По моему опыту, это зависело от того, сколько данных у меня было. Когда-то для больших наборов данных в качестве оптимальной вероятности сохранения было выбрано значение 0,98 (например, отсев приносил мало пользы). - person David Parks; 24.04.2018