我打算用这种东西。
model.compile(optimizer='adam', loss=lambda y_true, y_pred: y_pred)我想知道这是不是fail-proof。
我为什么要这么做?使用y_pred作为损失函数,通过将模型的输出设置为-r来最大化变量r的思想。因此,减少loss-function y_pred意味着减少-r,这意味着增加r。
r是matrix X的一个函数,我将其设置为网络中的一个层。
发布于 2020-02-05 09:47:48
在深层神经网络反向传播过程中,优化器的功能是调整神经网络各层的权值,使损失函数达到最大限度。
因此,如果您使用y_pred作为自定义损失函数,优化器将尽力最小化可能无法提供预期结果的y_pred,,因为-(Less Value)不会导致最大值。
发布于 2020-02-05 10:23:13
也许你可以更清楚地知道你为什么要这么做。如果不使用y_true计算错误损失,则可能根本不需要ML模型。据我所知,您只需要一个模型来预测任何输入的最高值。
https://stackoverflow.com/questions/58251604
复制相似问题