AI学习——卷积神经网络(CNN)入门

作为人类,我们天生擅长“看”东西:一眼就能认出猫狗、分辨红绿灯、读懂朋友的表情……但计算机的“眼睛”最初是一片空白。直到卷积神经网络(CNN)​的出现,计算机才真正开始理解图像。今天,我们就用最通俗的语言,揭开CNN的神秘面纱。

​一、为什么需要CNN?

假设你给计算机一张1000x1000像素的猫图,传统处理方式是这样的:

  • ​暴力拆解:把图片拆成100万个像素点,每个点是一个数字(0~255)。 ​
  • 直接塞进神经网络:每个像素都连接到下一层的神经元 →参数爆炸!

​致命缺陷

  • 计算量太大(100万像素 × 1000神经元 = 10亿参数!)
  • 无法理解“猫耳朵出现在左上角还是右下角”其实是同一特征。

CNN的突破:模仿人类视觉,从局部到整体、分层理解图像。

​二、CNN的三大核心思想

2.​1. 局部感知:像放大镜一样观察

​传统方法:每次看整张图片 → 信息过载。
​CNN的智慧
用一个小窗口(如3x3)在图片上滑动,每次只看一个小区域。
​例子:就像你辨认猫耳朵时,不会同时盯着尾巴和胡须,而是先聚焦局部。
https://miro.medium.com/v2/resize:fit:720/format:webp/1*YACvBsx2h1g1sNw7n8GVcg.gif
在这里插入图片描述

2.​2. 参数共享:同一特征,一次学习

传统方法问题:如果猫耳朵出现在不同位置,网络要反复学习。
​CNN的解决
用同一个“检测器”(卷积核)扫描整个图片。
​例子:你学会“三角形是猫耳朵”后,无论猫在图片左边还是右边,都能认出耳朵。

2.​3. 降维抽象:抓住重点,忽略细节

  • ​池化层的作用:压缩数据量,保留关键信息。 ​
  • 最大池化:取小区域内的最大值(保留最显著特征)。 ​
  • 平均值池化:取小区域的平均值。
    ​例子:看漫画时,细节被简化,但轮廓依然能让你认出角色。
    在这里插入图片描述

▲ 最大池化:4x4区域 → 2x2输出,保留每个区域最大值

三、CNN的工作流程:层层抽象,化繁为简

假设识别一张“猫图”,CNN的思考过程如下:

1、**​第一层(边缘检测)**​:
发现垂直线、水平线、斜线 → 勾画出猫耳朵的轮廓。
2、**​第二层(纹理组合)**​:
将线条组合成毛发纹理、眼睛轮廓。
3、**​第三层(部件识别)​:
识别出耳朵、胡须、尾巴等器官。
4、​
最后一层(整体判断)**​:
综合所有特征 → 输出“猫”的概率为90%。
网络越深,特征越抽象(从边缘到物体部件)

四、CNN的“武器库”:关键组件详解

4.​1. 卷积核(Filter)​

​本质:一个数字矩阵(如3x3),用来提取特定特征。
​例子:
检测垂直边缘的卷积核:
[-1, 0, 1
-1, 0, 1
-1, 0, 1]
在图片上滑动计算,高亮显示垂直线条区域。

4.​2. 激活函数:ReLU

​作用:让网络具备非线性判断能力。
​公式:输出 = max(0, 输入)
​解读:
负数不重要,直接归零;正数保留 → 突出关键特征。
在这里插入图片描述

▲ ReLU函数图像(负数归零,正数保留)

4.​3. 全连接层:最后的“决策者”​

​作用:将提取的特征汇总,判断属于哪一类。
​例子
输入:耳朵特征(0.9)、胡须(0.8)、尾巴(0.7)。
输出:猫(90%)、狗(5%)、其他(5%)。

​五、CNN为什么比传统方法强?

​传统神经网络CNN
处理整张图片,参数爆炸局部连接,参数少90%以上
猫在左/右要重新学习参数共享,位置无关
只能学习简单特征分层抽象,自动组合复杂特征

​六、CNN的实际应用:改变世界的技术

1、​医疗影像:
从X光片中识别肿瘤边缘 → 分析形状 → 辅助医生判断良恶性。
​2、自动驾驶:
实时检测车道线、行人、交通灯 → 综合决策刹车或转向。
​3、人脸解锁:
提取五官轮廓、皮肤纹理 → 匹配数据库中的用户特征。
4、​艺术创作:
风格迁移(如将照片变成梵高画风)、AI绘画。

​七、动手体验:3分钟感受CNN的力量

​在线工具推荐(百度):
TensorFlow Playground:拖动滑块调整卷积层、池化层,实时观察分类效果。
CNN Explainer:交互式可视化CNN每一层的运作。
​小白也能玩:
尝试增加卷积层 → 观察特征如何从边缘变成复杂图案。
去掉池化层 → 看看计算量会不会爆炸。

​八、常见问题解答

Q1:CNN只能处理图片吗?
不!CNN也可用于视频(时间序列)、音频(频谱图)、甚至文本(单词矩阵)。

Q2:为什么需要多层卷积?
单层只能识别简单特征(如边缘),多层才能组合出复杂概念(如“猫脸”)。

Q3:CNN会被其他技术取代吗?
CNN仍是图像领域的基石,但Transformer等新模型正在融合其优势,未来可能是多技术协作。

​结语:让机器拥有“视觉智慧”​

从识别猫狗到辅助癌症诊断,CNN让计算机真正学会了“看”世界。它的设计灵感源自人类视觉,却又超越了生物局限。下一次当你刷脸解锁手机时,不妨想想:这背后正是无数个卷积核在默默工作,从像素中编织出智能的奇迹。

延伸阅读:

书籍:《深度学习入门:基于Python的理论与实现》
视频:3Blue1Brown的CNN科普
论文:AlexNet——CNN里程碑之作

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2025年渗透测试面试题总结- shopee-安全工程师(题目+回答)

网络安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。 目录 shopee-安全工程师 信息安全相关Response头详解 1. 关键安全头及防御场景 Linux与Docker核心命令速查…

IntelliJ IDEA 中 Maven 的 `pom.xml` 变灰带横线?一文详解解决方法

前言 在使用 IntelliJ IDEA 进行 Java 开发时,如果你发现项目的 pom.xml 文件突然变成灰色并带有删除线,这可能是 Maven 的配置或项目结构出现了问题。 一、问题现象与原因分析 现象描述 文件变灰:pom.xml 在项目资源管理器中显示为灰色。…

Spring MVC 接口数据

访问路径设置 RequestMapping("springmvc/hello") 就是用来向handlerMapping中注册的方法注解! 秘书中设置路径和方法的对应关系,即RequestMapping("/springmvc/hello"),设置的是对外的访问地址, 路径设置 精准路径匹…

技术分享 | MySQL内存使用率高问题排查

本文为墨天轮数据库管理服务团队第51期技术分享,内容原创,如需转载请联系小墨(VX:modb666)并注明来源。 一、问题现象 问题实例mysql进程实际内存使用率过高 二、问题排查 2.1 参数检查 mysql版本 :8.0.…

【redis】什么是持久化之 RDB

什么是持久化 MySQL 的事务,有四个比较核心的特性: 原子性一致性持久性>持久化(说的一回事) 把数据存储在硬盘上>持久把数据存在内存上>不持久重启进程/重启主机之后,数据是否还存在 隔离性 Redis 是一个内存…

Python、MATLAB和PPT完成数学建模竞赛中的地图绘制

参加数学建模比赛时,很多题目——诸如统计类、数据挖掘类、环保类、建议类的题目总会涉及到地理相关的情景,往往要求我们制作与地图相关的可视化内容。如下图,这是21年亚太赛的那道塞罕坝的题目,期间涉及到温度、降水和森林覆盖率…

Python(冒泡排序、选择排序、插入法排序、快速排序,算法稳定性)

算法的稳定性 冒泡排序 # 冒泡排序 # 1 思想: 相邻位置两个元素比较, 前面的元素比后面的元素大则交换, 把最大的数给找到 # 经过一轮一轮的比较最终把序列给排序 # 2 关键点1: 两层for循环 外层循环控制多少轮 内层for循环控制比较次数 # 3 关键点2: 若遍历一遍没有数字…

【自用】NLP算法面经(5)

一、L1、L2正则化 正则化是机器学习中用于防止过拟合并提高模型泛化能力的技术。当模型过拟合时,它已经很好地学习了训练数据,甚至是训练数据中的噪声,所以可能无法在新的、未见过的数据上表现良好。 比如: 其中,x1和…

PyCharm安装redis,python安装redis,PyCharm使用失败问题

报错信息 Usage: D:\wb2\wbrj_pys\venv\Scripts\python.exe -m pip install [options] [package-index-options] … D:\wb2\wbrj_pys\venv\Scripts\python.exe -m pip install [options] -r [package-index-options] … D:\wb2\wbrj_pys\venv\Scripts\python.exe -m pip instal…

学习笔记|arduino uno r3|DS1307时钟芯片|Atmega328P| 设置时间|读取时间|无源晶振:DS1307时钟芯片实验

目录 芯片pinout: 实验器件: 实验连线 解决AVR 架构不支持 printf() 方法 使用GetTimeAndDate.ino设置时间: 使用SetTimeAndDate.ino设置时间: 芯片pinout: DS1307 是美国 DALLAS 公司推出的 I 总线接口实时时钟芯…

uniapp可拖拽消息数徽标draggable-badge,仿手机qq聊天列表未读数徽标动效

组件下载地址:https://ext.dcloud.net.cn/plugin?id22679 兼容性: 测试了h5和微信小程序,理论支持全平台,暂不支持pc端,不过可以自己修改事件兼容pc 使用uniapp仿写了一个手机qq聊天列表右侧未读数的徽标组件&#x…

【设计模式】策略模式

以下是格式优化后的Markdown文档,仅调整代码缩进,保持内容不变: 四、策略模式 策略(Strategy) 模式是一种行为型模式,其实现过程与模板方法模式非常类似——都 是以扩展的方式支持未来的变化。本章通过对一个具体范例的逐步重构…

STM32配套程序接线图

1 工程模板 2 LED闪烁 3LED流水灯 4蜂鸣器 5按键控制LED 6光敏传感器控制蜂鸣器 7OLED显示屏 8对射式红外传感器计次 9旋转编码器计次 10 定时器定时中断 11定时器外部时钟 12PWM驱动LED呼吸灯 13 PWM驱动舵机 14 PWM驱动直流电机 15输入捕获模式测频率 16PWMI模式测频率占空…

【C语言】使用结构体实现位段

一、位段 前面我们学习了结构体,位段的声明和结构体是一样的,其区别如下: 1、位段的成员必须是int 、unsigned int 、signed int 、在C99中位段的成员的类型也可以选择其他类型。 2、位段的成员名后边有一个冒号和一个数字 如下&#xff…

【大模型系列篇】硅基智能开源数字人模型HeyGem.ai,开启数字人时刻

硅基智能开源数字人模型HeyGem.ai, 1秒克隆生成4K视频, 支持离线多语言, 开源72小时狂揽1.3k星, 目前已经获得3.4k星。 硅基智能正式宣布在GitHub开源全球TOP级数字人模型,同时发布基于该模型的同名数字人工具硅基数字人克隆的本地安装包,这一举措标志着…

【C++】STL库面试常问点

STL库 什么是STL库 C标准模板库(Standard Template Libiary)基于泛型编程(模板),实现常见的数据结构和算法,提升代码的复用性和效率。 STL库有哪些组件 STL库由以下组件构成: ● 容器&#xf…

knowledge-微前端(多个前端应用聚合的一个应用架构体系,每个小的应用可独立运行,独立开发,独立部署上线)

1.前言 微前端,将一个大的前端应用拆分为多个小型的,独立开发的前端应用,每一个小型的应用都可以单独的开发,部署和运行。这种结构允许不同的团队使用不同的技术栈来开发应用的不同部分,提高开发的效率与灵活性。 2.实…

三格电子PLC数据采集网关-工业互联的智能枢纽

在工业自动化领域,设备间的数据互通与协议兼容是核心挑战之一。三格电子推出的PLC据采集网关SG-PLC-Private,凭借其多协议兼容、高稳定性和灵活配置能力,成为工业物联网(IIoT)中实现设备互联的关键设备。本文将从产品功…

鸿蒙NEXT项目实战-百得知识库05

代码仓地址,大家记得点个star IbestKnowTeach: 百得知识库基于鸿蒙NEXT稳定版实现的一款企业级开发项目案例。 本案例涉及到多个鸿蒙相关技术知识点: 1、布局 2、配置文件 3、组件的封装和使用 4、路由的使用 5、请求响应拦截器的封装 6、位置服务 7、三…

leetcode热题100道——字母异位词分组

给你一个字符串数组,请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。 字母异位词 是由重新排列源单词的所有字母得到的一个新单词。 示例 1: 输入: strs ["eat", "tea", "tan", "ate", "nat", &…