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

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

怎么分清DNN、RNN、CNN?

        最“大”的概念是人工神经网络(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

相关文章:

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

怎么分清DNN、RNN、CNN? 最“大”的概念是人工神经网络(Artificial Neural Network, ANN),它是较为广泛的术语,通常指的是一类模拟生物神经网络的数学模型,其中包括神经元、权重和连接。在这个术语下&#…...

组织应在其网络安全策略中考虑MLSecOps吗?

随着越来越多的组织拥抱人工智能 (AI) 和机器学习 (ML) 来优化操作并获得竞争优势,关于如何最好地保障这一强大技术的安全性的问题也日益受到关注。其中的核心是用于训练ML模型的数据,这对模型的行为和性能有着根本影响。因此,组织需要密切关…...

Windows安装HeidiSQL教程(图文)

一、软件简介 HeidiSQL是一款开源的数据库管理工具,主要用于管理MySQL、MariaDB、SQL Server、PostgreSQL和SQLite等数据库系统。它提供了直观的用户界面,使用户可以轻松地连接到数据库服务器、执行SQL查询、浏览和编辑数据、管理数据库结构等操作。 跨…...

存储课程学习笔记5_iouring的练习(io_uring,rust_echo_bench,fio)

我们知道,在处理大量高并发网络时,一般考虑并发,以及设计对应的方案(比如select,poll,epoll)等。 那么如果频繁进行文件或者磁盘的操作,如何考虑性能和并发,这里就可以考虑用到io_uring。 0&a…...

前端HTML+CSS+JS的入门学习

一.HTML HTML(HyperText Markup Language)即超文本标记语言,是用于创建网页和网页应用程序的标准标记语言。它不是一种编程语言,而是一种标记语言,通过一系列的元素(elements)来告诉浏览器如何…...

通信电路和信道的区别与联系

通信电路和信道的区别 区分通信电路和信道主要在于理解它们的功能范围与作用机制。通信电路侧重于信息的处理和信号的调整,而信道更侧重于信号的实际传输。电路可以视为信道的接入点,但它们的设计和优化考量各不相同。例如,电路设计重视的传…...

基于深度学习的蛋白质结构预测

基于深度学习的蛋白质结构预测是利用深度学习模型来预测蛋白质的三维结构,这在生物学和药物研发领域具有重要意义。蛋白质的功能在很大程度上取决于其三维结构,准确预测蛋白质结构可以帮助科学家理解蛋白质的功能和相互作用,并加速药物发现的…...

基于 Redis 的分布式锁实现原理及步骤

实现分布式锁的目的是在分布式系统中,保证多个节点之间对共享资源的并发访问是互斥的。常用的分布式锁实现方式有以下几种:基于数据库、基于 Redis、基于 Zookeeper。下面详细介绍基于 Redis 的分布式锁实现原理及步骤。 一、Redis 分布式锁原理 唯一性…...

21_动态规划与数据结构结合

菜鸟:老鸟,我最近在处理一个数据操作时遇到了性能问题。我需要计算一个数组中某些子数组的和,但直接计算太慢了,有没有什么更高效的方法? 老鸟:你提到的这个问题其实可以通过动态规划结合数据结构来解决。…...

React与Vue的对比

异同总结 相同点: 都有组件化思想 都支持服务器端渲染 都有Virtual DOM(虚拟dom) 数据驱动视图 都有支持native的方案:Vue的weex、React的React native 都有自己的构建工具:Vue的vue-cli、React的Create React A…...

精密量测软件(仿KLA免费浏览器程序ProfilmOnline)

KLA在线软件分析图 软件仿KLA公司免费浏览器软件ProfilmOnline,软件地址ProfilmOnline - 用于3D轮廓仪和AFM的表面成像、分析和测量软件 可以直接从profilmonline上下载3D图加载对比分析,当前已完成的内容有 1、调平 2、尖峰去噪 3、能量密度图&…...

Java项目: 基于SpringBoot+mybatis+maven实现的IT技术交流和分享平台(含源码+数据库+毕业论文)

一、项目简介 本项目是一套基于SpringBootmybatismaven实现的IT技术交流和分享平台 包含:项目源码、数据库脚本等,该项目附带全部源码可作为毕设使用。 项目都经过严格调试,eclipse或者idea 确保可以运行! 该系统功能完善、界面美…...

STL02——手写简单版本的list

手写一个简单版本的list 设计一个名为 List 的 List 类,该类具有以下功能和特性: 1、基础成员函数 构造函数:初始化 List 实例析构函数:清理资源,确保无内存泄露 2、核心功能 在 List 末尾添加元素在 List 开头添…...

基于SpringBoot的校园自助洗衣服务管理系统

作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、SSM项目源码 系统展示 【2025最新】基于JavaSpringBootVueMySQL的校园自助洗衣服务…...

音视频入门基础:AAC专题(2)——使用FFmpeg命令生成AAC裸流文件

在文章《音视频入门基础:PCM专题(1)——使用FFmpeg命令生成PCM音频文件并播放》中讲述了生成PCM文件的方法。通过FFmpeg命令可以把该PCM文件转为AAC裸流文件: ./ffmpeg -f s16le -ar 44100 -ac 2 -i audio1.pcm audio1.aac 由于…...

第 6 篇 自定义 Helm Chart

文章目录 第 1 步:创建 chartChart.yamlvalues.yamltemplates 模板文件_helpers.tpl 模板辅助文件serviceaccount.yamlservice.yamldeployment.yamlhpa.yamlingress.yamlNOTES.txttests/test-connection.yaml 第 2 步:检查 chart 格式第 3 步&#xff1a…...

Jenkis部署vue前端项目提示:sh: vue-cli-service: command not found

解决方法: 1. 进入到/var/lib/jenkins/workspace/项目名下,查看是否有node_modules,如果没有执行 npm install 2. 如果执行npm intall的过程中提示:npm ERR! 407 Proxy Authentication Required - GET http://registry.npm.taob…...

中介者模式mediator

学习笔记,原文链接 https://refactoringguru.cn/design-patterns/mediator 减少对象之间混乱无序的依赖关系。 该模式会限制对象之间的直接交互, 迫使它们通过一个中介者对象进行合作。...

GO语言性能分析

Go语言基准测试与pprof工具性能分析详解 在现代软件开发中,性能优化是一个重要的环节。Go语言提供了强大的工具来进行基准测试和性能分析,其中 testing 包用于基准测试,而 pprof 工具用于性能分析。本文将详细讲解如何使用这些工具来进行性能…...

关于 PreparedStatement

Mysql 层面的语法也支持 prepare 这个确实第一次见 PREPARE prepares a statement for execution (see Section 13.5.1, “PREPARE Statement”).EXECUTE executes a prepared statement (see Section 13.5.2, “EXECUTE Statement”).DEALLOCATE PREPARE releases a prepared…...

超短脉冲激光自聚焦效应

前言与目录 强激光引起自聚焦效应机理 超短脉冲激光在脆性材料内部加工时引起的自聚焦效应,这是一种非线性光学现象,主要涉及光学克尔效应和材料的非线性光学特性。 自聚焦效应可以产生局部的强光场,对材料产生非线性响应,可能…...

大话软工笔记—需求分析概述

需求分析,就是要对需求调研收集到的资料信息逐个地进行拆分、研究,从大量的不确定“需求”中确定出哪些需求最终要转换为确定的“功能需求”。 需求分析的作用非常重要,后续设计的依据主要来自于需求分析的成果,包括: 项目的目的…...

51c自动驾驶~合集58

我自己的原文哦~ https://blog.51cto.com/whaosoft/13967107 #CCA-Attention 全局池化局部保留,CCA-Attention为LLM长文本建模带来突破性进展 琶洲实验室、华南理工大学联合推出关键上下文感知注意力机制(CCA-Attention),…...

Appium+python自动化(十六)- ADB命令

简介 Android 调试桥(adb)是多种用途的工具,该工具可以帮助你你管理设备或模拟器 的状态。 adb ( Android Debug Bridge)是一个通用命令行工具,其允许您与模拟器实例或连接的 Android 设备进行通信。它可为各种设备操作提供便利,如安装和调试…...

从零实现富文本编辑器#5-编辑器选区模型的状态结构表达

先前我们总结了浏览器选区模型的交互策略,并且实现了基本的选区操作,还调研了自绘选区的实现。那么相对的,我们还需要设计编辑器的选区表达,也可以称为模型选区。编辑器中应用变更时的操作范围,就是以模型选区为基准来…...

【Web 进阶篇】优雅的接口设计:统一响应、全局异常处理与参数校验

系列回顾: 在上一篇中,我们成功地为应用集成了数据库,并使用 Spring Data JPA 实现了基本的 CRUD API。我们的应用现在能“记忆”数据了!但是,如果你仔细审视那些 API,会发现它们还很“粗糙”:有…...

鱼香ros docker配置镜像报错:https://registry-1.docker.io/v2/

使用鱼香ros一件安装docker时的https://registry-1.docker.io/v2/问题 一键安装指令 wget http://fishros.com/install -O fishros && . fishros出现问题:docker pull 失败 网络不同,需要使用镜像源 按照如下步骤操作 sudo vi /etc/docker/dae…...

C++八股 —— 单例模式

文章目录 1. 基本概念2. 设计要点3. 实现方式4. 详解懒汉模式 1. 基本概念 线程安全(Thread Safety) 线程安全是指在多线程环境下,某个函数、类或代码片段能够被多个线程同时调用时,仍能保证数据的一致性和逻辑的正确性&#xf…...

服务器--宝塔命令

一、宝塔面板安装命令 ⚠️ 必须使用 root 用户 或 sudo 权限执行! sudo su - 1. CentOS 系统: yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh2. Ubuntu / Debian 系统…...

Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析

Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析 一、第一轮提问(基础概念问题) 1. 请解释Spring框架的核心容器是什么?它在Spring中起到什么作用? Spring框架的核心容器是IoC容器&#…...