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

【深度学习】神经网络-怎么分清DNN、CNN、RNN?

怎么分清DNN、CNN、RNN?

        最“大”的概念是人工神经网络(Artificial Neural Network, ANN)它是较为广泛的术语,通常指的是一类模拟生物神经网络的数学模型,其中包括神经元、权重和连接。在这个术语下,可以包括深度神经网络(DNN)、卷积神经网络(CNN)、循环神经网络(RNN)等不同类型的网络。

        第一代神经网络又称为感知机在1950年左右被提出来,它的算法只有两层,输入层、输出层,主要是线性结构。它不能解决线性不可分的问题,对稍微复杂一些的函数都无能为力,如异或操作。

        为了解决第一代神经网络的缺陷,在1980年左右Rumelhart、Williams等人提出第二代神经网络多层感知机(MLP)和第一代神经网络相比,第二代在输入层之间有多个隐含层的感知机,可以引入一些非线性的结构,解决了之前无法模拟异或逻辑的缺陷。

        第二代神经网络让科学家们发现神经网络的层数直接决定了它对现实的表达能力,但是随着层数的增加,优化函数愈发容易出现局部最优解的现象,由于存在梯度消失的问题,深层网络往往难以训练,效果还不如浅层网络。

        2006年Hinton采取无监督预训练(Pre-Training)的方法解决了梯度消失的问题,使得深度神经网络变得可训练,将隐含层发展到7层,神经网络真正意义上有了“深度”,由此揭开了深度学习的浪潮,第三代神经网络开始正式兴起。

        第三代神经网络称为深度神经网络(Deep Neural Network,DNN),它是人工神经网络的一种形式,通过有效组织处理大量参数,以实现处理数据和解决复杂问题的功能。DNN使用前馈神经网络(FNN)作为基础结构,具有很多层,甚至可以达到数百层。每一层都代表一个学习阶段,通过这些层的处理,深度神经网络可以对输入的数据进行高度抽象和复杂表示。

前馈神经网络

        简单来说,深度神经网络就是一些有足够多的层组成的神经网络,大多数层都包含了抽象的参数向量和一个激活函数。在分类问题中,深度神经网络通过已知的数据进行训练,使神经网络能够了解什么样的数据属于哪一类。然后,将未知的数据输入到神经网络中,神经网络会根据已知的数据对其进行分类。深度神经网络的分类能力使其在许多领域都有广泛的应用,如图像识别、语音识别、自然语言处理、医疗诊断等。

卷积神经网络CNN

卷积神经网络主要是模拟人的视觉神经系统提出来的。以CNN做人脸识别任务为例,先得到一些像素信息,再往上层得到一些边界信息,然后再往上提取就是一些人脸的部件信息,包括眼睛、耳朵、眉毛嘴巴等,最后是人脸识别,这整个过程和人的视觉神经系统是非常相似的。

卷积神经网络的结构依旧包括输入层、隐藏层和输出层,其中卷积神经网络的隐含层包含卷积层、池化层和全连接层3类常见构筑。

接下来我们简单讲解下卷积、池化、全连接。

卷积神经网络
  • 卷积层的功能是对输入数据进行特征提取,其内部包含多个卷积核,一个卷积核覆盖的原始图像的范围叫做感受野(权值共享)。一次卷积运算(哪怕是多个卷积核)提取的特征往往是局部的,难以提取出比较全局的特征,因此需要在一层卷积基础上继续做卷积计算,这就是多层卷积。

  • 在卷积层进行特征提取后,输出的特征图会被传递至池化层进行特征选择和信息过滤。池化层包含预设定的池化函数,其功能是将特征图中单个点的结果替换为其相邻区域的特征图统计量。通过这种池化的操作,有助于减少计算量,提高网络的泛化能力,并使模型对输入图像的平移、旋转和缩放更加鲁棒从而使得特征的表达更加稳定。

  • 全连接层的作用是将卷积层和池化层提取的特征进行整合,并进行最终的分类或回归任务。全连接层的特点是每个神经元与前一层的所有神经元相连,形成一个密集的连接网络。

        在图像识别领域,卷积神经网络可以自动学习和提取图像中的特征,从而实现高效的图像分类和目标检测任务。卷积神经网络是专门为图像处理设计的深度神经网络,它可以有效地处理图像数据中的空间信息,提取出有用的特征。

循环神经网络RNN

        DNN存在着一个无法解决的问题:无法对时间序列上的变化进行建模为了应对这种需求,业内提出了上文中提到的递归神经网络RNN。区别于前馈神经网络,RNN正是通过存储记忆的方式来解决序列到序列的问题。

        在普通的全连接网络中,DNN的隐层只能够接受到当前时刻上一层的输入,而在RNN中,神经元的输出可以在下一时间段直接作用到本身。换句话说,就是递归神经网络它的隐层不但可以接收到上一层的输入,也可以得到上一时刻当前隐层的输入。

        这一个变化的重要意义就在于使得神经网络具备了历史记忆的功能,原则上它可以看到无穷长的历史信息,这非常适合于像语音语言这种具有长时相关性的任务。

循环神经网络

        在语音识别领域,循环神经网络可以学习到语音信号中的复杂模式,从而实现对语音的高精度识别。循环神经网络是专门为序列数据处理设计的深度神经网络,它可以有效地处理序列数据中的时间依赖性信息。

学习视频推荐

深度学习-CNN合集-哔哩哔哩-白话先生NIT

深度学习-RNN合集-哔哩哔哩-白话先生NIT


http://www.kler.cn/a/305165.html

相关文章:

  • 【JAVA】Java基础—面向对象编程:封装—保护类的内部数据
  • ❤React-JSX语法认识和使用
  • #渗透测试#SRC漏洞挖掘#云技术基础02之容器与云
  • 【MATLAB代码】二维平面上的TDOA,使用加权最小二乘法,不限制锚点数量,代码可复制粘贴
  • SQL50题
  • 【系统架构设计师】真题论文: 论软件可靠性设计与应用(包括解题思路和素材)
  • Anaconda pytorch-gpu CUDA CUDNN 安装指南
  • clickhouse 保证幂等性
  • 前端面试记录
  • mybatis-plu分页出现问题
  • JVM面试真题总结(九)
  • windows检查端口占用并关闭应用
  • git报错,error: bad signature 0x00000000fatal: index file corrupt
  • 3. 进阶指南:自定义 Prompt 提升大模型解题能力
  • 新手教学系列——用Nginx将页面请求分发到不同后端模块
  • 足球大小球及亚盘数据分析与机器学习实战详解:从数据清洗到模型优化
  • vue项目中引入组件时出现的Module is not installed问题
  • 上图为是否色发
  • 15、Python如何获取文件的状态
  • ARM V2处理器微架构分析
  • input和editor一起使用在ios上聚焦异常
  • 【计算机网络 - 基础问题】每日 3 题(四)
  • 目标检测中的解耦和耦合、anchor-free和anchor-base
  • 分销系统后端技术文档
  • 大数据Flink(一百一十八):SQL水印操作(Watermark)
  • Linux基础---07文件传输(网络和Win文件)