机器学习第二十三讲:CNN → 用放大镜局部观察图片特征层层传递

news2025/12/14 20:16:22

机器学习第二十三讲:CNN → 用放大镜局部观察图片特征层层传递

资料取自《零基础学机器学习》。
查看总目录:学习大纲

关于DeepSeek本地部署指南可以看下我之前写的文章:DeepSeek R1本地与线上满血版部署:超详细手把手指南


CNN详解:图像理解的多层放大镜[^9-2]

卷积神经网络(CNN)就像给计算机装备了显微镜+望远镜的组合套装,通过逐层放大观察图像特征。以"识别橘猫图片"为例:

识别边缘轮廓
捕捉橘色条纹
输入图片
初级特征放大镜
中级特征望远镜
高级特征显微镜
橘猫!
一、核心原理(图像分析实验)

三层观察流程

  1. 局部扫描(3×3小窗口):
    猫耳边缘 = [
      [0.1, 0.8, 0.1],
      [0.7, 0.9, 0.6],
      [0.2, 0.7, 0.3]
    ]
    # 卷积核检测垂直接缝[^9-2]
    
  2. 特征抽象(最大池化):
    原图特征
    2x2网格中取最大值
    保留橘纹走向
  3. 全盘整合(全连接层):
    特征维度典型值说明
    绒毛密度0.87超过短毛猫阈值
    条纹间距0.65典型橘猫模式
    瞳孔形状0.92符合猫科特征

    判断输出:综合特征置信度达到93%[^9-2]

二、关键技术解析(智能修图软件案例)

三大核心装备

  1. 卷积核滤镜组 → PS软件的边缘检测工具

    • 横向梯度核:[[-1,0,1], [-2,0,2], [-1,0,1]]
    • 纵向梯度核:[[-1,-2,-1], [0,0,0], [1,2,1]]
    原图边缘 = 图片矩阵 * 卷积核  # 矩阵点积操作[^2-1]
    
  2. 池化压缩机 → 画作缩略图生成器

    • 最大池化:保留最明显的笔触特征
    • 平均池化:融合背景色调信息[^9-2]
  3. 激活函数开关 → 智能画笔压力感应

    传统画笔
    线性涂抹
    扁平化效果
    ReLU激活
    保留阳刻线条
    ^9-2
三、应用实例解析(自动驾驶视觉系统)

六层卷积网络实战

摄像头画面
车道线检测层
关键点保留
交通牌识别层
符号定位
行人轮廓层
紧急制动决策

参数实例

  • 训练数据:200万张道路图片
  • 卷积核数量:32→64→128通道递增
  • 准确率提升:从初训67%到精调98%[^10-1]
四、与传统网络对比(艺术生vs工程师画像)
对比维度全连接网络CNN[参考材料4]
观察方式整张画同时看按区域局部扫描效率提升20倍
参数数量1000x1000图片需10亿参数同尺寸图片仅百万参数内存占用减少90%
特征提取像素级记忆空间模式抽象抗干扰能力提升35%
训练时间实例MNIST数据集30分钟/10 epoch同任务3分钟/10 epoch[^9-2]速度提升10倍
五、调参要点(摄影爱好者进阶指南)

三档参数调节

  1. 卷积核尺寸 → 更换镜头焦距

    • 3x3:标配镜头(平衡细节与速度)
    • 5x5:长焦镜头(捕捉细致纹理)
    • 7x7:广角镜头(获取全局信息)[^9-2]
  2. 通道数设置 → 调整胶片感光层

    model.add(Conv2D(
        filters=64,  # 64种特征探测器
        kernel_size=(3,3),
        activation='relu'
    ))
    
  3. 步长与填充 → 控制取景节奏

    2,2
    快速采样
    可能丢失细节
    1,1
    精细扫描
    增加计算量
    Same填充
    保留边缘信息
    ^9-2

典型训练效果

训练曲线:
Epoch 5/20 - acc: 0.82 → Epoch 15/20 - acc: 0.96
验证集表现: 
AUC = 0.97 优于传统算法0.85[^10-2]

目录:总目录
上篇文章:机器学习第二十二讲:感知机 → 模仿大脑神经元的开关系统
下篇文章:机器学习第二十四讲:scikit-learn → 机器学习界的瑞士军刀


[^2-1]《零基础学机器学习》第二章第一节矩阵运算
[^9-2]《零基础学机器学习》第九章第二节CNN原理
[^10-1]《零基础学机器学习》第十章第一节项目实战
[^10-2]《零基础学机器学习》第十章第四节竞赛指导

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

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

相关文章

【嵙大o】C++作业合集

​ 参考: C swap(交换)函数 指针/引用/C自带-CSDN博客 Problem IDTitleCPP指针CPP引用1107 Problem A编写函数:Swap (I) (Append Code)1158 Problem B整型数据的输出格式1163 Problem C时间:24小时制转12小时制1205…

C++23 范围迭代器作为非范围算法的输入 (P2408R5)

文章目录 一、引言二、C23及范围迭代器的背景知识2.1 C23概述2.2 范围迭代器的概念 三、P2408R5提案的内容3.1 提案背景3.2 提案内容 四、范围迭代器作为非范围算法输入的优势4.1 代码简洁性4.2 提高开发效率4.3 更好的兼容性 五、具体的代码示例5.1 使用范围迭代器进行并行计算…

2025.05.20【Treemap】树图数据可视化技巧

Multi-level treemap How to build a treemap with group and subgroups. Customization Customize treemap labels, borders, color palette and more 文章目录 Multi-level treemapCustomization Treemap 数据可视化技巧什么是 TreemapTreemap 的应用场景如何在 R 中绘制 T…

深入了解Springboot框架的启动流程

目录 1、介绍 2、执行流程 1、运行run方法 2、初始化SpringApplication对象 1、确定容器类型 3、加载所有的初始化器 4、加载Spring上下文监听器 5、设置程序运行的主类 3、进入run方法 1、开启计时器 2、Headless模式配置 3、获取并启用监听器 4、准备环境 1、设…

LLaMA-Factory微调LLM-Research/Llama-3.2-3B-Instruct模型

1、GPU环境 nvidia-smi 2、pyhton环境安装 git clone https://github.com/hiyouga/LLaMA-Factory.git conda create -n llama_factory python3.10 conda activate llama_factory cd LLaMA-Factory pip install -e .[torch,metrics] 3、微调模型下载(LLM-Research/…

3.8.1 利用RDD实现词频统计

在本次实战中,我们通过Spark的RDD实现了词频统计功能。首先,准备了包含单词的文件并上传至HDFS。接着,采用交互式方式逐步完成词频统计,包括创建RDD、单词拆分、映射为二元组、按键归约以及排序等操作。此外,还通过创建…

Spring Ioc和Aop,Aop的原理和实现案例,JoinPoint,@Aspect,@Before,@AfterReturning

DAY25.2 Java核心基础 Spring两大核心:Ioc和Aop IOC Ioc容器:装载bean的容器,自动创建bean 三种方式: 1、基于xml配置:通过在xml里面配置bean,然后通过反射机制创建bean,存入进Ioc容器中 …

[解决conda创建新的虚拟环境没用python的问题]

问题复现 使用conda create -n env的时候,在对应的虚拟环境的文件里面找不到对应的python文件 为什么 首先,我们来看一下创建环境时的触发链路: 这表明当前环境中找不到Python可执行文件。 解决方法 所以很明显,我们需要指定…

【C++】控制台小游戏

移动&#xff1a;W向上&#xff0c;S上下&#xff0c;A向左&#xff0c;D向右 程序代码&#xff1a; #include <iostream> #include <conio.h> #include <windows.h> using namespace std;bool gameOver; const int width 20; const int height 17; int …

配合本专栏前端文章对应的后端文章——从模拟到展示:一步步搭建传感器数据交互系统

对应文章&#xff1a;进一步完善前端框架搭建及vue-konva依赖的使用&#xff08;Vscode&#xff09;-CSDN博客 目录 一、后端开发 1.模拟传感器数据 2.前端页面呈现数据后端互通 2.1更新模拟传感器数据程序&#xff08;多次请求&#xff09; 2.2&#x1f9e9; 功能目标 …

springboot IOC

springboot IOC IoC Inversion of Control Inversion 反转 依赖注入 DI &#xff08;dependency injection &#xff09; dependency 依赖 injection 注入 Qualifier 预选赛 一文带你快速理解JavaWeb中分层解耦的思想及其实现&#xff0c;理解 IOC和 DI https://zhuanlan.…

Ajax01-基础

一、AJAX 1.AJAX概念 使浏览器的XMLHttpRequest对象与服务器通信 浏览器网页中&#xff0c;使用 AJAX技术&#xff08;XHR对象&#xff09;发起获取省份列表数据的请求&#xff0c;服务器代码响应准备好的省份列表数据给前端&#xff0c;前端拿到数据数组以后&#xff0c;展…

生成树协议(STP)配置详解:避免网络环路的最佳实践

生成树协议&#xff08;STP&#xff09;配置详解&#xff1a;避免网络环路的最佳实践 生成树协议&#xff08;STP&#xff09;配置详解&#xff1a;避免网络环路的最佳实践一、STP基本原理二、STP 配置示例&#xff08;华为交换机&#xff09;1. 启用生成树协议2. 配置根桥3. 查…

面向 C 语言项目的系统化重构实战指南

摘要: 在实际开发中,C 语言项目往往随着功能演进逐渐变得混乱:目录不清、宏滥用、冗余代码、耦合高、测试少……面对这样的“技术债积累”,盲目大刀阔斧只会带来更多混乱。本文结合 C 语言的特点,从项目评估、目录规划、宏与内联、接口封装、冗余剔除、测试与 CI、迭代重构…

Python Pandas库简介及常见用法

Python Pandas库简介及常见用法 一、 Pandas简介1. 简介2. 主要特点&#xff08;一&#xff09;强大的数据结构&#xff08;二&#xff09;灵活的数据操作&#xff08;三&#xff09;时间序列分析支持&#xff08;四&#xff09;与其他库的兼容性 3.应用场景&#xff08;一&…

第十六届蓝桥杯复盘

文章目录 1.数位倍数2.IPv63.变换数组4.最大数字5.小说6.01串7.甘蔗8.原料采购 省赛过去一段时间了&#xff0c;现在复盘下&#xff0c;省赛报完名后一直没准备所以没打算参赛&#xff0c;直到比赛前两天才决定参加&#xff0c;赛前两天匆匆忙忙下载安装了比赛要用的编译器ecli…

【已解决】HBuilder X编辑器在外接显示器或者4K显示器怎么界面变的好小问题

触发方式&#xff1a;主要涉及DPI缩放问题&#xff0c;可能在电脑息屏有概率触发 修复方式&#xff1a; 1.先关掉软件直接更改屏幕缩放&#xff0c;然后打开软件&#xff0c;再关掉软件恢复原来的缩放&#xff0c;再打开软件就好了 2.(不推荐&#xff09;右键HBuilder在属性里…

直线型绝对值位移传感器:精准测量的科技利刃

在科技飞速发展的今天&#xff0c;精确测量成为了众多领域不可或缺的关键环节。无论是工业自动化生产线上的精细操作&#xff0c;还是航空航天领域中对零部件位移的严苛把控&#xff0c;亦或是科研实验中对微小位移变化的精准捕捉&#xff0c;都离不开一款高性能的测量设备——…

Ansible模块——管理100台Linux的最佳实践

使用 Ansible 管理 100 台 Linux 服务器时&#xff0c;推荐遵循以下 最佳实践&#xff0c;以提升可维护性、可扩展性和安全性。以下内容结合实战经验进行总结&#xff0c;适用于中大型环境&#xff08;如 100 台服务器&#xff09;&#xff1a; 一、基础架构设计 1. 分组与分层…

从0开始学习大模型--Day09--langchain初步使用实战

众所周知&#xff0c;一味地学习知识&#xff0c;所学的东西和概念都是空中楼阁&#xff0c;大部分情况下&#xff0c;实战都是很有必要的&#xff0c;今天就通过微调langchain来更深刻地理解它。 中间如何进入到langchain界面请参考结尾视频链接。 首先&#xff0c;进入界面…