上一篇博文的发布时间是4月15日,到今天刚好一个月没更新了,但是科学空间的访问量还在。感谢大家对本空间的支持,BoJone对久未更新表示非常抱歉。在恢复更新之前,请允许笔者记记流水账。

在“消失”的一个月中,笔者主要的事情是毕业论文数据挖掘竞赛。首先毕业论文方面,论文于4月22日交稿,4月29日答辩,答辩完后就意味着毕业论文的事情结束了。我的毕业论文主要写了路径积分在描述随机游走、偏微分方程、随机微分方程的应用。既然是本科论文,就不能说得太晦涩,因此论文整体来看还是比较易读的,可以作为路径积分的入门教程。后面我会略加修改,分开几部分发布在科学空间中的,到时请大家批评指正。

说到路径积分,不得不说到做《量子力学与路径积分》的习题解答这件事情了。很遗憾,这一个多月来,基本没有时间做习题。不过后面我会继续做下去的,已发布的版本,也请有兴趣的读者指出问题。记得年初的时候,朋友问我今年的愿望是什么,我随意地回答了“希望做完一本书的习题”,这本书,当然就是《量子力学与路径积分》了,我相信今年应该能够完成的。

第二件事情就是数据挖掘竞赛了。这个比赛我已经参加过两届,今年是第三次参加,而且跟举办方合作也频繁了,之前还去录过指导视频。今年还参加的主要原因是我对京东出的A题比较感兴趣,大体的要求是让我们做一个OCR(光学字符识别,就是图像上的文本转为可编辑的文本)系统。之前一直没处理过图像的问题,所以想挑战一下,而且OCR系统本身也挺有价值,因此就研究一番了。

从零开始做一个OCR系统对于一次竞赛来说,似乎要求太高了,但笔者其实就是想挑战一下。于是一个熬夜的历程就开始了。对于一个OCR来说,最困难的是文本定位方面,也就是“圈字”,在这方面了,我做了很多尝试,基本上主流的方法都尝试过,最后整理了自己的一套方面,总的效果差强人意。在识别方面,我首次尝试了卷积神经网络,并且为了加速训练,还特意买了GTX 960显卡来做GPU加速,果然,GPU加速就是猛,相比CPU有近20倍的提速,并且我从中也慢慢领悟到了一些深度学习网络的构建技巧,并且再次体验到了深度学习的威力了(对于汉字识别准确率也高达99%!)。最后还有语言模型方面的,我通过大量的微信文章计算了转移概率,然后通过Viterbi算法进行动态规划,这能够有效提高识别的准确率。

就这样,看上去不可能的事情——在20天左右的时间内,从零开始完成了一个可用的完整的OCR系统,就这样发生了。今天就是提交论文的最后时间了。虽然最终的效果不算优秀,但是感觉跟Google开源的Tesseract OCR还可以一比。等比赛结束后,我也会慢慢把结果整理好开源的,还考虑做成在线接口供大家调用。

不过,虽然是引入了卷积神经网络,但是基本的思路还是很传统的——文本定位、单字切割、输入模型识别、语言模型改善基于深度学习的思路(CNN-RNN),还可以直接对单行文本进行识别,不用自行切割,据说百度的OCR就是这样做的。然而,个人感觉要训练这样的模型,真的是只有百度这些大企业才可能做得到了。

做到这里,基本可以放松一下了,而且要慢慢回归了。我在中大的专业是基础数学,要好好补补数学了。

转载到请包括本文地址:https://kexue.fm/archives/3735

更详细的转载事宜请参考:《科学空间FAQ》

如果您还有什么疑惑或建议,欢迎在下方评论区继续讨论。

如果您觉得本文还不错,欢迎分享/打赏本文。打赏并非要从中获得收益,而是希望知道科学空间获得了多少读者的真心关注。当然,如果你无视它,也不会影响你的阅读。再次表示欢迎和感谢!

如果您需要引用本文,请参考:

苏剑林. (May. 15, 2016). 《Coming Back... 》[Blog post]. Retrieved from https://kexue.fm/archives/3735

@online{kexuefm-3735,
        title={Coming Back...},
        author={苏剑林},
        year={2016},
        month={May},
        url={\url{https://kexue.fm/archives/3735}},
}