Почему средний вес rnn продолжает расти?

Я использую Pybrain для обучения рекуррентной нейронной сети. Однако среднее значение весов продолжает расти, и после нескольких итераций точность обучения и теста становится ниже. Теперь максимальная производительность на данных поезда составляет около 55%, а на тестовых данных — около 50%. Я думаю, может быть, у rnn есть некоторые проблемы с обучением из-за его большого веса. Как я могу это решить? Заранее спасибо.


person csz-carrot    schedule 13.10.2014    source источник


Ответы (1)


Обычный способ ограничить параметры сети — использовать ограниченный функционал ошибки, который каким-то образом наказывает абсолютную величину параметров. Это делается в «распаде веса», когда вы добавляете к своей ошибке суммы квадратов норму весов ||w||. Обычно это евклидова норма, но иногда также и 1-норма, и в этом случае ее называют «лассо». Обратите внимание, что снижение веса также называется гребневой регрессией или регуляризацией по Тихонову.

В PyBrain согласно этой странице в документации доступна Lasso-версия уменьшения веса, которую можно параметризовать параметром wDecay.

person davidhigh    schedule 13.10.2014