如何使用keras TensorFlow模型减少损失?

时间:2019-06-03 20:52:24

标签: python tensorflow keras

因此,我有一个约有140,000个样本的数据集,其中有5个输入,汽车的速度,汽车的加速度,由雷达收集的领头汽车的速度,领头汽车的距离以及铅车。输出范围是0到1,0是最大制动,1是最大加速度。

我是神经网络的初学者,因此无法优化模型以获取此数据的最佳准确性/损失。我一直在尝试更改优化器,激活功能,隐藏层的数量,层中节点的数量等,但是似乎没有什么可以降低随时间的损失。

这是我当前的模型:

opt = keras.optimizers.Adam(lr=0.001, decay=1e-6)
model = Sequential()
model.add(Dense(5, activation="tanh", input_shape=(x_train.shape[1:])))
for i in range(40):
    model.add(Dense(60, activation="relu"))
model.add(Dense(1))

我现在不太担心过拟合我的数据,因为以后我可以处理它,我只是想基本上记住这些数据,看看损失多少,只是看我是否可以改善它。并预测经过训练的数据,以确保它可以返回正确的输出。但是,我得到的最低验证损失大约为0.015,这肯定不会在我的测试中返回当前输出,准确率约为90%。

我在做错什么吗?我应该增加还是缩小模型尺寸?我尝试过的一切似乎都没有效果。我还确保独立标准化5个输入和1个输出。似乎在几个时期后它什么也没学到。

感谢有人决定帮助我解决这个非常具体的问题。

1 个答案:

答案 0 :(得分:0)

我想提供帮助,但是那里没有太多信息。

首先,网络的目标是什么?很难说出您要如何减少 of 的损失。您的损失函数是什么?你的标签是什么?这似乎是一个经典的强化学习问题,而不是传统的监督学习问题。数据的结构如何?我假设他们以某种得分“跑”?

一件毯子,可能太多了。

在大多数情况下,使用网络最大的改进是清理数据(我们认为很好)和弄乱丢失功能。最好从一个简单的模型开始,然后确定是否需要更多。

还有这就是强化学习,但这是一个很好的例子https://github.com/lexfridman/deeptraffic