white127/QA-deep-learning

tensorflow和theano的cnn代码准确率都轻松超过了80%。。。

pcgreat opened this issue · 6 comments

我用的作者原封不动的代码,数据是从这里拿的https://github.com/codekansas/insurance_qa_python,改成和作者一样的格式,跑起来以后发现用train拿来训练,用test1拿来validate。

无论是在作者tensorflow还是theano的代码上top-1 accuracy都轻松达到0.86,learning rate为0.1,epoch大概6000, 在K80上训练时间都不超过半小时。

据我所知,该项目的state-of-art不超过0.7,作者的代码简直轻松完虐。我仔细检查了代码,并没有发现明显的错误,有小伙伴跑出一样的结果吗?

运行的代码在这(仅仅清理了一下代码放上了train和test data,参数结构和原作者的完全一致) https://github.com/pcgreat/insuranceQA-cnn-lstm/tree/master/cnn/tensorflow
方便大家重现结果

@pcgreat
codekabsasde 数据是用word2vec向量化的吧? 怎么还原成和作者一样的格式呢?

@pcgreat 你的 test1 数据集有问题。
文件 insurance_qa_python/generate_dataset_for_insuranceQA.py 第 56 行多缩进了一个 tab,导致你的test1 数据集只包含长度超过 200 的答案。

@MignDul 感谢你的指出,确实是这样。我会改正这个错误再跑一下结果

rgtjf commented

Hi, @pcgreat
你现在结果多少?

@rgtjf 跑了两天CNN大概能到58%,我也没继续跑下去也不想再跑CNN+LSTM了,毕竟时间太长且效果实在一般。