偏倚是如何添加到PyBrain神经网络的特定隐藏层的?

2024-10-01 17:27:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个有两个隐藏层的神经网络。我只想在第二个隐藏层添加一个偏移单元。我该怎么做?在

我的网络代码如下:

nn = FeedForwardNetwork()
inLayer = LinearLayer(numFeatures)
hiddenLayer1 = LinearLayer(numFeatures+1)
hiddenLayer2 = SigmoidLayer(numFeatures+1)
outLayer = LinearLayer(1)

nn.addInputModule(inLayer)
nn.addModule(hiddenLayer1)
nn.addModule(hiddenLayer2)
nn.addOutputModule(outLayer)

in_to_hidden1 = FullConnection(inLayer, hiddenLayer1)
hidden1_to_hidden2 = FullConnection(hiddenLayer1, hiddenLayer2)
hidden2_to_out = FullConnection(hiddenLayer2, outLayer)

nn.addConnection(in_to_hidden1)
nn.addConnection(hidden1_to_hidden2)
nn.addConnection(hidden2_to_out)
nn.sortModules()

Tags: toinnnouthidden1hidden2inlayeraddmodule
1条回答
网友
1楼 · 发布于 2024-10-01 17:27:02

这是一个相当简单的任务。首先必须创建偏差模块:

bias = BiasUnit()

然后把它添加到你的神经网络中,这样:

^{pr2}$

然后,假设已经添加了其他层,则必须将偏移连接到您选择的隐藏层:

bias_to_hiden = FullConnection(bias, hiden_layer)

然后将其添加到神经网络中:

nn.addConnection(bias_to_hiden)

除此之外,你做的一切都和以前一样。在

对于来自pybrain.tools.shortcuts modulebuildNetwork函数的引用检查代码。下面是一些代码,用于将偏差单元连接到其他层(第75-79行):

if opt['bias']:
    # add bias module and connection to out module, if desired
    n.addModule(BiasUnit(name='bias'))
    if opt['outputbias']:
        n.addConnection(FullConnection(n['bias'], n['out']))

希望能帮上忙。在

相关问题 更多 >

    热门问题