WaveletKernelNet icon indicating copy to clipboard operation
WaveletKernelNet copied to clipboard

参数更新及权重加载的疑问

Open ChenQian0618 opened this issue 3 years ago • 7 comments

  1. 这代码是否只是用小波形函数初始化第一层卷积的权重,并未实现权重更新由超参数控制?如果是这样的话,这代码和论文就完全不符合
  2. 该代码除cwconv层外,均是从pytorch模型torchvision源码上修改过来的,将它从2d改成1d后,就别弄pretrained这个加载权重的功能。1d模型加载2d权重,且第一个卷积层形状也不一致,当然会出问题。

ChenQian0618 avatar Aug 16 '21 11:08 ChenQian0618

  1. 这代码是否只是用小波形函数初始化第一层卷积的权重,并未实现权重更新由超参数控制?如果是这样的话,这代码和论文就完全不符合
  2. 该代码除cwconv层外,均是从pytorch模型torchvision源码上修改过来的,将它从2d改成1d后,就别弄pretrained这个加载权重的功能。1d模型加载2d权重,且第一个卷积层形状也不一致,当然会出问题。

不知是不是我理解错了,论文里头讲的权重更新貌似就是反向传播的链式求导。如果我没理解错的话,权重更新也不是创新点,而且Morlet小波基作为卷积核的论文Targeting EEG/LFP Synchrony with Neural Nets早在2017年就在NIPS上发表了

JuncongX avatar Mar 18 '23 14:03 JuncongX

是的,我也刚发现这个问题,a_和b_两个权重完全没有更新。

Kanbe-Kotori avatar Jul 05 '23 11:07 Kanbe-Kotori

是的,我也刚发现这个问题,a_和b_两个权重完全没有更新。

这只是模型的代码,参数更新的代码我猜还得自己根据论文里偏导的公式自己弄一下。

LeeJMJM avatar Apr 18 '24 09:04 LeeJMJM

是的,我也刚发现这个问题,a_和b_两个权重完全没有更新。

这只是模型的代码,参数更新的代码我猜还得自己根据论文里偏导的公式自己弄一下。

错误的,a_和b_两个权重完全没有更新的原因是: self.a_ = nn.Parameter(torch.linspace(1, 10, out_channels))之后,不能加.view(-1, 1),不然这个参数根本就没注册上。。因此源代码有效可能就是因为初始值给的好,就算不更新也可以凑合用。。我改了这里以后准确率提了一个点左右

Kanbe-Kotori avatar Apr 21 '24 02:04 Kanbe-Kotori

两个参数修改为: b = nn.Parameter(torch.linspace(0, 10, out_channels).view(-1, 1)),否则变成没有grad的constant tensor了.

fyancy avatar Apr 25 '24 10:04 fyancy

两个参数修改为: b = nn.Parameter(torch.linspace(0, 10, out_channels).view(-1, 1)),否则变成没有grad的constant tensor了.

这样改也可以,我是在forward的时候view,也能解决。之前训练的时候打印这俩parameter,就发现值怎么都没变,看了老半天才找到这里的问题。改了之后准确率果然上去一点。最后再叠加上别的方法,总之效果不错,就写了篇论文引用了这个,比较幸运没被拒稿,目前还在修

Kanbe-Kotori avatar Apr 26 '24 02:04 Kanbe-Kotori

两个参数修改为: b = nn.Parameter(torch.linspace(0, 10, out_channels).view(-1, 1)),否则变成没有grad的constant tensor了.

这样改也可以,我是在forward的时候view,也能解决。之前训练的时候打印这俩parameter,就发现值怎么都没变,看了老半天才找到这里的问题。改了之后准确率果然上去一点。最后再叠加上别的方法,总之效果不错,就写了篇论文引用了这个,比较幸运没被拒稿,目前还在修

欢迎关注一下我们团队的两个工作,对这个工作作了一些思考和扩展,代码也都开源了。 https://github.com/liguge/EWSNet https://github.com/liguge/DLWCB

liguge avatar Apr 26 '24 02:04 liguge