面试之算法知识点总结

article/2025/11/7 6:57:06

1.如何防止过拟合

加样本,加正则化惩罚项,加dropout,减小网络规模,early stopping

2.cacade r-cnn

https://zhuanlan.zhihu.com/p/42553957

3.朴素贝叶斯的朴素

之所以叫朴素,就是因为属性条件独立的假设:

4.gan中的模式崩溃(model collapse)解决办法:

https://www.zhihu.com/question/319540757/answer/816461889

https://zhuanlan.zhihu.com/p/84072188

5.词袋模型

根据每个单词在文章(或某些特征点在图像)中出现的次数构建对应的向量,根据这些向量去学习特征,构建的主要方法有one-hot或者tf-idf:

https://zhuanlan.zhihu.com/p/71065945 

6.目标检测类别过多怎么办

仿照YOLO9000,使用wordtree

7.人脸识别各种loss直观图(arcface、cosineface等)

https://blog.csdn.net/u014380165/article/details/80645489

这里写图片描述

8.随机森林原理及优点

(1) 从数据集(表)中随机选择k个特征(列),共m个特征(其中k小于等于m)。然后根据这k个特征建立决策树。

(2) 使用数据的不同随机样本(抽一定百分比数据)重复训练n次,使得这k个特性经过不同随机组合建立起来n棵决策树。

(3) 由n棵树投票得到结果。

https://www.cnblogs.com/keye/p/10252134.html

RF的主要优点有:

    1) 训练可以高度并行化,对于大数据时代的大样本训练速度有优势。个人觉得这是的最主要的优点。

    2) 由于可以随机选择决策树节点划分特征,这样在样本特征维度很高的时候,仍然能高效的训练模型。

    3) 在训练后,可以给出各个特征对于输出的重要性

    4) 由于采用了随机采样,训练出的模型的方差小,泛化能力强。

    5) 相对于Boosting系列的Adaboost和GBDT, RF实现比较简单。

    6) 对部分特征缺失不敏感。

RF的主要缺点有:

    1)在某些噪音比较大的样本集上,RF模型容易陷入过拟合。

    2) 取值划分比较多的特征容易对RF的决策产生更大的影响,从而影响拟合的模型的效果。

9.后剪枝

后剪枝主要是综合考虑模型复杂度和误差,使用的是 误差增加率/叶子结点个数   这一衡量因子

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

BN,批样本单通道。
LN,单样本。
Instance,单样本单通道。
GN,单样本批通道。

11. pytorch Module里的children()与modules()的区别

https://blog.csdn.net/lxx516/article/details/79016980

https://blog.csdn.net/dss_dssssd/article/details/83958518

https://www.cnblogs.com/huanxifan/p/12680439.html

12.word2vec

https://www.zhihu.com/question/44832436/answer/266068967

https://zhuanlan.zhihu.com/p/27234078

https://zhuanlan.zhihu.com/p/53194407

13.双塔模型

百度的双塔模型分别使用复杂的网络对用户相关的特征和广告相关的特征进行embedding,分别形成两个独立的塔,在最后的交叉层之前用户特征和广告特征之间没有任何交互。这种方案就是训练时引入更多的特征完成复杂网络离线训练,然后将得到的user embedding和item embedding存入redis这一类内存数据库中。线上预测时使用LR、浅层NN等轻量级模型或者更方便的相似距离计算方式。这也是业界很多大厂采用的推荐系统的构造方式。

https://zhuanlan.zhihu.com/p/139541282

14.k-reciprocal reranking

https://blog.csdn.net/u014453898/article/details/98790860

15.L1 loss不可导怎么办

可以使用次梯度: https://blog.csdn.net/qq_32742009/article/details/81704139

proximal algorithm: https://blog.csdn.net/luoleicn/article/details/52676378

还可以用admm

16.梯度消失如何解决

https://zhuanlan.zhihu.com/p/76772734

https://zhuanlan.zhihu.com/p/38085620

17.量化,剪枝,蒸馏知识

量化:用低精度代替高精度     https://zhuanlan.zhihu.com/p/132561405

知识蒸馏  温度T能够使得不同分类的差异更为平滑       https://zhuanlan.zhihu.com/p/102038521    https://zhuanlan.zhihu.com/p/265906295

剪枝 : group lasso https://www.jianshu.com/p/4ee34aea2054      https://xmfbit.github.io/2018/02/24/paper-ssl-dnn/         https://blog.csdn.net/weixin_42630613/article/details/107841886     https://www.sohu.com/a/360686883_129720

18.轻量级网络

shufflenet与mobilenet的不同在于,shufflenet采用不那么极端的group convolution(相当于采用极端的group convolution),但是这样通道间的信息在后面就缺少了融汇,故shufflenet对group convolution产生的特征进行了随机打乱,使得通道间的信息有了更多的融汇。https://zhuanlan.zhihu.com/p/32304419

19.各种优化器

带动量的sgd:动量项实际就是历史梯度的指数平均

adagrad: 梯度还要除以梯度的模

rmsprop: 和adagrad差不多,不过除以的是加权的梯度期望的模长

adam:带有动量项的rmsprop

20.逃离鞍点的方法

带有动量性质的优化器都可以,如adagrad,adam, 优化相关方向的训练和弱化无关方向的振荡。将上个步骤中更新向量的动量项添加到当前更新向量。

21.图片去水印

可以考虑图像恢复算法,比如最简单的邻域像素加权法

https://www.cnblogs.com/lfri/p/10618417.html

22.huger loss

当参数设为1的时候即为smooth l1 loss,优点是处处可导,降低了对离群点的惩罚程度。

23.auc含义

auc是roc曲线下的面积,roc纵坐标为真阳性率(TPRate),横坐标是假阳性率(FPRate)

  • TPRate的意义是所有真实类别为1的样本中,预测类别为1的比例。(TP / (TP + FN))
  • FPRate的意义是所有真实类别为0的样本中,预测类别为1的比例。(FP / (FP + TN)

24.cart分类树和回归树

https://www.cnblogs.com/keye/p/10564914.html

25.神经网络全初始化为0可以吗

https://www.cnblogs.com/marsggbo/p/7462682.html

26.各种激活函数优缺点

https://blog.csdn.net/lilu916/article/details/77822309

27.BN层的作用

BN的核心思想不是为了防止梯度消失或者防止过拟合,其核心是通过对系统参数搜索空间进行约束来增加系统鲁棒性,这种约束压缩了搜索空间,约束也改善了系统的结构合理性,这会带来一系列的性能改善,比如加速收敛,保证梯度,缓解过拟合等。

28.python内存管理

为何需要使用gc.collect清理内存占用 https://blog.csdn.net/weixin_46649052/article/details/113341489

https://blog.csdn.net/weixin_33889665/article/details/89992096?ops_request_misc=%25257B%252522request%25255Fid%252522%25253A%252522161181770716780271579197%252522%25252C%252522scm%252522%25253A%25252220140713.130102334.pc%25255Fall.%252522%25257D&request_

https://www.cnblogs.com/CBDoctor/p/3781078.html

29.faster rcnn中使用fpn后,如何决定在fpn的哪一层做roi pooling(或者叫做选定检测框)

https://blog.csdn.net/weixin_36060730/article/details/82798087

30.grad-cam的介绍

https://zhuanlan.zhihu.com/p/269702192

31.跟Prewitt算子相比,sobel算子为何要把1改成2

sobel算子的思想,Sobel算子认为,邻域的像素对当前像素产生的影响不是等价的,所以距离不同的像素具有不同的权值,对算子结果产生的影响也不同。一般来说,距离越远,产生的影响越小。中心点 f(x, y) 是重点考虑的,它的权重应该多一些,所以做了改进。

32.几何均值滤波更容易滤除高斯噪声,同时保留边缘

33.ohem

两种描述:1.使用了NMS(非最大值抑制)算法,先把损失按高到低排 序,然后选择最高的损失,并计算其他RoI这个RoI的IoU(交叉比),移除IoU大于一定阈值的RoI,然后反复上述流程直到选择了B/N个RoIs。

                  2. 正常进行一次Faster RCNN的前向传播,获得每个小片单独的损失值; 对小片们进行NMS; 对nms之后剩下的小片按损失值进行排序,然后选用损失值最大的前一部分小片当作输入再进一遍B部分通过这种方法,可以屏蔽掉loss值非常低的小片。loss值非常高的小片意味着,模型训练很多次还对这些小片有着很高的loss,那么就认为这是困难负例。所谓的线上挖掘,就是先计算loss->筛选->得到困难负例。

同时ohem还有参数共享部分,具体参考

https://zhuanlan.zhihu.com/p/77975552

https://zhuanlan.zhihu.com/p/58162337

34.LK光流法的思想比较简单,就是仅凭光流法的假设只能得到一个方程,但是却有两个未知数,于是LK光流法假设像素点(x,y)周围的m x m个点都满足(x,y)处的光流方程,这样就能得到m x m个方程,一般是一个超定方程,用最小二乘法解即可。

https://www.cnblogs.com/riddick/p/10586662.html

https://www.jianshu.com/p/4d4fa71ea1a7

35.inception各版本

v1 加宽网络

v2 加入BN

v3 把5x5换成3x3

v4 加入resnet

36.关于lstm和rnn

https://zhuanlan.zhihu.com/p/83496936

https://zhuanlan.zhihu.com/p/32085405

37. roi align

https://zhuanlan.zhihu.com/p/73113289

https://zhuanlan.zhihu.com/p/73138740

38.剪枝相关知识

剪枝最简单的方法是基于权重的大小。Li等人通过计算每个滤波器的绝对权重和来衡量其重要性。另一个实用的标准是测量ReLU函数后激活的稀疏性。Hu等人[14]认为,如果某些神经元的大部分输出为零,那么这些激活应该是多余的。

thinet https://blog.csdn.net/u014380165/article/details/77763037

network-slimming 就是对BN层要学习的两个参数中的第一个参数加限制,如果第一个参数过小,那么该channel淘汰

39.kmeans

    K-Means迭代的条件可以有如下几个:
    · 每个聚类内部元素不在变化,这是最理想的情况了。
    · 前后两次迭代,J的值相差小于某个阈值。
    · 迭代超过一定的次数。

https://www.cnblogs.com/pangxiaodong/archive/2011/08/23/2150183.html

40.one-stage和two-stage区别

one-stage网络生成的ancor框只是一个逻辑结构,或者只是一个数据块,只需要对这个数据块进行分类和回归就可以,不会像two-stage网络那样,生成的 ancor框会映射到feature map的区域(rcnn除外),然后将该区域重新输入到全连接层进行分类和回归,每个ancor映射的区域都要进行这样的分类和回归,所以它非常耗时

41. 因果卷积

https://zhuanlan.zhihu.com/p/69919158

 


http://chatgpt.dhexx.cn/article/E8Nn6usR.shtml

相关文章

【论文笔记_在线蒸馏、GAN】Online Multi-Granularity Distillation for GAN Compression

2021年。 摘要 生成性对抗网络(GAN)在生成优秀图像方面取得了巨大的成功,但是,由于计算成本高,内存使用量大,在资源有限的设备上部署GAN非常困难。尽管最近压缩GAN的努力取得了显著的成果,但它…

BERT知识点总结

文章目录 为什么NLP网络中经常使用Adam优化器以及存在的问题NLP语言模型的特点Adam优化器的特点问题解决办法 BERT的基本原理BERT为什么要取消NSP任务为什么BERT比ELMo效果好?ELMo和BERT的区别是什么?为什么BERT比ELMo效果好ELMo和BERT的区别是什么 BERT…

【论文速递】CCDC2021 - 轻量级网络的结构化注意知识蒸馏

【论文速递】CCDC2021 - 轻量级网络的结构化注意知识蒸馏 【论文原文】:Structured Attention Knowledge Distillation for Lightweight Networks 获取地址:https://ieeexplore.ieee.org/stamp/stamp.jsp?tp&arnumber9601745 CSDN下载&#xff1a…

从Hinton开山之作开始,谈知识蒸馏的最新进展

作者 | 孟让 转载自知乎 导读:知识蒸馏是一种模型压缩常见方法,模型压缩指的是在teacher-student框架中,将复杂、学习能力强的网络学到的特征表示“知识”蒸馏出来,传递给参数量小、学习能力弱的网络。本文对17、18年知识蒸馏的最…

深度学习精度提升 3 个小妙招:模型集成、知识蒸馏、自蒸馏

本文转载自 AI公园。 作者:Zeyuan Allen-Zhu 编译:ronghuaiyang 导读 训练好的模型,用自己蒸馏一下,就能提高性能,是不是很神奇,这里面的原理到底是什么呢,这要从模型集成开始说起。 在现在的标…

AI关键组件 | 集成,知识蒸馏和蒸馏「AI核心算法」

关注:耕智能,深耕AI脱水干货 作者:Zeyuan Allen-Zhu 编译:ronghuaiyang 报道:AI公园 转载请联系作者 训练好的模型,用自己蒸馏一下,就能提高性能,是不是很神奇,这里面的…

深度学习中的3个秘密:集成,知识蒸馏和自蒸馏

点击上方“CVer”,选择加"星标"置顶 重磅干货,第一时间送达 本文转载自:AI公园 作者:Zeyuan Allen-Zhu | 编译:ronghuaiyang 导读 训练好的模型,用自己蒸馏一下,就能提高性能&#…

深度学习中的3个秘密:集成,知识蒸馏和蒸馏

点击上方“AI公园”,关注公众号,选择加“星标“或“置顶” 作者:Zeyuan Allen-Zhu 编译:ronghuaiyang 导读 训练好的模型,用自己蒸馏一下,就能提高性能,是不是很神奇,这里面的原理到…

【论文笔记_知识蒸馏_2022】Knowledge Distillation with the Reused Teacher Classifier

(下文中的知识提炼即知识蒸馏) 摘要 知识提炼的目的是将一个强大而繁琐的教师模型压缩到一个轻量级的学生模型中,而不至于牺牲很多性能。为此,在过去的几年里,人们提出了各种方法,一般都有精心设计的知识…

深度学习优化利器:集成、知识蒸馏和自蒸馏

为什么简单的「集成」便能够提升性能呢?本文是对上述问题的解析,作者解读了来自微软研究院高级研究员朱泽园博士,以及卡内基梅隆大学机器学习系助理教授李远志的最新论文《在深度学习中理解集成,知识蒸馏和自蒸馏》。 本文授权转自…

深度学习中的3个秘密:集成、知识蒸馏和蒸馏

作者:Zeyuan Allen-Zhu 来源:AI公园 编译:ronghuaiyang 在现在的标准技术下,例如过参数化、batch-normalization和添加残差连接,“现代”神经网络训练 —— 至少对于图像分类任务和许多其他任务来说 —— 通常是相当稳…

【知识蒸馏】Knowledge Distillation with the Reused Teacher Classifier

文章目录 一、摘要二、引言三、相关工作四、创新点五、实验5.1精度对比5.2. 分类器重用操作分析5.3 应用一:多教师知识提炼5.4 应用二:无数据的知识蒸馏 六.结论七. 限制性和未来工作 一、摘要 知识蒸馏的目的是将一个强大而繁琐的教师模型压缩到一个轻…

集成、知识蒸馏和自蒸馏有区别?

点击上方“视学算法”,选择加"星标"或“置顶” 重磅干货,第一时间送达 作者丨梦佳 来源丨智源社区 编辑丨极市平台 集成(Ensemble,又称模型平均)是一种「古老」而强大的方法。只需要对同一个训练数据集上&am…

知识蒸馏学习

一.知识蒸馏综述 1.简介 大模型在部署到资源有限的设备上(手机、嵌入式设备等)会遇到体积和速度问题,知识蒸馏作为有代表性的模型压缩和加速的技术之一(其他还有:参数裁剪和共享、低秩分解和Transferred compact con…

深度学习三大谜团:集成、知识蒸馏和自蒸馏

来源:数据派THU 链接:https://www.microsoft.com/en-us/research/blog/three-mysteries-in-deep-learning-ensemble-knowledge-distillation-and-self-distillation/ 编辑:王萌(深度学习冲鸭公众号) 著作权归作者所有,本文仅作学术…

sql 一条语句统计男女人数

第一种方法: SELECT user.sex, count(user.sex) as 总数 FROM test.user group by user.sex; 执行结果 ​​​​ 第二种方法: select sum(case when sex 男 then 1 else 0 end) 男生人数 , sum(case when sex 女 then 1 else 0 end) 女生人数 from …

Sql根据不同条件统计总数

前言 经常会遇到根据不同的条件统计总数的问题&#xff0c;一般有两种写法&#xff1a;count和sum都可以 数据准备&#xff1a; 方法一 &#xff1a;Count 代码&#xff1a; SELECTCOUNT(CASEWHEN age > 20AND age < 25 THEN1ELSENULLEND) AS cnt0,COUNT(CASEWHEN a…

SQLServer查询多条件统计总数

业务需求&#xff1a;根据不同条件查询统计出总价钱 select SUM(case when status0 then price else 0 end) A, SUM(case when status5 then price else 0 end) B, SUM(case when status4 then price else 0 end) C, SUM(case when status1 then price else 0 end) D, SUM(ca…

SQL--统计出每日在线总数

需求&#xff1a; 一张表有uid、起始日期和终止日期&#xff0c;能不能一条sql统计出每日在线总数 样例&#xff1a; 比如 三条数据&#xff1a; a 20220510 20220512 b 20220510 20220511 c 20220511 20220512 结果: 20220510 2 20220511 3 20220512 2 数据准备&#xff1a;…

MySQL一条sql语句多个count统计

user表&#xff1a; 多个count统计sql语句 selectcount(case when sex 男 then 1 end) as man,count(case when sex 女 then 1 end) as woman,count(case when age>18 then 1 end) as adult,count(case when age<18 then 1 end) as nonagefrom user 可根据自己的业务更改…