面字节算法工程师的时候,面试官问我项目中的一个有几百个类别的深度学习分类模型,一直没Get到面试官想要的回答是什么:

“是怎么预测的,或者说目标函数是怎么定义的”
我答用目标函数是交叉熵损失

追问“你这个项目里,二分类和几百分类的区别是什么,从模型设计角度讲”
我答CE loss 可以扩展到任意维度

追问“具体的目标函数形式是什么样子,交叉熵损失是怎么用进去的”,“不是交叉熵的公式,而是对这几百个类别”,“你的损失函数是怎么定义的”,“用形式化的语言描述一下”

我答是(用交叉熵的公式)拟合预测标签分布和真实标签分布之间的误差

面试官觉得很泛,要求我说出更细节的东西,比如每个类的表示、输出多少个结果

面试官最后问“用一个二分类的目标模型,有几种方式实现多分类”

我回答要么输出一个1*C的标签概率向量,要么直接输出一个回归预测值作为标签

😣这个初级问题问了五分钟,不太明白到底要回答什么、想follow-up什么。是想让我串讲一下多分类的实现方式,一对多、多对多那些,还是目标函数的几种分类(回归loss、分类loss等)?
全部评论
他是想问你OvO、OvR、MvM吧
2 回复 分享
发布于 2022-04-28 21:56
总觉得算法很高深的
1 回复 分享
发布于 2022-04-26 23:39
应该是多分类实现方式。我记得好像3种吧。以前考试考过。感觉问的不难。
1 回复 分享
发布于 2022-05-29 05:47
面试官问你的问题很好啊,确实是在考基础。 例如,第一个问题,目标函数是怎么定义的?你说目标函数是交叉熵损失,你没有get到面试官的点在哪儿。面试官问你这个问题,不是说问你具体某个算法的目标函数是怎么定义的?而是说目标函数的设计思路是什么?是一个更广泛的概念上的问题,而不是具体的技术细节,你说的交叉熵损失太细节了,不是面试官提问的问题。这么说,如果面试官问你分类模型的目标函数是怎么定义的,你说是交叉熵完全没有问题,但是他没有提到分类模型,也没有提到其他模型,你直接把分类模型的交叉熵损失目标函数说了出来,肯定不行的。目标函数在定义的时候,有一个思想,是目标函数是指示当前预测值和ground truth之间的gap的,也就是说,如果他们之间的gap大,目标函数应该比较大,如果他们之间的gap小,目标函数应该比较小,目标函数能反映出来他们之间的gap,按照这个思路去设计目标函数。 所以,你在说你的答案的时候,一定把面试官的问题想明白了,再去组织语言,按照逻辑去说。 @河老师
9 回复 分享
发布于 2022-04-28 13:32
感觉他或许想问你 针对每类做二分类还是直接多分类 两者的区别与你的思考🤔
点赞 回复 分享
发布于 2022-04-29 00:58
cy深度学习面试
点赞 回复 分享
发布于 2022-06-17 22:43

相关推荐

xxxxOxo:这公司幽默得很,要了简历半天一点动静都没有,过一会就给你发个邮件让你做测试,做完又没后文了,纯溜人
点赞 评论 收藏
分享
评论
点赞
14
分享

创作者周榜

更多
牛客网
牛客企业服务