stanleylsx / text_classifier_tf2

Tensorflow2.3的文本分类项目,支持各种分类模型,支持相关tricks。
174 stars 42 forks source link

请问如何实现TextCNN论文中提到的non-static呀,怎么能让输入词向量可以进行微调? #8

Closed wangheng0602 closed 3 years ago

stanleylsx commented 3 years ago

No description provided.

不是很明白你的意思,TextCNN里面的输入的词向量可以使用词标随机初始化tf.keras.layers.Embedding,训练的过程中本来就是一种微调的过程?

wangheng0602 commented 3 years ago

就是在使用word2vec+TextCNN的时候,在Convolutional Neural Networks for Sentence Classification这篇论文里提到了一个CNN-non-static通道,其中non-static的输入词向量是会在训练过程中进行微调的,相当于可以适应具体任务。我看您的代码里好像只更新了model.trainable_variables(即卷积层的权重和偏置、dense层的权重和偏置),并没有对输入词向量进行更新。所以我想问一下应该如何实现论文里提到的那种non-static方式呀?

stanleylsx commented 3 years ago

就是在使用word2vec+TextCNN的时候,在Convolutional Neural Networks for Sentence Classification这篇论文里提到了一个CNN-non-static通道,其中non-static的输入词向量是会在训练过程中进行微调的,相当于可以适应具体任务。我看您的代码里好像只更新了model.trainable_variables(即卷积层的权重和偏置、dense层的权重和偏置),并没有对输入词向量进行更新。所以我想问一下应该如何实现论文里提到的那种non-static方式呀?

我懂你的意思了,我的实现是先训练了一个word2vec模型,然后取向量之后接到下游训练,所以我训练的是下游的TextCNN模型,如果你需要微调word2vec模型,你可以把word2vec网络参数一起加入进来训练,我没有试过,你可以试试。

wangheng0602 commented 3 years ago

好的,谢谢