顺丰科技视觉算法工程师面经分享

问题1:在原地即不使用任何额外的空间复杂度交换两个数。

1、相加寄存:a=a+b b=a-b a=a-b

2、位运算:b=a^b; a=a^b; b=a^b

问题2:模型的方差和偏差是什么,怎么减少bias和var。

偏差:描述的是预测值(估计值)的期望与真实值之间的差距。偏差越大,越偏离真实数据.

方差:描述的是预测值的变化范围,离散程度,也就是离其期望值的距离。方差越大,数据的分布越分散。

Baging减少方差,boosting减少偏差。


关键点检测实战 [限时1元秒杀,1.19恢复原价!完整实战人体姿态估计、人脸识别等] - 七月在线

课程将直接从深度学习入手,从基础的目标识别与检测,过渡到关键点检测之人体骨骼检测,再一步步过渡到人脸特征点检测、手部关键点检测、3D物体关键点检测和图卷积网络。沿着深度学习的脚步,一步一步向下过渡,探索其关联,由浅入深、快速掌握。

顺丰科技视觉算法工程师面经分享_第1张图片


问题3:BN,GN,IN,LN的关系。

顺丰科技视觉算法工程师面经分享_第2张图片

上边这张图显示了四种标准化的方向,其中C轴表示通道,N轴表示Batch中的样本序号,H、W轴可以认为是图像样本中的宽和高。

Batch Normalization会将一个batch中所有样本的所有feature map按feature map的序号划分为N(N=feature map)组,然后对这N组内的所有像素点进行N次标准化;

Layer Normalization 是对一个样本中的所有数据进行标准化;

Instance Normalization是对一个样本中的每一个通道进行单独的标准化操作;

Group Normalization将一个样本的的通道划分为多个group,然后在对每一个group进行标准化。

问题4:解决梯度消失的方法有哪些?

梯度修剪:grad_clip

用ReLU、Leaky-ReLU、P-ReLU、R-ReLU、Maxout等替代sigmoid函数。

用Batch Normalization。

LSTM的结构设计也可以改善RNN中的梯度消失问题。

残差网络:Resnet

问题5:TensorRT的推理加速的原理是什么?

TensorRT支持INT8和FP16的计算,通过在减少计算量和保持精度之间达到一个理想的trade-off,达到加速推断的目的。

TensorRT对于网络结构进行了重构和优化。主要体现在以下四个方面:

第一是tensorRT通过解析网络模型将网络中无用的输出层消除以减小计算。

第二是对于网络结构的垂直整合,即将目前主流神经网络的conv、BN、Relu三个层融合为了一个层。

第三是对于网络的水平组合,水平组合是指将输入为相同张量和执行相同操作的层融合一起。

第四是对于concat层,将contact层的输入直接送入下面的操作中,不用单独进行concat后在输入计算,相当于减少了一次传输吞吐。

问题6:介绍下Focal loss。

Focal loss是目标检测中解决正负样本严重不平衡的方法,在标准交叉熵损失基础上修改得到的。

这个函数可以通过减少易分类样本的权重,使得模型在训练时更专注于稀疏的难分类的样本;防止大量易分类负样本在loss中占主导地位。

问题7:解释一下归并排序吧。

归并排序的核心思想是分治法,将已有序的子序列合并,得到完全有序的序列。

基本过程:假设初始序列含有n个记录,则可以看成是n个有序的子序列,每个子序列的长度为1,然后两两归并,得到n/2个长度为2或1的有序子序列,再两两归并,最终得到一个长度为n的有序序列为止,这称为2路归并排序。

代码示例如下:

顺丰科技视觉算法工程师面经分享_第3张图片


关键点检测实战 [限时1元秒杀,1.19恢复原价!完整实战人体姿态估计、人脸识别等] - 七月在线

课程将直接从深度学习入手,从基础的目标识别与检测,过渡到关键点检测之人体骨骼检测,再一步步过渡到人脸特征点检测、手部关键点检测、3D物体关键点检测和图卷积网络。沿着深度学习的脚步,一步一步向下过渡,探索其关联,由浅入深、快速掌握。

顺丰科技视觉算法工程师面经分享_第4张图片

你可能感兴趣的:(算法,深度学习,人工智能,机器学习,python)