25秋深度学习训练营-第3周:MobileNet_ShuffleNet

第3周:MobileNet_ShuffleNet 1.1 MobileNet V1 & V2 MobileNet_V1_V2⽹络讲解 https://www.bilibili.com/video/BV1yE411p7L7/ 参考PPT mobilenet.pdf 传统卷积神经网络,内存需求大、运算量大 导致无法在移动设备以及嵌入式设备上运行 核心:相比传统卷积神经网络,在准确率小幅降低的前提下大大减少模型参数与运算量。 网络中的亮点: Depthwise Convolution(大大减少运算量和参数数量) 增加超参数α、β 传统卷积: DW(Depthwise)卷积: 计算量比较 传统卷积 总计算量为: $$ D_K·D_K·M·N·D_F·D_F $$ MobileNetV1 DW+PW卷积 总计算量为: $$ D_K·D_K·M·D_F·D_F+M·N·D_F·D_F $$

March 7, 2026 · 1 min · 31 words · Me

基于卷积神经网络的图像降噪方法研究(Image Denoising Based on Convolutional Neural Networks)

1. Background 为什么会想到做这样一个实验尝试? 这是我 2025年秋季学期通识课程的作业(课程为:人工神经网络与深度学习基础) 实话说,大一上的课程有一半左右都是水课(上课不听的那种),还有四分之一是公共课(得好好学,考试重要),剩下的仅有的两门:计算机科学与技术导论、人工神经网络与深度学习基础,在陌生的城市,带着一颗低落的心,这两门是仅有的能让我提起兴趣,给我带来快乐感的课。 …… 摄影、计算机技术能摩擦出怎样的火花?我十分好奇,也十分有兴趣。 无聊的我开始了和ChatGPT的对话,我在和他构建由这两个方向共同撑起的世界,我发现当你认真自己思考事情,遇到了一些小的、和事情本身关联性不大的能力型(?)困难时,AI就是这样一个,高质量的工具。有些难以表达这种感受,比如在构建,思考摄影、技术结合的未来可能性这件事上,我自己完全可以一步一步花时间深挖、思考、记录、补充,但在用上AI后,这件事情的做法就出现了变化,brainstorm的过程变成了和一个能理解你的朋友交流的过程,他是一个能理解你,知道你意思的朋友(虽然很多时候是不能知道的,但可以归结于自己的表达能力不够),在和他沟通的时候,他又能帮你记录下这一切,你只需要口述,我还尝试让他一直提醒我,让我别忘了这一切蓝图前景,让我保持激情,同时为我的生活提供动力,但是很遗憾,他不能跳出对话框。 回归正题,当通识课布置出一个期末小论文这样的作业的时候,我是有些没头绪的,甚至有些担心会不会就这样水过去了。还好,我找到了一个有趣的题材;幸好,我有足够的兴趣研究这件事情;更好,课上学的Matlab以及知识点确实能帮助我进一步了解我感兴趣的影像领域,这不是在应付作业,或者说,这个实验的根本目的甚至不是为了完成这样一个期末任务,而是一次我自己的探索。这是我想象中课程学习价值的最正确的兑现形式。 计导课也给了我很大的启发,课上提到了CV相关的内容,让我知道了很多基础的图像后期处理操作都是通过卷积的方式,比如锐化、模糊等等,对于这些底层的技术内容有了更深一步的了解,那节课提到这一点的那页PPT简直让我醍醐灌顶!! 拓宽CNN传统情况中的数据对标签形式 是否能打破传统局限思考,让数据和标签形式一致? 带着这样的思考,我的脑中跳出了由高噪点图像到低噪点图像的对应。这一种独特的映射关系,不正是符合CNN吗? 当然,有了想法之后,是时候开始思考可行性: 高噪点和低噪点之间的关系是否能找到规律? 不同环境下的情况怎么办? 噪点产生的原因有多种,合理性? …… 从这些角度来看,这样一个实验似乎完完全全是不成熟的,但又何妨?Just do it. 抱着多多少少能得到一些收获的心态,我开始了实验。 2. Let’s do it! 由于具体、正式的内容已经在论文(自己玩玩的)中较为完整地给出,本文章只会做我想留下的补充,做记录和复盘用途。 翻译:想到啥说啥 整体思路流程 本文所提出的图像降噪方法流程主要包括数据采集与预处理、卷积神经网络模型构建、模型训练以及图像仿真预测四个阶段。首先,在暗光环境下固定拍摄场景,分别使用高 ISO 与低 ISO 参数获取成对图像数据。随后,对图像进行裁剪并划分为固定大小的图像patch,构建训练样本。接着,设计并训练卷积神经网络模型,使其学习高噪声图像到低噪声图像之间的映射关系。最后,将训练完成的模型应用于完整图像的降噪处理,实现仿真预测。 首先是数据集的准备: 在答辩时,老师问我:这些高低噪点的图像都是你自己准备的吗? 我的第一反应是“不然呢?” 而思考之后,这句话也让我意识到了很多东西: 对于我一个玩摄影的来说,准备这些数据集完全不是问题,但并不是所有人都这样,应该说大部分人不会有对这方面垂直的了解,当然,也从另一方面说明了我的选题合理与贴合性: 为了获取真实的图像噪声数据,本文在暗光环境下使用相机对同一场景进行多次拍摄,分别设置高 ISO (ISO 12800)和低 ISO (ISO 100)参数。高 ISO 图像由于感光度较高,包含较多噪声信息,而低 ISO 图像则相对清晰,噪声较少。为了保证除了噪点信息差异外,图像内容不存在偏差,在调整 ISO 时同时调整快门速度,确保画面曝光一致。 通过从老师的角度思考这句话,我了解到了在对于神经网络的应用里,数据的重要性,如ImageNet的存在同样说明了这一点,在AI时代,除了底层算法逻辑的改动之外,能比拼出差距的地方就在于:数据、算力——又联想到内存的断供、电力行业的蓬勃前景 高 ISO 与低 ISO 图像对比示例: 数据预处理与Patch切分 这一步骤是我自己没有构想出来的,源于ChatGPT为我设计的实验思路,学习了 图像 Patch 切分示意图: 卷积神经网络模型构建与训练 网络结构如下: ...

January 22, 2026 · 1 min · 108 words · Me

25秋深度学习训练营-第2周:卷积神经网络

第2周:卷积神经网络 学习内容:https://oucai.club/classes/dl/week01#第2周-卷积神经网络 学习视频:https://www.jianguoyun.com/p/Dde3HS8QrKKIBhi2xpEGIAA 视频学习至1小时06分,包括: CNN的基本结构:卷积、池化、全连接 代码练习 实验1: 使用 LeNet 对 MNIST 数据集分类 代码见https://oucai.club/classes/dl/week02 Epoch [1/10], Step [100/938], Loss: 0.9421, Accuracy: 70.53% Epoch [1/10], Step [200/938], Loss: 0.2978, Accuracy: 80.96% Epoch [1/10], Step [300/938], Loss: 0.1998, Accuracy: 85.28% Epoch [1/10], Step [400/938], Loss: 0.1483, Accuracy: 87.91% Epoch [1/10], Step [500/938], Loss: 0.1318, Accuracy: 89.54% Epoch [1/10], Step [600/938], Loss: 0.1123, Accuracy: 90.72% Epoch [1/10], Step [700/938], Loss: 0.0962, Accuracy: 91.64% Epoch [1/10], Step [800/938], Loss: 0.1050, Accuracy: 92.31% Epoch [1/10], Step [900/938], Loss: 0.0876, Accuracy: 92.84% Test Loss: 0.0854, Test Accuracy: 97.36% Epoch [2/10], Step [100/938], Loss: 0.0724, Accuracy: 97.58% Epoch [2/10], Step [200/938], Loss: 0.0759, Accuracy: 97.56% Epoch [2/10], Step [300/938], Loss: 0.0701, Accuracy: 97.63% Epoch [2/10], Step [400/938], Loss: 0.0674, Accuracy: 97.72% Epoch [2/10], Step [500/938], Loss: 0.0710, Accuracy: 97.73% Epoch [2/10], Step [600/938], Loss: 0.0669, Accuracy: 97.77% Epoch [2/10], Step [700/938], Loss: 0.0625, Accuracy: 97.82% Epoch [2/10], Step [800/938], Loss: 0.0561, Accuracy: 97.88% Epoch [2/10], Step [900/938], Loss: 0.0608, Accuracy: 97.91% Test Loss: 0.0484, Test Accuracy: 98.39% Epoch [3/10], Step [100/938], Loss: 0.0442, Accuracy: 98.55% Epoch [3/10], Step [200/938], Loss: 0.0591, Accuracy: 98.39% Epoch [3/10], Step [300/938], Loss: 0.0406, Accuracy: 98.51% Epoch [3/10], Step [400/938], Loss: 0.0455, Accuracy: 98.55% Epoch [3/10], Step [500/938], Loss: 0.0498, Accuracy: 98.51% Epoch [3/10], Step [600/938], Loss: 0.0424, Accuracy: 98.51% Epoch [3/10], Step [700/938], Loss: 0.0452, Accuracy: 98.52% Epoch [3/10], Step [800/938], Loss: 0.0542, Accuracy: 98.49% Epoch [3/10], Step [900/938], Loss: 0.0410, Accuracy: 98.50% Test Loss: 0.0415, Test Accuracy: 98.62% Epoch [4/10], Step [100/938], Loss: 0.0353, Accuracy: 98.89% Epoch [4/10], Step [200/938], Loss: 0.0337, Accuracy: 98.92% Epoch [4/10], Step [300/938], Loss: 0.0398, Accuracy: 98.90% Epoch [4/10], Step [400/938], Loss: 0.0357, Accuracy: 98.89% Epoch [4/10], Step [500/938], Loss: 0.0416, Accuracy: 98.84% Epoch [4/10], Step [600/938], Loss: 0.0442, Accuracy: 98.80% Epoch [4/10], Step [700/938], Loss: 0.0336, Accuracy: 98.80% Epoch [4/10], Step [800/938], Loss: 0.0319, Accuracy: 98.85% Epoch [4/10], Step [900/938], Loss: 0.0400, Accuracy: 98.84% Test Loss: 0.0440, Test Accuracy: 98.60% Epoch [5/10], Step [100/938], Loss: 0.0287, Accuracy: 99.17% Epoch [5/10], Step [200/938], Loss: 0.0251, Accuracy: 99.23% Epoch [5/10], Step [300/938], Loss: 0.0291, Accuracy: 99.18% Epoch [5/10], Step [400/938], Loss: 0.0275, Accuracy: 99.18% Epoch [5/10], Step [500/938], Loss: 0.0351, Accuracy: 99.09% Epoch [5/10], Step [600/938], Loss: 0.0325, Accuracy: 99.07% Epoch [5/10], Step [700/938], Loss: 0.0320, Accuracy: 99.05% Epoch [5/10], Step [800/938], Loss: 0.0337, Accuracy: 99.03% Epoch [5/10], Step [900/938], Loss: 0.0245, Accuracy: 99.06% Test Loss: 0.0468, Test Accuracy: 98.52% Epoch [6/10], Step [100/938], Loss: 0.0277, Accuracy: 99.05% Epoch [6/10], Step [200/938], Loss: 0.0258, Accuracy: 99.11% Epoch [6/10], Step [300/938], Loss: 0.0264, Accuracy: 99.14% Epoch [6/10], Step [400/938], Loss: 0.0229, Accuracy: 99.18% Epoch [6/10], Step [500/938], Loss: 0.0194, Accuracy: 99.23% Epoch [6/10], Step [600/938], Loss: 0.0277, Accuracy: 99.19% Epoch [6/10], Step [700/938], Loss: 0.0233, Accuracy: 99.20% Epoch [6/10], Step [800/938], Loss: 0.0238, Accuracy: 99.20% Epoch [6/10], Step [900/938], Loss: 0.0288, Accuracy: 99.18% Test Loss: 0.0554, Test Accuracy: 98.28% Epoch [7/10], Step [100/938], Loss: 0.0193, Accuracy: 99.28% Epoch [7/10], Step [200/938], Loss: 0.0249, Accuracy: 99.28% Epoch [7/10], Step [300/938], Loss: 0.0211, Accuracy: 99.33% Epoch [7/10], Step [400/938], Loss: 0.0196, Accuracy: 99.37% Epoch [7/10], Step [500/938], Loss: 0.0257, Accuracy: 99.30% Epoch [7/10], Step [600/938], Loss: 0.0226, Accuracy: 99.30% Epoch [7/10], Step [700/938], Loss: 0.0212, Accuracy: 99.30% Epoch [7/10], Step [800/938], Loss: 0.0267, Accuracy: 99.29% Epoch [7/10], Step [900/938], Loss: 0.0181, Accuracy: 99.30% Test Loss: 0.0441, Test Accuracy: 98.65% Epoch [8/10], Step [100/938], Loss: 0.0145, Accuracy: 99.50% Epoch [8/10], Step [200/938], Loss: 0.0164, Accuracy: 99.48% Epoch [8/10], Step [300/938], Loss: 0.0179, Accuracy: 99.46% Epoch [8/10], Step [400/938], Loss: 0.0161, Accuracy: 99.44% Epoch [8/10], Step [500/938], Loss: 0.0165, Accuracy: 99.44% Epoch [8/10], Step [600/938], Loss: 0.0177, Accuracy: 99.45% Epoch [8/10], Step [700/938], Loss: 0.0211, Accuracy: 99.43% Epoch [8/10], Step [800/938], Loss: 0.0210, Accuracy: 99.41% Epoch [8/10], Step [900/938], Loss: 0.0194, Accuracy: 99.41% Test Loss: 0.0316, Test Accuracy: 99.08% Epoch [9/10], Step [100/938], Loss: 0.0100, Accuracy: 99.69% Epoch [9/10], Step [200/938], Loss: 0.0136, Accuracy: 99.63% Epoch [9/10], Step [300/938], Loss: 0.0176, Accuracy: 99.56% Epoch [9/10], Step [400/938], Loss: 0.0210, Accuracy: 99.50% Epoch [9/10], Step [500/938], Loss: 0.0144, Accuracy: 99.52% Epoch [9/10], Step [600/938], Loss: 0.0167, Accuracy: 99.50% Epoch [9/10], Step [700/938], Loss: 0.0228, Accuracy: 99.46% Epoch [9/10], Step [800/938], Loss: 0.0197, Accuracy: 99.46% Epoch [9/10], Step [900/938], Loss: 0.0136, Accuracy: 99.46% Test Loss: 0.0403, Test Accuracy: 98.86% Epoch [10/10], Step [100/938], Loss: 0.0097, Accuracy: 99.66% Epoch [10/10], Step [200/938], Loss: 0.0141, Accuracy: 99.59% Epoch [10/10], Step [300/938], Loss: 0.0089, Accuracy: 99.63% Epoch [10/10], Step [400/938], Loss: 0.0187, Accuracy: 99.59% Epoch [10/10], Step [500/938], Loss: 0.0182, Accuracy: 99.56% Epoch [10/10], Step [600/938], Loss: 0.0150, Accuracy: 99.55% Epoch [10/10], Step [700/938], Loss: 0.0113, Accuracy: 99.55% Epoch [10/10], Step [800/938], Loss: 0.0200, Accuracy: 99.51% Epoch [10/10], Step [900/938], Loss: 0.0195, Accuracy: 99.50% Test Loss: 0.0391, Test Accuracy: 98.93% Best Test Accuracy: 99.08% 经过多轮训练尝试,我们发现第十次的准确度并非最高,反而是第九次的准确度达到了99%以上 ...

December 12, 2025 · 9 min · 1874 words · Me

25秋深度学习训练营-第1周:深度学习基础

第1周:深度学习基础 学习内容:https://oucai.club/classes/dl/week01#第1周-深度学习基础 学习视频:https://www.jianguoyun.com/p/Dde3HS8QrKKIBhi2xpEGIAA 学习要求: 深度学习的入门知识 pytorch 基础练习,螺旋数据分类代码练习 1、视频学习 学习视频:深度学习基础,主要内容包括: 浅层神经⽹络:⽣物神经元到单层感知器,多层感知器,反向传播和梯度消失 神经⽹络到深度学习:逐层预训练,⾃编码器和受限玻尔兹曼机 2、代码练习 可以在Google Colaboratory开发Deep Learning Applications,它自带免费的Tesla K80 GPU。 1. PyTorch 基础练习 什么是 PyTorch ? PyTorch是一个python库,它主要提供了两个高级功能: GPU加速的张量计算 构建在反向自动求导系统上的深度神经网络 1. 定义数据 Tensor支持各种各样类型的数据,包括: torch.float32, torch.float64, torch.float16, torch.uint8, torch.int8, torch.int16, torch.int32, torch.int64 2. 定义操作 凡是用Tensor进行各种运算的,都是Function 最终,还是需要用Tensor来进行计算的,计算无非是 基本运算,加减乘除,求幂求余 布尔运算,大于小于,最大最小 线性运算,矩阵乘法,求模,求行列式 基本运算包括: abs/sqrt/div/exp/fmod/pow ,及一些三角函数 cos/ sin/ asin/ atan2/ cosh,及 ceil/round/floor/trunc 等 布尔运算包括: gt/lt/ge/le/eq/ne,topk, sort, max/min 线性计算包括: trace, diag, mm/bmm,t,dot/cross,inverse,svd 等 在对m与v进行矩阵乘法时,报错如下 原因在于在前文代码中,m的dtype为float,而v的dtype为Long 因此,将代码m @ v改为m @ v.float(),把矩阵v的dtype转化为float进行乘法操作 ...

December 2, 2025 · 3 min · 455 words · Me