我正在 Torch 中实现一个多层感知器神经网络,遵循 this example (从“示例:训练神经网络”到“Torch 基础知识:测试您的神经网络”部分)。
现在我必须添加一些momentum对于这个神经网络模型,但我不明白如何做到这一点。 梯度下降部分为:
criterion = nn.MSECriterion()
trainer = nn.StochasticGradient(mlp, criterion)
trainer.learningRate = 0.01
trainer:train(dataset)
我希望有一些命令,例如:trainer.momentum = 1,但没有这样的东西。
有人知道如何为我的 Torch 神经网络模型添加动力吗?
最佳答案
使用包 optim
(参见 https://github.com/torch/optim )进行优化,您可以为参数创建一个 Lua 表。这是一个例子;
optimState = {
learningRate = 0.001,
weightDecay = 0,
momentum = 0.9,
learningRateDecay = 0
}
然后您可以将此参数表传递给 optim.method
函数(优化您的损失函数),例如;
optim.method(func, x, optimState)
关于lua - 在 Torch 中,如何为我的随机下降添加动力?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34339489/