【神经网络与深度学习】深度神经网络(DNN)

news2024/10/2 21:20:59

概述

深度神经网络(Deep Neural Networks,DNN)是一种由多个隐藏层组成的神经网络模型。每个隐藏层由多个神经元组成,这些神经元通过权重和激活函数进行信息传递和计算。

深度神经网络通过多层的非线性变换,可以学习到更加抽象和复杂的特征表示。每一层都可以将输入数据转化为更高级的表示,从而更好地捕捉数据的特征和模式。通过不断叠加隐藏层,网络可以逐渐学习到更多的抽象特征,提高模型的表达能力。

深度神经网络在诸多领域中取得了重大突破和成功应用,如图像识别、语音识别、自然语言处理等。它能够处理大规模的数据,并具有强大的表示学习能力,能够自动提取和学习数据中的关键特征,从而实现更高水平的模式识别和预测能力。

然而,深度神经网络的训练也面临一些挑战,如梯度消失或梯度爆炸问题以及过拟合等。为了克服这些问题,出现了一些改进的深度神经网络结构和训练技巧,如卷积神经网络(CNN)、循环神经网络(RNN)、残差网络(ResNet)等。这些创新不断推动着深度神经网络的发展,并在各种领域中发挥着重要作用。

结构

神经网络层

首先通过图片来观察神经网络层的结构,第一张图是浅层神经网络,包括一个输入层,一个隐藏层和一个输出层。

  • 输入层:它所包含的神经元的个数等于单个实例所包含的特征数。只负责输入数据,没有激活函数。
  • 隐藏层:作用是提取特征,必须包含激活函数。
  • 输出层:它所包含的神经元的数目与标签的类别数有关,主要负责输出模型的预测值,它可以包含激活函数。

在这里插入图片描述

下图为深度神经网络,分为一个输出层,多个隐藏层和一个输出层。

在这里插入图片描述

神经元

神经元作为神经网络中最基本的单位,也有其独特的结构,如图所示,其中

  • x为输入,每一个连接上都有一个权重w,中间的节点为人工神经元节点;
  • δ是一个非线性变换,称为激活函数,目的是为了使人工神经元具有表示非线性关系的能力;
  • 参数b称之为偏置;output为人工神经元的输出。

在这里插入图片描述
公式如下:

在这里插入图片描述

激活函数

激活函数是神经网络中的一种非线性函数,作用于神经元的输入信号,将其转换为神经元的输出。激活函数在神经网络中起到了引入非线性变换的作用,增加了网络的表达能力。

激活函数的主要特点如下:

  • 非线性变换:激活函数对输入进行非线性变换,使得神经网络能够学习和表示非线性关系。如果没有激活函数,多个线性层堆叠起来的神经网络仍然只能表示线性关系。

  • 可微性:激活函数通常要求在大部分输入范围内是可导的,这是因为梯度下降等优化算法通常依赖于梯度的计算。可导的激活函数使得梯度可以传递并更新网络参数。

  • 非饱和性:一些激活函数具有非饱和性,即在输入较大或较小的情况下,能够保持较大的梯度,避免梯度消失问题。这有助于更好地传递误差信号和加速网络的收敛速度。

  • 映射范围:激活函数可以将输入信号映射到一定的输出范围内,如Sigmoid函数将输入映射到 (0, 1) 的范围内,而ReLU函数将负值映射为零。这有助于对输出进行限制或规范化。

常见的激活函数包括:

  1. Sigmoid函数:将输入映射到 (0, 1) 的范围内,具有平滑的非线性特性。
    在这里插入图片描述

  2. ReLU函数:在输入大于零时输出等于输入,小于零时输出为零,具有简单和高效的计算方式。
    在这里插入图片描述

  3. Tanh函数:将输入映射到 (-1, 1) 的范围内,形状与Sigmoid函数类似但对称。
    在这里插入图片描述

  4. Leaky ReLU函数:在输入小于零时引入一个小的斜率,避免了ReLU函数的部分问题。

  5. Softmax函数:用于多分类问题,在输出层将输入转化为概率分布。

三种激活函数的比较:
在这里插入图片描述

损失函数

损失函数是一个数学函数,用于衡量预测值与真实值之间的误差。它可以帮助我们确定模型的预测结果是否准确,并且可以用来评估模型的性能。

损失函数是深度学习中的一个关键因素,它可以帮助我们评估模型的性能并且用于调整模型的参数。选择合适的损失函数能够提高模型的性能,并有助于解决复杂的问题。

常见的损失函数:
在这里插入图片描述

内容来自视频:
深度神经网络的结构

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1505065.html

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

相关文章

狂雨CMS-采集规则(novelfull.com)

1. 填写采集规则的基本信息 首先点击采集管理中的添加按钮来新建规则: 然后进入到信息页面填写,包括: 规则名称:一般以要采集的源站名命名。 网站编码:默认自动检测即可。 类型:根据网站类型来选择&#x…

遗传算法(GA)求解基于栅格地图的机器人最优路径规划,可以自行修改地图(提供MATLAB代码)

通过栅格法建立栅格地图作为机器人路径规划的工作环境,采用遗传算法作为机器人路径搜索的规则.将所有机器人放置于初始位置.经过NC次无碰撞迭代运动找到最优路径.到达目标位置.为防止机器人在路径搜索过程中没有达到最大迭代次数时路径大小已不发生变化而陷入局部最优。 一、部…

个人博客系列-后端项目-RBAC角色管理(6)

修改上一篇文章创建的用户表 ## 用户表 from django.contrib.auth.hashers import make_password, check_password from django.contrib.auth.models import AbstractBaseUserclass User(AbstractBaseUser):username models.CharField(max_length255, uniqueTrue, verbose_na…

day-18 猜数字游戏

1.由于两个数字位数相同,所以可以遍历字符串吧,找出公牛个数 2.在通过两个数组分别统计两个数字0-9的个数 3.Math.min(arr1[i],arr2[i])即为对应数字的奶牛个数 code class Solution {public String getHint(String secret, String guess) {int arr1[]n…

C++进阶:详细讲解继承

现在也是结束了初阶部分的内容,今天开始就进入进阶部分了。一刻也没有为初阶的结束而哀悼,立刻赶来“战场”的是进阶部分里的继承 文章目录 1.继承的概念和定义1.1继承的概念1.2继承的定义1.2.1继承的格式1.2.2再讲访问限定符(详讲protected)1.2.3**继承…

Android14之解决报错:No module named selinux(一百九十三)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒…

HTML静态网页成品作业(HTML+CSS)——花主题介绍网页设计制作(1个页面)

🎉不定期分享源码,关注不丢失哦 文章目录 一、作品介绍二、作品演示三、代码目录四、网站代码HTML部分代码 五、源码获取 一、作品介绍 🏷️本套采用HTMLCSS,未使用Javacsript代码,共有1个页面。 二、作品演示 三、代…

数据科学中的Python:NumPy和Pandas入门指南【第121篇—NumPy和Pandas】

数据科学中的Python:NumPy和Pandas入门指南 数据科学是当今数字时代中的一个重要领域,而Python是数据科学家们最喜爱的编程语言之一。在这篇博客中,我们将介绍Python中两个强大的库——NumPy和Pandas,它们在数据处理和分析中发挥…

mysql | 查询数据的过程|优化-->索引 |存储引擎

查询的过程 首先确认mysql 服务器是否启动 systemctl mysqld status 登录连接 mysql -h i p − u ip -u ip−uuser -p (-h 指定服务器ip -u 指定用户名 -p 指定密码) mysql 数据包 经过抓包分析(mysql包其实就是基于tcp协议 3306端口) 传输采用mysql 协议&#xff0…

【探索C++容器:set和map的使用】

[本节目标] 1. 关联式容器 2. 键值对 3. 树形结构的关联式容器 1. 关联式容器 在初阶阶段,我们已经接触过STL中的部分容器,比如:vector、list、deque、forward_list(C11)等,这些容器统称为序列式容器,因为其底层为…

【Tauri】(4):整合Tauri和actix-web做本地大模型应用开发,可以实现session 登陆接口,完成页面展示,进入聊天界面

1,视频地址 https://www.bilibili.com/video/BV1GJ4m1Y7Aj/ 【Tauri】(4):整合Tauri和actix-web做本地大模型应用开发,可以实现session 登陆接口,完成页面展示,进入聊天界面 使用国内代理进行加…

农场管理小程序|基于微信小程序的农场管理系统设计与实现(源码+数据库+文档)

农场管理小程序目录 目录 基于微信小程序的农场管理系统设计与实现 一、前言 二、系统设计 三、系统功能设计 1、用户信息管理 2、农场信息管理 3、公告信息管理 4、论坛信息管理 四、数据库设计 五、核心代码 七、最新计算机毕设选题推荐 八、源码获取&#x…

族群争霸休闲养成小游戏

​游戏概述: 在一个由自然力量支配的幻想世界中,狼族与羊族的战争永无止境。 人族在两者之间寻求和平,建立起坚固的城墙,同时捕捉狼与羊来增强自身实力。 神族则在幕后观察,偶尔以神技介入战场,影响战局…

如何通过隐藏服务器真实IP来防御DDOS攻击

我们知道,服务器对外提供服务,基本上都是放置在公网上的。所以说服务器放置在公网上会面临很多攻击,如果不做好必要的防护措施,服务器被人攻击只是时间上的问题。 而我们面临的众多攻击中,DDoS攻击是最常见同时也是影响…

CSS顶部与JS后写:网页渲染的奥秘

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…

【linux】01 :虚拟机,Linux系统,远程连接Linux系统

导入:常见操作系统有哪些? PC端:Windows,Linux,MacOS 移动端:Android、IOS、鸿蒙系统 一、Linux 系统的组成 由Linux 系统内核和系统级应用程序两部分组成。 内核提供系统最核心的功能,如:调度 CPU 、调度…

Android Studio在导入项目后编译出现java版本错误解决方法

打开新项目时出现一下错误: Unsupported Java,Your build is currently configured to use Java 17.0.9 and Gradle 5.6.4. 这说明使用的java版本过高,而 gradle5.6.4对应的是java8,最新安装的编译器java版本是17 解决方法是为项…

C语言————字符函数与字符串函数

在编程的过程中,我们经常要处理字符和字符串,为了⽅便操作字符和字符串,C语⾔标准库中提供了⼀系列库函数,如追加,拷贝,替换等等接下来我们就学习⼀下这些函数,并且自实现。 gets 这个指令大家…

IntelliJ IDEA 2020.2.4试用方法

打开idea,准备好ide-eval-resetter压缩包。 将准备好的压缩包拖入idea中 选中弹窗中的自动重置选项,并点击重置 查看免费试用时长

【Docker安装教程】Docker安装Redis详解

安装Redis前我们必须要保证Docker运行OK,如何安装Docker参考《CentOS 7 上的 Docker 安装与配置》 步骤 1: 拉取 Redis 镜像 首先,确保你已经安装了 Docker。然后,使用以下命令拉取最新的 Redis 镜像: docker pull redis](http…