菜菜面经 快手 机器学习算法工程师(深圳)一面
上来先是问项目,我按照STAR模型八八一堆,说了背景大概存在问题,解决方法,如何处理过拟合,目标检测回归锚框不准确解决,几种激活函数,loss函数,评估标准acc,filter选择,测试集结果
问题:
1.几种激活函数优缺点。
说了sigmoid,tanh,relu,还问我懂什么?我说知道gelu,elu,leaky relu,softmax.又大概说了一下
2.L1正则化和L2正则化是什么,效果有什么不同?
L1结果比较稀疏,L2会比较接近0.
L2损失函数 | L1损失函数 |
---|---|
不是非常的鲁棒(robust) | 鲁棒 |
计算方便 | 计算较复杂 |
稳定解 | 不稳定解 |
总是一个解 | 可能多个解 |
3.他问优化器选择:说了用adam,因为里面有用到一阶矩和二阶矩修正
为什么会有这些好处,有没思考过?基本是来自于数学公式,那个对vt和mt的修正,让它梯度下降对学习率不敏感,超参数选择比较鲁棒,人家作者也给了推荐数值,相比adagrad不必存储所有数值。
Adam每次迭代参数的学习步长有确定范围,为什么呢?看公式嘛,学习率给了默认值,都有推荐值,分别0.9,和0.999,这个一般不改,小常数也默认10-8,就很简约,大致范围都确定了。
缺点:并非真的参数不敏感,后期可能因为
我就说了优化器发展历程,
SGD->momentum ->nesterov momentum->adagrad->rmsprop->adam
我贫乏的理解:
adagrad改进sgd学习率不能自己调整
rmsprop唯一改进就是累加梯度和,让它不要那么爆炸
adam是adagrad和rmsprop的结合体。
4.在学校做过什么项目嘛?
我说做过semantic parsing,用CBOW或者GloVe训练的Embedding做词语相似度分析
延申问题:知道用什么距离吗?wasserstein-distance,马氏距离,欧式距离,曼哈顿距离 ps:其实还有切比雪夫距离,闵可夫斯基距离
又问曼哈顿距离和l1是一样吗?
5.未来的发展方向?
我说有在对cv,nlp感兴趣,在写research proposal 什么的,对的,本菜菜一定要去读phd。
反问环节:
传统反问:
先放一段我买的专刊答案
一面(较资深员工):询问业务情况,在做哪个方向的业务;反问环节主要是用于向面试官询问部门的工作内容,以及自己在之前的交流中的一些疑惑。可以对之前自己没回答好的问题提问,这个属于给自己涨经验的知识,而工作内容可以更好的帮助自己了解岗位未来需要做什么。不要对一些红线问题进行提问,例如薪资情况、加班情况、自己通过了没有(可以换种话术例如询问对自己的评价等)等等。一般反问环节按照这个思路去提问:
二面(组长):询问在用的一些技术点、模型是什么;
三面(Leader):部门的发展情况,和未来的方向;
1.你们做什么业务?
2.请问您这个职位发展路线是什么?
3.比较看重什么?
4.对数据结构的算法要求如何?
说的是正常
5.偏向于应用还是研发?
应用