如何在 Flux.jl 中使用损失函数

How to use a Loss function in Flux.jl

当我阅读 Flux 文档时,我看到有一个为我们定义的 bunch of different loss functions 可以使用。我知道损失告诉我们离目标值有多远。但是我实际上在哪里使用训练循环中的损失函数呢?

如果您使用内置的 train!() 函数,您可以定义损失函数并在训练期间使用它,如下所示:

loss(x, y) = Flux.Losses.mse(m(x), y)
ps = Flux.params(m)

Flux.train!(loss, ps, data, opt)

其中 Flux.Losses.mse 使用内置的均方误差函数计算 m(x)y 之间的距离。您可以在此处阅读有关 Flux 中损失函数的更多信息:https://fluxml.ai/Flux.jl/stable/training/training/#Loss-Functions