卷积神经网络(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:以手写数字为例子,介绍了前馈

相关推荐
richard_yuu16 小时前
LMS 算法:从最小二乘到随机梯度下降,工业自适应滤波的核心
深度学习·神经网络·机器学习
TAN-90°-16 小时前
Deep Learning for Computer Vision——Generative Models 2
人工智能·深度学习·神经网络·算法·目标检测·机器学习·计算机视觉
程序猿在线码字17 小时前
深度学习(一)
python·深度学习·神经网络·机器学习
tigershang18 小时前
从工具到结构:工科数学的升阶之路
神经网络·机器学习·概率论
一只废狗狗狗狗狗狗狗狗狗18 小时前
机器学习任务攻略
神经网络·机器学习
YOLO_DATA19 小时前
无人机高速公路道路缺陷数据集 道路损伤数据集 公路裂缝识别 AI大疆数据集 10798期
人工智能·深度学习·yolo·机器学习·cnn
Ivanqhz1 天前
BM1688 双核架构
python·深度学习·神经网络·cnn·mlir
autotian1 天前
神经网络及其应用
人工智能·深度学习·神经网络
Carol06301 天前
GPU芯片
神经网络
Ivanqhz2 天前
矩阵引擎的数据流模式与 BM1684X 架构
java·服务器·网络·深度学习·神经网络