【发布时间】:2014-09-18 21:39:34
【问题描述】:
我正在尝试使用 Pybrain 创建一个 Elman 网络(又名简单循环网络),我认为代码应该如下所示:
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。现在我得到一个错误,说网络中有一个“循环”(确实有一个)。任何帮助将非常感激。非常感谢。
干杯,
布鲁诺
【问题讨论】:
标签: python neural-network pybrain