gpt4 book ai didi

machine-learning - 在训练 CNN 进行文本分类时如何微调 word2vec?

转载 作者:行者123 更新时间:2023-11-30 08:41:10 32 4
gpt4 key购买 nike

我有 3 个关于微调词向量的问题。请帮帮我。我会非常感激的!非常感谢!

  1. 当我训练自己的 CNN 进行文本分类时,我使用 Word2vec 来初始化单词,然后我只是使用这些预先训练的向量作为输入特征来训练 CNN,所以如果我从来没有嵌入层,它肯定不能通过反向传播进行任何微调。我的问题是,如果我想做微调,是否意味着创建一个嵌入层?以及如何创建它?

  2. 当我们训练 Word2vec 时,我们使用的是无监督训练,对吧?就像我的例子一样,我使用skip-gram模型来获得预训练的word2vec;但是,当我拥有 vec.bin 并在文本分类模型(CNN)中使用它作为我的单词初始化程序时,如果我可以微调 vec.bin 中的单词到向量映射,是否意味着我必须拥有一个与训练我的 Word2vec 时完全相同的 CNN 网络结构?微调的东西会改变 vec.bin 还是只是在计算机内存中进行微调?

  3. skip-gram 模型和 CBOW 模型仅用于无监督 Word2vec 训练吗?或者他们也可以申请其他一般文本分类任务? Word2vec无监督训练和有监督微调之间的网络有什么不同?

@Franck Dernoncourt 谢谢你提醒我。我是新手,希望能从强大的社区学到一些东西。请您有时间看看我的问题,再次感谢!

最佳答案

1) 你需要的只是 a good example of using pretrained word embedding with trainable/fixed embedding layer代码进行以下更改。在 Keras 中,您可以默认更新该层,要将其从训练中排除,您需要将 trainable 设置为 False。

embedding_layer = Embedding(nb_words + 1,
EMBEDDING_DIM,
weights=[embedding_matrix],
input_length=MAX_SEQUENCE_LENGTH,
trainable=True)

2) 你的 w2v 只是用于嵌入层初始化,与你将使用什么 CNN 结构不再有关系。只会更新内存中的权重。

关于machine-learning - 在训练 CNN 进行文本分类时如何微调 word2vec?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40143405/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com