【面经】搜狐、mometa cv 算法实习生面试

整理一下这两天碰到的问题吧。

  • 对 dropout 的理解

训练深度神经网络时,总会遇到两大问题:容易过拟合、费时。dropout可以有效缓解过拟合的发生,在一定程度上起到正则化的作用。

dropout:在前向传播时,让某个神经元的激活值以一定的概率 P 停止工作,这样可以使模型泛化性增强,因为它不会太依赖某些局部的特征。

取平均的作用:dropout掉不同的隐藏神经元就类似在训练不同的网络,随机删掉一半隐藏神经元导致网络结构已经不同,整个dropout过程就相当于对很多个不同的神经网络取平均。而不同的网络产生不同的过拟合,一些互为“反向”的拟合相互抵消就可以达到整体上减少过拟合。

减少神经元之间的依赖性: 因为dropout程序导致两个神经元不一定每次都在一个dropout网络中出现。这样权值的更新不再依赖于有固定关系的隐含节点的共同作用,阻止了某些特征仅仅在其它特定特征下才有效果的情况 。迫使网络去学习更加鲁棒的特征 ,这些特征在其它的神经元的随机子集中也存在。

Dropout为什么需要进行缩放:因为我们训练的时候会随机的丢弃一些神经元,但是预测的时候就没办法随机丢弃了。如果丢弃一些神经元,这会带来结果不稳定的问题,也就是给定一个测试数据,有时候输出a有时候输出b,结果不稳定,这是实际系统不能接受的,用户可能认为模型预测不准。那么一种”补偿“的方案就是每个神经元的权重都乘以一个p,这样在“总体上”使得测试数据和训练数据是大致一样的。比如一个神经元的输出是x,那么在训练的时候它有p的概率参与训练,(1-p)的概率丢弃,那么它输出的期望是px+(1-p)0=px。因此测试的时候把这个神经元的权重乘以p可以得到同样的期望。

  • resNet 的理解:

增加了short cut,随着网络深度加深,只学习残差。

为什么resnet能解决梯度消失和梯度爆炸。

  • 梯度消失和梯度爆炸的原因:梯度消失:因为通常神经网络所用的激活函数是sigmoid函数,这个函数有个特点,就是能将负无穷到正无穷的数映射到0和1之间,并且对这个函数求导的结果是f′(x)=f(x)(1−f(x))f′(x)=f(x)(1−f(x))。因此两个0到1之间的数相乘,得到的结果就会变得很小了。神经网络的反向传播是逐层对函数偏导相乘,因此当神经网络层数非常深的时候,最后一层产生的偏差就因为乘了很多的小于1的数而越来越小,最终就会变为0,从而导致层数比较浅的权重没有更新,这就是梯度消失。
    梯度爆炸:由于初始化权值过大,前面层会比后面层变化的更快,就会导致权值越来越大,梯度爆炸的现象就发生了。

  • faster rcnn:

NMS:非极大值抑制。对proposal进行NMS。

NMS的C++实现。

  • softmax:

把一些输入映射为0-1之间的实数,并且归一化保证和为1,作为多分类的概率。
在这里插入图片描述

  • 逻辑回归和线性回归的区别

  • sogmoid函数的公式、函数图像、导数公式。

  • L1 和 L2的区别,分别在什么时候选择 L1 和 L2:

相同点:都用于避免过拟合

不同点:L1可以让一部分特征的系数缩小到0,从而间接实现特征选择。所以L1适用于特征之间有关联的情况。L2让所有特征的系数都缩小,但是不会减为0,它会使优化求解稳定快速。所以L2适用于特征之间没有关联的情况。

  • 平滑 L1 损失函数:
    在这里插入图片描述
  • 为什么Faster Rcnn 比 Fast Rcnn快。

Faster R-CNN相比于Fast R-CNN做的改进则是利用RPN来产生候选区域(也即通过RPN产生的Region Proposal映射到feature map中再作为RoI池化层的输

  • C++:虚函数、纯虚函数
  • C++ main函数执行前,函数执行了哪些操作:

入口函数对运行库和程序运行环境进行初始化,包括堆,I/O,线程,全局变量构造(constructor)等。
执行MAIN完毕,返回入口函数,进行清理工作,包括全局变量析构,堆销毁,关闭I/O等,然后进行系统调用介绍进程。

  • 优先队列的底层实现:堆。
  • 堆的实现。
  • Boost 和 bagging
  • KL距离

算法题:

  • 寻找最大的K个数
  • 求最长递增序列
  • 字符串原地反转
  • 句子的反转(反转单词顺序)
  • 快排

差不多就这些了吧。momenta 昨天电话面的,貌似已经挂了。ε=(´ο`*)))唉

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值