《深度学习500问》
文章平均质量分 94
本栏目内容来自【深度学习500问——AI工程师面试宝典(博文视点出品),谈继勇 主编,郭子钊,李剑,佃松宜 副主编 著】进行整理。
JOYCE_Leo16
计算机视觉,深度学习,图像处理
展开
-
深度学习500问——Chapter09:图像分割(2)
因为上采样可以补足一些图片的信息,但是信息补充的肯定不完全,所以还需要与左边的分辨率比较高的图片相连接起来(直接复制过来再裁剪到与上采样图片一样大小),这就相当于在高分辨和更抽象特征当中做一个折中,中,因为随着卷积次数增多,提取的特征也更加有效,更加抽象,上采样的图片是经历多次卷积后的图片,肯定是比较高效和抽象的图片,然后它与左边不怎么抽象但更高分辨率的特征图片进行连接)。解码网络使用保存的最大池化索引上采样,得到稀疏的特征图,将特征图与可训练的解码滤波器族卷积得到致密的特征图。(1)使用全卷积神经网络。原创 2024-05-20 16:12:15 · 660 阅读 · 1 评论 -
深度学习500问——Chapter09:图像分割(1)
但是在进入全连接层时,feature map(假设大小为nxn)要拉成一条向量,而向量中每个元素(共nxn个)作为一个结点都要与下一个层的所有结点(假设4096个)全连接,这里的权值个数是4096 x n x n ,而我们知道神经网络结构一旦确定,它的权值个数都是固定的,所有这个n不能变化,n是conv5的outputsize,所以层层向回看,每个outputsize都要固定,那每个inputsize都要固定,因此输入图片大小要固定。反卷积层也是卷积层,不关心input的大小,滑窗卷积后输出output。原创 2024-05-16 20:34:33 · 746 阅读 · 0 评论 -
深度学习500问——Chapter08:目标检测(10)
COCO的检测任务共含有80个类,在2014年发布的数据规模分 train/val/test 分别为 80k/40k/40k,学术界较为通用的划分是使用train和35k的val子集作为训练集(trainval35k),使用剩余的val作为测试集(minival),同时向官方的evaluation server提交结果(test-dev)。Labelbox 是一家为机器学习应用程序创建、管理和维护数据集的服务提供商,其中包含一款部分免费的数据标签工具,包含图像分类和分割,文本,音频和视频注释的接口,其中。原创 2024-05-16 09:45:00 · 975 阅读 · 0 评论 -
深度学习500问——Chapter08:目标检测(9)
而NIPS的对抗攻击大赛很多从神经网络的学习策略下手,进行梯度攻击,更加偏向于人为的攻击了,对于普适的检测性能提高意义反而不大,更强调安全需求高的场合。还有尝试将RGB映射到其他的色彩空间进行学习,YUV,CMY,HSV等。组合的增强方式往往是连续变化的,导致数据集的容量会迅速扩大,这对于小数据集领域来说容易发生过拟合,所以需要设计合理的搜索算法设计恰当的训练数据集。谷歌最早做的自学习增强方法,走的NAS的思路RL+RNN搜索增强空间,还有后来最近发的检查增强也是大同小异,基本就是换汤不换药,问题在于。原创 2024-05-15 15:23:07 · 864 阅读 · 0 评论 -
深度学习500问——Chapter08:目标检测(8)
为了检测不同大小的人脸,开始需要构建图像金字塔,先经过pNet模型,输出人脸类别和边界框(边界框的预测为了对特征图映射到原图的框平移和缩放得到更准确的框),将识别为人脸的框映射到原图框位置可以获取patch,之后每一个patch通过resize的方式输入到rNet,识别为人脸的框并且预测更准确的人脸框,最后rNet识别为人脸的的每一个patch通过resize的方式输入到oNet,跟rNet类似,关键点是为了在训练集有限情况下使模型更鲁棒。因为模型输出有概率值,一般会优先选择概率小的框删除。原创 2024-05-13 09:30:00 · 615 阅读 · 0 评论 -
深度学习500问——Chapter08:目标检测(7)
RFBNet有哪些创新点1. 提出RF block(RFB)模块RFBNet主要想利用一些技巧使得轻量级模型在速度和精度上达到很好的trade-off的检测器。灵感来自人类视觉的感受野结构Receptive Fields(RFs),提出了新奇的RF block(RFB)模块,来验证感受野尺寸和方向性的对提高有鉴别器鲁棒特征的关系。RFBNet是以主干网络(backbone)为VGG 16的SSD来构建的,主要是在Inception的基础上加入了dilated卷积层(dilated convolution),原创 2024-05-04 13:57:14 · 1312 阅读 · 0 评论 -
深度学习500问——Chapter08:目标检测(6)
负样本的数量大于正样本的数量,比如包含物体的区域(正样本)很少,而不包含物体的区域(负样本)很多。比如检测算法在早期会生成一大波的bbox。而一幅常规的图片中,顶多就那么几个object。这意味着,绝大多数的bbox属于background。原创 2024-05-03 20:35:05 · 862 阅读 · 0 评论 -
深度学习500问——Chapter08:目标检测(5)
YOLOv2中在每个卷积层后加Batch Normalization(BN)层,去掉Dropout,BN层可以起到一定的正则化效果,能提升模型的收敛速度,防止模型过拟合。YOLOv2通过使用BN层使得mAP提高了2%。原创 2024-04-30 17:32:36 · 581 阅读 · 3 评论 -
深度学习500问——Chapter08:目标检测(4)
YOLO(You Only Look Once:Unified,Real-Time Object Detection)是one-stage detection的开山之作。之前的物体检测方法首先需要产生大量可能包含待检测物体的先验框,然后用分类器判断每个先验框对应的边界框是否包含待检测物体,以及物体所属类别的概率或者置信度,同时需要后处理修正边界框,最后基于一些准则过滤掉置信度不高和重叠度较高的边界框,进而得到检测结果。这种基于先产生候选区再检测的方法虽然有相对较高的检测准确率,但运行速度较慢。原创 2024-04-26 17:07:19 · 1251 阅读 · 0 评论 -
深度学习500问——Chapter08:目标检测(3)
名义是单模型,实际上是多模型的特征融合,只是和真正的多模型策略略有不同。因而提出的Composite Backbone Network(CBNet),采用经典网络的多重组合的方式构建网络,一方面可以提取到更有效的特征,另一方面也能够直接用现成的预训练参数(如ResNet、ResNeXt等)比较简单高效。DetNet是发表在ECCV2018的论文,出发点是现有的检测任务backbone都是从分类任务衍生而来的,因此作者想针对检测专用的backbone做一些讨论和研究而设计了DetNet,思路比较新奇。原创 2024-04-22 14:56:59 · 1041 阅读 · 0 评论 -
深度学习500问——Chapter08:目标检测(2)
经过分析,造成这种区别的原因是COCO上小目标的数量更多,而小目标受mis alignment问题的影响更大(比如,同样是0.5个像素点的偏差,对于较大的目标而言显得微不足道,但是对于小目标,误差的影响就要高很多)。在左侧创建一个新的特征图,用于检测目标的左上角。在物体检测里面,有限计算量情况下,网络的深度(对应到感受野)与stride通常是一对矛盾的东西,常用的网络结构对应的stride一般会比较大(如32),而图像中的小物体甚至会小于stride的大小,造成的结果就是小物体的检测性能急剧下降。原创 2024-04-21 13:05:21 · 1114 阅读 · 0 评论 -
深度学习500问——Chapter08:目标检测(1)
目标检测(Object Detection)的任务是找出图像中所有感兴趣的目标(物体),确定它们的类别和位置,是计算机视觉领域的核心问题之一。由于各类物体有不同的外观、形状和姿态,加上成像时光照、遮挡等因素的干扰,目标检测一直是计算机视觉领域最具有挑战性的问题。计算机视觉中关于图像识别解决“是什么?”的问题,即给定一张图片或一段视频判断里面包含什么类别的目标。解决“在哪里?”的问题,即定位出这个目标的位置。解决“是什么?在哪里?”的问题,即定位出这个目标的位置并且知道目标物是什么。原创 2024-04-15 09:30:00 · 735 阅读 · 2 评论 -
深度学习500问——Chapter07:生成对抗网络(GAN)(3)
GAN作为一种强有力的生成模型,其应用十分广泛。最为常见的应用就是图像翻译。所谓图像翻译,指从一幅图像到另一幅图像的转换。可以类比机器翻译,一种语言转换为另一种语言。图像去噪图像超分辨率图像补全风格迁移.....本节将介绍一个经典的图像翻译网络及其改进。有监督图像翻译:原始域与目标域存在——对应数据无监督图像翻译:原始域与目标域不存在——对应数据。原创 2024-04-14 09:45:00 · 1631 阅读 · 0 评论 -
深度学习500问——Chapter07:生成对抗网络(GAN)(2)
自回归模型通过对图像数据的概率分布进行显式建模,并利用极大似然估计优化模型。具体如下:上述公式很好理解,给定条件下,所有的概率乘起来就是图像数据的分布。如果使用RNN对上述依然关系建模,就是pixelRNN。如果使用CNN,则是pixelCNN。具体如下[5]:显然,不论是对于pixelCNN还是pixelRNN,由于像素值是一个个生成的。速度会很慢。语音领域大火的WaveNet就是一个典型的自回归模型。PixelCNN/RNN定义了一个易于处理的密度函数,我们可以直接优化训练数据的似然;原创 2024-04-12 15:18:40 · 2425 阅读 · 0 评论 -
深度学习500问——Chapter07:生成对抗网络(GAN)(1)
某个模式(mode)出现大量重复样本,例如:上图左侧的蓝色五角星表示真实样本空间,黄色的是生成的。生成样本缺乏多样性,存在大量重复。比如上图右侧中,红框里面人物反复出现。原创 2024-04-11 14:56:02 · 971 阅读 · 3 评论 -
深度学习500问——Chapter06: 循环神经网络(RNN)(4)
并且,时钟周期小组的神经元不会连接到时钟周期大组的神经元,只允许周期大的神经元连接到周期小的(组与组之间的连接以及信息传递是有向的)。 CW-RNNs与SRNs网络结构类似,也包括输入层(Input)、隐藏层(Hidden)、输出层(Output),它们之间存在前向连接,输入层到隐藏层连接,隐藏层到输出层连接。例如:隐藏层共有256个节点,分为四组,周期分别是[1,2,4,8],那么每个隐藏层组256/4=64个节点,第一组隐藏层与隐藏层的连接矩阵为64$\times$64的矩阵,第二层的矩阵则为。原创 2024-04-08 09:45:00 · 930 阅读 · 0 评论 -
深度学习500问——Chapter06: 循环神经网络(RNN)(3)
RNN在处理长期依赖(时间序列上距离较远的节点)时会遇到巨大的困难,因为计算距离较远的节点之间联系时会涉及雅可比矩阵的多次相乘,会造成梯度消失或者梯度膨胀的现象。为了解决该问题,研究人员提出了许多解决办法,例如ESN(Echo State Network),增加有漏单元(Leaky Units)等等,其中成功应用最广泛的就是门限RNN(Gated RNN),而LSTM就是门限RNN中最著名的一种。粉色的圈代表pointwise的操作,诸如向量的和,而黄色的矩阵就是学习到的神经网络层。细胞状态类似于传送带。原创 2024-04-07 09:45:00 · 893 阅读 · 0 评论 -
深度学习500问——Chapter06: 循环神经网络(RNN)(2)
由于RNN特有的memory会影响后期其他的RNN的特点,梯度时大时小,learning rate没法个性化的调整,导致RNN在train的过程中,Loss会震荡起伏,为理论解决RNN的这个问题,在训练的时候,可以设置临界值,当梯度大于某个临界值,直接截断,用这个临界值作为梯度的大小,防止大幅震荡。随着时间序列的不断深入,小数的累乘就会导致梯度越来越小直到接近于0,这就是“与BP算法不同的是,其中W和U两个参数的寻优过程需要追溯之前的历史数据,参数V相对简单只需关注目前,那么我们就先来求解参数V的偏导数。原创 2024-04-06 13:54:03 · 799 阅读 · 1 评论 -
深度学习500问——Chapter06: 循环神经网络(RNN)(1)
时间序列数据是指在不同时间点上收集到的数据,这类数据反映了某一事物、现象等随时间的变化状态或程度。一般的神经网络,在训练数据足够、算法模型优越的情况下,给定特定的x,就能得到期望y。其一般处理单个的输入,前一个输入和后一个输入完全无关,但实际应用中,某些任务需要能够更好的处理序列的信息,即前面的输入和后面的输入是有关系的。比如:当我们在理解一句话意思时,孤立的理解这句话的每个词不足以理解整体意思,我们通常需要处理这些词连接起来的整个序列;当我们处理视频的时候,我们也不能只单独的去分析每一帧,而要分析这些帧连原创 2024-04-03 09:45:00 · 1184 阅读 · 0 评论 -
深度学习500问——Chapter05: 卷积神经网络(CNN)(4)
需要注意的是,权重只是对于同一深度切片的神经元是共享的。和它聚类中心的残差,然后把残差加起来,即是每个类别k的结果,最后分别L2正则后拉成一个长向量后再做L2正则,正则非常的重要,因为这样才能统一所有聚类算出来的值,而残差和的目的主要是消减不同聚类上的分布不均,两者共同作用才能得到最后正常的输出。那么NetVLAD考虑的主要是最后一层卷积层输出的特征这里,我们不想直接进行欠采样或者全局映射得到特征,对于最后一层输出的W x H x D,设计一个新的池化,去聚合一个“局部特征“,这即是NetVLAD的作用。原创 2024-04-02 16:04:27 · 1178 阅读 · 0 评论 -
深度学习500问——Chapter05: 卷积神经网络(CNN)(3)
卷积神经网络中的卷积操作是其关键组成,而卷积操作只是一种数学运算方式,实际上对不同类型的数值表示数据都是通用的,尽管这些数值可能表示的是图像像素值、文本序列中单个字符或是语音片段中单字的音频。可以看出反卷积的大小是由卷积核大小与滑动步长决定,in是输入大小,k是卷积核大小,s是滑动步长,out是输出大小,得到out=(in - 1)*s + k,上图过程就是,(2-1)*3 + 4=7。输入图片每个像素进行一次full卷积,根据full卷积大小计算可以知道每个像素的卷积后大小为1+4-1=4,即。原创 2024-04-01 21:35:02 · 978 阅读 · 0 评论 -
深度学习500问——Chapter05: 卷积神经网络(CNN)(2)
池化操作通常也叫做子采样(Subsampling)或降采样(Downsampling),在构建卷积神经网络时,往往会用在卷积层之后,通过池化来降低卷积层输出的特征维度,有效减少网络参数的同时还可以防止过拟合现象。池化操作可以降低图像维度的原因,本质上是因为图像具有一种“静态性”的属性,这个意思是说在一个图像区域有用的特征极有可能在另一个区域同样有用。因此,为了描述一个大的图像,很直观的想法就是对不同位置的特征进行聚合统计。原创 2024-03-30 20:53:20 · 996 阅读 · 2 评论 -
深度学习500问——Chapter05: 卷积神经网络(CNN)(1)
卷积神经网络是一种用来处理局部和整体相关性的计算网络结构,被应用在图像识别、自然语言处理甚至是语音识别领域,因为图像数据具有显著的局部与整体关系,其在图像识别领域的应用获得了巨大的成功。原创 2024-03-28 13:38:05 · 993 阅读 · 2 评论 -
深度学习500问——Chapter04:经典网络解读(2)
VGGNet是由牛津大学视觉几何小组(Visual Geometry Group,VGG)提出的一种深层卷积网络结构,它们以7.32%的错误率赢得了2014年ILSVRC分类任务的亚军(冠军由GoogLeNet以6.65%的错误率夺得)和25.32%的错误率夺得定位任务(Localization)的第一名(GooleNet错误率为26.44%)[5],网络名称VGGNet取自该小组名缩写。原创 2024-03-25 15:36:34 · 1350 阅读 · 2 评论 -
深度学习500问——Chapter04:经典网络解读(1)
LeNet-5是由LeCun 提出的一种用于识别手写数字和机器印刷字符的卷积神经网络(Convolutional Nerual Network,CNN)[1],其命名来源于作者LeCun的名字,5则是其研究成果的代号,在LeNet-5之前还有LeNet-4和LeNet-1鲜为人知。LeNet-5阐述了图像中像素特征之间的相关性能够由参数共享的卷积操作所提取,同时使用卷积、下采样(池化)和非线性映射这样的组合结构,是当前流行的大多数深度图像识别网络的基础。原创 2024-03-22 14:15:17 · 1479 阅读 · 1 评论 -
深度学习500问——Chapter03:深度学习基础(4)
用别人的参数、修改后的网络和自己的数据进行训练,使得参数适应自己的数据,这样一个过程,通常称之为微调(fine tuning)。我们知道,CNN在图像识别这一领域取得了巨大的进步。如果想将CNN应用到我们自己的数据集上,这时通常就会面临一个问题:通常我们的dataset都不会特别大,一般不会超过1万张,甚至更少,每一类图片只有几十或者十几张。这时候,直接应用这些数据训练一个网络的想法就不可行了,因为深度学习成功的一个关键性因素就是大量带标签数据组成的训练集。原创 2024-03-20 17:57:37 · 1469 阅读 · 1 评论 -
深度学习500问——Chapter03:深度学习基础(3)
以前在神经网络训练中,只是对输入层数据进行归一化处理,却没有在中间层进行归一化处理。要知道,虽然我们对输入数据进行了归一化处理,但是输入数据经过这样的矩阵乘法以及非线性运算之后,其数据分布很可能被改变,而随着深度网络的多层运算之后,数据分布的变化将越来越大。如果我们能在网络的中间也进行归一化处理,是否对网络的训练起到改进作用呢?答案是 肯定的。这种在神经网络中间层也进行归一化处理,使训练效果更好的方法,就是批归一化Batch Normalization(BN)。原创 2024-03-19 12:37:33 · 1201 阅读 · 3 评论 -
深度学习500问——Chapter03:深度学习基础(2)
在机器学习的上下文中,超参数是在开始学习过程之前设置值的参数,而不是通过训练得到的参数数据。通常情况下,需要对超参数进行优化,给学习机选择一组最优超参数,以提高学习的性能和效果。定义关于模型的更高层次的概念,如复杂性或学习能力。不能直接从标准模型培训过程中的数据中学习,需要预先定义。可以通过设置不同的值,训练不同的模型和选择更好的测试值来决定。原创 2024-03-17 09:45:00 · 1195 阅读 · 0 评论 -
深度学习500问——Chapter03:深度学习基础(1)
下面的图示显示了包含两个filter的卷积层的计算。梯度消失的原因受到多种因素的影响,例如学习率的大小,网络参数的初始化,激活函数的边缘效应等。参数空间中学习的退化速度减慢,导致减少了模型的有效维数,网络的可用自由度对学习中梯度范数的贡献不均衡,随着相乘矩阵的数量(即网络深度)的增加,矩阵的乘积变得越来越退化。在深度神经网络或循环神经网络(Recurrent Neural Network,RNN)等网络结构中,梯度可在网络更新的过程中不断累积,变成非常大的梯度,导致网络权重值的大幅更新,使得网络不稳定;原创 2024-03-11 13:42:09 · 1617 阅读 · 0 评论 -
深度学习500问——Chapter02:机器学习基础(5)
选取专门用于测试分类、聚类算法的国际通用的UCI数据库中的IRIS数据集,IRIS数据集包含150个样本数据,分别取自三种不同 的莺尾属植物setosa、versicolor和virginica的花朵样本,每个数据含有4个属性,即萼片长度、萼片宽度、花瓣长度、花瓣宽度,单位为cm。在数据集上执行不同的聚类算法,可以得到不同精度的聚类结果。 上图所示的只采用2个特征的线性分类器分错了一些训练样本,准确率似乎没有图2.21.1.e的高,但是,采用2个特征的线性分类器的泛化能力比采用3个特征的线性分类器要强。原创 2024-03-10 09:45:00 · 750 阅读 · 0 评论 -
深度学习500问——Chapter02:机器学习基础(4)
支持向量:在求解过程中,会发现只根据部分数据就可以确定分类器,这些数据称为支持向量。支持向量机(Support Vector Machine,SVM):其含义是通过支持向量运算的分类器。在一个二维环境中,其中点R,S,G点和其他靠近中间黑线的点可以看作为支持向量,它们可以决定分类器,即黑线的具体参数。支持向量机是一种二分类模型,它的目的是寻找一个超平面来对样本进行分割,分割的原则是边界最大化,最终转化为一个凸二次规划问题来求解。原创 2024-03-07 09:45:00 · 825 阅读 · 0 评论 -
深度学习500问——Chapter02:机器学习基础(3)
1. PCA就是将高维的数据通过线性变换投影到低维空间上去。2. 投影思想:找出最能够代表原始数据的投影方法。被PCA降掉的那些维度只能是那些噪声或是冗余的数据。3. 去冗余:去除可以被其他向量代表的线性相关向量,这部分信息量是多余的。4. 去噪声,去除较小特征值对应的特征向量,特征值的大小反映了变换后在特征值向量方向上变换的幅度,幅度越大,说明这个方向上的元素差异也越大,要保留。原创 2024-03-04 18:20:32 · 584 阅读 · 0 评论 -
深度学习500问——Chapter02:机器学习基础(2)
损失函数(Loss Function)又叫做误差函数,用来衡量算法的运行情况,估量模型的预测值与真实值的不一致程度,是一个非负实值函数,通常使用来表示。损失函数越小,模型的鲁棒性就越好。损失函数是经风险函数的核心部分,也是结构风险函数重要组成部分。若度量模型参数变化引起的概率分布变化,常用的“距离”度量是KL散度(Kullback-Leibler divergence)。原创 2024-03-02 09:45:00 · 1537 阅读 · 0 评论 -
深度学习500问——Chapter02:机器学习基础(1)
机器学习起源于上世纪50年代,1959年在IBM工作的Arthur Samuel设计了一个下棋程序,这个程序具有学习的能力,它可以在不断的对弈中提高自己。由此提出了“机器学习”这个概念,它是一个结合了多个学科,如概率论、优化理论、统计等,最终在计算机上实现自我获取新知识,学习改善自己的这样一个研究领域。原创 2024-02-29 19:21:19 · 1421 阅读 · 0 评论 -
深度学习500问——Chapter01:数学基础
深度学习通常又需要哪些数学基础?深度学习里的数学到底难在哪里?通常初学者都会有这些问题,在网络推荐及书本的推荐里,经常看到会列出一系列数学科目,比如微积分、线性代数、概率论、复变函数、数值计算、优化理论、信息论等等。这些数学知识有相关性,但实际上按照这样的知识范围来学习,学习成本会很久,而且会很枯燥。本章我们通过选举一些数学基础里容易混肴的一些概念作以介绍,帮助大家更好的理清这些易混肴概念之间的关系。原创 2024-02-25 16:07:27 · 952 阅读 · 0 评论