我刚开始学习Tensorflow和AI,所以在研究我的问题时遇到了困难。可能是我的问题还没有得到解答。
我正在尝试制作一个文本分类器,根据网站的关键词将网站分类。我有最少5,000个,最多37,000个网站用于训练。
我希望实现的是:在模型训练完成后,当它对网站所属类别进行预测时,能够继续进行训练。
模型训练所使用的关键词是由客户选择的,因此这些关键词可能与同一类别中其他网站的关键词不同。
如果Tensorflow的预测不准确,我如何根据我的修正来重新训练模型? 基本上,就是要持续不断地训练。
回答:
你缺少的关键词是微调。微调是指当一个模型完成了常规训练(无论是什么样的训练),但还需要为你设想的应用做进一步的工作。你可以给它提供新的输入进行额外的训练;当训练完成(训练准确率达到平台期且接近测试准确率)后,你就可以将这个增强的模型部署用于你的目的。
这种方法在商业应用中经常使用——例如,当一个大型预测模型需要更新以包括最近一周的客户活动时。另一种常见用途是找到一个模型库中与你想要的应用相关的模型——可能是猫与狗的识别——并利用其对面部特征的识别能力来缩短训练时间,以识别两类卡通角色——例如神奇宝贝与小精灵。
在后一种情况下,你的微调几乎会完全消除模型最后几层的学习内容。你获得的是早期层识别边缘、区域和通过眼睛-鼻子-嘴巴组合识别特征的能力。这至少可以节省30%的总体训练时间。