繁体   English   中英

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

[英]How can I reduce loss with my keras TensorFlow model?

因此,我有一个大约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个输出正常化。 似乎它在几个时代之后永远不会学到任何东西。

谢谢,如果有人决定帮我解决这个非常具体的问题。

我想帮忙,但那里没有太多的信息。

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

一个毯子的东西,这可能是太多的层次。

大部分时间使用网络最大的改进来自清理数据(我们认为这很好)并且弄乱你的损失功能。 最好先从一个简单的模型开始,然后弄清楚是否需要更多。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM