卷友们好,我是对白。
虽然人生苦短论文怕长,但我们依然不能停下奋斗的脚步,因为总有人比你更努力,也比你更卷,在算法的这条道路上卷出了天际。
哈哈开个玩笑,今天我们不讲前沿的算法论文,而是想和大家简单聊聊我在美团做算法的感受,后期也会专门写一篇文章《我在美团做算法的这大半年经历了什么》,讲讲美团目前在使用哪些前沿的算法,在业务中算法经常会遇到哪些典型的问题,希望能与同行们多多交流。
目前我在美团做算法已经大半年了,前后主R了多个业务(基本三个月一个业务),包含NLP、推荐以及动态定价。.在这个过程中深深地感觉到有标注的数据对于一名算法工程师来说是多么的重要,但大多数业务的数据往往是没有标签的,自己标注也不现实,因为你没有充分的业务知识;而就算数据有标签, 也只是一小部分,甚至还会出现PM和运营同学疏忽导致标错的可能性QAQ(这个只有你在分析badcase时才会发现...),因此在绝对的OKR面前,你只有想尽办法达到与有监督学习一样的效果,否则你只有卷铺盖走人了。这时对比学习出现了,它是自监督学习的一种,也是目前学术界和工业界绝对的热点,在ICLR2020上深度学习三巨头 Bengio 、 LeCun和Hinton就一致认定自监督学习(Self-Supervised Learning)是AI的未来。因此这也成为了我以后做算法主攻的方向之一。
对比学习的出现,真正的给CVer、NLPer和Recommender都带来了极大的福音,具体来说:1、在CV领域,解决了“在没有更大标注数据集的情况下,如何采用自监督预训练模式,来从中吸取图像本身的先验知识分布,得到一个预训练模型”的问题;2、在NLP领域,验证了”自监督预训练使用的数据量越大,模型越复杂,那么模型能够吸收的知识越多,对下游任务效果来说越好“这样一个客观事实;3、在推荐领域,解决了以下四个原因:数据的稀疏性、Item的长尾分布、跨域推荐中多个不同的view聚合问题以及增加模型的鲁棒性或对抗噪音。借助着对比学习这项技术,我也顺利的完成了自己的OKR(明天晋升应该稳了),对这项技术也有了更深入的掌握,也在这个过程中,我开设了自己的个人公众号,前后写了九篇有关于对比学习的文章: 对比学习(Contrastive Learning)在CV与NLP领域中的研究进展
ICLR2021对比学习(Contrastive Learning)NLP领域论文进展梳理
2021最新对比学习(Contrastive Learning)在各大顶会上的经典必读论文解读
推荐系统中不得不学的对比学习(Contrastive Learning)方法
机器学习新宠:对比学习论文实现大合集,60多篇分门别类,从未如此全面
再介绍一篇最新的Contrastive Self-supervised Learning综述论文
ESimCSE:无监督语义新SOTA,引入动量对比学习扩展负样本,效果远超SimCSE
深度学习热点|超直观无公式图解Contrastive Predictive Coding从脸盲说起
干货 | 带你理解对比学习损失函数的性质以及温度系数的作用
在其中,有几篇文章还上了知乎计算机视觉和自然语言处理话题的热门内容:在这个过程中也让我认识了很多学术界和工业界的技术大牛,得到了许多同行朋友们的认可与鼓励,更有出版社邀我出书,但最没想到的是还帮助了一些正在求职算法岗的萌新们,这让我备受鼓舞:
也是因为他们的存在,让我坚持更新原创。或许大家都知道日更原创是多么的艰难,更别提一位995的打工仔了,所以很多小伙伴主动找我投稿,这让我意识到:「对白的算法屋」不是我一个人的,而是大家的。在这里我还需要为广大的算法工程师们说一句话,以后谁要说:算法工程师只需要会调参就行了。那我直接拿50根辣条堵住他的嘴。我在美团做算法的这段时间,感觉算法人真的啥都要会:1、不仅业界流行的算法要非常熟悉,对前沿的算法也要了解并能很快应用到业务中(这项就已经很难了...);2、对大数据中的Hadoop、Spark要能做到精通。因为数据需要从HDFS(Hadoop分布式文件系统)上批量读取,以及最后的数据预处理+模型的代码都需要改成PySpark分布式来处理,因为单机版速度太慢,且模型要能做到批量预测(TF和Pytorch只支持分布式训练,不支持分布式预测);3、HiveSQL不说要非常精通,熟练还是必须要的;
更重要的是,如果算法工程师做的模型不能上线并给业务带来收益,则他的所有工作约等于白做,很有可能会被公司辞退。
所以,作为一名算法工程师,我们真的需要不断的学习,每天比别人多学一点,或许你的模型就有可能出效果。写这篇文章,主要是想和大家分享一下我在美团做算法的感受,希望与君共勉!