fastnlp / fastNLP

fastNLP: A Modularized and Extensible NLP Framework. Currently still in incubation.
https://gitee.com/fastnlp/fastNLP
Apache License 2.0
3.06k stars 450 forks source link

star transformer效果的疑问 #267

Closed JYlsc closed 4 years ago

JYlsc commented 4 years ago

最近对于star transformer这个模型进行了实验。 在使用和tensorflow复现过程中发现几个疑问:

  1. 在分类任务时,同样参数下loss 及模型效果 非常不稳定 验证集模型效果波动相差4个点 loss 在 512 batch size NAN,总体对与超参数非常敏感 { "num_blocks": 1, "num_heads": 6, "head_dims": 50, "lr": 0.01, "dropout_rate": 0.1, "max_length": 25, "label_smoothing": false, "vocab_size": 7416, "embedding_dim": 200, "batch_size": 256, "num_epoch": 5 }

  2. 同比baseline textCNN ,star transformer并没有明显效果提升

  3. star transformer 对于dropout、ln等模块使用与tensor2tensor transformer 实现有明显区别。 使用star transformer源码效果比魔改后的效果差

不知道在使用star transformer时有没有类似的问题。

yhcc commented 4 years ago

@QipengGuo 帮忙看一下~

QipengGuo commented 4 years ago

确实比textCNN对超参敏感,我个人经验主要是两点,一是层数,层数少的时候是可以拿掉FFN并且使用一般的参数初始化方法,但层数多的话需要FFN,residual,并且初始化要很小,你说的NaN问题可能就是初始化问题。二是学习率问题,有些任务需要像 bert或者机器翻译那样用warmup机制,从一个小的学习率开始,慢慢增加再衰减。 Transformer系列对超参敏感的问题我也还在探索,可能回答的比较粗略。