DataCastle[验证码识别竞赛]冠军——李超专访

DataCastle验证码大赛落下帷幕,10万元的奖金被选手们收入囊中。验证码的识别冠军李超不仅是个人单独参赛,而且是参赛者中唯一把六类验证码题全部计算出结果的人,但这个目前研究生在读的大男孩接触深度学习才不过两年多时间。

半路出家的他是如何走上大数据道路,又是如何学习的呢?DataCastle联合数据客共同对本次大赛冠军李超进行了深度专访,撒花!~围观!~


Q:李超你是怎么接触到大数据的呢?

虽然本科学的专业不相关,但是我一直对计算机方面很有兴趣,所以研究生转到这个方向。我目前在西北工大就读模式识别专业,主要研究方向图像处理、机器学习,专注于深度学习在计算机视觉方向的应用。另外我看好大数据的应用前景,对大数据领域的发展也保持高度关注,之前对于hadoop/spark技术都有过不同程度的研究,后来觉得还是集中注意力,做图像比较好。


Q:你已经两度参加DataCastle的竞赛了,当初为什么会来参赛呢?

我最初看到DC在举行新闻推荐算法大赛的消息,那时候感觉自己水平不行,所以只是默默关注。后来上线了图像算法类的竞赛,这个和我的研究方向相匹配,于是就参加了。

我认为DC的竞赛有一定的难度,但工作量不是非常大,三个月的赛期完全够用,很适合我这样并没有太多精力的人来锻炼。同时我喜欢通过比如竞赛、考取证书之类的方法来创造学习的动力,因为单纯的学习过程是比较枯燥,通过这些方式会让学习充满乐趣,进步得很快。能够拿到竞赛荣誉和奖金,也是极好的。另外找工作的时候我发现面试官们对比赛成果还是很认可的。


Q:能拿到冠军当然是极好的,但是好多团队都是几个人组队来攻克难题,你是一个人,当时会觉得有压力吗?觉得一个人参赛会影响最终发挥吗?

至于个人参赛还是团队参赛,首先考虑能不能找到合适的队友,坦白来说,我认识的大牛们都没有时间。其次从工作量上考虑,这次竞赛工作量并不大,关键是需要一个好的idea,而这不是组队就能很好解决的。

一般来说,我认为个人参赛不会影响最终发挥,除非是那种难度极大,工作量也很大的竞赛,这时候团队参加更合适。


Q:那需要掌握哪些基本的技能呢?

一方面是机器学习和模式识别的基础算法,这次竞赛还涉及到计算机视觉领域的一些专业算法,这些是参加大数据算法竞赛的理论基础。另一方面是动手能力,主要指编程能力,有好的想法之后能不能快速去实现、验证很重要。

语言方面,我觉得Python或R是很好的选择,都具有较完备的科学计算生态,另外语言本身也很高效,适合用来研究算法。


Q:本次大赛一共提供了6类验证码让大家进行识别,其中第6类验证码难度很大,而且最终只有你一个人算出了结果。据了解,很多参赛者是因为看到验证码的难度很大,就放弃了尝试,而且时间也比较紧张,你当时是怎么想的?

第6类验证码是带噪声的扭曲汉字,而且每个验证码的汉字是随机的、没有任何语义信息,是所有类别中最难的一类。开始我也搁置了很久,但是在某一天偶然得到灵感:就是先预测验证码中包含的字符数,这样一来除了字符识别起来更难一些之外,第6类和其他类并没有什么其区别了,所以我在做第5类和第6类时使用了完全相同的思路和算法。我认为思路比较重要,只要想到了技术实现是没有困难的。而思路是要通过平时的积累。


Q:通过比赛,你认为自己在哪些方面得到了锻炼和提高?

首先,竞赛其实是个很好的学习过程,通过实际的数据,加深了对算法本质的理解,也通过算法进一步理解了数据的内涵,从理论到实践都得到了很好的提高;其次,动手实践能力也得到了锻炼;最后,通过竞赛认识了不少线下的朋友,他们都是大神般的存在,有很多值得学习的地方,我觉得这是很大的收获。


Q:除了比赛,你认为怎样才能学好大数据相关知识,有没有可以推荐给大家的课程或者书籍?

我认为兴趣很重要,做比赛时我看着实验结果蹭蹭的上升,有次到半夜了都没睡意,做数据分析挖掘有时比较枯燥,没有兴趣是干不下去的。

我们学校的课程主要都是数学类的基础课,所以主要还是靠自学了。我学习的方法是以算法为主线的,针对某一个算法,阅读书籍相关章节、论文甚至源代码,这样从不同渠道参考不同作者从不同角度对同一个问题的讲解,直到完全弄懂这个算法为止,我认为这样以算法为主线而不是书籍或课程为主的方法是比较高效的,因为常用算法就那么多,而书是永远看不完的。

要说基础书籍,我觉得李航博士的《统计学习方法》挺不错的,里面都是比较经典的算法。如果想跟上学术界的节奏,还得多看最新的论文了。


Q:未来想做什么工作?有些人认为某些特定领域专业知识比统计或者编程知识更重要,你同意吗?

将来当然是想继续视觉算法的研究,计算机视觉是人工智能的主要组成部分,是我的研究兴趣所在,也是近些年发展最快的方向之一。

我觉得特定领域专业知识和算法都很重要。对于大部分数据挖掘任务来讲,特定领域的专业知识、对于业务本身的理解很重要,因为只有深入理解业务本身,才能设计更好的特征,也就是所谓的特征工程,特征的好坏往往直接影响的最终的结果,而识别算法这时候影响就小了。如何从复杂的非结构化数据中自动学习对于特定任务有用的特征,是众多科学家们正在努力的方向。

目前对于图像和语音这种结构化数据深度学习已经可以自动学习特征,而且在效果上远超过人工特征。所以如果将来出现有效的针对非结构数据的特征学习算法,那么特定领域的专业知识才会不再重要。


Q:上次在图像搜索竞赛中获得第二名,这次又来参加获得本次验证码识别竞赛的第一名,取得这么好的成绩,最后和大家分享一下你的感想吧?

我觉得参加竞赛的目的远不仅仅在于获得名次,这其实是一种很有趣的学习方法,可以不同的人交流思想,对于同一个问题,大家都有不同的解决方案,简单交流几句,都会有脑洞大开的感觉。

还有一个感触就是竞赛不仅是知识的竞赛,还是计划和执行力的竞赛,在竞赛之前,不应该急于动手,而应该全面分析问题,考虑所有可能性。在明确了正确的方向之后再按照计划去试验验证想法,这是很重要的。

最后感谢DataCastle提供竞赛平台,祝DC越办越好。


原文链接:http://bbs.pkbigdata.com/static/309_detail.html

你可能感兴趣的:(竞赛分享)