Я пытаюсь создать сеть Elman (также известную как Simple Recurent Network) с Pybrain, я думаю, что код должен выглядеть примерно так:
n = RecurentNetwork()
n.addInputModule(LinearLayer(5, name = 'in'))
n.addModule(TanhLayer(10, name = 'hidden'))
n.addModule(LinearLayer(10, name = 'context'))
n.addOutputModule(LinearLayer(5, name = 'out'))
n.addConnection(FullConnection(n['in'], n['hidden'], name = 'in_to_hidden'))
n.addConnection(FullConnection(n['hidden'], n['out'], name = 'hidden_to_out'))
n.addConnection(IdentityConnection(n['hidden'], n['context'], name = 'hidden_to_context'))
n.addConnection(IdentityConnection(n['context'], n['hidden'], name = 'context_to_hidden'))
Моя проблема в том, что я не знаю, как заставить узлы контекста (во время t) сохранить значения скрытых узлов последней итерации (во время t-1), чтобы передать их скрытым узлам в этом итерация (во время t) и как исправить веса в hidden_to_context равными 1. Как это происходит прямо сейчас Я получаю сообщение об ошибке, говорящее о том, что в сети есть «петля» (и она действительно есть). Любая помощь приветствуется. Спасибо большое.
Ваше здоровье,
Бруно