您的位置: 首页 - 站长

php制作网站开发大型网站制作教程

当前位置: 首页 > news >正文

php制作网站开发,大型网站制作教程,呼市网站设计公司,wordpress 登陆 代码目录 问题1#xff1a;目标检测的算法分类 问题2#xff1a;卷积神经网络的组成 问题3#xff1a;输入层的作用 问题4#xff1a;卷积层作用
问题5#xff1a;卷积核类型 问题6#xff1a;11卷积核作用 问题7#xff1a;卷积核是否越大越好 问题8#xff1a;棋…目录 问题1目标检测的算法分类 问题2卷积神经网络的组成 问题3输入层的作用 问题4卷积层作用  问题5卷积核类型 问题61×1卷积核作用 问题7卷积核是否越大越好 问题8棋盘效应及解决办法 问题9如何减少卷积层参数 问题10神经网络可视化工具 问题11池化层作用  问题12卷积层和池化层的区别 问题13激活函数层作用 问题14全连接层作用 问题15如何提高卷积神经网络的泛化能力 问题16讲一下BN、LN、IN、GN这几种归一化方法  问题17softmax公式如果乘上一个系数a 则概率分布怎么变  问题18如何解决正负样本不平衡问题  问题19训练网络不收敛的原因  问题20优化算法Adam, Momentum, AdagardSGD特点 问题21小目标难检测原因 问题1目标检测的算法分类 基于深度学习的目标检测算法主要分为两类 two-stage目标检测算法 主要思路先进行区域(Region ProposalRP)生成再通过卷积神经网络进行样本分类。任务路线特征提取一生成目标候选区域一分类/定位回归。 one-stage 目标检测算法 主要思路不用进行区域生成直接在网络中提取特征来预测物体分类和位置任务路线特征提取一分类/定位回归。 问题2卷积神经网络的组成 卷积神经网络的基本结构由以下几个部分组成输入层input layer卷积层convolution layer池化层pooling layer激活函数层和全连接层full-connection layer。 问题3输入层的作用 在处理图像的CNN中输入层一般代表了一张图片的像素矩阵。可以用三维矩阵代表一张图片。三维矩阵的长和宽代表了图像的大小而三维矩阵的深度代表了图像的色彩通道。比如黑白图片的深度为1而在RGB色彩模式下图像的深度为3。 问题4卷积层作用  卷积神经网络的核心是卷积层卷积层的核心部分是卷积操作。 对图像不同的数据窗口数据和滤波矩阵一组固定的权重因为每个神经元的多个权重固定所以又可以看做一个恒定的滤波器filter做内积逐个元素相乘再求和的操作就是所谓的卷积操作也是卷积神经网络的名字来源。 在CNN中滤波器filter对局部输入数据进行卷积计算。每计算完一个数据窗口内的局部数据后数据窗口不断平移滑动直到计算完所有数据。这个过程中有这么几个参数 深度depth神经元个数决定输出的depth厚度。同时代表滤波器个数。步长stride决定滑动多少步可以到边缘。填充值zero-padding在外围边缘补充若干圈0方便从初始位置以步长为单位可以刚好滑到末尾位置通俗地讲就是为了总长能被步长整除。 问题5卷积核类型 转置(Transposed)卷积 有时我们需要对输入进行如增加尺寸也称为“上采样”等处理。先对原始特征矩阵进行填充使其维度扩大到适配卷积目标输出维度然后进行普通的卷积操作的一个过程。转置卷积常见于目标检测领域中对小目标的检测和图像分割领域中还原输入图像的尺度。 扩张/空洞(Dilated/Atrous)卷积 引入一个称作扩张率(Dilation Rate)的参数使同样尺寸的卷积核可以获得更大的感受视野相应地在相同感受视野的前提下比普通卷积采用更少的参数。同样是 3x3 的卷积核尺寸扩张卷积可以提取 5x5 范围的区域特征在实时图像分割领域广泛应用。 可分离卷积 标准的卷积操作是同时对原始图像 HxWxC 三个方向的卷积运算假设有3个相同尺寸的卷积核这样的卷积操作需要用到的参数为 HxWxCxK个;若将长、宽与深度方向的卷积操作进行分离操作变为先与 HXW方向卷积再与C方向卷积的两步卷积操作则同样有 K 个相同的尺寸的卷积核只需要 (HxWC) XK个参数便可得到同样的输出尺度。可分离卷积 (SeperableConvolution)通常应用在模型压缩或一些轻量的卷积神经网络中如MobileNet、Xception 等 问题61×1卷积核作用 对于1x1卷积核的作用主要可以归纳为以下几点 增加网络深度增加非线性映射次数升维/降维跨通道的信息交互减少卷积核参数简化模型 问题7卷积核是否越大越好 设置较大的卷积核可以获取更大的感受野。但是这种大卷积核反而会导致计算量大幅增加不利于训练更深层的模型相应的计算性能也会降低。后来的卷积经网络(VGG、GoogLeNet 等)发现通过堆叠2个3X3 卷积核可以获得与 5X5 卷积核同的感受视野同时参数量会更少 (3X3X215X5X11)3X3 卷积核被广泛应用许多卷积神经网络中。         但是这并不表示更大的卷积核就没有作用在某些领域应用卷积神经网络时仍然可以采用较大的卷积核。在将卷积神经网络应用在自然语言处理领域时神经网络通常都是由较为浅层的卷积层组成的但是文本特征有时又需要有较广的感受野让模型能够组合更多的特征(如词组和字符)此时接采用较大的卷积核将是更好的选择。         综上所述卷积核的大小并没有绝对的优劣需要视具体的应用场景而定但是极大和极小的卷积核都是不合适的单独的 1X1极小卷积核只能用作分离卷积而不能对输入的原始特征进行有效的组合极大的卷积核通常会组合过多的无意义特征从而浪费大量的计算资源。 问题8棋盘效应及解决办法 由以上现象得知当过滤器尺寸无法被卷积步长整除时转置卷积就会出现不均匀重叠造成图像中某个部位的颜色比其他部位更深因而会带来棋盘效应。 如何避免和减轻棋盘效应 (1) 确认使用的过滤器的大小是能够被卷积步长整除的从而来避免重叠问题 (2) 可以采用卷积步长为 1的转置卷积来减轻棋盘效应。 参考文章卷积操作总结三—— 转置卷积棋盘效应产生原因及解决 - 知乎 问题9如何减少卷积层参数 使用堆叠小卷积核代替大卷积核VGG 网络中 2个 3X3 的卷积核可以代替 1个5X5 的卷积核。使用分离卷积操作: 将原本 KXKXC 的卷积操作分离为 KXKX1和1X1XC的两部分操作。添加 1X1的卷积操作与分离卷积类似但是通道数可变在 KXKXC 卷积前添加1X1XC2的卷积核。在卷积层前使用池化操作池化可以降低卷积层的输入特征维度 问题10神经网络可视化工具 神经网络的可视化工具有Netron、draw_convnet、NNSVG、PlotNeuralNet、Tensorboard、Caffe等。 参考文章【深度学习 | 机器学习】干货满满 | 近万字总结了 12 个令人惊艳的神经网络可视化工具_旅途中的宽~的博客-CSDN博客 问题11池化层作用  池化层又称为降采样层(Downsampling Layer)作用是对感受野内的特征进行筛选提取区域内最具代表性的特征能够有效地减小输出特征尺度进而减少模型所需要的参数量。 主要有平均池化Average Pooling、最大池化Max Pooling等。简单来说池化就是在该区域上指定一个值来代表整个区域。池化层的超参数池化窗口和池化步长。池化操作也可以看做是一种卷积操作。 问题12卷积层和池化层的区别 卷积层和池化层在结构上具有一定的相似性都是对感受野内的特征进行提取并且根据步长设置获取到不同维度的输出但是其内在操作是有本质区别 卷积层池化层结构零填充时输出维度不变而通道数改变通常特征维度会降低通道数不变稳定性输入特征发生细微改变时输出结果会改变感受野内的细微变化不影响输出结果作用感受野内提取局部关联特征感受野内提取泛化特征降低维度参数量与卷积核尺寸、卷积核个数相关不引入额外参数 问题13激活函数层作用 激活函数非线性激活函数如果激活函数使用线性函数的话那么它的输出还是一个线性函数。但使用非线性激活函数可以得到非线性的输出值。常见的激活函数有Sigmoid、tanh和Relu等。一般我们使用Relu作为卷积神经网络的激活函数。Relu激活函数提供了一种非常简单的非线性变换方法函数图像如下所示 问题14全连接层作用 在经过多轮卷积层和池化层的处理之后在CNN的最后一般会由1到2个全连接层来给出最后的分类结果。经过几轮卷积层和池化层的处理之后可以认为图像中的信息已经被抽象成了信息含量更高的特征。我们可以将卷积层和池化层看成自动图像特征提取的过程。在提取完成之后仍然需要使用全连接层来完成分类任务 问题15如何提高卷积神经网络的泛化能力 使用更多的数据竟可能标注更多的训练数据这是提高泛化能力最理想的方法更多的数据让模型得到更充分的学习自然提高了泛化能力。使用更大的batch_size在相同迭代次数和学习率的条件下每批次采用更多的数据将有助于模型更好的学习到正确的模式模型输出结果也会更加稳定。数据过采样很多情况下我们拿到手的数据都存在类别不均匀的情况模型这个时候过多的拟合某类数量多的数据导致其输出结果偏向于该类数据此时如果我们过采样其他类别的数据使得数据量比较均衡可以一定程度提高泛化能力。数据增强数据增强是指在数据有限的情况通过一些几何操作对图像进行变换使得同类数据的表现形式更加丰富以此提高模型的泛化能力。修改损失函数这方面有大量的工作如目标检测中的Focal Loss, GHM LossIOU Loss等都是为了提升模型的泛化能力。修改网络如果网络过浅并且参数量过少往往会使得模型的泛化能力不足导致欠拟合此时一般考虑使用简单的堆叠卷积层增加网络的参数提高模型的特征提取能力。而如果网络过深且训练数据量比较少那么就容易导致模型过拟合此时一般需要简化网络结构减少网络层数或者使用resnet的残差结构以及BN层。权重惩罚权重惩罚也即是正则化操作一般是在损失函数中添加一项权重矩阵的正则项作为惩罚项用来惩罚损失值较小时网络权重过大的情况此时往往是网络权值过拟合了数据样本。Dropout策略如果网络最后有全连接层可以使用Dropout策略相当于对深度学习模型做了Ensemble有助于提高模型的泛化能力。 问题16讲一下BN、LN、IN、GN这几种归一化方法  BN BatchNormalization假设特征在不同输入以及H、W层级上是均匀分布的所以在NHW上统计每个channel的均值和方差参数量为2C缺点是容易受到batch内数据分布影响如果batch_size小的话计算的均值和方差不具有代表性。而且不适用于序列模型中因为序列模型中通常各个样本的长度都是不同的。此外当训练数据和测试数据分布有差别时也并不适用。 LN Layer NormalizationLN是独立于batch size的算法样本数多少不会影响参与LN计算的数据量从而解决BN的两个问题缺点是在BN和LN都能使用的场景中BN的效果一般优于LN原因是基于不同数据同一特征得到的归一化特征更不容易损失信息。 IN Instance NormalizationIN的计算就是把每个HW单独拿出来归一化处理不受通道和batch_size 的影响常用在风格化迁移因为它统计了每个样本的每个像素点的信息缺点是如果特征图可以用到通道之间的相关性那么就不建议使用它做归一化处理。 GN Group Normalization其首先将channel分为许多组group对每一组做归一化及先将feature的维度由[N, C, H, W]reshape为[N, GC//G , H, W]归一化的维度为[C//G , H, W]GN的归一化方式避开了batch size对模型的影响特征的group归一化同样可以解决 I n t e r n a l InternalInternal C o v a r i a t e CovariateCovariate S h i f t ShiftShift 的问题并取得较好的效果。 问题17softmax公式如果乘上一个系数a 则概率分布怎么变  当a1时变陡峭当a1是变平滑 问题18如何解决正负样本不平衡问题  过采样对训练集里面样本数量较少的类别少数类进行过采样合成新的样本来缓解类不平衡。欠采样对训练集里面样本数量较多的类别多数类进行欠采样抛弃一些样本来缓解类不平衡。合成新的少数类 问题19训练网络不收敛的原因  数据处理原因 没有做数据归一化没有做数据预处理没有使用正则化 参数设置原因 Batch Size设的太大学习率设的不合适 网络设置原因 网络存在坏梯度比如当Relu对负值的梯度为0反向传播时梯度为0表示不传播参数初始化错误网络设定不合理网络太浅或者太深 问题20优化算法Adam, Momentum, AdagardSGD特点 Adagard在训练的过程中可以自动变更学习的速率,设置一个全局的学习率,而实际的学习率与梯度历史平方值总和的平方根成反比。用adagrad将之前梯度的平方求和再开根号作为分母会使得一开始学习率呈放大趋势随着训练的进行学习率会逐渐减小。Momentum参考了物理中动量的概念,前几次的梯度也会参与到当前的计算中,但是前几轮的梯度叠加在当前计算中会有一定的衰减。用来解决梯度下降不稳定容易陷入鞍点的缺点。SGD为随机梯度下降,每一次迭代计算数据集的mini-batch的梯度,然后对参数进行跟新。优点是更新速度快缺点是训练不稳定准确度下降。Adam利用梯度的一阶矩估计和二阶矩估计动态调整每个参数的学习率,在经过偏置的校正后,每一次迭代后的学习率都有个确定的范围,使得参数较为平稳,结合momentum和adagrad两种算法的优势。 问题21小目标难检测原因 小目标在原图中尺寸比较小通用目标检测模型中一般的基础骨干神经网络VGG系列和Resnet系列都有几次下采样处理导致小目标在特征图的尺寸基本上只有个位数的像素大小导致设计的目标检测分类器对小目标的分类效果差。 小目标在原图中的数量较少检测器提取的特征较少导致小目标的检测效果差。 神经网络在学习中被大目标主导小目标在整个学习过程被忽视导致导致小目标的检测效果差。 Tricks 1 data-augmentation.简单粗暴比如将图像放大利用 image pyramid多尺度检测最后将检测结果融合.缺点是操作复杂计算量大实际情况中不实用; 2 特征融合方法FPN这些多尺度feature map预测feature stride可以从更小的开始; 3合适的训练方法CVPR2018的SNIP以及SNIPER; 4设置更小更稠密的anchor回归的好不如预设的好, 设计anchor match strategy等参考S3FD; 5利用GAN将小物体放大再检测CVPR2018有这样的论文; 6利用context信息建立object和context的联系比如relation network; 7有密集遮挡如何把location 和Classification 做的更好参考IoU loss, repulsion loss等. 8卷积神经网络设计时尽量采用步长为1尽可能保留多的目标特征。 9matching strategy。对于小物体不设置过于严格的 IoU threshold或者借鉴 Cascade R-CNN 的思路。