多次训练brain.js?

elp*_*q42 1 javascript node.js brain.js

第一次训练后,我如何才能将新信息(仅新信息,而不是所有内容,因为它会浪费太多性能)训练到我的使用Brain.js构建的神经网络中?

Pru*_*mar 5

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

如果我们将2个训练数据集(旧的和新的)结合在一起,然后再进行再训练,keepNetworkIntact: true则我们的NN将比我们从头开始进行再训练的速度快得多。

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}
);
Run Code Online (Sandbox Code Playgroud)

我知道Brain.JS即将推出一项称为的功能resumeableTraining,我不确定是否可以实现。虽然值得检查文档。

快乐的头脑!