【深度学习】第一门课 神经网络和深度学习 Week 4 深层神经网络

🚀Write In Front🚀
📝个人主页:令夏二十三
🎁欢迎各位→点赞👍 + 收藏⭐️ + 留言📝
📣系列专栏:深度学习
💬总结:希望你看完之后,能对你有所帮助,不足请指正!共同学习交流 🖊

文章目录

4.1 深层神经网络概述

 4.2 前向传播和反向传播

4.2.1 前向传播

4.2.2 反向传播

 4.5 使用深层表示的原因

4.7 参数和超参数


4.1 深层神经网络概述

深层神经网络,其实就是在浅层神经网络这篇文章中提到的示例的基础上增加隐藏层数量罢了,没有本质的区别:

 4.2 前向传播和反向传播

4.2.1 前向传播

前向传播很简单,就是从左到右的计算罢了,使用向量化计算的话,就是先喂入神经网络第一层的输入值,也就是 A[0] ,一整个训练样本的输入特征,这就是这条链的第一个前向函数的输入,重复这个步骤就可以计算出这个神经网络的前向传播结果了。

4.2.2 反向传播

从右到左,逐步计算导数,这就是反向传播,步骤如下:

下面用智谱总结一下前向传播和反向传播的目的:

神经网络中的前向传播(Forward Propagation)和反向传播(Back Propagation)是训练神经网络的两个关键过程。

前向传播的目的是为了计算神经网络的输出。在监督学习的情况下,给定的输入数据通过神经网络各层的加权运算和非线性激活函数的作用,最终得到预测结果。这一过程是逐层进行的,每层神经元的输出成为下一层的输入,直到最后一层输出结果。前向传播可以理解为神经网络对输入数据的响应过程,它展示了网络在当前权重和偏置参数配置下如何处理信息。

反向传播的目的是为了调整神经网络的参数(即权重和偏置),使得神经网络的预测结果更接近于真实标签。在计算出前向传播的预测结果后,通过比较预测结果和真实结果之间的差异(即损失函数),反向传播算法计算这些差异如何影响网络的每一层参数。基于这些计算,使用梯度下降等优化算法来调整网络参数,目的是减少损失函数的值,提高模型的性能。反向传播是神经网络能够从错误中学习并逐步改进的关键机制。

总结来说,前向传播是神经网络进行预测的过程,而反向传播则是神经网络学习的过程。两者共同作用,使得神经网络能够通过训练数据不断优化自身参数,提高预测的准确性。

 4.5 使用深层表示的原因

深度神经网络之所以通常需要一定深度的层次结构,主要是因为深度结构能够提供以下几个优势:

  1. 特征层次化:深度神经网络能够通过多个隐藏层逐步将输入数据从原始特征转换成更高层次、更抽象的特征表示。每一层都可以学习到不同层次的特征,例如,第一层可能只识别边缘和纹理,而更高层则能识别复杂的对象结构。这种层次化的特征学习是深度学习相比于浅层学习的一个重要优势。

  2. 非线性建模能力:由于每个隐藏层都使用了非线性激活函数,深度神经网络能够建模非常复杂的函数。深度网络可以通过组合多个非线性变换来捕捉输入和输出之间复杂的关系。

  3. 参数共享和泛化:在深度网络中,尤其是在卷积神经网络中,参数是通过在输入数据的多个位置共享来减少模型参数数量的。这种参数共享不仅减少了过拟合的风险,还提高了模型对未见数据的泛化能力。

  4. 层次化的表征:深度网络能够学习到数据的层次化表征,这种表征可以捕捉到数据中的内在结构和分布。这种层次化表征有助于网络在不同的抽象层次上理解和处理信息。

  5. 复杂的决策边界:在分类问题中,深度网络能够学习到非常复杂的决策边界,这对于处理高度重叠的分类问题非常有用。

然而,并不是所有问题都需要非常深的网络。有些问题可能比较简单,使用浅层网络就足够了。深度网络的训练通常需要更多的数据和计算资源,并且可能更难以调试。因此,选择网络的深度需要根据具体问题的复杂性和可用的资源来决定。在实际应用中,通常会通过实验来确定最佳的网络结构。

4.7 参数和超参数

在深度神经网络中,参数和超参数是两个不同的概念:

参数(Parameters): 参数是神经网络模型内部的变量,它们是模型通过训练数据学习到的。参数决定了神经网络如何将输入映射到输出。在监督学习中,这些参数是通过优化过程(如梯度下降)调整的,以便模型能够更好地拟合训练数据。主要的参数包括:

  • 权重(Weights):连接神经网络的每个神经元之间的数值,它们决定了信息在网络中的传递强度。
  • 偏置(Biases):加到每个神经元输出上的常数,它们允许模型输出不为零,即使输入全部为零。

在训练过程中,目标是最小化损失函数,这通常是通过更新权重和偏置来实现的。

超参数(Hyperparameters): 超参数是模型外部的配置参数,它们不是通过训练数据学习到的,而是由研究人员或工程师设置的。超参数决定了模型的架构、学习过程和训练方式。超参数的选择对模型的性能有重要影响,通常需要通过实验和经验来确定。主要的超参数包括:

  • 学习率(Learning Rate):在参数更新过程中,决定参数更新步长的数值。
  • 批量大小(Batch Size):在每次参数更新中使用的数据样本数量。
  • 迭代次数(Number of Epochs):在整个数据集上运行梯度下降的次数。
  • 网络层数(Number of Layers):神经网络中隐藏层的数量。
  • 每层的神经元数量(Number of Neurons per Layer):每个隐藏层中神经元的数量。
  • 激活函数(Activation Functions):用于引入非线性到网络中的函数,如ReLU、Sigmoid或Tanh。
  • 正则化参数(Regularization Parameters):如L1/L2正则化中的惩罚系数,用于防止过拟合。

超参数通常需要通过交叉验证等方式进行调整和优化,以便找到最优的模型配置。与参数不同,超参数的调整不直接涉及损失函数的最小化过程。

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

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

相关文章

G1 - 生成对抗网络(GAN)

🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 目录 理论知识生成器判别器基本原理 环境步骤环境设置数据准备模型设计模型训练模型效果展示 总结与心得体会 理论知识 生成对抗网络(Generative …

Jenkins流水线部署springboot项目

文章目录 Jenkins流水线任务介绍Jenkins流水线任务构建Jenkins流水线任务Groovy脚本Jenkinsfile实现 Jenkins流水线任务实现参数化构建拉取Git代码构建代码制作自定义镜像并发布 Jenkins流水线任务介绍 之前采用Jenkins的自由风格构建的项目,每个步骤流程都要通过不…

二维数组的鞍点(C语言)

一、鞍点解释&#xff1b; 鞍点就是该位置上的元素在该行上最大、在该列上最小&#xff1b; 二、N-S流程图&#xff1b; 三、运行结果&#xff1b; 四、源代码&#xff1b; # define _CRT_SECURE_NO_WARNINGS # include <stdio.h>int main() {//初始化变量值&#xff…

Java_JVM_JVMs

JVM 官方文档说明文档目录 官方文档 JVM Specification 说明 以Java SE 17为标准 文档目录 2&#xff1a;JVM 结构 class文件数据类型 基本数据类型引用数据类型 运行时数据区 栈帧 其他内容 对象的表示浮点数运算特殊方法 初始化方法【实例、类】多态方法 3&#xff…

AI代理架构的发展:从单一到多代理系统的演进及其影响分析

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

Python中无法pip的解决办法和pip的介绍

什么是pip&#xff1f; PIP是通用的Python包管理工具&#xff0c;提供了对 Python 包的查找、下载、安装、卸载、更新等功能。安装诸如Pygame、Pymysql、requests、Django等Python包时&#xff0c;都要用到pip。 注意&#xff1a;在Python3.4&#xff08;一说是3.6&#xff09…

自动化滇医通

###我已经将数据爬取出来### 现在开源集合大家的思路一起研究 &#xff08;请更换ip 以及 暂停时间 不然会提示违规操作&#xff09; 脚本读取预约信息后开始随机抢一家的&#xff0c;qiang方法里面请自行修改抓包数据参数&#xff01;&#xff01; 现在开源大家一起讨论 pyt…

富文本编辑器 iOS

https://gitee.com/klkxxy/WGEditor-mobile#wgeditor-mobile 采用iOS系统浏览器做的一款富文本编辑器工具。 原理就是使用WKWebView加载一个本地的一个html文件&#xff0c;从而达到编辑器功能的效果&#xff01; 由于浏览器的一些特性等&#xff0c;富文本编辑器手机端很难做…

【开源物联网平台】window环境下搭建调试监控设备环境

&#x1f308; 个人主页&#xff1a;帐篷Li &#x1f525; 系列专栏&#xff1a;FastBee物联网开源项目 &#x1f4aa;&#x1f3fb; 专注于简单&#xff0c;易用&#xff0c;可拓展&#xff0c;低成本商业化的AIOT物联网解决方案 目录 一、使用docker脚本部署zlmediakit 1.1 …

WebDriver使用带用户名密码验证的IP代理解决方案

背景&#xff0c;使用python3 selenium 先定义一个方法&#xff0c;这里主要用到了chrome插件的功能&#xff0c;利用这个插件来放进代理内容。 def create_proxy_auth_extension(proxy_host, proxy_port,proxy_username, proxy_password, schemehttp):manifest_json "…

【HAL库 STM32】输入捕获并实现超声波测距

文章目录 HC-SR04 超声波模块简介HC-SR04 工作原理如何使用HC-SR04模块程序效果 一、工程配置代码如果您发现文章有错误请与我留言&#xff0c;感谢 HC-SR04 超声波模块简介 HC-SR04 工作原理 模块有2个超声波换能器&#xff08;如图所示&#xff09;&#xff0c;一个发出声波…

Spark Stream

一、Spark Streaming是什么 Spark Streaming 用于流式数据的处理。Spark Streaming 支持的数据输入源很多&#xff0c;例如&#xff1a;Kafka、Flume、Twitter、ZeroMQ 和简单的 TCP 套接字等等。数据输入后可以用 Spark 的高度抽象原语如&#xff1a;map、reduce、join、wind…

基于SSM SpringBoot vue教务排课系统

基于SSM SpringBoot vue教务排课系统 系统功能 登录 个人中心 学生信息管理 教师信息管理 课室信息管理 班级信息管理 系别信息管理 专业信息管理 课程信息管理 选课信息管理 课表信息管理 开发环境和技术 开发语言&#xff1a;Java 使用框架: SSM(Spring SpringMVC Myba…

✔ ★Java大项目——用Java模拟RabbitMQ实现一个消息队列(二)【创建核心类、封装数据库操作】

✔ ★Java大项目——用Java模拟RabbitMQ实现一个消息队列 四. 项⽬创建五. 创建核⼼类 ★创建 Exchange&#xff08;名字、类型、持久化、自动删除、参数&#xff09;创建 MSGQueue&#xff08;名字、持久化、独占标识&#xff09;创建 Binding&#xff08;交换机名字、队列名字…

pymeshlab加载物体、创建UV映射(基于平面投影)、创建并保存UV纹理和物体模型

一、关于环境 请参考&#xff1a;pymeshlab遍历文件夹中模型、缩放并导出指定格式-CSDN博客 二、关于代码 本文所给出代码仅为参考&#xff0c;禁止转载和引用&#xff0c;仅供个人学习。本文所给出的例子是https://download.csdn.net/download/weixin_42605076/89233917中的…

MySQL45讲(一)(40)

回顾binlog_formatstatement STATEMENT 记录SQL语句。日志文件小&#xff0c;节约IO&#xff0c;但是对一些系统函数不能准确复制或不能复制&#xff0c;如now()、uuid()等 在RR隔离级别下&#xff0c;binlog_formatstatement 如果执行insert select from 这条语句是对于一张…

uniapp 自定义相机插件(组件版、缩放、裁剪)组件 Ba-CameraView

自定义相机插件&#xff08;组件版、缩放、裁剪&#xff09; Ba-CameraView 简介&#xff08;下载地址&#xff09; Ba-CameraView 是一款自定义相机拍照组件&#xff0c;支持任意界面&#xff0c;支持裁剪 支持任意自定义界面支持手势缩放支持裁剪&#xff08;手势拖动、比…

35.Docker-数据卷,目录挂载

注意&#xff1a;在容器内修改文件是不推荐的。 1.修改不方便&#xff0c;比如vi命令都无法使用。 2.容器内修改&#xff0c;没有日志记录的。 问题&#xff1a;那应该如何修改容器中的文件呢&#xff1f; 数据卷 volume是一个虚拟目录&#xff0c;指向宿主机文件系统中的…

Python量化炒股的获取数据函数—get_index_stocks()

Python量化炒股的获取数据函数—get_index_stocks() 利用get_industry_stocks()函数可以获取在给定日期一个行业的所有股票代码列表&#xff0c;其语法格式如下&#xff1a; get_industry_stocks(industry_code, dateNone)各项参数的意义 参数date和返回值&#xff0c;都与g…

【海博】雅思该怎么练?

文章目录 前言 备考计划 模拟考试 参考资料 前言 见《【海博】浅析海博深造》 见《【海博】雅思和托福该考哪个&#xff1f;》 见《【海博】雅思该怎么考&#xff1f;》 见《【海博】雅思考什么&#xff1f;》 备考计划 第一周确定你的目标考试分数。 做一套雅思模拟试题&…