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

时间:2016-02-25 23:08:48

标签: nlp theano recurrent-neural-network

在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 :(得分:0)

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

实际上{% extends "registration/accounts/base.html" %} {% block content %} <div class="container"> <h2 class="page-header">{{ photos.title }}</h2> <div class="row"> <div class="col-xs-4"> <img class="img-responsive" src="/media/{{ photos.image }}"> </div> </div> <a class="btn btn-primary" href="{% url 'accounts:upload' photo.id %}">UPLOAD</a> </div> {% endblock %} 不仅仅是RNN的输入,它还喜欢参数(或word2vec中的矢量)的一部分,这些参数经过训练以适合ATIS中的单词。

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

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

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