当前位置:   article > 正文

面经八股汇总_bert八股

bert八股

一、BN和LN的异同

1、batchnorm 和layernorm 一般分别用于cv、nlp领域
2、bn把一个batch中同一通道的所有特征视为一个分布,并将其标准化,意味着不同图片的同一通道的特征是可以比较的。
3、LN是把一个样本的所有词义向量视为一个分布,有几个句子就有几个分布,并将其标准化
Ⅰ延申
BN LN IN GN的差异解释
在这里插入图片描述

Ⅱ LN 的作用
首先,任何norm的意义都是为了让使用norm的网络的输入的数据分布变得更好,也就是转换为标准正态分布,数值进入敏感度区域,以缓解梯度消失。同时这也意味着舍弃了除此维度之外其它维度的其他信息!

Ⅲ BN的原理 https://blog.csdn.net/weixin_43593330/article/details/105567304
涉及 covariate shift问题,BN的作用就是将这些输入值进行标准化,降低scale的差异至同一个范围内,这样做的好处在于一方面提高梯度的收敛程度,加快模型的训练速度,另一方面使得每一层可以尽量面对同一特征分布的输入值,缓解梯度消失

BN解决过拟合的原因:

同样一个样本的输出不再仅仅取决于样本本身,也取决于跟这个样本属于同一个mini-batch的其它样本。不同epoch中,同一个样本跟不同的样本组成一个mini-batch,它们的输出是不同的(仅限于训练阶段,在inference阶段是没有这种情况的)。我把这个理解成一种数据增强:同样一个样本在超平面上被拉扯,每次拉扯的方向的大小均有不同,相当于引入噪声。

二、正负样本不平衡,还有什么解决方案

https://zhuanlan.zhihu.com/p/554625711
从几个方面去思考:数据(欠采样、过采样、将多数样本聚类后使用类中心作为新样本)+模型(使用其它模型,比如决策树、SVM、集成学习)+loss损失 +评价指标(使用recall、precision、F1-score)
决策树往往在类别不均衡数据上表现不错,使用基于类变量的划分规则去创建分类数,因此可以强制将不同类别的样本分开
另一方面,可以换一个完全不同的角度看待问题,把它看作异常检测问题,重点在于为其中一类进行建模。

三、swin_transformer相比vit的改进

四、multi-crop推理阶段细节,是以过程时间消耗为代价换取精度提升

五、项目中遇到什么难点,又是如何解决的?(重点:DAAR框架)

https://mp.weixin.qq.com/s/o5JrdrKSPgeTX8vIiZJyAw
DAAR法则
–(除了前面提到的这一项目本身数据场景存在数据量少、样本不平衡等复杂问题)
1、首先,当时被推荐承接这一项目时,手上还有其它工作任务待解决,需要并行处理多项工作。其次,在具体实现所提二次调优方案时,遇到了过拟合问题 测试精度上限遇到瓶颈,项目整体时间紧,难度大。
2、首先,我和需求单位进行会议讨论:明确核心需求是什么,同时打好预防针,上线时间紧,如果没有方法如期上线,会制定备选方案(更换评价指标、要求精度下限的调整等)。其次,由于缺乏经验,我也向具有相关经验的同事寻求建议和一些注意事项,从中:数据清洗+swin_transformer
另外,在开始并行工作之前,我会根据任务难度以及完成时间要求 梳理各项工作的优先级,合理分配时间,保证短期工作效益最大化。
定位问题: 确定数据:训练和测试数据分布一致,网络收敛:训练网络正常收敛,不存在过拟合后,
观察badcase信息,并进行CAM可视化,发现有效边缘被裁剪、且个例丰富性不足,使得无效区域被错判为高信息增益

3、在技术实现过程中:一开始尝试对齐随机裁剪,效果不及,之后采用multi-crop策略,描述+实现细节
4、提升0.8-1%左右。完成模型成功部署上线,甲方在实测数据中的测试精度达到95%,满足机审需求

六、为什么用softmax之类的,不用mse 均方误差损失等?

https://blog.csdn.net/wxc971231/article/details/123866413

首先列出两种损失的公式,从反向传播的角度由链式法则,推导出导数表达式,然后发现mse会携带 deta’(z),因为导数sigmoid 在输出接近 0 和 1 的时候是非常小的,故导致在使用最小均方差Loss时,模型参数w会学习的非常慢。而使用交叉熵Loss则没有这个问题。为了更快的学习速度,分类问题一般采用交叉熵损失函数。
在这里插入图片描述

七、yolov检测版本的比对 与 改进

八、如果有很长、很小、或者很宽的目标,应该如何处理目标尺度大小不一的情况,小目标不好检测,有试过其它方法吗?

小目标不好检测的两大原因:1)数据集中包含小目标的图片比较少,导致模型在训练的时候会偏向medium和large的目标。2)小目标的面积太小了,导致包含目标的anchor比较少,这也意味着小目标被检测出的概率变小。
改进:1、过采样 2、copy pasting 在保证不影响其他物体的基础上 ,增加小物体在图片中出现的次数,将其在图片中复制多份。3、FPN 4、anchor size的设置要合适 5、对于分辨率很低的小目标,可以对其所在的proposal进行超分辨,提升小目标的特征质量,更有利于小目标的检测 6、多尺度学习:通过多尺度可以将下采样前的特征保留,尽量保留小目标 7、SPP 模块。增加感受野,对小目标有效果,SPP size 的设置解决输入 feature map 的size 可能效果更好。

九、python内存管理机制

https://pythonjishu.com/ozxwrmlywrldtfk/ 引用计数、垃圾回收、内存池

十、梯度爆炸梯度消失的解决方法(本质都是因为梯度反向传播中的连乘效应)

1、pre-training +fine-tunning
2、梯度剪切:对梯度设定阈值
3、权重正则化。常见 L1 L2
4、选择relu等梯度大部分落在常数的激活函数
5、BN
6、残差
7、LSTM中的 门

十一、量化部署—参考美团yolov6的量化部署实战

yolov6是美团发布的一款开源的面向工业应用的2D目标检测模型,主要特点是速度快、精度高、部署友好,在美团众多视觉业务场景中都有着广泛的应用。

难点:yolov6采用了多分支的重参数化技巧,现有的训练后量化方法(PTQ)不能很好地应对多分支结构带来的剧烈变动的数值范围,导致量化后精度严重损失,另外如何针对多分支结构设计量化感知训练(QAT)也面临巨大挑战。
1、RepOpt 重参数优化器解决重参数化结构的量化问题
通过梯度掩码的方式在网络训练反向传播的过程中加入先验

2、基于量化敏感度分析的部分量化:一种使网络中的部分量化敏感层恢复浮点计算,来快速恢复量化模型精度的方法。
具体地,需要对网络中每一层都进行量化敏感度分析,如每次只对一层进行量化,获取该层的激活数据后计算敏感度数值。
3、基于通道蒸馏的量化感知训练:在训练过程中对卷积等算子加入伪量化操作,使得网络参数能更好适应量化带来的信息损失。具体地:这种方法的缺陷是特征图中的每个 pixel 对蒸馏的损失贡献相同。我们采用了每通道分布蒸馏 [6],即让 student 输出的每个通道的分布拟合 teacher 输出的每个通道的分布

(附录:自蒸馏:在SDA中,我们首先计算出过去K个time step参数的平均值作为Teacher Model。在SDV中,我们将过去K个time step的参数视为K个Teacher Model。)

十二、大华(电话二面):只是看一遍 不理解 还是记不住

1、伯努利分布和泊松分布

伯努利分布可以用于抛硬币:只有两种可能的结果且每次成功的概率都是一样的
泊松分布表示一个事件在特定时间内可能发生的次数,回答问题(排队理论)“在给定的一段时间内可能多少顾客排队

2、PCA和LDA

在这里插入图片描述
principal component analysis & linear discriminant analysis
主成分分析是无监督的:本质是向量换基,目标是使用另一组基去重新描述得到的数据空间。(通过对投影的距离方差的运用将降维问题转换为求最值问题)

线性判别分析是监督的,数据集的每个样本是考虑类别输出的:本质是“投影后类内方差最小,类间方差最大”
异同点:降维时均使用了矩阵特征分解的思想;都假设数据符合高斯分布
区别在于 PCA希望降维之后方差尽可能大;LDA最多降到类别数K-1的维数,PCA无限制;LDA选择分类性能最好的投影方向,PCA选择样本点投影具有最大方差的方向。

3、增量学习的方法:注册

4、部署

5、平面上三个点:如何预测?线性回归

6、逻辑回归:

详见B站 或者https://blog.csdn.net/weixin_60737527/article/details/124141293

十三、百度三面(综合面)

1、优点和缺点

对于优点:
在这里插入图片描述
缺点尽量只谈 技能素质 不涉及动机素质(价值观这些),比如
在这里插入图片描述
在这里插入图片描述

2、课题项目是自己实验吗 还是与其他有合作?

微型合成孔径雷达系统是与长沙瑞相感知电子技术有限公司合作,共同研制。(原国防科大多名教授组建)
另外,项目依托西安电子科技大学雷达信号处理国家重点实验室,其中 机载和星载合成孔径雷达实验数据完备,设施齐全。基于依托单位的支持,项目组开展研究工作所需的场地、工具等条件都已落实到位。

3、所做项目的背景 介绍

4、实习的这一项目所提升的效果 具体是多少,从人审到机审,减少了多少人力消耗、时长,带来多少性能提升

?项目背景到底是啥 为啥不提前提示,为啥上传有违规 一个季度的图片是几十万级别 但实际推理应该是一波一波吗 还是一张一张的? 那到底多少量级?
—推理时,1w数据里随机挑100张,其中25张门店关闭 夹杂拍摄不全等其它问题,送入模型后precision和recal达标,准确率97%。
—在线
人审:每人平均300张/天,一周是1500张,机审:两串行模型 一天不到 即可完成。

5、职业规划(我不是海投,而是特意投递给贵公司,公司的行业、文化、工作,都是我喜欢的。)

https://mp.weixin.qq.com/s/-q0VFh7ZBq3J2d2PK-ZFcQ
在这里插入图片描述
----上面第三条 3-5年,在专业 综合素养都符合公司要求情况下,有能力去搭建一套算法架构,主要是想深耕这个领域,争取早日成为一位行业内专家,切实在实际应用领域解决问题和难点,为公司做出更大的贡献。

十四、关于目标检测

1)狭长目标—可旋转bonding box、手工设计anchors
2)FPN中:融合的方式是:通过1x1卷积调整通道数,然后直接add。之后进行3x3卷积操作,目的是消除上采样的混叠效应

十五、OpenCV

1、基本模块:core—最核心数据结构 及基本运算 如绘图函数、数组操作;highgui模块–实现视频与图像的读取、显示、存储等接口;imgproc模块–实现图像处理的基础方法 包括图像滤波、图像的几何变换、平滑、阈值分割、形态学处理、目标检测、边缘检测等
在这里插入图片描述
2、基本数据结构
https://mp.weixin.qq.com/s?__biz=MzU0NjgzMDIxMQ==&mid=2247516443&idx=3&sn=0d95869eae976ab99c9f7363d997e134&chksm=fb5563f7cc22eae1ac2d9e26e54cfa5e5d5c8dd0bdb1756056ae8d78af1c28c3a1f2c386b4ab&scene=27
其中:要熟练使用OpenCV,最重要的就是学会Mat数据结构,在OpenCV中Mat被定义为一个类,把它看作一个数据结构,以矩阵的形式来存储数据的。

3、颜色空间
包括RGB、HSV和YUV等。RGB颜色空间是基于三原色原理而形成的,常用于图像显示系统中;HSV描述的是色度、饱和度和亮度这些表示颜色的方法,常用于描述色彩变化,YUV是通过亮度与色度来描述颜色,色度由UV通道组合而成。
---------提供 cvtColor 函数来转换图像的颜色空间。

十四、中国星网

1、遥感数据:你是用的雷达图像 不是卫星数据?

2、雷达数据的处理格式 掌握吗

3、你的实习项目和实验室项目 区别 在模型设计 模型实现上等

4、实习项目完整的这套流程,包括量化 部署,讲讲整体的流程和用到的技术栈

5、平时的项目用什么语言 算法和数据结构掌握的好吗

十五、深开鸿

1、主要是端侧部署,有兴趣吗

2、关于课题的项目,针对性展开介绍
----初期中期讲述不够衔接 有点磕绊

3、 对 时频域融合的自监督项目 感兴趣,问了怎么做融合的,我没够展开
现在可能更关注的是 多模态感知融合 也就是多源下 不同模态信息的融合:强融合 和 弱融合
局限性:当前的方案依旧是不太成熟,只通过像素之间的赋权值,相加这些简单的操作可能无法融合分布差异较大的数据,很难弥合模式之间的语义差距。一些工作试图使用更精细的级联结构来融合数据并提高性能。在未来的研究中,双线性映射等机制可以融合不同特征的特征。
https://mp.weixin.qq.com/s/3nQJx-HDylQbL8bM0dgCAQ
融合文本和图像的方法主要划分为:
基于简单操作 :拼接 、加权求和 虽然参数间不关联 但是依赖后续的网络层会自动对这种操作进行自适应
基于注意力 :比如 平行共注意力机制使用对称注意力结构生成attended图像特征向量和语言向量,采用联合表示的方法模拟推导出图像和语言的注意分布。
交替共同注意力机制具有级联结构,首先使用语言特征生成含有注意力的图像向量,然后使用含有注意力的图像向量生成含有注意力的语言向量。
基于双线性池化的方法 三种。
注意(注意机制应用于图像时,对不同区域的图像特征向量进行不同的加权,得到一个最终整体的图像向量。)
4、多尺度模块 +

5、yolov6 讲讲
https://blog.csdn.net/weixin_43334693/article/details/129312409

6、python是强类型语言还是弱类型语言
类型注释

7、量化

8、项目创新点

十六、得物

一轮侧重考察了基础,类似oppo:概率题、深度学习常用,如transformer 与cnn rnn 异同、数据结构:数组 链表 哈希表 谈谈理解
做一个easy算法题:反转链表

1、空洞卷积

空洞卷积的原理是通过在卷积核的元素之间插入间隔(通常为1),使得卷积核在输入特征图上的采样位置变得稀疏。具体来说,对于一个大小为k的卷积核,通过在卷积核的元素之间插入间隔,可以将卷积核的尺寸扩大为(k+(k-1)*(d-1)),其中d为间隔的大小。在进行卷积操作时,卷积核的每个元素都会与输入特征图上间隔为d的位置进行卷积计算,从而实现了感受野的扩大。

总之,空洞卷积通过增大感受野和减少参数计算量的方式,提高了卷积神经网络的表达能力和效率,广泛应用于图像分割、语义分割等任务中。

2、对比 transformer rnn cnn

首先,每个算法均可以分为两个部分:结构和优化。其中结构主要由具体模块 操作子组成,而其它的诸如优化器 训练策略可以归为 优化部分。我将按照上述逻辑归纳对比各个经典网络
对于CNN,主要操作子包括 卷积 bn 激活,其中卷积是最为基础的操作。
由于CNN权重共享机制,卷积层所提取的特征便具有平移不变性,他们对特征的全局位置不感兴趣,而只在乎这些决定性的特征是否存在。每次卷积操作只会考虑原始数据的一小部分的局部信息。
正是由此,cnn擅长提取局部的有效信息,但是没能提取全局数据之间的长距离特征。
总体而言:卷积具有平移不变性和局部敏感性,也缺少对图像的整体感知和宏观理解。
(cv上非常成功的cnn依赖于架构本身内置的两个归纳偏置:局部相关性–邻近的像素是相关的;权重共享:图像的不同部分应该以相同的方式处理,无论abs)

对于Transformer,包括自注意力层、Norm,MLP层。其中核心组件是自注意力层,使用了自注意力机制所生成的视觉特征图不会像卷积计算一样具有空间限制。相反,能够根据任务目标和网络中该层的位置来学习最合适的归纳偏置。自注意力层目的是计算每对特征之间的注意力权重,得到新的特征映射,其中每个位置都包含关于同一图像中任何其它特征的信息,所以这些模型能够获取空间上具有长距离间隔的特征之间的依赖关系。

详细异同点:https://www.bilibili.com/read/cv24327756/

对于RNN:核心组件是循环单元,它通过一个权重矩阵将当前输入、前一个时间步的输出和记忆结合起来,常见的循环单元包括simplernn、lstm、gru。总而言之,rnn是一种适用于处理序列数据的神经网络架构,通过记忆机制可以捕捉序列数据中的上下文信息。
相比,rnn适合处理位置信息,但是不能处理长距离依赖,梯度消失;原本的RNN依赖于前一个词传来的hidden states 来捕获信息,而transformer把输入作整个处理,不会丢失信息;并且 multi-head attention 和 positional embeddings都会补充位置关系信息。
梳理对比:
在这里插入图片描述

3、数组 链表 哈希表

----定义:
数组是用来存储多个相同类型的数据的线性结构,通过下标进行访问; 链表则由一系列的结点组成,每个结点包含一个数据域和指针域(存储下一个结点的地址)
哈希表通过key和值的映射即可迅速找到相应的数据,也叫散列表,是储存key-value的映射集合
----区别
存储空间:链表的内存空间可以是连续的,也可以不连续;数组则数连续的一段内存空间,元素是有序的
长度可变:链表的长度是按实际需要可以伸缩的
查找效率:按序号查找时,数组可以随机访问 O(1);链表不支持,平均需要O(n),相比更适合增删改
空间分配:数组从栈中分配空间 方便快速 自由度小;链表从堆中分配空间
哈希表将需要查找的key值,通过hash函数计算 换算为数组的位置值,它结合了数组的快速查询优点又能融合链表方便快捷的增加删除元素的优势。
哈希表的特点:访问速度快、哈希冲突、散列表无序

4、概率题

考察贝叶斯公式
在这里插入图片描述
在这里插入图片描述

十七、基础

1、感受野 计算公式:Fj = Kj + (F(j+1) - 1)*Sj

为了方便前一层的感受野 最后一层的感受野可以记为1 ;在实际中,最后一层输出特征图的感受野大小等于卷积大小 stride。
http://www.360doc.com/content/21/0904/11/99071_994041129.shtml

2、参数量:包括卷积核的权重weights 批归一化BN的缩放系数 偏移系数‘

在这里插入图片描述
FLOPs 指的是前向推理过程中乘加运算的次数。
在这里插入图片描述

3、大模型算法面经

https://mp.weixin.qq.com/s/VZUlNQpysEMCpFBgaVOxRg

4、八股Trick:让数据分布更好、让模型好训练、增加表达能力

5、Transformer 八股

1、softmax(QK/sqrt(dk))V
对QK进行scaled,是让softmax输入的数据分布更合适,数值进入梯度敏感区间,防止梯度消失,让模型好训练
2、SA也不一定这样表达,只要能刻画相关性 相似性等建模方式都可以
3、为什么用LN 不是BN?
原因一是NLP不定长 好多位置需要填0 会影响其他样本非零参数的计算
原因二是 transformer的模型比较大 Batch size拉不大,容易变得不稳定。
4、BERT为什么增加 position embedding
因为transformer对位置不敏感,需要显示标识,pe可以加入相对位置信息,增强位置上的表达能力。https://blog.csdn.net/pangxing6491/article/details/123397349
5、BERT为啥要用3个不一样的QKV
增强网络的容量和表达能力
6、为什么要多头?
增强网络的容量和表达能力
7、

6、BERT八股

https://mp.weixin.qq.com/s/8X4oDv0kjCETtXMg__eCeg

十八、科大讯飞-语音

1、为什么来做语音
2、感受野的计算题
3、边展示材料 边讲述研究内容:
4、抗压能力 举例 有遇到压力大的时候吗

十九、高德红外

1、检测:yolov6 v7对比 ,挑选你最熟悉检测模型,完整地讲一讲 (手撕)

详解:https://blog.csdn.net/zqwwwm/article/details/125635594

yolov6网络架构:先对输入图片预处理,对齐成640*640大小的RGB图片,输入到backbone网络中,根据backbone网络中的三层输出,在neck层通过Rep-PAN网络继续输出三层不同size大小的feature map,输入到最后的head层,对分类、前后背景分类、边框作预测,输出最后的结果。
backbone:由若干RepVGG block组成,输入6406403的图片,通过stem层(s=2)输出为32032032,后面接几个ERBlock,每个ERBlock均做特征层的下采样和channel的增大,每个ERBlock由一个RVB和一个RB组成(ERBlock5多加SPPF层),在RVB中做特征层的下采样,同时channel增大,在RB中对特征层充分融合后输出,最后backbone输出三个fm分别为(2020512, 4040128, 808064)。

neck:Rep-PAN,是基于PAN的拓扑方法,如上图所示,类似一种“U”型结构,其中U型左侧从上到下fm的h,w增大,右侧从下到上fm的h,w减小,其中Upsample上采样基于torch官方自带的转置卷积实现

head: 从neck层输出三个分支,对于每个分支,先对输出fm通过BConv层,做fm的特征融合后,分成两个分支一个分支通过BConv+Conv完成分类任务的预测,另外一个分支先通过BConv融合特征后再分成两个分支,一个分支通过Conv完成边框的回归,一个分支通过Conv完成前后背景的分类,至此三个分支再通过concate在channel层上融合,输出未经后处理的预测结果。

2、项目部署的速度是多少

平均响应时间为5000ms,最大响应时间为2s
3、你自己做的检测工作是什么,哪里做了创新

4、沿着yolov6深问 问到了 量化中的重参数化技巧 ,我说我遇到过算子的问题,如何解决的

对于量化:参见十一条
yolov6的改进之 Self-distillation :

为了进一步提高模型的准确性,同时不引入太多额外的计算成本,采用经典的KD来最小化教师模型和学生模型之间预测的KL散度。通过限制教师模型是预先训练的学生模型,称之 自蒸馏

yolov7

5、项目背景没描述清楚

二十、汇川三面

1、为什么用到多尺度融合模块 改进在哪里

 首先,我们希望从已知特征充分提取的角度提升模型的开集识别能力。
 再者,多尺度模型集成的方案在提高分类任务模型性能方面是不可或缺的,许多模型仅采用多个尺度的预测结果进行平均值融合,就能在imagenet等任务中提升2%以上的性能。具体作用:
 1 改进特征表达:与单一尺度的特征相比,多尺度特征融合能够产生更具区分度和鲁棒性的特征  2  增强空间信息 3 提高模型鲁棒性
  • 1
  • 2
  • 3

其次,多尺度特征融合网络常见有两种:第一种是并行多分支网络:比如 Inception 基本模块,包括有四个并行的分支结构,分别是 1×1 卷积,3×3 卷积,5×5 卷积,3×3 最大池化,最后对四个通道进行组合;除了更改卷积核大小,还可以使用空洞卷积或者池化来控制感受野,比如spp空间金字塔池化结构
第二种是串行的跳层连接结构。 以FPN U-Net为代表

关于改进:PANet+并行多分支

2、你提出这个想法 到去实现 以及到后续,是怎么进行的

–考算法思维:
在这里插入图片描述

3、科研之外 有什么学习计划吗

4、你在实验室的水平,科研能力怎么样

5、职业规划

6、优势和劣势

7、讲讲这个项目中的创新点 对结果改进最有优势的点是哪里

-=—在于尺度融合+对比损失改进 两方面
对比同领域论文:

8、为什么会选择去使用 swin-transformer? (https://www.sohu.com/a/493252674_473283)

因为首先,本身 Swin-transformer就类似于将卷积和Transformer结合在一起,既能提取局部信息,也能通过分层级和移动窗口变相达到全局建模的效果,有着通用的建模能力(相比卷积则是一种局部操作,一个卷积层通常只会建模领域像素之间的关系);
其次,本项目的图像场景复杂,目标尺度也并不统一,需要表达能力更具有优势的模型。在swin-transformer中,注意力机制能够根据像素之间的相似度和相关性动态计算模板权重,这种自适应计算可以更好地捕捉图像中的长期依赖关系和上下文信息,相对而言,卷积则可看作是一种固定的模板匹配,图像中不同位置采用相同的模板来提取特征,不及swin带来更有优势的建模能力
最后,模型的选择也依赖专家经验,Swin-Transformer在多种图像分类项目上取得优秀的性能,相对于传统卷积神经网络,提供更好的分类精度和泛化能力。
  • 1
  • 2
  • 3

另外,方便加载基于ImageNet-22K的Swin-B预训练模型,加速模型收敛。
初始用其和resnet50 都作了简单训练,比对分析也说明~

9、关于多尺度融合 你怎么会用panet**** 这个方面很多啊 很常见。

二十一、华勤技术

1、实习项目中 yolov6测试 你用的是什么测试集 具体说说

drink smoke数据集

2、量化过程 怎么做的 具体展开

首先,模型量化本质就是将训练好的深度神经网络的权值、激活值从高精度转化为低精度的过程,达到减少模型大小内存和占用空间的目的;从公式上来说就是R=S(q-Z) 其中scale和offset的求取是麻烦的 ,我常用的方式是训练后静态量化。
具体地,在pytorch框架下,ptq static 量化过程大致步骤是:
1、准备模型:通过添加QuantStub 和DeQantStub模块,指定在何处显示量化和反量化激活值;
2、将诸如conv+relu或者cbl之类的组合操作融合在一起,以提高模型的准确性
3、指定量化方法的配置,如选择对称或非对称量化
4、插入 torch.quantization.prepare()模块来在校准期间观察激活张量;
5、使用校准数据集对模型执行校准操作
6、使用torch.quantization.convert()模块来转换模型

端侧量化推理部署 主要有3种基本结构方式:fp32输入fp32输出、fp32输入int8输出、int8输入int32输出
比如在fp32输入fp32输出中,由于中间层带int8算子,所以fp32经Quant得到int8后,再与该层计算 为防止溢出,输出int32,最后再经过DeQuant回fp32。
比如fp32输入int8输出,最后则是ReQuant 重量化 方便后续继续计算算子

二十二、39所

1、雷达干扰信号仿真,都是哪几种干扰信号呢

二十三、过拟合 原因 表现 解决

常通过查看训练集的损失曲线和验证集的损失曲线判断模型的过拟合。欠拟合对应的曲线为训练损失和验证损失都在下降,但还没有到达最低点;过拟合对应的曲线为训练损失不断下降,验证损失先下降后上升。

二十四、正则化

1、目的:防过拟合现象,通过降低模型在训练集上的精度来提高其泛化能力
2、机器学习中的正则化通过引入模型参数lambda实现
3、L1正则化 根据权重的绝对值总和惩罚权重,L1正则化有助于使不相关或者几乎不相关的特征的权重正好为0,从而将这些特征从模型中移除;
4、L2正则化则根据权重的平方和惩罚权重,有助于使离群值的权重接近于0,但又不会正好为0。 在线性模型中,L2正则化比较常用,而且在任何情况下都能够起到增强泛化能力的目的。
推导详解:https://zhuanlan.zhihu.com/p/510115795

二十五、玄武科技

1、数据量少 你会用cnn还是transformer,为什么?
由于CNN的局部感知特性 在数据量较少的情况下仍然能够有效学习数据特征,相比 transformer主要用于处理序列数据 例如nlp。通过自注意力机制来捕捉序列中的长距离依赖关系
2、cnn和transformer的区别

二十六、MLE推导损失函数

将MLE的思想转化为最小化风险,等价于最小化负的对数似然,对于MLE,就是利用已知的样本分布,找到最有可能(即最大概率)导致这种分布的参数值。

二十七、银泰-算法(学习)

1、项目介绍,难点及解决方案
DAAR法则
2、算法部署的实现细节
https://mp.weixin.qq.com/s/4-934k7CJMgOeeExK5m0Yw
部署流程:1、转onnx,2、编写trition配置文件,3、tritionserver部署onnx模型

3、读研过程中项目中遇到最大的挑战是什么,怎么解决
通用框架:这个困难是在什么情况下发生的,如何思考 (分析定位)。如何分解目标,如何确定最终解决方案,确定后的具体行动(独立、配合),最终效果是否被解决,总结记录

4、BN原理;训练与测试的区别
详见一

5、*概率题:*屏幕前经过小球的概率恒定为P,若20min内观察到有一个小球经过的概率是0.9。请问5min内观察到有一个小球经过的概率是多少
解答:在这里插入图片描述

条件概率:在已知某种情况发生的前提下,随机事件 A发生的可能性大小,取决于:1、如果样本空间发生了变化,则P(A)=(事件A的样本点数/新的样本空间样本点数)对应公式 P(B|A)=B样本点数/默认样本空间样本点数
;2、如果样本空间未改变,则P(A)=(事件A的样本点数/原来样本空间样本点数)对应公式 P(B|A)=AB同时发生的样本点数/A条件下的样本空间样本点个数

二十八、华为-IT-cv 面经学习

二十九、momenta

1、讲讲熟悉的机器学习模型:
SVM 损失函数?
在这里插入图片描述
SVM 可以理解为特征空间中的一个超平面,用 在这里插入图片描述
表示,SVM 的目标是最大化间隔:
在这里插入图片描述

SVM和决策树、随机森林区别(类似于谈谈你对XX的理解)
(1、决策树:决策树本质上是让树上的每一条从根节点到叶节点的路径将特征空间划分成互不相交的一个区域,每个区域的类别分布构成了条件概率分布。
ID3作为一种经典的决策树,是基于信息熵来选择最佳的测试属性,核心是在决策树的各个节点上利用信息增益来选取特征,递归构建决策树。具体方法为:从根节点开始,对其包含的所有样本的所有特征计算信息增益,选取增益最大的特征作为节点特征,建立子节点,再对子节点递归进行以上操作,直到没有再能够分类的特征,或分类后信息增益小于某个阈值,停止构建树。
(2、随机森林:

(3、谈谈区别
逻辑回归适用于处理接近线性可分的分类问题;决策树中特征选择是很重要的,总的决策树训练需要考虑的问题是:特征选择和决策树的生长与剪枝;比如ID3算法(注意信息熵是一个变量包含信息多少的度量方式,而条件熵用于衡量以某个特征作为条件,对目标值纯度的提升程度)

2、最新看过的检测 paper

3、数学概率题

yolov6是不是anchor free 还是 anchor based

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/551970
推荐阅读
相关标签
  

闽ICP备14008679号