PaddlePaddle使用预训练的embedding

万人迷 rainforest 2年前 (2018-07-17) 1024次浏览 0个评论

有的时候,我们希望用少量的数据来训练一个模型,但又希望这个模型有泛化能力。如果直接用少量的数据去训练一个复杂的nn的模型,肯定会严重过拟合,模型会把所有样本都记住,之后就没有任何泛化能力。

这种情况下,我们一般先采用大数据预训练的embeding来解决。这篇文章探讨在paddlepaddle里面如何使用预训练的embeding。

  1. 如果预先的embeding也是用paddlepaddle训练的,那需要预先训练的时候和使用预先训练的网络中都使用同样参数名字。训练好后模型后,把模型解压缩,去掉embeding层之外的层,重新打包;
  2. 如果是用word2vec等工具训练的embedding,请参考文章:https://github.com/PaddlePaddle/Paddle/issues/490,将其他格式的embedding转换成paddlepaddle格式的embedding后再使用;
  3. 接下来就是怎么用的问题了。主要有两方面:
    1. 模型中使用embedding的那么设置成跟原模型一样,并设置is_static = True(表示不更新参数)

    2. 训练的时候直接先从文件中加载模型

 

总的来说,paddlepaddle用起来还是很方便的。


乐趣公园 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:PaddlePaddle使用预训练的embedding
喜欢 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址