tensorflow 训练模型,python用tensorflow训练标准模型
原始论文:LJDF grecurrentarchitecturesforlearningsentenciliarity
本文提出了一个用于短语/句子/序列相似性比较的评估模型——ljdfg LSTM (Twin Network)。模型的输入是句子对,输出是输入句子对的相似度得分(得分为1-5)。该模型在SemEval 2014数据集上获得了最新的结果。
前期训练数据集:历年STS数据集,共计11000多条。
训练集:SemEval 2014训练数据,共5000瓶。
测试集:SemEval 2014测试数据,共4927个。
每个数据的格式如下。
[“我喜欢打篮球。”“我最喜欢的运动是篮球。”,3.4]
模型
输入模型:
1:“他很聪明。”
正文:“一个真正的智者。”
输入时,首先需要单独写句子,然后通过查表的方式转换成相应的预先训练好的词向量词嵌入,再依次输入到网络中。
模型输出:
输入语句相似性的评估分数。因为模型采用的评分函数是ex,所以输出的评分区间是[0,1]。因此,在具体实现中,作者改变了模型的输出,将得分区间改为[1,5]。
句子向量(句子嵌入):
作者直接把LSTM最后的隐藏状态作为嵌入句。
这一步的接近可能会促使句子向量的表现。
特别说明:
按照作者的意思,两个LSTM可能分担也可能不分担重量。在作者提供的代码中,他在更新参数时,对两个LSTM对应的参数梯度进行了平均和更新。(因为不熟悉Theano框架,这部分不太清楚,但应该大致是这个意思。如有错误,请批评指正。)
训练损失函数:模型的预测得分和真实得分的均值方差。
优化方法:AdaDelta
实验的具体结果见博文开头的论文。
Tensorflow实现实验工具:Python3,TensorFlow1.1
具体实验代码在我的Github里,地址是ljdfgLSTM的tf安装。
主要问题:
实现LSTM的变长输入
2.lstmrnn的参数复用)。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。