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

请问训练轮次如何控制? #2

Closed
kpmokpmo opened this issue Jul 26, 2021 · 4 comments
Closed

请问训练轮次如何控制? #2

kpmokpmo opened this issue Jul 26, 2021 · 4 comments

Comments

@kpmokpmo
Copy link

大佬您好,恭喜sota,有两个小问题:

  1. 我对非监督不是很熟悉,监督学习下判断过拟合欠拟合我主要是用valid set的early stop。这里任务被解耦成特征提取和一个判别网络,似乎只能观测一下特征提取这个阶段目标的loss curve性状来大体判断一下,而这个目标也不是任务整体的目标,那么如何决策要训练多少轮呢?是否有过、欠拟合风险呢?
  2. 我的任务是时序分类,并且全部贴好了标签。那么比起最大化某序列和另一个随机抽样序列的差异,是否有意地在另一个类别里抽样会更好呢?

非常感谢!

@zhihanyue
Copy link
Owner

zhihanyue commented Jul 26, 2021

你好,感谢你关注我们的工作!

1、对无监督学习模型而言,标签是不可见的,没办法用valid set来early stopping。实验中,follow T-Loss,我们经验性的选择了固定的训练代数(200 iters for dataset_size<100000, 600 iters otherwise),我们也观察到固定的训练代数在很多数据集上都不太好(overfit/underfit),因此这里存在很大的提升空间,可以后续探索。有一种思路是去找到一个能够反映学到的表示的泛化能力的metric,用它来early stopping,但我们目前还没有找到这样的metric。

2、标签已知的情况下,可以把同一个类别的instance当作positive pair,不同类别的当作negative pair,这类方法叫做supervised contrastive learning,据我所知时序上还没有这类工作,所以也是一个值得后续研究的点。

@kpmokpmo
Copy link
Author

@yuezhihan 感谢回答。我确实被这个模型的表现惊艳到,在HHT multivariate上我了解的表现大概是
TS2V = Query Selector/Transformer > StemGNN/mGRN > Z-GCNET > STSGCN/AGCRN/LSGCN/MTGNN等 也就是说和监督型的transformer变体差不多,超过了若干图神经网络。

还想继续请教一下:
因为TS2V可以输出dense的结果,即相当于一个embedding过程。而从一堆conv.trans结合的文章就可以看出加强前期高分辨率的embedding对transformer提升很关键。于是我做了实验,用TS2V替换transformer前面的几个卷积层,发现:

  1. 对于vanilla transformer有所提升
  2. 对于前期编码处理好的后SWIN模型,比如前面加VOLO的outlook att层的,或者hierarchy的有MULTI-SCALE结构的复杂transformer基本没有提升,当然也有可能是我样本量小的原因(200W)
  3. 同样加强高分辨率embedding,TS2V不如conditional conv即TS2V+vanilla transformer+pyramid structure不如VOLO,PVT2等

所以我的疑问就是,TS2V后面能接复杂网络吗,比如类RNN,transformer。我看论文里貌似都是加的浅层判别网络,时序预测也是拿前一个当做hidden state预测下一个,而不是当成初始编码拿整段序列做预测。这也是我上面考虑overfitting的原因。更深一步,不管下游任务是segmentation这样dense的任务,还是classification这样粗线条的,按理说非监督出来的特征都是同样一组唯一最优解。会不会因为这个Loss的设计性,导致一些inductive bias,即只适合浅层神经网络或者svm或tree-based这种不容易过拟合的,而不适合当成embedding。

不好意思贫了这么多,真的是对这篇很感兴趣,谢谢。

@zhihanyue
Copy link
Owner

@kpmokpmo locality这样的inductive bias对时序问题是比较重要的,vanilla transformer的locality很弱,TS2Vec可能增强了locality的feature,从而提升了泛化。其他模型本身就有locality,自然影响不大。

对于forecasting、classification,我们使用的protocol分别是线性回归和svm。因为经过10层卷积,表示上已经有了高维特征,再去用复杂的网络会更加容易过拟合(毕竟线性回归就能学得很好,复杂的网络可能一下子就开始过拟合了),但我认为如果调整好了正则化/dropout/参数量等,能控制后面接的网络的拟合能力,是能超过线性回归的。表示学习的inductive bias是存在的,学到的表示(和所选取的超参数)总体上对各类下游任务有一定的普适性,但这个表示不可能对于每个任务都是最优的。

@kpmokpmo
Copy link
Author

@yuezhihan 好的,感谢

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