种子杯总结

2018-11-04  本文已影响0人  执剑人罗辑

这次算是第一次实战深度学习,虽然做出了一个成品,但是其中还是有很多原理自己不懂,怎么优化,一些数据的处理细节和工作细节,要自己来做的话可能要花很多很多时间处理。

具体感到陌生的地方有:

数据的读取

数据预处理

神经网络的工作原理

神经网络的优化细节

在这次种子杯比赛中,学习到的知识有:

如何构建一个用于深度学习的模型

如何把数据输入到模型中,得到训练结果

大致了解了keras各个层的作用和使用方法,各循环层,全连接层,嵌入层,正则化,层池化层等。层的大致作用和搭建顺序,接收参数和返回对象。

构建一个深度学习模型的步骤:数据预处理,特征提取,模型训练,模型融合

如何使用Jupyter和google colab进行编写和训练。

看了别人的分享,感觉到跟我们组的差距有:

数据预处理的差距,预训练的词向量到最后也没有实现,也不知道是否实现正确,应该正确的预训练词向量是有提升的。还有针对数据的分析,发现数据偏移的扶正,这些都没有想到。

特征提取方面的差距。我们是字词一起训练的,也没有区分标题和描述的区别。很多队伍都把字和词分开训练,标题和描述区别开来或者干脆舍弃掉一些数据来避免干扰。事实上这样的效果很好。我们是想到了的,但是没有时间去尝试和优化了。

网络模型的差距。我们的网络模型基本上还是完善的,虽然没有对参数进行优化但应该还是基本达标了的。对最新的模型的研究没有想到,有队伍实现了最新的论文中的模型,似乎效果很好。但这也不是理由,因为别人单个CNN模型的表现比我们融合了之后还好。

对结果的处理,第一的队伍提到了mask,可以处理预测中不存在的分类。这个当时警告的时候就想着该怎么解决,原来解决方案是这样。下次就知道怎么做了。

先采用传统的机器学习方法作为baseline,这个想法很好。因为传统的模型计算量少,迭代快。用来研究问题的性质,其他工作的质量都很方便。然后最终也可以作为模型的一部分,取得同样不错的效果。

我们组不足的地方主要在于不知道为什么训练这么慢,是因为batch_size的原因,导致复赛的模型测试优化的次数太少,浪费的时间太长。然后就也没有精力做其他的优化或者一些想法了。然后选取模型也比较随便,就是凭感觉,以后也要注意。

总的来说,这次种子杯还是收获很多的,也是第一次实践深度学习,掌握了挺多编程实现细节与方法,要点与注意事项。然后也鼓励了自己,第一次尝试也算成功,接下来的路还有很长要走,但是也感觉很高兴能找到自己喜欢感兴趣的方向,有一起努力的志同道合的小伙伴。

上一篇 下一篇

猜你喜欢

热点阅读