我正在使用 MultiLayerNetwork
。这个网络已经训练完毕,结果符合预期。为了实现 Federated Learning
,我需要使用来自外部组件的新梯度来更新这个网络的权重。
我的问题是,在 DL4J 中,执行 model.update(newGradients)
后,权重是否也会更新,还是需要执行其他操作?
谢谢
回答:
我找到了问题的答案。
更新梯度后,还需要更新权重(参数)。
如果使用 SGD,你可以这样做:
model.update(averageGradient);INDArray params = model.params(true);params.addi(averageGradient.gradient());
希望这对有类似问题的人有所帮助!