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

news2025/6/4 9:22:33

什么是 CNN?

CNN,全称 卷积神经网络(Convolutional Neural Network),是一种专门用来处理图片、语音、文本等结构化数据的神经网络。
它模仿人眼识别图像的方式:
从局部到整体,一步步提取特征,最后做出判断。

什么叫“卷积”?

卷积这个词,来源于数学中的卷积操作
简单说,就是用一个小方块(卷积核)在图片上滑动,把相邻像素做个“加权求和”,用来提取特定特征。
比如:

  • 检测边缘
  • 识别线条
  • 找出颜色块

CNN 结构组成

CNN 通常由以下几部分组成:

  1. 卷积层(Convolutional Layer)
  2. 激活函数(Activation Function)
  3. 池化层(Pooling Layer)
  4. 全连接层(Fully Connected Layer)
  5. 输出层(Output Layer)

CNN 常见术语速查表

专有名词含义
卷积核(Filter)提取局部特征的小方块
步长(Stride)卷积核每次移动的格子数
填充(Padding)给图像边缘补零,避免尺寸缩小
激活函数增强模型非线性能力,常用 ReLU
池化降维、保留关键信息,防止过拟合
全连接层将所有特征组合分类
损失函数衡量预测值和真实值的差距

图片识别

图片识别-Neuron Versin

李宏毅老师: 《机器学习》 学习笔记

overall

输入是一张图片,输出是图片的分类: cat/dog…
在这里插入图片描述
计算每一个像素–判断是否是cat
在这里插入图片描述

Cverservation 1 - 不需要观察整张图片

只观察一张图片特定的几个部分,如下面例子中的: 鸟嘴/鸟眼/鸟爪
在这里插入图片描述

Simplification 1 - Typical Setting
  1. kernel size(卷积核(filter)): 3 * 3
  2. all channels
  3. stride(步长)=1:每次移动一个像素,沿着水平+垂直方向移动
  4. padding:就是在输入特征图(图片或序列)边缘周围补上额外像素(通常是 0),目的是为了:
    • 保持输出尺寸不变
    • 控制特征图尺寸变化规律
    更好地提取边缘特征
    在这里插入图片描述

Cverservation 2 - 共享参数

在这里插入图片描述

Simplification 2
原理
  • weight: 决定输入信号对神经元输出的影响程度
  • bias: 偏移值,帮助模型更灵活拟合数据
    在这里插入图片描述
Typical Setting

在这里插入图片描述

图片识别-Filter Version

feature map

在这里插入图片描述

Multiple Convolutional layers

在这里插入图片描述

Comparision of 2 Stories

在这里插入图片描述

Pooling - Max Pooling

卷积操作后,特征图通常很大,这时候用 **subsampling(池化 Pooling)**来降低特征图尺寸,但保留重要特征。

在这里插入图片描述

  • 特征提取(Feature Extraction) 就是:从原始数据中,把能代表事物本质特征的信息挑选出来,作为模型输入的过程。
    • 最大特征(Max Feature / Max Pooling): 从一堆特征值里,取最大值作为代表
    • 平均特征(Average Feature / Average Pooling): 从一堆特征值里,计算平均值作为代表
      在这里插入图片描述

Convolutional Layers + Pooling

在这里插入图片描述

The Whole CNN

在这里插入图片描述

Application Playing Go(略)

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2394525.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

VLAN的作用和原理

1. 为什么要有vlan? 分割广播域,避免广播风暴,造成网络资源的浪费 可以灵活的组网,便于管理,同时还有安全加固的功能 2. vlan是怎么实现的?端口的原理? 设置VLAN后,流量之间的转…

深入探讨集合与数组转换方法

目录 1、Arrays.asList() 1.1、方法作用 1.2、内部实现 1.3、修改元素的影响 1.4、注意事项 2、list.toArray() 2.1、方法作用 2.2、内部实现 2.3、修改元素的影响 2.4、特殊情况 1、对象引用 2、数组copy 3、对比总结 4、常见误区与解决方案 5、实际应用建议…

【HarmonyOS 5应用架构详解】深入理解应用程序包与多Module设计机制

⭐本期内容:【HarmonyOS 5应用架构详解】深入理解应用程序包与多Module设计机制 🏆系列专栏:鸿蒙HarmonyOS:探索未来智能生态新纪元 文章目录 前言应用与应用程序包应用程序的基本概念应用程序包的类型标识机制应用安装流程 应用的…

【Oracle】DCL语言

个人主页:Guiat 归属专栏:Oracle 文章目录 1. DCL概述1.1 什么是DCL?1.2 DCL的核心功能 2. 用户管理2.1 创建用户2.2 修改用户2.3 删除用户2.4 用户信息查询 3. 权限管理3.1 系统权限3.1.1 授予系统权限3.1.2 撤销系统权限 3.2 对象权限3.2.1…

MySQL强化关键_017_索引

目 录 一、概述 二、索引 1.主键索引 2.唯一索引 3.查看索引 4.添加索引 (1)建表时添加 (2)建表后添加 5.删除索引 三、树 1.二叉树 2.红黑树 3.B树 4.B树 (1)为什么 MySQL 选择B树作为索引…

【备忘】php命令行异步执行超长时间任务

环境说明: 操作系统:windows10 IDE:phpstorm 开发语言:php7.4 框架:thinkphp5.1 测试环境:linuxwindows均测试通过。 初级方法: function longRunningTask() {$root_path Tools::get_ro…

在 RK3588 上通过 VSCode 远程开发配置指南

在 RK3588 上通过 VSCode 远程开发配置指南 RK3588 设备本身不具备可视化编程环境,但可以通过 VSCode 的 Remote - SSH 插件 实现远程代码编写与调试。以下是完整的配置流程。 一、连接 RK3588 1. 安装 Debian 系统 先在 RK3588 上安装 Debian 操作系统。 2. 安…

OpenHarmony标准系统-HDF框架之音频驱动开发

文章目录 引言OpenHarmony音频概述OpenHarmony音频框图HDF音频驱动框架概述HDF音频驱动框图HDF音频驱动框架分析之音频设备驱动HDF音频驱动框架分析之supportlibs实现HDF音频驱动框架分析之hdi-passthrough实现HDF音频驱动框架分析之hdi-bindev实现HDF音频驱动加载过程HDF音频驱…

HTML Day03

Day03 0. 引言1. CSS1.1 CSS的3种使用方法1.2 内联样式1.3 内部样式表1.4 外部CSS文件 2. 图像3. 表格3.1单元格间距和单元格边框 4. 列表4.1 有序表格的不同类型4.2 不同类型的无序表格4.3 嵌套列表 5. 区块6. 布局6.1 div布局6.2 表格布局 0. 引言 HELLO ^ _ ^大家好&#xf…

篇章六 数据结构——链表(二)

目录 1. LinkedList的模拟实现 1.1 双向链表结构图​编辑 1.2 三个简单方法的实现 1.3 头插法 1.4 尾插法 1.5 中间插入 1.6 删除 key 1.7 删除所有key 1.8 clear 2.LinkedList的使用 2.1 什么是LinkedList 5.2 LinkedList的使用 1.LinkedList的构造 2. LinkedList的…

吴恩达MCP课程(3):mcp_chatbot

原课程代码是用Anthropic写的,下面代码是用OpenAI改写的,模型则用阿里巴巴的模型做测试 .env 文件为: OPENAI_API_KEYsk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx OPENAI_API_BASEhttps://dashscope.aliyuncs.com/compatible-mode…

【清晰教程】查看和修改Git配置情况

目录 查看安装版本 查看特定配置 查看全局配置 查看本地仓库配置 设置或修改配置 查看安装版本 打开命令行工具,通过version命令检查Git版本号。 git --version 如果显示出 Git 的版本号,说明 Git 已经成功安装。 查看特定配置 如果想要查看特定…

JAVA 常用 API 正则表达式

1 正则表达式作用 作用一:校验字符串是否满足规则作用二:在一段文本中查找满足要求的内容 2 正则表达式规则 2.1 字符类 package com.bjpowernode.test14;public class RegexDemo1 {public static void main(String[] args) {//public boolean matche…

光电设计大赛智能车激光对抗方案分享:低成本高效备赛攻略

一、赛题核心难点与备赛痛点解析 全国大学生光电设计竞赛的 “智能车激光对抗” 赛题,要求参赛队伍设计具备激光对抗功能的智能小车,需实现光电避障、目标识别、轨迹规划及激光精准打击等核心功能。从历年参赛情况看,选手普遍面临三大挑战&a…

Python实现P-PSO优化算法优化BP神经网络回归模型项目实战

说明:这是一个机器学习实战项目(附带数据代码文档),如需数据代码文档可以直接到文章最后关注获取。 1.项目背景 在当今数据驱动的时代,回归分析作为预测和建模的重要工具,在科学研究和工业应用中占据着重要…

Microsoft的在word中选择文档中的所有表格进行字体和格式的调整时的解决方案

找到宏 创建 并粘贴 使用 Sub 全选所有表格() Dim t As Table an MsgBox("即将选择选区内所有表格,若无选区,则选择全文表格。", vbYesNo, "reboot提醒您!") If an - 6 Then Exit Sub Set rg IIf(Selection.Type wdSelectionIP, …

C++23:关键特性与最新进展深度解析

文章目录 范围的新功能与增强元组的优化与新特性字符与字符串的转义表示优化std::thread::id的改进与扩展栈踪迹的格式化支持结论 C23作为C标准的最新版本,带来了许多令人瞩目的改进和新特性。从新的范围和元组功能到对字符和字符串转义表示的优化,再到 …

鲲鹏Arm+麒麟V10 K8s 离线部署教程

针对鲲鹏 CPU 麒麟 V10 的离线环境,手把手教你从环境准备到应用上线,所有依赖包提前打包好,步骤写成傻瓜式操作指南。 一、环境规划# 准备至少两台机器。 架构OS作用Arm64任意,Mac 也可以下载离线包Arm64麒麟 V10单机部署 K8s…

PGSQL结合linux cron定期执行vacuum_full_analyze命令

‌VACUUM FULL ANALYZE 详解‌ 一、核心功能 ‌空间回收与重组‌ 完全重写表数据文件,将碎片化的存储空间合并并返还操作系统(普通 VACUUM 仅标记空间可重用)。彻底清理死元组(已删除或更新的旧数据行),解…

C#定时器深度对比:System.Timers.Timer vs System.Threading.Timer性能实测与选型指南

本文通过真实基准测试揭秘两种常用定时器的性能差异,助你做出最佳选择 一、C#定时器全景概览 在C#生态中,不同定时器适用于不同场景。以下是主流定时器的核心特性对比: 定时器类型命名空间适用场景触发线程精度内存开销依赖框架System.Wind…