卷积神经网络(CNN) 学习笔记1

目录

1.典型层级结构

[1.1. 输入端:数据输入层 (Input Layer)](#1.1. 输入端:数据输入层 (Input Layer))

[1.2. 中间层:核心特征提取层](#1.2. 中间层:核心特征提取层)

[1.3. 输出端:全连接层 (FC Layer)](#1.3. 输出端:全连接层 (FC Layer))

2.实例

2.1.神经网络的设计和实现

2.2.训练数据的准备和处理

2.2.1获取数据

[2.2.2 读取数据](#2.2.2 读取数据)

2.3.模型的训练和测试流程

[2.3.1 训练模型](#2.3.1 训练模型)

[2.3.2 测试模型](#2.3.2 测试模型)

参考资料


这篇笔记的是在想在FPGA中部署CNN的学习过程中做的笔记,主要是记录在学习B站"从零设计并训练一个神经网络,你就能真正理解它了_哔哩哔哩_bilibili"课程时做的一些笔记,只是大概了解CNN如何搭建的全流程,但是对CNN的内部结构还是不了解。

1.典型层级结构

CNN的典型层级结构如下图所示。图来源于参考资料1。

图中卷积神经网络(CNN) 的典型层级结构分为三个主要部分,分别是输入层、中间层、输出层。每一层的功能如下:

1.1. 输入端:数据输入层 (Input Layer)

这是架构的最左侧,主要负责对原始数据进行预处理,以提升训练效果和模型的稳定性。常见的处理手段包括:

  • 去均值 (Mean Subtraction): 将数据各维度中心化为 0,防止数据偏差影响训练。

  • 归一化 (Normalization): 将所有数据缩放到统一的范围。

  • 其他: 如 PCA(主成分分析)和白化(Whitening)等。

1.2. 中间层:核心特征提取层

这是 CNN 的主体部分,通常由以下三种层反复堆叠而成:

  • CONV (卷积计算层): 负责特征提取,通过线性乘积并求和的方式捕捉局部特征。这是 CNN 的核心

  • RELU (激活层): 采用 ReLU 等激活函数,为模型引入非线性,使其能处理复杂的特征。

  • POOL (池化层): 进行下采样(取区域平均值或最大值),目的是减小数据维度,减少计算量并防止过拟合。

1.3. 输出端:全连接层 (FC Layer)

位于架构的最右边:

  • FC (Fully Connected Layer): 负责将前面提取到的各种特征进行汇总,最终用于分类或回归任务。

2.实例

此例子来自参考资料2。

2.1.神经网络的设计和实现

2.2.训练数据的准备和处理

2.2.1获取数据

2.2.2 读取数据

2.3.模型的训练和测试流程

2.3.1 训练模型

2.3.2 测试模型

参考资料

  1. CNN笔记:通俗理解卷积神经网络_cnn卷积神经网络-CSDN博客:介绍了cnn的基础知识,主要是如何识别出物体的类别,卷积是怎么运算的。

2.从零设计并训练一个神经网络,你就能真正理解它了_哔哩哔哩_bilibili:以手写数字为例子,介绍了前馈

相关推荐
hboot1 天前
AI工程师第四课 - 深度学习入门
pytorch·python·神经网络
宝贝儿好14 天前
【LLM】第二章:HuggingFace入门学习
人工智能·深度学习·神经网络·学习·算法·自然语言处理
神仙别闹14 天前
基于C++ 实现 BP 神经网络
开发语言·c++·神经网络
我登哥MVP14 天前
NeuSO揭秘:用神经网络玩转图数据库子图查询优化
数据库·人工智能·神经网络·图数据库
DXM052115 天前
第14期|高阶分割模型:Transformer/SegFormer遥感应用
人工智能·python·神经网络·算法·计算机视觉·cnn·ageo
装不满的克莱因瓶15 天前
掌握3D CNN模型结构——从时空特征建模到视频理解与医学影像核心架构
人工智能·pytorch·python·深度学习·神经网络·3d·cnn
2401_8856651915 天前
从零搭建CNN到迁移学习:以食物分类为例深入理解PyTorch图像分类实战
人工智能·pytorch·深度学习·分类·cnn·迁移学习
小龙报15 天前
用ChatGPT 5.5构建个人写作工作流:从大纲、初稿到风格润色的提示词链
人工智能·神经网络·低代码·自然语言处理·chatgpt·gpt-3·知识图谱
极光代码工作室16 天前
基于深度学习的手写数字识别系统
人工智能·python·深度学习·神经网络·机器学习
weixin_5500831516 天前
全量的记忆压缩与意义保存
人工智能·深度学习·神经网络·transformer·agi