-
Notifications
You must be signed in to change notification settings - Fork 9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
关于数据集设置的一些咨询 #8
Comments
你好,感谢关注! 问题1回复:只要测试样本保持一致即可,您可以根据实验需要进行修改。 问题2回复:嗯嗯,我们在5.1.2节中说明了数据的时间分辨率。 |
你好,这个参数是可以设置的,当add_target=True意思是会把few-shot的target domain的数据加入训练。 |
关于maml训练过程, def meta_train_revise里,因为每个task的内循环训练更新之后,都有self.model = deepcopy(maml_model),再用qry累计计算得到loss,但是最后对self.model参数进行更新的self.model是复制于最后一个task内循环更新之后的,也就是task_num设置再怎么大,self.model也只是取自最后一个task内循环更新之后的loss,初始模型经历过内循环更新之后进行更新,这样没办法对初始模型init_model进行更新。因为maml是要找一个最佳初始模型的参数,而不是像简单的迁移学习一样,找进行更新之后的参数。有没有什么办法,能直接对init_model得到loss,从而更新初始参数,最终找到一个最佳的初始参数,而不是,内循环5步之后,再qry得到loss,对已经更新了五步的self.nodel多更新一步,似乎对少样本没什么帮助。求指一条maml的模板,能对初始模型评价loss然后更新参数的,虽然这里也能对初始模型评价loss,评价初始参数的好赖,但是更新的不是初始模型参数,而是最后一个task的更新5步后的模型进行的更新。 |
我好像理解了,内循环跟新次数要尽量小一点,task_num可以多一点,这样,model_loss.back这里计算的是多个task的平均loss的梯度,这里的梯度按maml的道理应该是对初始模型参数更新的,但是代码只能做到对更新后的模型参数更新,但是我用在少样本上效果不理想 |
我好像理解了,内循环跟新次数要尽量小一点,task_num可以多一点,这样,model_loss.back这里计算的是多个task的平均loss的梯度,这里的梯度按maml的道理应该是对初始模型参数更新的,但是代码只能做到对更新后的模型参数更新,只能取最后一个task更新后的做近似,但是我用在少样本上效果不理想 |
作者您好!
因为近期在follow您的工作。关于您的实验设置有以下两点疑惑:
1.论文提到,实验是采用3天的作为目标数据,剩余数据作为验证数据。我在代码里看到的是这样:
这样的话是用的后20%的数据作为测试,而不是剩余80%的数据。
2.此外chengdu和shenzhen的采样频率是10分钟每次,是不是意味着chengdu和shenzhen是用了6天的数据?
The text was updated successfully, but these errors were encountered: