多次训练brain.js?

时间:2018-07-11 23:31:48

标签: javascript node.js brain.js

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

1 个答案:

答案 0 :(得分: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}
);

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

快乐的头脑!