【深度学习】神经网络-怎么分清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.mfbz.cn/a/876078.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Redis】主从复制 - 源码

因为主从复制的过程很复杂, 同时核心逻辑主要集中在 replication.c 这个文件中, 避免篇幅过大, 所以将主从复制中涉及这个文件的代码集中到了另一篇文章。 在当前文章主要分析主从复制的大体代码逻辑, 如果需要了解整体的过程, 可以配合 Redis 主从复制 - relication 源码分析 …

iOS 知识点记录

王巍 博客地址:OneVs Den git地址:onevcat (Wei Wang) GitHub 江湖人称喵神,目前就职于line。喵神的博客涉及方面比较广, 有Obejctive-C, Swift, SwiftUI, Unity等等。博客内容很有深度,非常值得关注。 戴铭 博客地址&#xff1…

ESP32-WROOM-32 开篇(刚买)

简介 买了一个ESP32-WROOM-32模块的开发板, 记录板初上机细节。 模块简介 Look 连接PC 1. 解决驱动问题 https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers?tabdownloads 下载驱动, 如下图 解压缩下载的包, 然后电机64位的版本, 一直…

汽车无钥匙启动功能工作原理

移‌动管家无钥匙启动‌是一种科技化的汽车启动方式,它允许车主在不使用传统钥匙的情况下启动车辆。这种技术通过智能感应系统实现,车主只需携带智能钥匙,当靠近车辆时,车辆能够自动解锁并准备启动。启动车辆时,车主无…

友思特方案 | 搭建红外桥梁:嵌入式视觉接口助力红外热像仪传输

导读 为红外成像设备数据传输快速搭桥!友思特嵌入式视觉接口能帮助用户快速享有 GigE Vision 协议优势,是红外成像设备视觉接口集成、开发高性能相机的高效快捷方案。 引言 红外热像仪作为一种非接触式设备,能够检测红外能量(热量…

CSS实现前端布局更巧妙的方案!在 flex 布局中通过使用 margin 实现水平垂直居中以及其他常见的前端布局

在前端开发中,实现水平垂直居中一直是个热门话题。随着 CSS Flexbox 布局的普及,开发者们开始更多地使用 justify-content 和 align-items 这两个属性来解决这个问题。 然而,还有一种更加简洁、灵活的方式——使用 margin: auto; 来实现居中以…

Grafana面板-linux主机详情(使用标签过滤主机监控)

1. 采集器添加labels标签区分业务项目 targets添加labels (模板中使用的project标签) … targets: [‘xxxx:9100’] labels: project: app2targets: [‘xxxx:9100’] labels: project: app1 … 2. grafana面板套用 21902 模板 演示

UE5 阴影通道

Shadow Pass Switch节点中 Default代表模型遮罩的效果 Shadow代表阴影的生成遮罩效果

3. 进阶指南:自定义 Prompt 提升大模型解题能力

怎么判断 Prompt 的好坏,有什么问题有着标准答案么? 答:让大模型求解数学问题。 李宏毅老师的 HW4 正好提到了有关数学问题的 Prompt,所以我决定中间插一篇这样的文章。通过本文你将: 了解各种 Prompt 如何影响大型语言…

从C语言过渡到C++

📔个人主页📚:秋邱-CSDN博客☀️专属专栏✨:C 🏅往期回顾🏆:单链表实现:从理论到代码-CSDN博客🌟其他专栏🌟:C语言_秋邱的博客-CSDN博客 目录 ​…

HOT 100(七)栈、堆、贪心算法

一、栈 1、每日温度 使用单调递减栈来解决。主要思路是遍历temperatures数组,利用栈来存储还没有找到比当前温度高的天数的索引。当遇到比栈顶索引所对应温度更高的温度时,就可以确定当前这一天的温度比之前那一天高。索引的差值就是等待的天数。 求一…

Golang数据流处理:掌握Reader和Writer接口的技巧

Golang数据流处理:掌握Reader和Writer接口的技巧 引言理解Reader和Writer接口Reader接口的定义和基本方法Writer接口的定义和基本方法 Reader接口的深入探讨Reader接口的实现示例使用io.Reader读取文件内容从网络连接中读取数据 常用Reader类型及其应用场景strings.…

相图的科学应用,陶瓷材料创新

陶瓷材料因其优异的物理和化学性能,在航空航天、电子、生物医学等多个领域展现出广阔的应用前景。陶瓷材料的性能很大程度上取决于其微观结构,包括晶粒大小、相组成和分布。相图作为描述陶瓷材料在不同条件下的相变行为和相平衡关系的图表反映了陶瓷材料…

10年Python程序员教你多平台采集10万+电商数据【附实例】

10万级电商数据采集需要注意什么? 在进行10万级电商数据采集时,有许多关键因素需要注意: 1. 采集平台覆盖:确保可以覆盖主流的电商平台,如淘宝、天猫、京东、拼多多等。 2. 数据字段覆盖:检查是否可以对平…

什么是VHDX文件?

VHDX文件是Docker环境中使用的一种虚拟硬盘文件格式,专门用于存储Docker容器 的镜像和数据。这种文件格式,VHDX,代表Virtual Hard Disk Extended,是一种用于虚拟化环境的硬盘文件格式,支持动态扩展、快照、加密等功能&…

python基础知识 (五)--容器、索引、切片、字符串的遍历、查找、修改元素

目录 容器 容器大总结 索引 切片 字符串的遍历 for循环语法: while循环语法: 查找元素 修改元素 例题 1.验证码 2.抽取大红包 3.a和b互换位置 容器 在Python中,常见容器有: (1)字符串&#x…

C++:类和对象全解

C:类和对象全解 一、类的定义和初始化(一)类的定义1、类的成员变量(1)成员变量(2)成员函数 2、实例化对象(1)采用普通构造函数(2)采用初始化列表 …

数据可视化与分析:数据时代的关键工具

一、引言 数据可视化与分析是大数据时代中最为重要的技术之一。随着数据量的不断增加,如何有效地理解、解释和利用数据,已经成为各行各业面临的关键挑战。数据可视化通过图表、图形和互动界面将数据以直观的方式呈现,帮助用户快速识别数据中…

SMA2:代码实现详解——Image Encoder篇(Hiera章)

SMA2:代码实现详解——Image Encoder篇(Hiera) 写在前面 大家在SMA2:代码实现详解——Image Encoder篇(FpnNeck)下的留言我已收到,感谢大家的支持,后面如果遇到比较难以讲清的部分可能会使用视频的形式。…

Python 课程9-資料庫操作

前言 在现代软件开发中,数据库是核心组件之一,它负责数据的存储、管理和检索。无论是简单的应用程序还是复杂的企业级系统,数据库操作都是必不可少的。本教程将深入讲解如何使用 Python 进行数据库操作,涵盖使用 sqlite3 进行本地…