nce.py 文件源码

python
阅读 39 收藏 0 点赞 0 评论 0

项目:lmkit 作者: jiangnanhugo 项目源码 文件源码
def build(self):
        # correct word probability (b,1)
        c_o_t = T.exp(T.sum(self.W[self.y]*self.x,axis=-1) + self.b[self.y])

        # negative word probability (b,k)
        n_o_t = T.exp(T.sum(self.W[self.y_neg]*self.x.dimshuffle(0,'x',1),axis=-1)+ self.b[self.y_neg])

        # positive probability
        c_o_p = c_o_t / (c_o_t + self.k * self.q_w[self.y])

        # negative probability (k,1)
        n_o_p = self.q_w[self.y_neg] / (n_o_t + self.k * self.q_w[self.y_neg])

        # cost for each y in nce
        self.activation = -T.sum((T.log(c_o_p) + T.sum(T.log(n_o_p),axis=-1))*self.y_mask)/(T.sum(self.y_mask)*(self.k+1))

        self.probability = T.nnet.softmax(T.dot(self.x,self.W.T) + self.b)
        self.predict = T.argmax(self.probability, axis=-1)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号