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

问题描述 投票:0回答:1

我损失了

13332936704
,并且每个时期损失并没有减少太多。输出是
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
。然而,它仍然没有预测。

python tensorflow keras neural-network
1个回答
0
投票

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

你怎么能指望它学习如何生成

2*i
(在你的例子中是在 0 到 20000 之间)?

尝试删除

activation='sigmoid'
,或者将输入/输出数据标准化为 0 到 1 之间的范围

© www.soinside.com 2019 - 2024. All rights reserved.