Skip to content
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

关于config的许多疑问 #182

Open
concrettojava opened this issue Aug 9, 2023 · 2 comments
Open

关于config的许多疑问 #182

concrettojava opened this issue Aug 9, 2023 · 2 comments

Comments

@concrettojava
Copy link

1.为什么代码中存储模型和验证指标都是按Iteration来统计,这样不是受到BatchSize影响很大吗,为什么不选择epoch?是因为我用的Flickr8k数据集比较小而MsCOCO比较大吗?

2.config对于一个caption模型分为base,long,sc,nsc,long指的是大epoch,sc我理解的是self-critical,但是nsc是什么,我看到里面有添加structure_loss,这是pytorch里面的吗,还有structure_loss_type: new_self_critical,我不是很理解structure_loss是干什么的,到底是另一种损失的统计方法还是强化学习的内容,这是一种很有意义的trick吗,我从没有接触过。

3.如果一共50轮,30轮开始强化学习,那么到底是50轮深度学习+20轮强化,还是30+20?

3.在base_sc的config中,学习率衰减去掉了,这是为什么?学习率会影响强化学习吗?

4.fc的参考是show and tell吗?为什么只用到resnet101的平均特征,12048,原文中应该是77*2048吧。

@concrettojava
Copy link
Author

concrettojava commented Aug 9, 2023

2.nsc好像是new self-critical,学习率小了一个数量级,去掉了学习率衰减,用了结构损失。
4.写错了,1x2048和7x7*2048

5.如果我有一个训练好的30轮的模型,我设置最大50轮,默认在30轮基础上继续训练,学习率衰减会在20轮期间从最大降至最小吗,还是从30轮的开始,继续衰减,那么学习率就会很小。我是否应该重新设置学习率和衰减率

6.为什么Transformer中不设定scheduled_sampling?

7.为什么默认的Batch_size都很小,大多数模型我只用到5个g的显存,大Batch会影响读取效率吗,还是说小Batch效果更好?

@ruotianluo
Copy link
Owner

  1. epoch number固定就好了。一个好处是,如果你模型还没train完一个epoch就挂了(我们学校的集群一个job只能4个小时),就白train了,所以按照iteration就可以更频繁的save。
  2. yes new self critical. 学习率其实好像没什么区别吧我记得。主要是在于reinforce baseline 怎么定义。(可以无视structure loss的部分,跟structure loss关系没有那么大)
  3. 30 + 20.
  4. emmm,这是原来的self critical paper的设定。肯定会影响,但是这其实主要是就是hyper parameter tuning。
  5. fc是self critical paper里面的fc。
  6. 都可以,我记得我的long的config就是这样的。
  7. emmm,transformer里面加scheduled sampling比较麻烦,在mle阶段transformer是可以parallel training的,加了scheduledsampling就不能parallel training。
  8. 因为我们学校机器bottleneck在input pipeline,所以换大batch有时候会更慢。大小batch我记得我好像也试过,但是后来就不试了,懒得调。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants