营销型网站的优缺点,wordpress 国外服务器,昆山住房与城乡建设局网站,店铺设计效果图软件这里写目录标题 参考文章全连接神经网络全连接神经网络的瓶颈全连接神经网络应用场景 卷积神经网络卷积层(CONV)卷积核卷积操作卷积层设计卷积步长(stride)边界填充特征响应图组尺寸计算 激活层池化层(POOL)池化操作定义池化操作作用池化层超参数常见池化操作 全连接层(FC)样本… 这里写目录标题 参考文章全连接神经网络全连接神经网络的瓶颈全连接神经网络应用场景 卷积神经网络卷积层(CONV)卷积核卷积操作卷积层设计卷积步长(stride)边界填充特征响应图组尺寸计算 激活层池化层(POOL)池化操作定义池化操作作用池化层超参数常见池化操作 全连接层(FC)样本增强翻转随机缩放 抠图色彩抖动 参考文章
计算机视觉与深度学习-05-纹理表示卷积神经网络-北邮鲁鹏老师课程笔记
全连接神经网络 全连接神经网络的瓶颈 参数过多易过拟合显存压力大 如果图像大小为200 * 200 * 3隐层每个神经元权值个数是多少
对于输入层则输入层神经元个数 d 为 120000对于全连接神经网络后一层的每个神经元都会与前一层的所有神经元相连所以隐层每个神经元就有120000个权值同时再加上自身的一个偏置值。
参数过多易过拟合显存压力大
参数越多计算量越大。
前向传播数据需要存入显存参数越大显存压力越大。
全连接神经网络应用场景 全连接神经网络仅适合参数少的情况 例如处理小图像。或者前置输出已经表示为向量的场景例如接在卷积神经网络之后对cnn得到的特征该处的特征可以类比纹理表示中的48维向量进行处理。
卷积神经网络
可以将卷积神经网络类比为纹理表示例子中的卷积核组最后得到表示特征响应图组的48维向量之后接全连接神经网络进行分类全连接神经网络适合处理小输入。
卷积层(CONV)
卷积核 卷积操作
卷积结果还是一个实数 对图像所有位置进行卷积 特征响应图中每个位置上的值反映了图像上对应位置是否存在卷积核所记录的基元结构信息。
使用多个卷积核 得到多个特征响应图
卷积层设计
卷积核深度 前一层图像的深度前层决定不是自定义 卷积核个数 自己自定义 特征图个数 卷积核个数 注意卷积层输入不局限于图像可以是任意三维数据该层的卷积核深度要求与输入的三维矩阵的深度一致。
卷积步长(stride) 卷积神经网络中卷积核可以按照指定的间隔进行卷积操作这个间隔就是卷积步长。 步长为1卷积核每次移动1个位置
步长为2卷积核每次移动2个位置 卷积步长对卷积结果的影响
输入数据矩阵尺寸W1 x H1
输出数据矩阵尺寸W2 x H2
W2与W1关系 W 2 W 1 − F S 1 W2 \tfrac{W1-F}{S} 1 W2SW1−F1 H 2 H 1 − F S 1 H2 \tfrac{H1-F}{S} 1 H2SH1−F1
F 卷积核尺寸 S 卷积核步长
边界填充 卷积神经网络中最常用的填充方式是零值填充。 没有填充 填充后 作用保持输入、输出尺寸的一致
填充对卷积结果的影响
输入数据矩阵尺寸W1 x H1
输出数据矩阵尺寸W2 x H2
W2与W1关系 W 2 W 2 − F 2 P S 1 W2 \tfrac{W2-F2P}{S} 1 W2SW2−F2P1 H 2 H 1 − F 2 P S 1 H2 \tfrac{H1-F2P}{S} 1 H2SH1−F2P1
F 卷积核尺寸 S 卷积核步长 P 零填充数量
特征响应图组尺寸计算 卷积核尺寸卷积步长填充数量以及卷积核数量最好经过周密的设计到自己输出层时正好是自己需要的尺寸最好不要中间出现除不尽的情况如果出现除不尽的情况就忽略几个像素。
激活层
池化层(POOL)
池化操作定义 对特征响应图某个区域进行池化就是在该区域上指定一个值来代表整个区域。 池化操作对每个特征响应图独立进行。池化操作不改变特征图响应图个数。
池化操作作用
对每一个特征响应图独立进行降低特征响应图组中每个特征响应图的宽度和高度减少后续卷积层的参数的数量降低计算资源耗费进而控制过拟合。
卷积运算复杂度 O ( k m 2 n 2 ) O(km^{2}n^{2} ) O(km2n2)其中k为卷积核个数m为卷积核边长n为图像边长。
减少后续卷积层计算量
神经网络中为了反向计算梯度需要在显存中保存前向计算结果。
如果卷积之后特征响应图和原图像的长宽相同卷积核多的情况下特征响应图组的层数增多需要保存的数据就变多。可能超出显存存储能力范围。
池化操作可以减少特征响应图的长宽达到减少计算量的效果。
缩小特征响应图像 增大感受野
卷积核的尺寸相对变大粗粒度提取使得卷积核在图像上的视野更广即感受野更大可以提取更多信息。
池化层超参数
池化窗口pooling window
池化窗口是指在进行池化操作时对输入数据进行采样的窗口大小。通常池化窗口是正方形的其尺寸可以通过指定边长来定义。
例如一个池化窗口大小为2x2的池化层将在输入数据中以2x2的窗口进行采样。
池化步长pooling stride
池化步长是指池化窗口在输入数据上滑动的步幅。它决定了池化操作的重叠程度和输出尺寸。
如果池化步长为1表示池化窗口每次滑动1个单位如果池化步长大于1表示窗口每次滑动的距离更大因此输出的尺寸会相应减小。
常见池化操作
最大池化
使用区域内的最大值来代表这个区域。 此次最大池化操作后特征响应图中的75%的响应信息都丢掉但不改变特征响应图的个数。
类似于非最大化抑制操作保留原图中对卷积核响应比较高的地方其他地方舍弃。
平均池化
采用区域内所有值的均值作为代表。 全连接层(FC) 全连接层Fully Connected Layer也被称为密集连接层或全连接层是神经网络中常见的一种层类型。全连接层的每个神经元都与前一层的所有神经元相连接。 在全连接层中每个神经元接收来自前一层的所有输入并通过使用权重和偏置进行线性变换然后将变换后的结果输入到激活函数中进行非线性变换。这样全连接层能够学习到输入数据中的复杂特征和关系。 全连接层通常用于神经网络的末尾将前面的特征提取层与最终的输出层连接起来。
在图像分类任务中经常在卷积层之后使用全连接层将卷积层提取到的特征映射转换为一个或多个类别的概率输出。
样本增强 样本增强Data Augmentation是一种在机器学习和计算机视觉领域中常用的技术旨在增加训练数据的多样性和数量以改善模型的泛化能力和鲁棒性。通过对原始数据应用一系列的变换和扩展操作可以生成与原始数据不同但具有相似特征的新样本。 样本增强的目的是通过引入数据的多样性来增强模型的鲁棒性使其在不同的环境、角度、光照条件等下都能产生良好的预测结果。 翻转 翻转Flipping是样本增强中常用的一种技术通过对图像进行水平或垂直方向的翻转操作来增加数据的多样性。 通过翻转操作可以增加数据集的样本数量并且不会改变图像的语义信息。这有助于减轻过拟合的问题提高模型的泛化能力。 水平翻转水平翻转是指将图像沿着垂直中轴线进行翻转即左右调换。这种操作可以模拟镜像效果从而增加数据的多样性。例如对于人脸识别任务可以通过水平翻转来扩充训练数据使模型能够更好地适应不同的人脸朝向。 垂直翻转垂直翻转是指将图像沿着水平中轴线进行翻转即上下调换。这种操作也可以增加数据的多样性。例如在某些图像分类任务中垂直翻转可以模拟倒置的物体使模型更具鲁棒性。
需要注意的是对于一些特定任务如文本识别或者物体检测翻转操作可能不适用因为翻转后的图像可能会改变文本的方向或物体的位置。在应用翻转操作时需要根据具体任务的需求进行判断和调整。
随机缩放 抠图 随机缩放随机缩放是指对图像进行随机放大或缩小的操作。通过随机选择缩放比例或目标尺寸可以改变图像的大小。这种操作可以模拟不同距离、不同视角下的图像变化增加数据的多样性。在应用随机缩放时可以保持图像的宽高比或者在特定情况下进行非等比例缩放。 抠图抠图是指从原始图像中随机裁剪出一个子区域作为新的图像。通过随机选择裁剪位置和尺寸可以改变图像的视野和内容。抠图操作可以模拟不同的视角、不同的目标尺寸和位置增加数据的多样性。在应用抠图时通常需要保证裁剪后的图像仍具有足够的信息来表示图像中的目标。
这两种操作可以结合使用例如先随机缩放图像然后在缩放后的图像上进行随机抠图。这样可以进一步增加数据的多样性提高模型的鲁棒性和泛化能力。
需要注意的是在进行随机缩放和抠图时应该保持数据的一致性和合理性。例如在目标检测任务中图像的缩放和抠图操作应该与目标的尺寸和位置相对应以避免引入错误的标注信息。此外也应该避免过度缩放或抠图导致关键信息丢失的情况发生。
色彩抖动 色彩抖动Color Jittering是样本增强中常用的一种技术用于改变图像的颜色分布增加数据多样性。通过对图像的颜色通道进行随机的扰动可以引入一定程度的颜色变化从而增强模型的鲁棒性。 在色彩抖动中常用的颜色通道操作包括亮度调整、对比度调整、饱和度调整和色相调整。这些操作可以单独应用也可以组合使用。具体的操作方式如下 亮度调整Brightness Adjustment通过增加或减小图像的亮度值改变图像的明暗程度。 对比度调整Contrast Adjustment通过增加或减小图像的对比度改变图像中不同区域的亮度差异。 饱和度调整Saturation Adjustment通过增加或减小图像的饱和度改变图像的色彩鲜艳程度。 色相调整Hue Adjustment通过旋转图像的色相角度改变图像中的颜色。