深度学习笔记--CNN卷积网络 + CNN自编码器 深度学习视觉基础学习笔记CNN卷积网络 CNN自编码器前言本周基于两层神经网络、反向传播、梯度校验等前置知识系统学习两大基础视觉模型CNN有监督图像分类网络、CNN-Based AutoEncoder无监督自编码器。第一部分 CNN卷积神经网络理论详解一、CNN诞生背景为什么不用全连接网络之前两层全连接网络处理图像时会把二维图片直接拉成一维向量完全丢失图片空间位置、局部纹理、边缘关联信息模型泛化差、极易过拟合。CNN引入卷积操作保留图像二维空间结构只提取局部特征参数量更少、泛化能力更强是所有计算机视觉网络底层基础。二、CNN全部基础模块详细原理1. 卷积层 Conv2d核心特征提取模块核心作用使用固定尺寸卷积核滑动遍历整张图像提取局部特征。浅层卷积提取边缘、线条深层卷积提取轮廓、整体形状。关键参数in_channels输入通道灰度图1RGB彩色图3out_channels输出特征图数量代表提取多少类不同特征kernel_size卷积核尺寸常用3×3小核轻量化、效果好padding边缘补0padding1可保证卷积后图片长宽不变避免丢失边缘像素特征stride滑动步长步长越大输出尺寸越小。输出尺寸计算公式OutputInput−Kernel2×PaddingStride1Output\frac{Input - Kernel 2\times Padding}{Stride}1OutputStrideInput−Kernel2×Padding​12. 池化层 MaxPool2d下采样压缩作用缩小特征图长宽减少参数量、降低计算开销保留区域内最显著特征抑制过拟合。最大池化原理取窗口内像素最大值保留纹理、轮廓关键信息无可训练权重仅做数据压缩。实操规律池化stride2图片长宽直接缩小一半。3. ReLU激活函数引入非线性公式f(x)max(0,x)f(x)max(0,x)f(x)max(0,x)若网络无激活函数多层卷积叠加等价于单层线性运算无法拟合手写数字这类非线性数据。ReLU将负数置0赋予网络非线性拟合能力同时缓解深层梯度消失。4. BN批量归一化 BatchNorm2d每一层卷积输出数据分布会不断偏移导致训练收敛慢。BN对特征标准化统一数据分布大幅加快模型收敛速度降低学习率调参难度。标准堆叠顺序Conv → BN → ReLU。5. ResNet残差基础概念拓展知识点单纯堆叠多层卷积会出现网络退化网络越深精度反而下降、梯度消失。残差短路连接直接跨层传递原始特征让网络只学习残差映射支撑深层网络稳定训练是后续U-Net、YOLO标配结构。三、CNN完整训练逻辑MNIST手写数字分类数据预处理图像转为张量、像素归一化划分训练集/测试集批量打乱加载网络前向传播卷积提取特征→池化压缩→展平→全连接输出10类数字预测值损失函数交叉熵CrossEntropyLoss计算预测类别与真实标签差距标准训练五步循环梯度清零→前向传播计算预测→计算损失→反向传播求梯度→优化器更新卷积、全连接权重训练现象10轮迭代后训练损失持续下降测试准确率最高99.09%卷积网络效果远优于纯全连接网络。四、CNN实操问题汇总代码结构错误网络类内部写入模型初始化代码执行时报类未定义维度报错卷积通道、池化后特征尺寸计算错误全连接输入维度不匹配绘图警告Matplotlib无中文字体图表中文显示方框乱码环境报错Anaconda与PyTorch OpenMP库冲突程序运行终止。第二部分 CNN自编码器 AutoEncoder 完整理论一、自编码器定位与核心特点任务类型无监督学习不需要图像标签仅使用原图作为监督信号搭建基础完全基于CNN卷积、池化、上采样组件搭建核心目标学习图像压缩与重建两大落地任务图像去噪、图像降维。二、三大核心结构编码器Encoder、隐向量Latent、解码器Decoder1. 编码器 Encoder压缩模块由卷积层最大池化堆叠组成持续缩小图像长宽、压缩通道数将高维图像映射为极低维度的latent隐向量。单张28×28灰度原图原始维度28×28784维经过编码器压缩至32维隐向量实现图像轻量化存储。2. Latent隐向量图像压缩特征隐向量是整张图片的抽象低维表征存储图片核心轮廓、纹理信息剔除冗余像素。超参数规律隐向量维度设置越小压缩程度越高但丢失细节越多重建图像会模糊。3. 解码器 Decoder还原重建模块由上采样Upsample卷积层堆叠与编码器结构对称。上采样放大特征图尺寸逐步恢复图像长宽最后一层使用Sigmoid激活将输出像素限制在0~1和原图像素范围匹配。三、损失函数MSE均方误差逐像素计算重建图像与原始干净图像的差值模型训练目标是不断缩小MSE损失让重建图片无限接近原图。计算公式Loss1n∑i1n(y^i−yi)2Loss\frac{1}{n}\sum_{i1}^n (\hat{y}_i-y_i)^2Lossn1​∑i1n​(y^​i​−yi​)2四、两大实操任务理论原理任务1图像去噪训练阶段给干净手写数字添加高斯噪声将带噪图片输入编码器以原始无噪声图片为标签训练。模型学习过滤随机噪声仅保留数字核心特征推理时输入任意带噪图像即可输出清晰降噪图像。任务2图像降维重建不添加噪声直接输入原图压缩为低维隐向量再通过解码器还原图像。验证逻辑极低维度隐向量仍可还原清晰数字证明隐向量完整保存图像关键特征可用于图像数据压缩、特征检索。五、自编码器训练流程数据集复用MNIST灰度图简化预处理不做标准化方便添加噪声搭建对称编解码CNN结构分开定义压缩、还原模块训练20轮每轮输入噪声图片以干净原图为优化目标训练完成后可视化三组对比图原图、噪声图、降噪重建图原图、降维重建图。六、实操踩坑完整总结解码器未加Sigmoid输出像素超出0~1区间重建图像发黑、发白损失震荡不收敛上采样通道不匹配解码器卷积输出通道与输入灰度图通道不一致直接维度报错GPU张量绘图未将张量转移至CPU绘图代码运行失败隐向量维度过小图像细节丢失重建结果模糊。第三部分 CNN与AutoEncoder核心理论对比网络学习类型是否需要标签核心目标核心结构CNN分类网络有监督学习需要类别标签区分不同图像类别卷积池化全连接输出分类结果AutoEncoder自编码器无监督学习无需标签只用原图图像压缩、降噪重建编码器压缩解码器重建输出还原图像第四部分 本周整体知识收获打通图像网络底层逻辑理解卷积提取空间特征的优势掌握卷积、池化、BN、激活全套算子原理分清有监督、无监督视觉模型差异吃透自编码器编解码、隐向量完整理论熟练掌握深度学习标准训练流程能独立处理环境冲突、维度、绘图等各类代码报错搭建浅层视觉网络完整知识框架为下周U-Net分割、YOLO检测、RNN时序网络打好理论基础。第五部分 当前现存问题 下周学习规划现存学习问题隐向量维度对图像重建效果的影响缺少定量调参对比实验调参经验不足深层网络超参数学习率、卷积通道数调试经验欠缺。下周学习计划U-Net学习对称编解码、跳跃连接、上采样、语义分割原理完成医学影像分割实验YOLOv5/v8掌握多尺度检测、锚框、检测损失、实时推理完成自定义物体识别RNN/LSTM/GRU学习循环单元、门控机制解决时序梯度消失完成文本、时序预测整合本周CNN、自编码器全部代码、实验结果、笔记整理完整学习文档。