Я пытаюсь сделать Эльман сети (ака Simple Recurent Network) с Pybrain, я думаю, что код должен выглядеть следующим образом:Эльман сети в 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. Как это сейчас, я получаю сообщение об ошибке, когда в сети есть «петля» (и действительно есть одна). Любая помощь приветствуется. Большое спасибо.
Cheers,
Bruno
Спасибо, я действительно использовал .addRecurrentConnection(), но тогда я хотел посмотреть 2 или 3 шага, и я не знал, как я думал, что способ сделать это будет с кодом, который я разместил (если Я мог бы сделать это с одним слоем, я бы просто добавил больше) –