Javascript 多次训练brain.js?

Javascript 多次训练brain.js?,javascript,node.js,brain.js,Javascript,Node.js,Brain.js,在第一次训练后,我如何将新信息(只训练新信息,而不是所有信息,因为这会花费太多的性能)训练到我用brain.js制作的神经网络中?有点粗糙,但你可以使用以下结构实现: 如果我们加入两个训练数据集,旧的和新的,然后用keepnetworkinframed:true重新训练,那么我们的神经网络将比从头开始重新训练要快得多 let net = new brain.NeuralNetwork(); // pre-training net.train([ {input: [0, 0], outp

在第一次训练后,我如何将新信息(只训练新信息,而不是所有信息,因为这会花费太多的性能)训练到我用brain.js制作的神经网络中?

有点粗糙,但你可以使用以下结构实现:

如果我们加入两个训练数据集,旧的和新的,然后用
keepnetworkinframed:true
重新训练,那么我们的神经网络将比从头开始重新训练要快得多

let net = new brain.NeuralNetwork();

// pre-training
net.train([
    {input: [0, 0], output: [0]},
    {input: [1, 1], output: [0]}
 ]);

// resume training with new data set
net.train([
        {input: [0, 0], output: [0]},  // old training data set
        {input: [1, 1], output: [0]}
    ].concat([
        {input: [0, 1], output: [1]},  // joining new training data set
        {input: [1, 0], output: [1]},
    ],
    {keepNetworkIntact:true}
);
我知道Brain.JS即将推出一个名为
resumabletraining
的功能,我不确定该功能是否实现了。不过,检查文档是值得的


快乐的头脑

我假设您将使用
toJSON
保存网络,然后使用
fromJSON
加载,然后在加载后调用
train
。注:未使用brain.js,但我认为这应该可以。尝试过,但似乎不起作用。神经网络会因此丢失以前的信息。这解决了这个问题,但我注意到:如果我使用浏览器版本,安装gpu.js不会加快训练速度。为什么?Brain.js在内部依赖于gpu.js。你是说你正在尝试不带节点的gpu.js,只是在浏览器上,brain.js培训不够快吗?如果我的解决方案有帮助,请作为asnwer接受。谢谢,不管有没有gpu.js,性能都是一样的:训练少量信息大约需要3~5秒,需要250次迭代。请注意Brain.js已经在内部使用gpu.js。如果您选择以其他方式将它们缝合在一起,则可能需要探索BrainJS代码库,以便更好地了解其内部连接方式,以便您可以根据自己的规范定制实现。