在 Keras Embedding 中使用 Trainable=True 获得了更好的性能

数据挖掘 喀拉斯 词嵌入 情绪分析 文本分类
2022-01-31 19:38:39

Keras [1] 的作者建议Trainable=False在使用 Keras 中的嵌入层时使用,以防止在训练期间更新权重。Trainable=True但根据我的经验,在设置文本处理时,我总是能获得更好的性能(回归误差更低) 。

我的问题,我可以要求我的结果还是我必须使用Trainable=False使用时会作弊Trainable=True吗?

根据我的理解,使用(或不使用)之前的信息来更新权重只是一个选择,所以允许使用Trainable=True.

[1] https://blog.keras.io/using-pre-trained-word-embeddings-in-a-keras-model.html

1个回答

这取决于您想在哪里提交您声称的结果,以及提交标准是什么。

首先,不清楚“回归中的较低错误”是训练错误还是验证/测试错误。我确信让嵌入层可训练会使其适应训练集更好地适应训练集,但它可能会导致过度拟合并导致验证/测试集的错误更高。

如果对于您的一组任务,您使用嵌入层,您始终会得到较低的测试错误,并且要求没有明确说明trainable=False用于嵌入层 - 为什么要麻烦?这不是作弊。