当时很中二的我就会想,如何能接触到更多的这种科技,甚至于参与这种科技的落地。这个时候,一个动画片告诉了我答案。《超能陆战队》里的高级人工智能机器人大白,他是一个近乎全能的家庭医生。这个是AI的力量,在当时几个研究生的offer里,最终选择了数据科学作为我的研究生方向。
研究生阶段起步并不轻松,从电子电气的方向转到数据科学这个学科并不是非常的顺利。数据科学这个专业是统计系和计算机科学系合作办的,也就是说,这个专业对于统计学和计算机科学的要求是比较高的。当时老师也列出了长长的一串参考书目,印象深刻的是PRML(《模式识别与机器学习》)和BRML(《贝叶斯推理和机器学习》)。大家有兴趣也可以去看看,国内也有很好的书籍,推荐李航《统计学习方法》和周志华的《机器学习》。
这个专业依旧也是非常重视我们的实际建模的技能,几乎所有的课程都有30%以上的分数是需要我们去建模。其中有一门是应用机器学习,这门课要求我们在Kaggle上参加比赛,并用我们的名次来给我们打实验分。一个月时间内,我们组参加了三个项目,其中有一个我们拿到了前4%的成绩。Kaggle上面的项目很适合初学者练手,在学习了一堆理论知识后,初学者很多时候会对这一堆数学公式很陌生,不知道他们的实际效果。在Kaggle上的比赛给了初学者一个接触真实数据并用来建模的机会,参加这些比赛,还能根据自己的结果了解当前学习的模型在解决真实问题的时候,能否在排名中靠前,是否是真的比较好的解决方案。这让我在短时间内,对我在课堂上学习到的理论有了更深一层的认识。即使我们对于数据的实际含义并不明晰,即使数据的含义是经过加密处理的,但是还是可以使用一些机器学习技巧建模,对结果进行预测。Kaggle里的Titanic这个项目,也是很多老师选择给学生进行数据分析入门和机器学习入门首选项目,有兴趣的人可以去实际体验一下。
学术界和工业界对模型对要求和应用是不一样的,为了更加了解实际的建模过程,我在毕设的时候,选择了学校和公司合作的项目。毕设项目是我第一个数据科学方面的实习,为华纳音乐公司做一个简单的相似歌手推荐和一份歌手在英国巡演的最佳城市路线图。在这个项目中,我接触了真实的客户数据,并和公司合作,尝试在数据中挖掘更多的关联。同时我也在挖掘更多的可能,在Kaggle上参加了另一个NLP类的比赛,判断两个短文本的相似度。这些项目结束的时候,我的研究生生涯也结束了。
回国后,我休息了一段时间就加入了华为公司。在华为公司,我这边第一个大数据相关的项目是PyTorch大规模加速训练,类似于华为云上面的MoXing,但这个是基于PyTorch的一个优化。在这个项目中,我有机会接触到深度学习计算中较为底层的一些概念,并对GPU之间对通信有了了解。随后,为了给平台上增添更多的模型,我有机会更深一层去了解模型的架构,复原了当时很流行的MobileNet的效果。接着学习并在我们的产品上成功嵌入了R-CNN系列的目标检测算法。
在这一段深度学习的经历后,我又投入了我们产品的机器学习的平台和基础算法实现部分。我在华为云嵌入了LightGBM算法,并对我们机器学习平台进行了一些优化的工作。
接着,我主导了某国家级单位的算法模型POC项目和国内某大行的信用卡中心算法联创项目。再次接触到真实到数据,并针对数据进行建模的工作。这两个项目都是风险控制类的项目,在真实的数据中建模真的十分有趣。每一次使用不同行业的数据进行建模,都像是对另一个行业有了全新的认知。在这期间,我还有机会站在国外的论坛上,用英文给VIP客户介绍一些机器学习的科普知识。
在我短短两年的工作中,我尝试了专业范围内所有的工作。我现在还是觉得我的专业很棒,他帮我打开了新的世界。
Doctor Zeng 一寸光阴一寸金,寸金难买寸光阴 ——《增广贤文》作为一位有很多年实际工作经验的计算机科学专业博士,我就直截了当讲讲自己对建模流程的理解,以及对应的实际案例。