TensorFlow2 Python深度学习 - 通俗理解池化层,卷积层以及全连接层

锋哥原创的TensorFlow2 Python深度学习视频教程:

https://www.bilibili.com/video/BV1X5xVz6E4w/

课程介绍

本课程主要讲解基于TensorFlow2的Python深度学习知识,包括深度学习概述,TensorFlow2框架入门知识,以及卷积神经网络(CNN),循环神经网络(RNN),生成对抗网络(GAN),模型保存与加载等。

TensorFlow2 Python深度学习 - 通俗理解池化层,卷积层以及全连接层

核心比喻:AI如何判断一张图片是猫还是狗

想象一下,这个AI就是一个 "动物识别小分队",里面有三个岗位:

1. 卷积层 ------ "局部特征侦察兵"

他的任务: 拿个放大镜,在图片上寻找各种小零件和局部特征。

  • 他是怎么工作的?

    • 他手里有很多种"特征过滤器":

      • 过滤器A: 专门探测 "竖线"(比如猫/狗的胡须、腿的边缘)。

      • 过滤器B: 专门探测 "斜线"(比如猫耳朵的尖角)。

      • 过滤器C: 专门探测 "小圆圈"(比如眼睛的轮廓)。

    • 他拿着这些过滤器,扫过图片的每一个角落。

  • 在猫狗识别中:

    • 当他用 "竖线过滤器" 扫过猫的脸部时,会在胡须的位置产生强烈反应,报告:"发现密集竖线区域!可能为胡须!"

    • 当他用 "斜线过滤器" 扫过头顶时,会在猫耳朵的尖端产生强烈反应,报告:"发现尖角特征!可能为立耳!"

    • 当他用 "圆圈过滤器" 扫过面部时,会在眼睛周围产生反应,报告:"发现圆形特征!可能为眼睛!"

通俗总结:卷积层只管找"小零件",比如边缘、角落、纹理。它不关心这些零件最后能组装成什么,它只负责发现它们。


2. 池化层 ------ "信息浓缩员"

他的任务: 把侦察兵送来的密密麻麻的"特征报告图"进行简化,抓住重点,忽略次要信息。

  • 他是怎么工作的?

    • 他用一个2x2的方格在特征图上滑动。

    • 对于每个方格,他只保留最重要的那个数字 (最大池化)。比如一个方格里有 [10, 5, 2, 8],他只看那个最显著的 10,忽略其他。

    • 这样,报告图的尺寸就缩小了,但最重要的特征位置被保留了下来。

  • 在猫狗识别中:

    • 侦察兵报告说,在脸部的某个小区域里,有4个点都探测到了"胡须特征",信号强度分别是 [5, 8, 2, 6]

    • 池化层一看,说:"不用记那么细,反正这个区域有胡须。我就记住最强的信号 8 就行了。"

    • 这样做的好处是: 即使图片里的猫头稍微歪了一点,胡须的位置在小范围内移动了,但浓缩后的报告依然会显示"这个区域有强烈的胡须特征"。这让AI对图片的微小变化(如平移、旋转)不敏感,更稳定。

通俗总结:池化层负责"降维"和"提炼",让数据量变小,同时让特征更突出、更鲁棒。


3. 全连接层 ------ "终极决策大脑"

他的任务: 坐在指挥部里,把前面送来的所有浓缩后的特征信息综合起来,进行全局分析,最终拍板。

  • 他是怎么工作的?

    • 他把池化层送来的所有关于"胡须"、"耳朵形状"、"眼睛"、"鼻子"、"毛皮纹理"等浓缩报告,全部铺开,连接在一起,形成一个长长的"特征清单"。

    • 他开始调动他通过学习(训练)得来的"知识"进行推理:

      • "规则1: 如果'尖尖的小耳朵'特征很强,同时 '脸型较圆'特征也很强,并且 '胡须短而硬'特征明显...那么这很可能是。"

      • "规则2: 如果'耳朵下垂'特征很强,同时 '嘴巴较长'特征也很强,并且 '体型较大'特征明显...那么这很可能是。"

  • 在猫狗识别中:

    • 全连接层综合所有信息后,可能会输出:[猫: 92%, 狗: 8%]

    • 最终,AI就得出结论:"这张图片有92%的可能是猫!"

通俗总结:全连接层是"分类器",它考虑所有特征之间的复杂组合关系,做出最终的判断。


整个工作流程回顾(看图说话)

假设我们输入一张猫的图片:

  1. 卷积层(侦察兵)先上:

    • 报告1:在位置A发现尖耳朵特征!

    • 报告2:在位置B发现圆眼睛特征!

    • 报告3:在位置C发现长胡须特征!

  2. 池化层(浓缩员)接着处理:

    • 把关于尖耳朵的详细报告简化,只标明"左上区域有强尖耳信号"。

    • 把关于圆眼睛的详细报告简化,只标明"中部区域有强圆眼信号"。

    • ...以此类推。数据量大大减少,但关键信息都在。

  3. 全连接层(决策大脑)最后拍板:

    • 它看到浓缩报告里同时出现了 "尖耳朵" + "圆眼睛" + "长胡须" 等特征。

    • 根据它学到的知识,这些特征组合在一起,极大概率对应的是 "猫" 这个类别。

    • 输出结果: "这是猫!"

简单总结三者的核心区别:

  • 卷积层 :问"哪里有什么?"(发现局部特征)

  • 池化层 :问"这些特征里哪个最重要?"(浓缩信息)

  • 全连接层 :问"根据所有这些特征,它最可能是什么?"(全局综合与分类)

简单来说:卷积用来提取特征,池化压缩特征,全连接层用来加权重

相关推荐
子午5 分钟前
【食物识别系统】Python+TensorFlow+Vue3+Django+人工智能+深度学习+卷积网络+resnet50算法
人工智能·python·深度学习
曾经的三心草6 分钟前
基于正倒排索引的Java文档搜索引擎2-实现Index类
java·python·搜索引擎
Dev7z9 分钟前
基于深度学习和图像处理的药丸计数与分类系统研究
图像处理·人工智能·深度学习
疏狂难除15 分钟前
尝试rust与python的混合编程(二)
数据库·python·rust
shayudiandian1 小时前
用PyTorch训练一个猫狗分类器
人工智能·pytorch·深度学习
子午1 小时前
【蘑菇识别系统】Python+TensorFlow+Vue3+Django+人工智能+深度学习+卷积网络+resnet50算法
人工智能·python·深度学习
Mr_Xuhhh1 小时前
pytest -- 指定⽤例执⾏顺序
开发语言·python·pytest
tokepson1 小时前
关于python更换永久镜像源
python·技术·记录
F_D_Z2 小时前
【解决办法】网络训练报错AttributeError: module ‘jax.core‘ has no attribute ‘Shape‘.
开发语言·python·jax
前端伪大叔2 小时前
第29篇:99% 的量化新手死在挂单上:Freqtrade 隐藏技能揭秘
后端·python·github