Javascript XOR神经网络回归rubish

Javascript XOR神经网络回归rubish,javascript,tensorflow,neural-network,xor,tensorflow.js,Javascript,Tensorflow,Neural Network,Xor,Tensorflow.js,Tensorflow.js中我的XOR“神经网络”不断返回垃圾预测,而损失总是停留在0.25。我不知道我做错了什么。谢谢你的帮助 const model=tf.sequential(); add(tf.layers.dense({units:2,activation:'sigmoid',inputShape:[2]})); add(tf.layers.dense({units:1,activation:'sigmoid'})); compile({loss:'meanSquaredError'

Tensorflow.js中我的XOR“神经网络”不断返回垃圾预测,而损失总是停留在0.25。我不知道我做错了什么。谢谢你的帮助

const model=tf.sequential();
add(tf.layers.dense({units:2,activation:'sigmoid',inputShape:[2]}));
add(tf.layers.dense({units:1,activation:'sigmoid'}));
compile({loss:'meanSquaredError',优化器:'sgd'});
特快专列新加坡元(0.5);
常数xs=tf.tensor2d([[0,0],[0,1],[1,0],[1,1]]);
常数ys=tf.tensor2d([[0],[1],[1],[0]]);
异步函数列(){
for(设i=0;i<200;i++){
const history=wait model.fit(xs,ys,{epochs:20,shuffle:true});
log(“loss:“+history.history.loss[19]+”在“+i+”.iteration.”上);
}
}
训练(),然后(()=>{
log(“使用“+tf.memory().numTensors+张量进行训练”);
model.predict(xs.print();
});

我已经更改了优化器,它可以按预期进行预测

    [[0.0156993],
     [0.985333 ],
     [0.9862437],
     [0.0150503]]
const model=tf.sequential();
add(tf.layers.dense({units:2,activation:'sigmoid',inputShape:[2]}));
add(tf.layers.dense({units:1,activation:'sigmoid'}));
常量优化器=tf.train.adam(0.01);
compile({loss:'meanSquaredError',优化器:optimizer});
常数xs=tf.tensor2d([[0,0],[0,1],[1,0],[1,1]]);
常数ys=tf.tensor2d([[0],[1],[1],[0]]);
异步函数列(){
for(设i=0;i<200;i++){
const history=wait model.fit(xs,ys,{epochs:20,shuffle:true});
log(“loss:“+history.history.loss[19]+”在“+i+”.iteration.”上);
}
}
训练(),然后(()=>{
log(“使用“+tf.memory().numTensors+张量进行训练”);
model.predict(xs.print();
});

有趣!在我的平板电脑上,它最多可以达到0.16,而在我的iPad上,它大多会下降到0.002,但有时也会被困在0.16。现在我不知道发生了什么。你是说JS库在不同的设备上表现不同?看起来很不幸。