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

深度学习:卷积神经网络(CNN)基础知识

卷积神经网络(Convolutional Neural Networks, CNNs)是深度学习中用于处理具有网格结构数据(如图像)的一类神经网络。CNN通过卷积层来提取输入数据的特征,广泛应用于图像识别、视频分析、自然语言处理等领域。

1. 卷积层(Convolutional Layer)

  • 目的:提取输入数据的特征。在图像处理中,卷积层能够识别图像中的边缘、纹理等特征。
  • 工作原理:使用一组可学习的滤波器(或称为卷积核),在输入数据上滑动并进行局部区域的点积运算,生成特征图(feature maps)。
  • 参数共享:每个卷积核的参数在整个输入数据上共享,减少了模型的参数数量,降低了计算复杂度。
  • 局部连接:每个神经元只与输入数据的一个局部区域相连接,这使得网络能够捕捉到局部特征。
  • 什么是卷积:对图像(不同的数据窗口数据)和卷积核(一组固定的权重:因为每个神经元的多个权重固定,所以又可以看做一个恒定的滤波器filter)做内积(逐个元素相乘再求和)的操作就是所谓的『卷积』操作,也是卷积神经网络的名字来源。

        1.卷积操作存在的问题?

        a.步长stride:每次滑动的位置步长。

        b. 卷积核的个数:决定输出的depth厚度。同时代表卷积核的个数。

        c. 填充值zero-padding:在外围边缘补充若干圈0,方便从初始位置以步长为单位可以刚好滑 倒末尾位置,通俗地讲就是为了总长能被步长整除。

        2.卷积层计算

2. 激活函数(Activation Function)

  • 目的:引入非线性,使得网络能够学习复杂的特征组合。
  • 常用激活函数:ReLU(Rectified Linear Unit)、Sigmoid、Tanh等。
  • 作用:ReLU函数因其计算简单、梯度不消失的优点而被广泛使用。

3. 池化层(Pooling Layer)

  • 目的:降低特征图的空间维度,减少参数数量和计算量,同时使特征检测更加鲁棒。
  • 工作原理:通常使用最大池化(Max Pooling)或平均池化(Average Pooling),在特征图上滑动一个固定大小的窗口,取窗口内的最大值或平均值作为输出。
  • 常见的池化层:最大池化、平均池化、全局平均池化、全局最大池化。
  • 池化层操作方法:与卷积层类似,池化层运算符由一个固定形状的窗口组成,该窗口根据其步幅大小在输入的所有区域上滑动,为固定形状窗口(有时称为 池化窗口)遍历的每个位置计算一个输出。 然而,不同于卷积层中的输入与卷积核之间的互相关计算,池化层不包含参数。

4. 全连接层(Fully Connected Layer)

  • 目的:在网络的最后几层,将卷积层和池化层提取的特征进行整合,用于分类或回归任务。
  • 工作原理:每个神经元与前一层的所有激活值相连接,进行加权求和后通过激活函数。

5. 损失函数(Loss Function)

  • 目的:评估模型的预测与真实值之间的差异,指导模型训练。
  • 常用损失函数:交叉熵损失(Cross-Entropy Loss)用于分类任务,均方误差(Mean Squared Error, MSE)用于回归任务。

6. 反向传播(Backpropagation)

  • 目的:根据损失函数计算梯度,更新网络权重,优化模型性能。
  • 工作原理:利用链式法则计算损失函数对每个权重的偏导数,然后使用梯度下降或其他优化算法更新权重。

7. 优化算法(Optimization Algorithm)

  • 目的:在训练过程中调整权重,以最小化损失函数。
  • 常用算法:SGD(Stochastic Gradient Descent)、Adam、RMSprop等。


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

相关文章:

  • Vue开发风格
  • 计算机低能儿从0刷leetcode | 36.有效的数独
  • Vue3 -- 环境变量的配置【项目集成3】
  • Python---re模块(正则表达式)
  • D3的竞品有哪些,D3的优势,D3和echarts的对比
  • 自动化运维:提升效率与可靠性的关键
  • WordPress精选文章如何添加侧边栏和页面?
  • 华为三折叠一拆,苹果脸被打肿了!
  • c++ 类中特殊成员函数
  • 【C++】10道经典面试题带你玩转二叉树
  • 后端开发刷题 | 没有重复项数字的全排列
  • 【学术会议征稿】第七届电力电子与控制工程国际学术会议(ICPECE 2024)
  • Nginx作用
  • 在Android开发中可以用到的Ui控件有哪些?
  • Ubuntu 升级特定软件包
  • 【洛谷】P10417 [蓝桥杯 2023 国 A] 第 K 小的和 的题解
  • 《深度学习》—— 神经网络中常用的激活函数
  • 9.23 My_string.cpp
  • 预计2030年全球GO电工钢市场规模将达到120.6亿美元
  • Qt-qmake概述
  • 浅拷贝和深拷贝
  • C++笔记---set和map
  • Python狭长型图斑检测
  • 知名模型/产品统计
  • Ethernet 系列(3)-- 物理层测试::IOP Test::Cable diagnostics
  • 【UE5】将2D切片图渲染为体积纹理,最终实现使用RT实时绘制体积纹理【第二篇-着色器制作】