最近的事。。浓缩成下面的一张图。
调参有哪些方法呢?
  1. 语料处理。这个是之后一切操作的基础。有人或许认为算法是最重要的,其实不然,语料处理真的真的是最重要的。就比如中文语料处理,全角转半角,繁体转简体,大写转小写(中文语料也可能有英文呀)。语料处理好了,能提高好个点。
  2. 代码问题。有时候你虽然调出最高的参数了,可是你不能在此还原这样一抹一样的数据,为什么呢?我有一次就是这样。原因是没有给随机数喂种子。。。这个写代码切记切记。还有一个,就是要记得每次训练语料前,shuffle一下,shuffle和不shuffle差距还真是挺大的。
  3. 算法。一般算法都跑一边之后,效果明显好过其他的那个算法一般就是适合这个数据的算法了。每个算法有自己的参数,
  4. 预训练embedding
    。一般情况下会有效果,前提是一定要用对预训练数据。

  5. 调超参数。调参的方面有很多,简单常见的有lr(经验值SGD 0.01,Adam 0.001),batch_size,embed_dim等,深入的有weight_decay(权重衰退),lr_decay(学习率衰退),初始化模型参数等。
  6. 不同的参数用不同的优化器优化。如果你想让Embedding稀疏parse更新(就是只更新一部分参数,其他的都是全部更新的),那么就需要用到这样的方法。
明天继续调参,争取超过论文的最高值。
继续阅读
阅读原文