【AI算法岗面试八股面经【超全整理】——CV】

news2024/12/24 2:26:18

AI算法岗面试八股面经【超全整理】

  • 概率论【AI算法岗面试八股面经【超全整理】——概率论】
  • 信息论【AI算法岗面试八股面经【超全整理】——信息论】
  • 机器学习【AI算法岗面试八股面经【超全整理】——机器学习】
  • 深度学习【AI算法岗面试八股面经【超全整理】——深度学习】
  • NLP【AI算法岗面试八股面经【超全整理】——NLP】
  • CV

目录

    • 1、图像处理中一般用最大池化而不用平均池化
    • 2、计算感受野
    • 3、特征图大小计算
    • 4、Resnet
    • 5、空洞卷积和1*1卷积
    • 6、VIT
    • 7、图像质量评价指标

1、图像处理中一般用最大池化而不用平均池化

池化的主要目的:

  • 保持主要特征不变的同时减少了参数
  • 保持平移、旋转、尺度不变性,增强了神经网络的鲁棒性
  • 池化操作也可以在一定程度上控制过拟合,通过减小特征图的尺寸,池化可以减小模型中的参数数量,并降低模型的复杂度。这有助于防止模型过度拟合训练数据,提高模型的泛化能力

最大池化更能捕捉图像上的变化、梯度的变化,带来更大的局部信息差异化,从而更好地捕捉边缘、纹理等特征。平均池化会淡化或错过特征是否存在的信息。

2、计算感受野

卷积层和池化层都会影响感受野,而激活函数层通常对于感受野没有影响,当前层的步长并不影响当前层的感受野,感受野和padding没有关系,计算当前层的感受野的公式如下:
R F i + 1 = R F i + ( k − 1 ) × S i RF_{i+1}=RF_i+(k-1) \times S_i RFi+1=RFi+(k1)×Si
其中, R F i + 1 RF_{i+1} RFi+1表示当前层的感受野, R F i RF_i RFi表示上一层的感受野,k表示卷积核的大小,例如 3 ∗ 3 3*3 33的卷积核,则 k = 3 k=3 k=3 S i S_i Si表示之前所有层的步长的乘积(不包括本层),公式如下:
S i = ∏ i = 1 i S t r i d e i S_i=\prod_{i=1}^i Stride_i Si=i=1iStridei
感受野:卷积神经网络每一层输出的特征图(feature map)上的像素点在原始图像上映射的区域大小;(如果每个特征受到原始图像的 3 ∗ 3 3*3 33区域内的影响,则感受野为2)。

3、特征图大小计算

输入 W × H W \times H W×H,卷积核大小:k,Padding大小:p,步长大小:S
输出:
W o = ( W − k + 2 ∗ p ) / S + 1 W_o=(W-k+2*p)/S+1 Wo=(Wk+2p)/S+1 H o = ( H − k + 2 ∗ p ) / S + 1 H_o=(H-k+2*p)/S+1 Ho=(Hk+2p)/S+1

4、Resnet

在深度神经网络中,当网络很深时,除了增加计算资源消耗以及模型过拟合问题外,还会出现梯度消失/爆炸问题,导致网络参数无法更新。
而且深层的网络还有一个问题,假设我们的初始设定网络是M层,而其实最优化模型对应的层数可能是K层,那么多出来的(M-K)层网络结构,不仅不会提升模型的表达能力,反而会使得模型的效果变差(表现为Loss先下降并趋于稳定值,然后再次上升),这就产生了网络退化问题。
网络的一层可以看做 y = H ( x ) y=H(x) y=H(x)
H ( x ) = F ( x ) + x F ( x ) = H ( x ) − x H(x) = F(x)+x\quad F(x)=H(x)-x H(x)=F(x)+xF(x)=H(x)x
其中, F ( x ) F(x) F(x)是残差。

  • 残差连接可以防止梯度消失
  • 解决网络退化。假设某层是冗余的,在引入ResNet之前,我们想让该层学习到的参数能够满足 H ( x ) = x H(x)=x H(x)=x,即输入是x,经过该冗余层之后,输出仍为x。但是要想学习 H ( x ) = x H(x)=x H(x)=x恒等映射时的参数是很难的。ResNet让 H ( x ) = R e L U ( F ( x ) + x ) H(x)=ReLU(F(x)+x) H(x)=ReLU(F(x)+x);我们发现,要想让该冗余层能够恒等映射,只需要学习 F ( x ) = 0 F(x)=0 F(x)=0。学习 F ( x ) = 0 F(x)=0 F(x)=0 H ( x ) = x H(x)=x H(x)=x要简单,因为一般每层中的参数初始化偏向于0,而且ReLU能够将负数激活为0,这样能够更快收敛。

5、空洞卷积和1*1卷积

空洞卷积(扩张卷积)
与正常的卷积不同的是,空洞卷积引入了一个称为“扩张率(dilation rate)”的超参数,该参数定义了卷积核处理数据时各值的间距。扩张率中文也叫空洞数(Hole Size),空洞卷积可以增加感受野,同时可以不改变图像输出特征图的尺寸(分辨率,resolution)。

在这里插入图片描述

  • 扩大感受野
  • 捕获多尺度上下文信息

1*1卷积

  • 对通道数实现升维/降维
  • 实现跨通道的信息交互与融合

6、VIT

  • 将图像转换为Patch序列。 假设有一张图像 x ∈ R H ∗ W ∗ C x \in R^{H*W*C} xRHWC,Patch大小为p,那么可以创建N个图像Patches;
  • 将Patches铺平。 原论文作者选用patch大小为16,那么一个Patch的shape为(3,16,16),维度为3,将它铺平之后大小为 16 × 16 × 3 = 768 16\times 16\times 3=768 16×16×3=768。此时可以使用一个线性映射层,将Patch的维度映射到我们指定的embedding的维度,这样就和NLP的词向量类似了。
  • 添加Position embedding。 与CNNs不同,此时模型并不知道序列数据中的patches的位置信息。所以这些patches必须先追加一个位置信息,也就是图中的带数字的向量。
  • 添加class token。 在输入到Transformer Encoder之前,还需要添加一个特殊的class token,这一点主要是借鉴了BERT模型。添加这个class token的目的是因为VIT模型将这个class token在Transformer Encoder的输出当作是模型对输入图片的编码特征,用于后续输入MLP模块中与图片label进行Loss计算。
  • 输入Transformer Encoder。

7、图像质量评价指标

MSE(Mean Squared Error)均方误差
M S E = ∑ i = 0 m ∑ j = 0 n ( I ( i , j ) − K ( i , j ) ) 2 m ∗ n MSE=\frac{\sum_{i=0}^m\sum_{j=0}^n{(I(i,j)-K(i,j))}^2}{m*n} MSE=mni=0mj=0n(I(i,j)K(i,j))2
即两张图像对应像素点数的差的平方求平均。

PSNR(Peak Signal-to-Noise Ratio)峰值信噪比( ↑ \uparrow
PSNR衡量对应像素的相近程度
P S N R = 10 ⋅ l o g 10 ( M A X I 2 M S E ) = 20 ⋅ ( M A X I M S E ) PSNR=10\cdot log_{10}(\frac{MAX_I^2}{MSE})=20\cdot(\frac{MAX_I}{MSE}) PSNR=10log10(MSEMAXI2)=20(MSEMAXI)
MSE即上图的均方误差, M A X I MAX_I MAXI为图像中像素颜色可以取到的最大数值(即255)。

SSIM(Structural Similarity Index)结构性相似指标( ↑ \uparrow
评价一张图片的亮度(luminance)、对比度(contrast)、结构(structure)
S S I M ( x , y ) = ( 2 μ x μ y + c 1 ) ( 2 σ x y + c 2 ) ( μ x 2 + μ y 2 + c 1 ) ( σ x 2 + σ y 2 + c 2 ) SSIM(x,y)=\frac{(2\mu_x\mu_y+c_1)(2\sigma_{xy}+c_2)}{(\mu_x^2+\mu_y^2+c_1)(\sigma_x^2+\sigma_y^2+c_2)} SSIM(x,y)=(μx2+μy2+c1)(σx2+σy2+c2)(2μxμy+c1)(2σxy+c2)
同时,SSIM只是计算一个小窗口内图像的亮度、对比度、结构的值的相似程度,通过像素滑窗求平均,可以得到整幅图像的MSSIM。
M S S I M ( X , Y ) = 1 M ∑ j = 1 M S S I M ( x j , y j ) MSSIM(X,Y)=\frac{1}{M}\sum_{j=1}^MSSIM(x_j,y_j) MSSIM(X,Y)=M1j=1MSSIM(xj,yj)

LPIPS(Learned Perceptual Image Patch Similarity)感知图像块相似性( ↓ \downarrow
其主要思想是用CNN网络学到一些深层特征,再求得两张图片的深层特征之间的距离。
过了网络之后得到不同层的特征图 y y y,将这些特征图在通道维度进行单位归一化,然后对特征维的不同通道乘上一个缩放因子,再将两张图的特征做 l 2 l2 l2损失,最后不同层的特征求得损失求平均得到一个距离。
d ( x , x 0 ) = ∑ l 1 H l W l ∣ ∣ w l θ ( y ^ h w l − y ^ o h w l ∣ ∣ 2 2 d(x,x_0)=\sum_l\frac{1}{H_lW_l}||w_l\theta(\widehat{y}_{hw}^l-\widehat{y}_{ohw}^l||_2^2 d(x,x0)=lHlWl1∣∣wlθ(y hwly ohwl22

FID(Fréchet Inception Distance)( ↓ \downarrow
基于两个图像分布之间的特征向量空间的Fréchet距离,测量生成图像与真实图像分布之间的差异。
F I D ( P , G ) = ∣ ∣ μ P − μ G ∣ ∣ 2 + T r ( ∑ P + ∑ G − 2 ∗ ∑ P ∑ G ) FID(P,G)=||\mu_P-\mu_G||^2+Tr(\sum_P+\sum_G-2*\sqrt{\sum _P\sum_G}) FID(P,G)=∣∣μPμG2+Tr(P+G2PG )

NIQE(Natural Image Quality Evaluator)自然图像质量评估器( ↓ \downarrow
无参考图像质量指标

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2203506.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

vbox创建虚拟机后用户没有root 权限

XXX is not in the sudoers file. This incident will be reported. 打开终端输入 Su - 输入密码进入root账户 终端visudo修改配置文件 添加如下代码:Syy ALL(ALL:ALL) ALL 编写完成后保存文件 ctrlO 后输入文件名 sudoers.tmp 后按Enter键 退出编辑器&#xf…

018 发布商品

文章目录 获取分类关联的品牌CategoryBrandController.javaCategoryBrandServiceImpl.javaBrandVo.java 获取分类下的所有分组&关联属性AttrGroupController.javaAttrGroupServiceImpl.java 保存七张表sqltb_spu_info.sqltb_spu_info_desc.sqltb_spu_images.sqltb_product_…

UE4 材质学习笔记06(布料着色器/体积冰着色器)

一.布料着色器 要编写一个着色器首先是看一些参考图片,我们需要找出一些布料特有的特征,下面是一个棉织物,可以看到布料边缘的纤维可以捕捉光线使得边缘看起来更亮 下面是缎子和丝绸的图片,与棉织物有几乎相反的效果,…

基于SPI的flash读写操作

1、实验目标 使用页写或连续写操作向Flash芯片写入数据,再使用数据读操作读取之前写入数据,将读取的数据使用串口传回PC机,使用串口助手传回数据并与之前写入数据比较,判断正误。 注意:在向Flash芯片写入数据之前&…

【Redis原理】数据结构(上)

文章目录 动态字符串(SDS)概念SDS特点SDS的优势 IntSet概念IntSet的特点升序统一的编码格式IntSet自动升级 Dict概念Dict特点Dict的伸缩Dict的扩容Dict收缩 Dict的rehash渐进式哈希 总结Dict的结构Dict的伸缩 动态字符串(SDS) 概念 Redis是使用C语言实现的,C语言字符串底层是…

【后端开发】自动化部署、服务管理、问题排查工具(cicd流水线,k8s集群,ELK日志)

【后端开发】自动化部署、服务管理、问题排查工具(cicd流水线,k8s集群,ELK日志) 文章目录 1、Devops与CICD流水线(TeamCity, Jenkins,GitHub Actions)2、Kubernetes 集群的管理和操作(对比Portainer&#x…

【解决】Set-ExecutionPolicy不是内部或外部命令

简介 当使用 VsCode 配置Django项目时,需要配置环境,但是当切换至虚拟环境时,出现了下面的情况。 无法加载文件:D:\django\Scripts\Activate.ps1, 上述问题可通过下面的命令进行解决 解决方法 1 命令行(最好是管理员…

JVM进阶调优系列(1)类加载器原理一文讲透

今天开始写JVM调优系列,并发编程系列也会继续穿插连载,让各位同学闲暇之余有更多阅读选择。 起笔写第一篇,并不好写。首先要构思整个系列的大概框架,一个好的框架一定是深度上由浅入深、逻辑上有严格顺序,读者订阅跟踪…

免费获取的8个SVG图标库,轻松下载与复制!

SVG图标相比传统的JPG、PNG图标具有诸多优势,适用于各种类型的图像,不仅能在不同尺寸下保持清晰度,还具备高度压缩性和轻量特性,支持静态和动态效果。因此,SVG格式在网页设计中往往是优选。尽管如今有很多免费的图标库…

风扇PD协议取电协议芯片-ECP 5702

随着USB-C的普及,市面上消费者PD充电器越来越多,如何让小家电产品也能够支持PD协议快充呢?加入一颗能芯科技PD协议取电协议芯片ECP5702试试看 USB PD协议受电端诱骗协议芯片 1、概述 ECP5702是能芯科技开发的一款专门PD协议的Sink控制器。 …

【论文速看】DL最新进展20241010-扩散模型、目标检测、行人检测

目录 【扩散模型】【目标检测】【行人检测】 【扩散模型】 []Faster Diffusion: Rethinking the Role of UNet Encoder in Diffusion Models 论文链接:https://arxiv.org/pdf/2312.09608 代码链接:https://github.com/hutaiHang/Faster-Diffusion 扩散…

No.10 笔记 | PHP学习指南:PHP数组掌握

本指南为PHP开发者提供了一个全面而简洁的数组学习路径。从数组的基本概念到高级操作技巧,我们深入浅出地解析了PHP数组的方方面面。无论您是初学者还是寻求提升的中级开发者,这份指南都能帮助您更好地理解和运用PHP数组,提高编码效率和代码质…

java批量发送邮件:如何实现高效邮件群发?

java批量发送邮件的教程指南?利用Java实现邮件批发? 随着技术的进步,java批量发送邮件已经成为企业实现高效邮件群发的关键工具。AokSend将探讨如何利用java批量发送邮件技术,实现高效的邮件群发,提升营销效果。 jav…

相当炸裂!495页看漫画学Python(全彩版)通俗易懂!Git首发破万Star

今天给大家分享一份由清华大学出品的《看漫画学Python》,本书作者对每一幅漫画表达的准确性也进行了N遍的推敲和打磨,向广大读者奉献一本精品漫画Python技术书。 总共495页,书中结合了幽默的故事情节和实用的编程知识,使得学习过…

【LeetCode】动态规划—673. 最长递增子序列的个数(附完整Python/C++代码)

动态规划—673. 最长递增子序列的个数 前言题目描述基本思路1. 问题定义2. 理解问题和递推关系3. 解决方法3.1 动态规划方法3.2 优化方法 4. 进一步优化5. 小总结 代码实现PythonPython3代码实现Python 代码解释 CC代码实现C 代码解释1. 初始化:2. 动态规划过程&…

Basic Pentesting靶机打靶记录

一、靶机介绍 下载链接:https://download.vulnhub.com/basicpentesting/basic_pentesting_1.ova 二、信息收集 确认靶机ip:192.168.242.136 arp-scan -l 扫描端口 nmap -p- -A -sS 192.168.242.136 这里开放了21,22,80端口 扫…

美发店数字化转型:SpringBoot管理系统

2相关技术 2.1 MYSQL数据库 MySQL是一个真正的多用户、多线程SQL数据库服务器。 是基于SQL的客户/服务器模式的关系数据库管理系统,它的有点有有功能强大、使用简单、管理方便、安全可靠性高、运行速度快、多线程、跨平台性、完全网络化、稳定性等,非常…

鸿蒙开发:文件推送到沙箱路径

最近一个项目需要基于沙箱路径下的文件进行操作,奈何应用沙箱路径下没有。找来找去方法都是要把文件推送进去。以下是我的一些拙见,请各位看官老爷指点一二。 沙箱路径 沙箱路径(Sandbox Path)通常是指在计算机安全和软件开发中…

【大学学习-大学之路-回顾-电子计算机相关专业-学习方案-自我学习-大二学生(2)】

【大学学习-大学之路-回顾-电子&计算机相关专业-学习方案-自我学习-大二学生(2)】 1、前言2、总体说明1-保证课程原因1:原因2: 2-打比赛3-自我适应 - 享受大学生活 3、 保证课程1、英语课程2、专业课程3、其他课程 4、 打比赛…

数据质量指标:如何衡量数据的准确性

数据质量是任何数据驱动运营的重要组成部分。即使对于不打算将数据集出售给其他公司的企业,数据的质量和准确性也会极大地影响决策效率。 不幸的是,没有单一指标可以确保数据质量达到标准。您必须跟踪多个指标并不断关注它们。因此,维护数据…