【机器学习】 卷积神经网络 (CNN)

文章目录

    • [1. 为什么需要 CNN](#1. 为什么需要 CNN)
    • [2. CNN 的架构](#2. CNN 的架构)
    • [3. 卷积层](#3. 卷积层)
    • [4. 池化层](#4. 池化层)
    • [5. CNN 的应用](#5. CNN 的应用)

1. 为什么需要 CNN

  • 前提:利用前置知识,去掉全连接神经网络中的部分参数,提升学习效率。
  • 本质:在 DNN 之前加上 CNN,先去除不必要的参数,再进入 DNN。
  • 常用于图片识别
    • 对图像特征的局部性(稀疏连接)和平移不变性(参数共享)进行处理。
    • 分层特征提取:从低级到高级,捕获图片中的复杂结构。
    • 池化层:降维,减少参数量。

2. CNN 的架构

  1. 特征1(卷积层)

    • 检测局部图案,不需要查看整张图。
    • 满足稀疏连接特性。
  2. 特征2(卷积层)

    • 对不同位置相同的图案,使用相同的参数(Filter)。
    • 满足参数共享特性。
  3. 特征3(池化层)

    • 通过抽样将图片缩小,保留最重要的特征,且不影响最终结构。

3. 卷积层

  • 总体功能:卷积层用于特征提取,通过稀疏连接和权值共享,将输入图像与滤波器进行卷积操作,得到多个特征图

卷积核

  • 特点:过滤器,相当于 DNN 中的神经元,卷积核就是 CNN 中的神经元。

  • 作用:检查图像中是否存在某些图案。

  • 优点:

    • 满足特征1:可以只检测局部区域。
    • 满足特征2:不同位置的图案共享同一卷积核。
  • 注意:卷积核的尺寸会根据输入图像的维度进行调整。

    • 例如:若输入图像维度为 1,卷积核为 3×3,若图像维度为 25,卷积核变为 25×3×3。
  • 通常情况下,多个不同的卷积核被用于构建过滤器,每个卷积核提取不同的特征。

特征映射

  • 过程:卷积核滑动并与图像局部进行卷积操作,得到特征图。
  • 注:卷积后的特征映射维度与卷积核的数量相关,而与当前图像维度无关。
    • 示例:输入 28×28×3,卷积核 3×3×3,核数为 5,步幅 1 → 输出为 26×26×5。

改进

  • 问题:同一个卷积核处理不同大小的图案较为困难。
  • 解决方案:在 CNN 前加一层进行图像加工(如缩小、旋转等处理)。

4. 池化层

功能

  • 池化层将卷积层输出划分为多个区域,从每个区域中提取最大值或平均值,从而减少图像尺寸,同时保持图像特性。
  • 保持平移、伸缩、旋转不变性。
  • 减少参数量,提升模型的泛化能力。

Flatten

  • 过程:池化层操作后,将提取到的特征平铺,输入到 DNN 层进行深度学习。

池化类型

  • 平均池化:对每个区域取平均值,保留整体信息。
  • 最大池化:对每个区域取最大值,提取最显著的特征。

5. CNN 的应用

  1. AlphaGo

    • 只使用了卷积层,不使用池化层。
  2. 语音识别

    • 将语音转为频谱图,卷积核仅在纵坐标(频率)方向上移动,而不在时间序列方向上移动。其他模型用于处理时间序列部分。
  3. 文字处理

    • 卷积网络的核心是捕捉局部特征。在文本处理中,若干单词组成的滑动窗口就构成了局部特征。
    • 对特征进行组合和筛选,获取不同层次的语义信息。
    • 只在时间方向上使用卷积,因为不同维度的文字意义是相互独立的。
相关推荐
AI.NET 极客圈1 分钟前
.NET 原生驾驭 AI 新基建实战系列(六):Pinecone ── 托管向量数据库的向量数据库的云原生先锋
数据库·人工智能·.net
YBCarry_段松啓4 分钟前
uv:下一代 Python 包管理器
人工智能·python
聚客AI4 分钟前
深度解构神经网络的底层引擎:从感知机到反向传播的数学之旅
人工智能·神经网络·掘金·日新计划
张较瘦_8 分钟前
[论文阅读] 人工智能+软件工程 | 用大模型优化软件性能
论文阅读·人工智能·软件工程
机器之心13 分钟前
深夜突袭!谷歌Gemini 2.5 Pro更新蝉联榜一:推理超越o3,编程超越opus4
人工智能·gemini
fc&&fl14 分钟前
大模型面试题总结
人工智能·python
极昆仑智慧21 分钟前
极昆仑智慧与数元灵科技达成战略合作
人工智能·语言模型·自然语言处理
databook22 分钟前
稀疏表示与字典学习:让数据“瘦身”的魔法
python·机器学习·scikit-learn
bj328123 分钟前
机器学习实验八--基于pca的人脸识别
人工智能·机器学习·计算机视觉
神经星星28 分钟前
告别代码烦恼!Seed-Coder 解锁高效编程;Mixture-of-Thoughts 涵盖多领域数据,实现高质量推理
人工智能·深度学习·机器学习