大家好,我是对白。
今天给大家分享一位大佬在Facebook做了四年机器学习,又到CMU攻读AI PhD的经历,希望给后续也想要深造的朋友们一点经验和帮助,以下为原文。
作者:SpadeAce | 编辑:对白的算法屋https://zhuanlan.zhihu.com/p/519841457
不知不觉在 CMU 待了快一年了,时间过得可太快了。。。以前总觉得 PhD 五年时间很漫长,实际上第一年已经不知不觉溜走了,给人感觉也就过了一个月。。。第一年过得很开心,然而感觉个人的成长却没有很多,主要还是自己花的时间不够多,之后应该更努力一些。
关于Research
我一直蛮明确自己的 research taste,想要做 “可以解决实际问题的 research,且方法是 principled,是 theoretically motivated 的”。这类 research 我总结一般有如下几个步骤:
最近我们在 arxiv 上面 post 了一个我个人很喜欢的工作,这个工作主要解决的问题是:在推荐系统当中,因为 maximization bias 而导致的 prediction over-estimation 的问题。虽然 maximization bias 在 RL 里面比较有名,我个人之前没听说过有谁意识到 maximization bias 也会导致推荐系统中的 prediction over-estimization。而我们解决这个问题的方法就是按照上面几步曲来做的。
通过这个工作,我深刻的认识到了自己的不足:technical 水平(数学水平)实在差的太远。。。上述的第一步第四步我都能比较自信的解决,但是这第二步第三步有点超出我现在的能力范围了。。。数学这东西也没有什么捷径,只能慢慢积累。希望之后几年能提高我的 technical 水平。
业界的方法VS学界的方法
可能是因为我工作过蛮长时间,我解决问题的思路和方法也都很业界:重解决问题,而轻方法的 guarantee。我比较喜欢的解决 ML 问题 empirically 的方法论是:
回到上面 maximization bias 的例子。作为 engineer,一开始发现的问题就是上线的模型效果不好(prediction over-estimization),但是并不知道是什么导致的。这时候就需要提出假设:如果我们认为每个 prediction 都有 variance,那么之后的 selection step 就会导致那些被 over-estimated 的 prediction 更容易被选择到,也就出现了 maximization bias。有了假设,实验便很容易设计了:同时上线若干个类似的模型,可以发现每个模型只在自己 serve 的 traffic 上有 over estimation,而在其他模型 serve 的 traffic 一直都是 well calibrated 的。基于这个被验证的假设,解决方法可以参考 RL 里面经典的方法,比如一个模型用来 select,一个模型用来 predict。
到此为止,我觉得这是一个很好的业界解决 prediction over-estimization 的 empirical work:解释清楚了这个现象的原因,并提出了解决方法。但是却没能更进一步:把问题抽象化,通过数学的方法进行分析,并提出更好的解决方案。我个人感觉这就是业界学界解决问题的方法的不同之处之一:业界解决完问题就结束了,不会进行更深入的思考,也不会要求解决方法的数学 guarantee,empirically 解决了问题就大功告成。而学界常常要求进行深入思考,并对提出的方法有一些数学上 guarantee 的要求,至少要解释清楚,这个方法什么时候 work,什么时候不 work,assumptions 是什么。如果没有某些情况下的 guarantee,那么提出的方法显得很 ad hoc,很难变得 convincing。我就常常在这一步被卡住,还需要好好提高 technical 水平。。。
业界给人带来很多很好的实际问题,学界给人带来扎实的 technical 基础,能够使人不仅仅局限于最好想的 naive 的解决方法。以后要多去业界看看,积累好的问题;同时在学界踏下心来,夯实基础。