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提到它是fine-tuning word embedding 在第3.5.1 章。

我不明白为什么我们可以微调词嵌入。 self.emb是这个RNN模型的输入,对吧?我们如何改变输入值?

4

1 回答 1

0

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

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

当我们把它当作参数时,微调是合理的。

但是当我们把它当作输入时,归一化就变得合理了。

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

于 2017-02-06T13:16:53.760 回答