当前位置: 首页 > news >正文

《深度学习》—— 卷积神经网络(CNN)的简单介绍和工作原理

文章目录

  • 一、卷积神经网络的简单介绍
  • 二、工作原理(还未写完)
    • 1.输入层
    • 2.卷积层
    • 3.池化层
    • 4.全连接层
    • 5.输出层

一、卷积神经网络的简单介绍

  • 基本概念
    • 定义:卷积神经网络是一种深度学习模型,通常用于图像、视频、语音等信号数据的分类和识别任务。其核心思想是通过卷积、池化等操作来提取特征,将输入数据映射到一个高维特征空间中,再通过全连接层对特征进行分类或回归。
    • 提出者:Yann LeCun、Wei Zhang、Alexander Waibel等。
    • 提出时间:卷积神经网络的研究始于二十世纪80至90年代,最早由日本学者福岛邦彦提出的neocognitron模型启发了卷积神经网络的发展。第一个卷积神经网络是1987年由Alexander Waibel等提出的时间延迟网络(Time Delay Neural Network, TDNN)。
  • 主要特点
    • 权值共享:在卷积层中,同一个卷积核在不同位置上的权值是相同的,这样可以大大减少模型参数,提高模型泛化能力。
    • 局部连接:在卷积层中,每个卷积核只与输入数据的一部分进行卷积运算,而不是与整个输入数据进行卷积运算,这样可以提取出局部特征,增强模型的特征提取能力。
    • 平移不变性:卷积神经网络具有对输入数据平移不变性的特性,即对于输入数据的微小变化,模型能够保持稳定的输出。

二、工作原理(还未写完)

  • 卷积神经网络主要由输入层卷积层池化层全连接层输出层组成。这些层通过特定的运算和连接方式,共同实现了对输入数据的特征提取、降维、分类或回归等任务。

1.输入层

  • 输入层是CNN的起点,负责接收原始数据作为输入。对于图像处理任务,输入层通常是一张图片,具体表现为一个多维矩阵。例如,一张28x28的灰度图像可以表示为一个28x28的二维矩阵,而彩色图像则会有三个通道(RGB),即输入的数据会是一个28x28x3的三维矩阵。

2.卷积层

  • 卷积层是CNN的核心部分,通过卷积操作提取输入数据的局部特征。卷积操作通过输入图像与卷积核(Convolution Kernel)的点积计算完成,卷积核在输入图像上滑动,每滑动一次都会计算图像局部区域与卷积核的点积结果,生成一个新的二维矩阵,即特征图(Feature Map)。
    卷积核的大小、步长和填充方式等参数会影响特征图的尺寸和特征提取的效果。卷积核的数量决定了生成特征图的数量,多个卷积核可以并行工作以提取不同类型的特征。
    在这里插入图片描述

3.池化层

  • 池化层又称为下采样层,用于在卷积操作后提取特征图中最具代表性的特征,帮助减少不必要的特征,从而减小过拟合的风险和降低数据的维度。常见的池化操作包括最大池化和平均池化。
    最大池化在每个局部区域(如2x2)中选择最大值作为该区域的代表,而平均池化则取该区域的平均值。池化操作不仅简化了特征图,还引入了一定的平移不变性,使得模型对输入图像的微小变化具有一定的鲁棒性。

4.全连接层

  • 全连接层通常位于CNN的末端,负责将前面层提取的特征综合起来,用于分类或回归等任务。全连接层的每个神经元都与前一层的所有神经元相连,通过加权求和和激活函数等操作,将特征图中的信息整合为更高层次的特征表示。

5.输出层

  • 输出层是CNN的最后一层,负责输出最终的分类结果或回归值。在分类任务中,输出层通常使用softmax函数将全连接层的输出转换为概率分布,表示输入数据属于各个类别的概率。

http://www.mrgr.cn/news/33792.html

相关文章:

  • 深度学习与应用:人体关键点检测
  • SpringBoot项目License证书生成与验证(TrueLicense) 【记录】
  • 一种求解无人机三维路径规划的高维多目标优化算法,MATLAB代码
  • Java-Part 0
  • 2009考研数学真题解析-数二:
  • 【JavaWeb】一、Web 开发概述
  • 将相机深度图转接为点云的ROS2功能包
  • Java基础 — 正则表达式+函数式编程
  • 将任意图像增强模型与ultralytics中任意模型进行结合,支持自定义图像增强模块的loss,实现端到端训练
  • Tomcat中间件常见漏洞复现
  • #面试系列-腾讯后端一面
  • 思维商业篇(4)—产业上下游定
  • AJAX入门
  • 2024PDF内容修改秘籍:工具推荐与技巧分享
  • 【C++笔记】C++编译器拷贝优化和内存管理
  • 【VLM小白指北 (1) 】An Introduction to Vision-Language Modeling
  • 【Makefile】linux学习总结
  • 2024年华为杯数学建模E题-高速公路应急车道启用建模-基于YOLO8的数据处理代码参考(无偿分享)
  • 如何选择与高效使用编程工具提升工作效率
  • JavaScript是如何来的~~