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

news2024/9/22 13:34:21

怎么分清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.coloradmin.cn/o/2127250.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

~数据分析知识分享~

近来有一些小伙伴咨询数据分析相关的一些知识内容 我收集了一些相关信息 在这里简单做一些分享和介绍,后续有相关的内容我也会持续的更新!感谢大家的支持与陪伴! 拆解问题一个原则四类方法 数据分析工程技术 数据分析四种类型 六个方向 分析…

[000-002-01].第03节:Linux系统下Oracle的安装与使用

2.1.Docker安装Oracle 在CentOS7中使用Docker安装Oracle: 1.安装Docker,详细请参考:https://blog.csdn.net/weixin_43783284/article/details/1211403682.拉取镜像: docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g3.下载…

Zookeeper下载与安装教程(国产化生产环境无联网服务器部署实操)

请放心观看,已在正式环境部署验证,流程无问题! 此外,建议更换默认的2181端口,避免后期服务器漏扫麻烦,不少漏扫软件是扫描到默认端口后给出漏洞报错!我所用服务器环境是麒麟银河aarch64系统&am…

Navicat 17 新特性 | 聚焦 MongoDB

随着 Navicat 17 的盛大发布,其一系列创新特性赢得了广大用户的热烈反响。它不仅在模型设计上实现了突破性优化,提升了查询与配置的效率,还大幅优化了用户界面的交互体验,原生支持国产平台与操作系统,同时增强 BI 能力…

UE场景根节点非静态 Landscape Root Component is Not Static 问题解决

错误截图 RenderQueue(影片渲染队列)渲染卡顿、黑屏,打开log查看到如下图所示报错: 错误原因 一种错误原因是你在操作sequence时无意中把landscape写入到了sequence中,有变换(transform)轨道…

MySql注入之Bypass总结

在真实的渗透测试环境中,经常会遇到被WAF拦截的情况,如果不知道怎么绕过WAF,想要继续渗透就很难了,因此,今天来总结一下 mysql 注入时,如何绕过WAF。 一、测试环境 集成环境: phpStudy数据库: mysql 5.7H…

第十八节:学习统一异常处理(自学Spring boot 3.x的第五天)

这节记录下如何通过AOP方式统一处理异常拦截。 第一步: 新建一个exception包,创建一个ExcetionHandler.java(名字随意取) package cn.wcyf.wcai.exception;import cn.wcyf.wcai.common.Result; import org.springframework.web…

双顶堆算法求中位数——从LeetCode题海中总结常见套路

前言:双顶堆算法求是非常经典的一种求中位数算法,是堆必知必会的经典知识点。具体来说,就是如何求出数据流中的中位数。数据流的特点是高速插入,数据会不断涌入结构中,那么也就面临着需要多次动态调整以获得中位数。我们需要保证最大效率的情况下求出中位数,当然不能全部…

Pycharm 输入三个引号没有自动生成函数(方法)注释

配置项路径:pycharm–>Settins–>Tools–>Python Integrated Tools–>Docstrings–>Docstrings format选择对应的工程,如果有多个工程的话将 Docstrings format 的值从 Plain 换成 reStructuredText

Jupyter Notebook | 安装 rise 插件后显示幻灯片失败

目录 1 问题描述2 解决步骤 1 问题描述 下图目录中的 .ipynb 文件都能以幻灯片的形式展现: 但是跟着 03 安装【动手学深度学习v2】 安装好 rise 插件后,并不能进入幻灯片模式。后来发现是 Jupyter Notebook 版本和 Python 版本不匹配的问题&#xff…

全国历年高考真题2008-2024

目录 分享链接: ⬇️⬇️⬇️ 点击下载

2024.9.11 作业

使用绘制事件完成钟表的绘制 源文件 #include "widget.h" #include "ui_widget.h" #include <QDateTime> //日期事件类 #include <QTimer> #include <QDebug>Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget…

AI论文精读笔记-Generative Adversarial Nets(GAN)

1. 论文基本信息 论文标题&#xff1a;Generative Adversarial Nets 作者&#xff1a;Ian J. Goodfellow,∗ Jean Pouget-Abadie,† Mehdi Mirza, Bing Xu, David Warde-Farley, Sherjil Ozair,‡ Aaron Courville, Yoshua Bengio 发表时间和期刊&#xff1a;2014.06&#xf…

Java数据结构(十)——冒泡排序、快速排序

文章目录 冒泡排序算法介绍代码实现优化策略复杂度和稳定性 快速排序算法介绍优化策略非递归实现代码演示复杂度和稳定性 冒泡排序 算法介绍 冒泡排序是一种简单的排序算法。它重复地遍历要排序的数列&#xff0c;一次比较两个元素&#xff0c;如果它们的顺序错误就交换。遍历…

【FICO】SAP财务模块中的统驭科目及特别总账详解

前言 统驭科目作为SAP FICO财务模块中专有的一个概念&#xff0c;很好地展示了SAP ERP系统在设计模式中的精妙性。在本文中&#xff0c;笔者将详细地介绍统驭科目的设计初衷&#xff0c;作用以及如何在系统中进行使用。 统驭科目的设计初衷 统驭科目是如何进行核算的&#xff…

【python】OpenCV—Age and Gender Classification

文章目录 1、任务描述2、网络结构2.1 人脸检测2.2 性别分类2.3 年龄分类 3、代码实现4、结果展示5、参考 1、任务描述 性别分类和年龄分类预测 2、网络结构 2.1 人脸检测 输出最高的 200 个 RoI&#xff0c;每个 RoI 7 个值&#xff0c;&#xff08;xx&#xff0c;xx&#x…

LeetCode - 17 电话号码的字母组合

题目来源 17. 电话号码的字母组合 - 力扣&#xff08;LeetCode&#xff09; 题目描述 给定一个仅包含数字 2-9 的字符串&#xff0c;返回所有它能表示的字母组合。答案可以按 任意顺序 返回。 给出数字到字母的映射如下&#xff08;与电话按键相同&#xff09;。注意 1 不对…

共享单车轨迹数据分析:以厦门市共享单车数据为例(三)

本篇文章将视角聚焦于共享单车的出行距离和时间分布&#xff0c;为了更好地理解共享单车在特定时间段内的使用情况及用户行为特征&#xff0c;本文基于2020年12月21日上午06:00至10:00期间收集的共享单车订单数据进行了详细的分析&#xff0c;旨在探索共享单车在该时间段内的出…

Centos7 Hadoop 单机版安装教程(图文)

本章教程,主要记录如何在Centos7中安装Hadoop单机版。 一、软件安装包和基础环境 CentOS7.x,jdk8,hadoop 通过网盘分享的文件:Hadoop 链接: https://pan.baidu.com/s/1_qGI9QeXMAJNb3TydHhQGA?pwd=xnz4 提取码: xnz4 当然你也可以自己去官网下载。 java8:https://www.ora…

【Python第三方库】OpenCV库实用指南

文章目录 前言安装OpenCV读取图像图像基本操作获取图像信息裁剪图像图像缩放图像转换为灰度图图像模糊处理边缘检测图像翻转图像保存 视频相关操作方法讲解读取视频从摄像头读取视频 前言 OpenCV&#xff08;Open Source Computer Vision Library&#xff09;作为一个强大的计…