tf-fed-demo icon indicating copy to clipboard operation
tf-fed-demo copied to clipboard

作者大大您好!

Open Luzhi6688 opened this issue 2 years ago • 6 comments

作者大大您好,我现在也是联邦学习的初学者,想请问一下,如果比较各客户机在本地训练完成后的梯度信息,这里的梯度信息指的是什么呢?是用loss求导吗,还是用Optimizer求导?这个问题困扰我很久了,期待您的回复!

Luzhi6688 avatar Jul 27 '22 07:07 Luzhi6688

您好!梯度指的是loss对各个参数的偏导数,一般等价于用SGD Optimizer求导loss。如果是Adam等Optimizer,会对求导原始梯度进行修正,可能会影响联邦训练的效果,这个应该有相关研究。

Zing22 avatar Jul 27 '22 12:07 Zing22

谢谢大佬的回复,我现在用的是SGD随机梯度下降,网络模型是LSTM,想提取每个客户机在本地训练完成以后的梯度信息,我发现弄了很久提取的只有模型的参数信息,如图, 捕获,是我获取梯度的函数,不知道对不对,希望得到您的帮助,谢谢大佬! 梯度信息

Luzhi6688 avatar Jul 28 '22 01:07 Luzhi6688

你用的是pytorch吗,这个接口我不太清楚。但梯度值的shape和参数shape是一致的,你可以把值都输出来看看。

Zing22 avatar Jul 28 '22 03:07 Zing22

是用pytorch写的,把值输出来不知道到底是梯度值还是参数值,卡在这里很久了,一直解决不掉。

Luzhi6688 avatar Jul 29 '22 06:07 Luzhi6688

可以先搞个简单模型调试一下,比如全部初始化为0.5的DNN,训练一个batch,输出参数和梯度,马上就知道哪个是哪个了。

Zing22 avatar Jul 29 '22 08:07 Zing22

好的我再试一下,谢谢您的帮助!

Luzhi6688 avatar Jul 29 '22 08:07 Luzhi6688