wordpress 倒计时插件搜索引擎优化seo专员招聘
wordpress 倒计时插件,搜索引擎优化seo专员招聘,中信建设有限责任公司估值,微商怎么引流被加精准粉Day 9: 卷积神经网络 (CNN) 摘要#xff1a;卷积神经网络 (CNN) 是计算机视觉的基石。从模拟人类视觉的局部感知开始#xff0c;CNN 经历了从 LeNet 到 ResNet 再到 ConvNeXt 的辉煌演进。本文将拆解 CNN 的核心操作#xff08;卷积、池化#xff09;#xff0c;回顾经典架…Day 9: 卷积神经网络 (CNN)摘要卷积神经网络 (CNN) 是计算机视觉的基石。从模拟人类视觉的局部感知开始CNN 经历了从 LeNet 到 ResNet 再到 ConvNeXt 的辉煌演进。本文将拆解 CNN 的核心操作卷积、池化回顾经典架构的设计哲学并探讨现代 CNN 如何在 Transformer 时代焕发新生。1. 为什么需要 CNN在全连接网络 (MLP) 中处理图像面临两个巨大问题参数爆炸一张 224x224x3 的图片有 ~15万个像素点如果第一层有 1000 个神经元仅这一层就有 1.5 亿个参数。位置敏感MLP 无法捕捉图像的局部特征如一只猫在左上角还是右下角特征应该是一样的。CNN 引入了两个核心思想来解决这个问题局部感受野 (Local Receptive Field)每个神经元只看图片的一小块区域。权值共享 (Weight Sharing)用同一个卷积核过滤器去扫描整张图。2. 核心组件详解2.1 卷积层 (Convolution)卷积操作本质上是特征提取。不同的卷积核可以提取不同的特征边缘、纹理、形状。Kernel Size (k)卷积核大小常用 1x1, 3x3, 5x5。Stride (s)步长滑动的间隔。Stride 1 会导致特征图尺寸减小。Padding §填充为了保持特征图尺寸或处理边界常用 Zero-padding。输出尺寸计算H o u t ⌊ H i n 2 p − k s ⌋ 1 H_{out} \lfloor \frac{H_{in} 2p - k}{s} \rfloor 1Hout⌊sHin2p−k⌋11x1 卷积的作用重点看起来没用到邻域信息但它可以在不改变特征图宽高的前提下改变通道数 (Channel)。通俗理解想象输入是64层的“千层饼”。1x1卷积就像一根垂直插入的“探针”它不看周围只把这64层的信息揉在一起。降维/升维用32根探针就得到了32层的新饼降维用128根就变成了128层升维。这是网络变深且计算量可控的关键。2.2 池化层 (Pooling)池化用于降采样减少参数量并带来一定的平移不变性。Max Pooling取区域最大值保留最显著特征纹理、边缘。Average Pooling取平均值保留背景信息。2.3 感受野 (Receptive Field)指输出特征图上一个像素点映射回原始输入图像上所能看到的区域大小。堆叠越多的层感受野越大能看到的整体信息越多。3. 经典架构演进 (The Evolution)3.1 开山之作LeNet-5 (1998)贡献确立了Conv - Pool - Conv - Pool - FC的标准范式。应用手写数字识别 (MNIST)。3.2 王者归来AlexNet (2012)爆发点ImageNet 竞赛冠军深度学习复兴的标志。技巧使用了 ReLU 激活函数解决梯度消失、Dropout防过拟合、GPU 加速训练。3.3 更深更简VGG (2014)设计哲学全部使用3x3 小卷积核。洞见感受野等效两个 3x3 堆叠看 5x5三个 3x3 堆叠看 7x7。参数更少三个 3x3 参数量 (3 × 3 2 27 3 \times 3^2 273×3227) 远小于一个 7x7 (7 2 49 7^2 497249)。更强非线性每层后面都跟一个 ReLU三层就多了三次非线性变换让模型能拟合更复杂的函数关系。3.4 深度突破ResNet (2015)痛点网络过深会导致梯度消失和退化问题层数多了反而效果变差。核心残差连接 (Residual Connection)y F ( x ) x y F(x) xyF(x)x让网络只学习输入x xx与输出之间的“残差”部分。这相当于给梯度开了一条“高速公路”使得训练成百上千层的网络成为可能。3.5 效率为王MobileNet EfficientNetMobileNet专为手机端设计。深度可分离卷积将标准卷积拆解为Depthwise(只抽空间特征) Pointwise(1x1卷积只融合通道)。这种“拆解动作”把计算量降低了 8-9 倍。EfficientNet探索模型缩放的黄金法则。复合缩放不再盲目加深或加宽而是发现深度、宽度、分辨率三者之间存在最佳比例。给定算力预算用公式自动算出最优组合实现了“多快好省”。4. 现代 CNN 设计4.1 ConvNeXt (2022)在 2020 年后 Vision Transformer (ViT) 席卷 CV 领域时Meta 推出了 ConvNeXt证明纯 CNN 架构依然可以打败 ViT。核心思想它拿最经典的 ResNet-50 做底子一步步“偷师” Transformer 的先进设计Patchify用 4x4 大步长卷积代替小卷积模拟 ViT 的切块操作。大核卷积使用 7x7 卷积扩大感受野模拟 Attention 的全局视野。倒瓶颈结构中间宽两头窄Channel 维度先升后降模仿 Transformer 的 MLP。Layer Norm GELU全套换成 Transformer 同款组件。5. 代码实践ResNet Block 实现importtorchimporttorch.nnasnnclassResidualBlock(nn.Module):def__init__(self,in_channels,out_channels,stride1):super(ResidualBlock,self).__init__()# 主路径 (Main Path)self.conv1nn.Conv2d(in_channels,out_channels,kernel_size3,stridestride,padding1,biasFalse)self.bn1nn.BatchNorm2d(out_channels)self.relunn.ReLU(inplaceTrue)self.conv2nn.Conv2d(out_channels,out_channels,kernel_size3,stride1,padding1,biasFalse)self.bn2nn.BatchNorm2d(out_channels)# 捷径 (Shortcut/Skip Connection)# 作用确保输入 x 能和输出 out 形状一致从而可以相加self.shortcutnn.Sequential()# 如果 stride 1 (图片变小了) 或者 in ! out (通道数变了)# x 就没法直接加到 out 上必须对 x 做个“整形手术”# 1. 用 1x1 卷积调整通道数# 2. 用 stride 调整图片尺寸ifstride!1orin_channels!out_channels:self.shortcutnn.Sequential(nn.Conv2d(in_channels,out_channels,kernel_size1,stridestride,biasFalse),nn.BatchNorm2d(out_channels))defforward(self,x):identityx# 备份原始输入# 主路径计算outself.conv1(x)outself.bn1(out)outself.relu(out)outself.conv2(out)outself.bn2(out)# 残差连接F(x) x# 注意这里的 shortcut(identity) 可能会对 x 进行下采样或升维outself.shortcut(identity)outself.relu(out)returnout6. 总结CNN 从模拟生物视觉出发通过卷积和池化实现了高效的图像特征提取。VGG告诉我们小卷积核堆叠更好。ResNet告诉我们有了残差连接网络可以无限深。MobileNet告诉我们卷积可以拆开算速度更快。ConvNeXt告诉我们吸收 Transformer 的设计优点CNN 依然能打。虽然 Transformer 在大规模预训练上表现强势但在边缘设备和实时应用中CNN 依然是首选。参考资料ResNet: Deep Residual Learning for Image RecognitionA ConvNet for the 2020s (ConvNeXt)CS231n: Convolutional Neural Networks