求职刷题神器

funit.cn

讨论区 > 求职面经 > 旷视研究院算法岗人脸识别方向面经

旷视研究院算法岗人脸识别方向面经

疯样的男人°
发布于2021-01-27 16:16:32 138浏览

面试官是做活体检测的


1.介绍项目

项目是做人脸识别相关的,也是小论文,问了些测试指标和公开数据集的一些指标,做这个的出发点,然后挑些毛病,没怎么听懂。

2.项目中用到了resnet,让我讲下resnet的blocks,以及每个blocks是什么样的,具体到每一层是什么?


blocks结构是[3,4,6,3],每个block会有两条通路,其中一条有三个卷积层,每个卷积层分别由conv,bn,Relu组成,另外一条通路只有一个卷积层,仅有conv和bn,最后两条通路的tensor加在了一起。 (如果现场面估计要叫我画网络结构图) 


3.resnet设计的初衷?

普通的网络结构增加网络层数后,由于层数变得过多导致平均下来每层网络的损失值变得很小,反向传播时对损失值变得不敏感而更新参数会变得很困难。通过增加残差结构会明显减小模块中的参数值从而让网络参数对反向传导的损失值更加敏感,虽然没有根本解决回传时损失小的问题,但是让参数变小,相当于增加了回传效果。(这道题回答的不是很好)


4.resnet中的kernel_size?

1×1,3×3,1×1


5.bn层原理?

通过对每个batch的特征进行归一,使特征符合正态分布,这样网络更容易收敛。bn层会计算每个batch的均值和方差,然后进行归一。但是如果完全符合正态分布会使网络的表征能力变差,所以引入了两个参数,对归一后的特征进行细微的调整,这两个参数是通过学习得到的。


6.bn层的均值和方差是在哪个维度上计算的?

通道上,如resnet中64 * 112 * 112的特征经过bn层后,得到的bn层特征是一个64维的tensor。


7.如果是测试,bn层怎么更新?

不会更新


8.resnet中的激活函数用到了Relu,那你谈谈为什么要用Relu?

即Sigmoid函数由于输入较大时,导数会特别小,几乎为0,在深层网络中容易出现梯度消失。而Relu的导数不管输入值有多大而梯度始终为1。


9.如果网络输入的都是正值,那Relu是不是就没有用了?

当然不是,relu的输入时特征和参数相乘,参数矩阵一般给到随机值作为初始,所以输入是正是负不可知,但肯定有正有负;就算特征全正,参数一开始给全1矩阵,也会在梯度下降过程调参也有可能把参数调参成负值来拟合模型;(之前没想过这个问题,当时答的是反向传播时梯度却并不是一直都是正的,面试官说这样也没错,但没答到点子上)


10.手写汉罗塔。

以为只是电话面试只是问些问题,结果突然让我写代码,发了个腾讯在线文档,他那边实时看着我写,还继续跟他通着电话。。。题目不难,但是被人盯着写代码慌的一批!


11. 线性代数问题,Ax=b什么情况下无解?

R(A)<R(A|b) (想了半天才回答上,早就忘光了,没来得及准备这些问题。)


12. 还是线性代数问题,问了个更复杂的,连题目都没听懂,大概是个函数拟合的矩阵求解问题?

没答上,他说没关系,你也没有涉及这个领域应该也不知道 。


然后时间差不多了,问我有没有什么问题想问他的。感觉要挂了,所以问了下他我现在还是研一嘛,还欠缺什么能力可以在研二这年补一补,然后他说看自己选择吧,尽可能在选择的领域越挖越深,然后又说硕士生与博士生最大的区别是硕士不需要创新,只需要复现能力,但是很多硕士生缺乏这个能力。


总结:项目没有组织好语言讲的有点乱,所以有好几次面试官因为没有听懂而打断。深度学习的题答的还可以,最后写代码的时候完全没反应过来所以脑子很乱。多复习下线性代数。第一次面试,有些紧张,再加上远程面试通话上有些卡顿和噪音,经常没听清出问题,还好面试官耐心的复述了一遍。本以为算法岗会挺看重论文的,居然没有问我发的什么期刊,我的创新点什么的,另外两个项目也没有问,只问了些基础题,有可能招进去只是当调参侠吧哈哈哈哈哈。还没来得及刷题,多刷刷题应该还是挺轻松的。

本文首次发布于趣IT ,转载请注明出处,谢谢合作

旷视研究院算法岗人脸识别方向面经

全部评论0

成为第一个评论的人

还可以上传7

表情
  • 快速扫码进群
    加入职友圈
下一步
知道了