神经网络无法预测y=2x关系

-4 投票
1 回答
47 浏览
提问于 2025-04-14 15:20

我现在的损失值是 13332936704,而且每次训练的周期(epoch)损失值都没有明显减少。输出结果是 0.74

Import tensorflow as tf
x=[]
y=[]
For i in range(10000):
  x.append(i)
  y append(i*2)
model=tf.keras.models.Sequential()
model.add(tf.keras.layers.Dense(64,input_shape=(1,),activation='relu'))
model.add(tf.keras.layers.Dense(28,activation='relu'))
model.add(tf.keras.layers.Dense(1,activation='sigmoid'))
model.compile(loss='mse',optimizer='adam')
model.fit(x,y,epochs=150,batch_size=32)
model.predict([2])

我想把这个神经网络应用到一个大项目中,但它并不是在简单地预测正常的关系。我尝试重新运行代码单元,也尝试修改了 y=2x。可是,它还是无法进行预测。

1 个回答

0

你的模型最后一层使用的是sigmoid激活函数,所以模型的输出只能在0到1之间。

这里插入图片描述

那么你怎么能指望它学会输出2*i(在你的情况下,这个值在0到20000之间)呢?

你可以尝试去掉activation='sigmoid',或者把你的输入和输出数据归一化到0到1的范围内。

撰写回答