我想创建一个神经网络来预测一些输出。这里有两个数据样本:
290,11,2,2700,14.7,43.7,77.6
320,2.1,2,2700,2.2,31.6,62.3
前 4 列是输入,后 3 列是输出。 我用手电筒。这个问题需要多少层。或者什么是最佳学习率。 我创建了 4 层神经网络,如下所示:
self.fc1 = nn.Linear(4, 16)
self.fc2 = nn.Linear(16, 8)
self.fc3 = nn.Linear(8, 8)
self.fc4 = nn.Linear(8, 4)
self.fc5 = nn.Linear(4, 3)
学习率和时期是:
lr=0.5
epoch=100000
但在训练过程中Loss值停在242左右,并没有减少。
Epoch 7000, Loss: 242.69976806640625
Epoch 7050, Loss: 242.69976806640625
Epoch 22730, Loss: 242.69976806640625
Epoch 22740, Loss: 242.69976806640625
Epoch 35600, Loss: 242.69976806640625
Epoch 35610, Loss: 242.69973754882812
Epoch 35620, Loss: 242.69976806640625
Epoch 35630, Loss: 242.69976806640625
其他信息有:
criterion = nn.MSELoss()
optimizer = torch.optim.Adam(model.parameters(), lr=lr)
您可能想使用一些激活层来学习非线性模式。