【发布时间】:2021-07-01 23:21:00
【问题描述】:
我正在关注this pytorch 教程,了解如何设置神经网络,但我不了解损失函数loss = (y_pred - y).pow(2).sum().item()。为什么使用它而不是用于计算预测 y 值的函数的导数?我也不明白那个函数返回什么。
【问题讨论】:
标签: deep-learning neural-network pytorch loss-function
我正在关注this pytorch 教程,了解如何设置神经网络,但我不了解损失函数loss = (y_pred - y).pow(2).sum().item()。为什么使用它而不是用于计算预测 y 值的函数的导数?我也不明白那个函数返回什么。
【问题讨论】:
标签: deep-learning neural-network pytorch loss-function
那个函数是欧几里得L2-norm。它返回网络输出和预期输出之间的平方误差之和。
至于函数的导数,或者更好的梯度,它是由您正在使用的深度学习框架内部计算的(我假设这里是 pytorch),并且需要更新网络参数。对于大多数用例,您不需要考虑它。它的计算是完全自动的。
注意:如果您在张量上调用 .item(),您将提取其原始值,即您得到的不再是张量,而只是一个数字。这意味着您无法从中计算梯度(调用.backward())。
【讨论】: