南大化学化工学院博士:跨专业如何做数据竞赛?_谈竞赛心得自我介绍

 

刘子腾,南京大学化学化工学院理论与计算化学研究所(ITCC)博士研究生,导师是马晶教授,主要研究方向是材料的多尺度模拟和基于“材料基因工程”的数据库建设与分子性质预测的算法发展,曾获得Codalab Tencent Alchemy Contest比赛冠军。

 

怎么知道数据竞赛的

 

这个要感谢kaggle竞赛宝典张杰的启发,我最早是通过张杰的解决方案了解到了数据竞赛,后来去听了他在南京大学的数据科学讲座,从中获知了数据竞赛的大概流程和竞赛经验。我也加入了Kaggle竞赛的社区群,在此社群中可以获得国内外很多赛题的开放信息。

 

如何跨专业数据竞赛

 

  1. 选择和自身研究更有关系的比赛。对于研究分子科学的学生,如果是从预测分子性质或者AI制药的比赛入手相对会简单一些,比如同一时期Codalab Alchemy Contest[1]和Kaggle Predicting Molecular Properties对我来说可能都是合适的。但是Kaggle比赛侧重于AI对分子自旋性质的预测,Codalab则是更倾向分子偶极、轨道能级和热力学性质的预测,相比之下我平时所做的后者性质的模拟更多,因此Codalab是更适合我的,同期的Kaggle比赛完全就当参考学习了。

     

  2. 结合课题思考AI的可用之处。虽然之前没做过这类比赛,但我的一个课题是通过统计手段来研究材料相变热力学性质中的熵效应(entropy effect)。我当时因为完全从物理的角度出发遇到了一些困难,所以一直也在思考能否通过AI来破除困境。后来自己发现这个性质和数据竞赛中的所关注的一个任务关系是十分密切的,这也激发了自己的兴趣,通过数据竞赛和大家一起探索建立合适的机器学习模型来解决问题。

     

  3. 寻找一位计算机专业的搭档。在算法基本功的方面,计算机系的同学肯定还是更专业一些,他们也能提供GPU资源,对你的思考提出专业的建议;对于跨专业的同学而言,最有价值的是和他们一起读论文,了解他们的思维方式和习惯并从物理角度一起思考解决问题的算法实践方案。这里我更建议先自己独立尝试解决,当比赛到达一定阶段后针对自己遇到的问题,再寻找跨专业的合作伙伴,当各自对问题都有了一定解决和需求后,彼此之间的沟通会更加顺利。

     

  4. 尝试从已发表论文的展望中寻找解决方案。一篇优秀的论文,通常都会实在地指出自己的不足,并给出未来解决方案的可能发展方向。比如Alchemy比赛的baseline是团队2017ICML的MPNN[2],在论文最后的地方它指出了该算法的不足并给出了2个方向。我们算法的一部分就是从解决这里的问题展开的,另一部分则是从量子化学模拟原理与比赛数据本身特点,尝试去解决MPNN算法本身的不足,这和他提出的问题也是有一定关系的。

 

数据竞赛价值与意义

 

  1. 数据竞赛(尤其是Kaggle、Codalab等这些国际竞赛平台的比赛)能拓宽眼界,提升问题的思考深度,并促进不同国界不同专业不同背景的交流。

     

    在Alchemy竞赛中,参赛者需使用机器学习算法预测经典量子模拟算法中密度泛函理论求解分子的 12 个量子性质。这里不仅有发表过NeurIPS, ICLR的计算机方向的博士,也有发表过Science advance,Nucleic Acids Research或者JCTC等基础科学物化生方向的关注者。在平时,处在不同评价体系的人很少能有一个问题能够让差异化巨大的社区聚在一起交流探讨解决方案。比赛后,相信每一个人都成长了很多,并且很多人都会在第一时间在论坛对主办方表示感谢。

     

    作为一个化学届的学生,我最开心的是跟着大家学到了很多AI届发展的处理图结构数据相关的算法会议前沿,而我也遇到了对量子力学感兴趣找我讨论的计算机系的同学,真的很有意思,大家都在另一个维度获得了提升。

     

  2. 竞赛对论文的发表以及找工作都是非常有帮助的。比如,Alchemy比赛中的第三名慕尼黑工业大学TUM KDD组Johannes Klicpera发展的DimeNet[3,4],在比赛结束后他们把算法做到了更好,不久就中了ICLR2020 spotlight和NeurIPS2020的Machine Learning for Molecules Workshop。并且有的比赛,只要获得不错的成绩,论文就有直接发表的机会。赛后,我也把自己的一点观点整理了一篇小文章[5]挂了预印本在Chemrxiv上,虽然还未正式发表,但是已经被引用5次了。另外,比赛对求职是也是有作用的,虽然自己水平较为一般,但也有不少公司联系我提供了实习机会。

     

  3. 竞赛让你结识不同领域的朋友,体会到合作共赢的工作方式,对个人发展的影响是非常重要且长远的。数据竞赛不仅会给出最具挑战性的数据和计算问题,通常也是最为公平直接的个人呈现方式,因此会吸引各方向研究者和工程师的汇聚。事实上,比赛会有结束的时候,但比赛所关注的问题可能仍会引发思考。比如,关于分子图结构数据的量子化学性质预测中的迁移性问题,竞赛后,大家之间的讨论还是非常激烈,彼此之间仍然在相互促进学习,并成为了很好的朋友。这里我要尤其感谢自己比赛时的队友,他的信任与帮助,教给了我最重要最宝贵的东西,在和这些人的接触中,你也总能被激发遇到更好的自己。

     

    如果在Kaggle或者Codalab这些平台做比赛,你还有可能找到与不同国家的人不同背景的人一起合作努力的机会。Alchemy这次比赛的一位对手是德国人,比赛结束后,我们已经是有兴趣合作去尝试其他竞赛问题的朋友了,在与他的交流中,我也发现成长于另一种教育体系下他身上所具有的独特研究品质,这里面很多都是自己非常欠缺的,甚至给我带来了一些自我反思。

 

对学弟学妹的建议

 

  1. 树立自信,勇敢走出舒适区,脚踏实地。这方面,大家要相信自己想学就一定能够学会,可以尝试多去复现AI论文的算法,学习Kaggle等社区的解决方案等。知识的掌握和专业、年纪都没有直接关系,有问题可以多写邮问论文作者、获奖选手或者去相应社区提问,不要害怕走得慢或者问题很难就停下脚步。

     

  2. 树立“学习的长期主义”、“学习不局限于本专业”的观念。AI发展的一个趋势是越来越多的与专家领域知识相结合,变化也很快,同样作为领域的研究者,也应该去学习前沿的算法理念。没有人能够一开始就能做得很好,但可以通过保持学习逐步积累来获得好的状态,自我充实,逐步提升,这很重要。

     

  3. 多动手实践,不迷信发表的论文,养成独立思考的习惯。在数据竞赛中,所有的算法都会来到同一个跑道上,你会发现很多论文的算法并没有那么神,相反还可能存在很多问题。多动手实践,能培养你对算法的直觉与理解能力,渐渐地,对于一类数据集,你不动手大概能看到算法的优点和劣势所在,很快筛选寻找合适数据竞赛的解决方案。物理化学材料等科学界,更倾向于直接利用现有的算法去解决问题或者只在自己建立的数据集上发展算法,这会让人拥有一些基础,但如果有空自己也可以独立思考,是否可以通过设计算法把性能指标推到另一个境地,甚至在公用的数据集上与SOTA比较,这对培养数据竞赛能力是很重要的。

     

  4. 善于向他人学习,多看到对方的优点,听取他人意见。数据竞赛中竞赛选手的背景丰富度可能非常高,各种年龄、专业、学历、国别都存在,对于同一个问题,在大家可能有不同的甚至冲突的反馈,但都是非常宝贵的。这时候你要多去听取不同背景人的意见,给出你的意见并寻求他们的支持。同时,在不违反竞赛协议的前提下,当别人有一些疑惑向你寻求帮助时,你也应该真诚的给出解答,和对方一起走得更远。

  

最后,有问题欢迎大家给我写信:njuziteng@hotmail.com

 

参考文献

 

[1] https://alchemy.tencent.com/

[2] Gilmer, Justin, Samuel S. Schoenholz, Patrick F. Riley, Oriol Vinyals, and George E. Dahl. "Neural message passing for quantum chemistry." arXiv preprint arXiv:1704.01212 (2017).

[3] Klicpera, Johannes, Janek Groß, and Stephan Günnemann. "Directional message passing for molecular graphs." International Conference on Learning Representations (2020).

[4] Klicpera, Johannes, Shankari Giri, Johannes T. Margraf, and Stephan Günnemann. "Fast and Uncertainty-Aware Directional Message Passing for Non-Equilibrium Molecules." arXiv preprint arXiv:2011.14115 (2020).

[5] Liu, Ziteng, Liqiang Lin, Qingqing Jia, Zheng Cheng, Yanyan Jiang, Yanwen Guo, and Jing Ma. "Transferable multi-level attention neural network for accurate prediction of quantum chemistry properties via multi-task learning." ChemRxiv 12588170 (2020): v1.

 

南大化学化工学院博士:跨专业如何做数据竞赛?_谈竞赛心得_02

- DataCastle -

 

南大化学化工学院博士:跨专业如何做数据竞赛?_谈竞赛心得_03