【算法面经】九维数据CV算法工程师一面

来源:投稿 作者:LSC
编辑:学姐

1.详细聊项目

2.模型的常见优化方法

  • (1)更换模型backbone等结构

  • (2)数据准确

  • (3)平衡数据解决样本不均衡

  • (4)模型集成等

  • (5)根据loss下降的趋势调整参数

3.介绍一下Transformer的结构,推导一下一个标准的Transformer block有多少参数

input: -S sentences -N tokens at maximum -x dimention in the word embedding -m number of heads

(1)自注意力层:该层用于计算输入序列中每个位置的注意力权重,以便在不同位置捕捉不同关系。它包括多个注意力头,每个头都有自己的权重矩阵。参数数量如下:

  • 查询权重矩阵(Q):形状为(x, x)。

  • 键权重矩阵(K):形状为(x, x)。

  • 值权重矩阵(V):形状为(x, x)。

  • 输出权重矩阵(O):形状为(x, x)。

(2)前馈神经网络:这是一个全连接的前馈神经网络层,用于每个位置的特征转换。参数数量如下:

  • 第一个全连接层的权重矩阵:形状为(x, y),其中y是隐藏层的维度。

  • 第一个全连接层的偏差项:形状为(y)。

  • 第二个全连接层的权重矩阵:形状为(y, x)。

  • 第二个全连接层的偏差项:形状为(x)。

(3)Layer Normalization:该层包括用于每个子层的比例参数和偏差参数。这两个参数的形状取决于输入维度。

(4)残差连接:残差连接将输入与子层的输出相加,以防止梯度消失问题。

(5)Layer Normalization:另一层层标准化用于整个Transformer块的输出。

  • 针对自注意力层:假设有m个注意力头,x是输入维度,每个头的权重矩阵数量为4个(Q、K、V、O)。因此,自注意力层的参数数量为4 * m * x * x。

  • 针对前馈神经网络:前馈神经网络的参数数量取决于隐藏层的维度y和输入维度x。每个前馈神经网络层包括两个权重矩阵和两个偏差项,所以参数数量为2 * x * y + 2 * y。

  • 层标准化和残差连接:这两部分的参数数量相对较小,取决于输入维度x。

因此,一个标准的Transformer块的总参数数量可以表示为:

4 * m * x * x + 2 * x * y + 2 * y + 少量参数(层标准化和残差连接的参数)

4.场景题:

现在有一百万张房屋外部的图片,每张图片可能既有一些日常生活和别的场景中常见的物体比如沙滩椅,长凳,泳池,草坪等,也有很多别的场景不常见或有一定背景的人才能识别的物体比如排水管,水电表,房檐,地基等。总共的物体类别大概有50~100类。需求是设计一个算法能够较为准确的在房屋外部图片上定位这些物体。

分别处理,对于常见的物体可以使用预训练模型进行微调,或者使用目标检测模型重新训练学习,因为图片数量充足,对于不常见的图像使用预训练模型进行微调。所有的模型结构尽可能使用相同的,但是权重参数不一样,需要哪个就导入其权重。

5.场景题:

假如训练集中只有图片所包含的所有类别,但是没有相应类别的位置(bbox),那么需要先设计一个解决方法给这些类别找位置,训练集才能拿来用。请列举一些实际的办法。

关注下方《学姐带你玩AI》

算法工程师万能简历公式+200多个简历模板(中英文)

回复“简历”轻松获取!

码字不易,欢迎大家点赞评论收藏!

你可能感兴趣的:(人工智能干货,粉丝的投稿,面试,算法工程师)