CV算法工程师面试 高频基础知识点

本文介绍了CV算法工程师面试中常见的基础知识点,包括过拟合与欠拟合的概念、抑制过拟合的方法(如L1/L2正则化、数据增强等)、BatchNorm层的作用以及学习率策略。还对比了BN、LN、IN、GN等归一化层的区别。
摘要由CSDN通过智能技术生成

写在前面:CV算法工程师面试时,除了考察项目经验和技术深度,基础知识点的提问也必不可少。这部分如果答不上来,面试印象会大打折扣,因此建议着重记忆。另外的【附加实战经验】部分为个人调参经验,供参考~

1. 什么是过拟合和欠拟合?

过拟合:模型在训练集表现好,测试集表现不好。一般是因为模型太大,或训练数据太少。

欠拟合:模型在训练集和测试集的表现都不好。一般是因为模型太小。

2. 抑制过拟合的方法

常见标准答案:

(1) L1/L2正则化。

(2) 数据增强:平移、旋转、翻转、随机裁剪等。

(3) Dropout:训练时神经元以概率p置0(推理时的计算方式:输入乘以1-p)。

(4) Early stopping:早停法,当模型在验证集上的表现下降的时候,停止训练。

附加实战经验:

(1) BatchNorm层冻结,否则小模型容易过拟合。

(2) 小batch size先训练。

(3) 减少可训练层的数目。

3. L1/L2正则化权重衰减

L1正则化: loss计算时加一项,参数的L1范数,各元素的绝对值之和。得到的参数会更加稀疏。

L2正则化: loss计算时加一项,参数的L2范数,各元素的平方和。使网络权重倾向于选择更小的值,这样不同特征对结果的影响相对均衡,不会受一些噪点影响,提升了泛化性。

附加实战经验:

(1) ResNet50衰减系数一般1e-4,移动端小网络如MobileNet一般1e-5。

(2) L2系数太大抑制过拟合,但可能会欠拟合,尤其对于小网络参数量不足的情况。

(3) 数据集小时,网络容易过拟合,这时L2系数可以适当调大。

4. 类别不均衡解决方法

(1) 重采样: 样本量少的类别使用重采样,样本量多的类别使用欠采样。

(2) 重加权:算loss时,样本量少的类别,loss权重大一些。

(3) 损失函数:使用focal loss,在交叉熵loss的基础上增加动态调整因子,把易分样本的loss拉低,使网络更加关注难样本的分类

(4) 数据合成: 使用AIGC合成样本,或者数据挖掘方法(爬虫获取无标签数据,使用训练好的模型预测得到伪标签)。

5. BatchNorm层

一种正则化技术,用来抑制过拟合。

训练时:假设输入tensor形状为[N, C, H, W],则

(1) 在一个Channel内,对NHW做平均,得到均值维度[1, C, 1, 1],同理计算方差;

(2) 输入tensor减均值,除以方差(加sigma防止除0);

(3) 乘以可学习参数alphabeta还原。

推理时:用训练过程中保存下来的滑动均值和滑动方差。

6. pool层

(1) 最大池化:正向:邻域取最大值作为输出,反向:最大位置是回传梯度,其它位置为0。

(2) 平均池化:正向:邻域算平均值作为输出,反向:均匀回传给输入位置。

7. 学习率策略

(1) 常用:piece wise分段式,常用方式;Cosine decay,无需调整超参,性能鲁棒,一般用这个收敛较为缓慢,轮数要多一些。

(2) 学习率和batch_size要按线性比例调整。

(3) 初始学习率一般跟数据集有关。

8. BN、LN、IN、GN的区别

假设输入tensor的形状为[N, C, H, W],对应batch_size,通道数,高度,宽度。

(1) BN 批归一化:计算均值和标准差时,在一个channel内,对HW和Batch做平均,均值维度[1, C, 1, 1]。CNN常用,batch size小的时候,效果可能不太好。

(2) LN 层归一化:计算均值和标准差时,在一个batch内,对HW和Channel做平均,均值维度[B, 1, 1, 1]。RNN或transformer用。

(3) IN 实例归一化: 算均值和标准差时,同时固定channel和batch,对HW做平均,均值维度[B, C, 1, 1]。图像风格迁移任务用,结果依赖于某一个实例。

(4) GN 组归一化:计算均值和标准差时,固定batch且对channel做分组,分组内对HW做平均,[B, C/g, 1, 1]

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值