首页 文章

为什么我们需要在递归神经网络中微调字嵌入?

提问于
浏览
0

在theano的关于RNN的教程中,最后一部分提到了这一点

我们通过在每次更新后对它们进行规范化,将单词嵌入保留在单位范围内:

self.normalize = theano.function(inputs=[],
                                  updates={self.emb:
                                              self.emb /
                                              T.sqrt((self.emb**2)
                                              .sum(axis=1))
                                              .dimshuffle(0, 'x')})
                                              .sum(axis=1))
                                              .dimshuffle(0, 'x')})

我在网上搜索,只找到了论文Investigation of Recurrent-Neural-Network Architectures and Learning Methods for Spoken Language Understanding提到它是第3.5.1节中的微调词嵌入 .

我不明白为什么我们可以微调字嵌入 . self.emb 是这个RNN模型的输入,对吗?我们怎样才能改变输入值?

1 回答

  • 0

    我遇到了这个问题,这是我的理解:

    实际上 self.emb 不仅仅是RNN的输入,它还喜欢参数(或word2vec中的向量)的一部分,这些参数经过训练以适合ATIS中的单词 .

    当我们将其视为参数时,微调是合理的 .

    但是,当我们将其视为输入时,规范化变得合理 .

    另外,我阅读了你提到的论文,我认为微调不包含规范化,因为微调是一种监督学习,但规范化只是一种数据处理 .

相关问题