深度学习:(八)深层神经网络参数与流程
深层神经网络
符号规定
- L L L :表示神经网络的层数;
- l l l :表示第几层;
- n [ l ] n^{[~l~]} n[ l ] :表示第 l l l 层的节点数;
- a [ l ] a^{[~l~]} a[ l ] :表示第 l l l 层中的激活函数(泛指);
- a [ l ] = g [ l ] ( z [ l ] ) a^{[~l~]}=g^{[~l~]}(z^{[~l~]}) a[ l ]=g[ l ](z[ l ]) :表示第 l l l 层中的激活函数(泛指);
- W [ l ] W^{[~l~]} W[ l ] :表示第 l l l 层的参数 w w w 的集合;
- b [ l ] b^{[~l~]} b[ l ] :表示第 l l l 层的参数 b b b 的集合。
前向传播和反向传播都类似之前的笔记。
流程图
前向传播有输入数据 x x x ,反向传播的输入数据是 d a [ L ] da^{[~L~]} da[ L ] ,即输出层(第 L L L 层)的输出,在向量化代码中,直接展示出来的结果是损失函数 L ( y ^ , y ) L(\widehat{y},y) L(y ,y) ,
因为 d a [ L ] = − y a + 1 − y 1 − a da^{[~L~]}=-\frac{y}{a}+\frac{1-y}{1-a} da[ L ]=−ay+1−a1−y ,而 L ( y ^ , y ) L(\widehat{y},y) L(y ,y) 对 y ^ \widehat{y} y ( a a a)的导数,正好等于这个结果。因此将损失函数对 y ^ \widehat{y} y ( a a a)求导,可得出 d a [ L ] da^{[~L~]} da[ L ] ,然后代入反向传播链的输入,开始迭代,如上图所示。
向量化时 d a [ L ] da^{[~L~]} da[ L ] 需改为 d A [ L ] dA^{[~L~]} dA[ L ] , d A [ L ] = ( d a [ 1 ] , d a [ 2 ] , . . . , d a [ m ] ) dA^{[~L~]}=(da^{[~1~]},da^{[~2~]},...,da^{[~m~]}) dA[ L ]=(da[ 1 ],da[ 2 ],...,da[ m ]) 。
为何 z [ l ] z^{[~l~]} z[ l ]是反向传播的一个输入参数
∵ a [ l ] = σ ( z [ l ] ) = σ ( W [ l ] a [ l − 1 ] + b [ l ] ) ∵ d L d a [ l − 1 ] = d L d a [ l ] ⋅ d a [ l ] d a [ l − 1 ] = d a [ l ] ⋅ σ ′ ( W [ l ] a [ l − 1 ] + b [ l ] ) W [ l ] ⋅ d a [ l − 1 ] ∴ d a [ l − 1 ] = d a [ l ] ⋅ σ ′ ( z [ l ] ) W [ l ] ⋅ d a [ l − 1 ] \begin{align*} ∵a^{[~l~]}=\sigma&(z^{[~l~]})=\sigma(W^{[~l~]}a^{[~l-1~]}+b^{[~l~]})\\ ∵\frac{dL}{da^{[~l-1~]}}&=\frac{dL}{da^{[~l~]}}·\frac{da^{[~l~]}}{da^{[~l-1~]}}\\ &=da^{[~l~]}·\sigma^{'}(W^{[~l~]}a^{[~l-1~]}+b^{[~l~]})W^{[~l~]}·da^{[~l-1~]}\\ ∴da^{[~l-1~]}&=da^{[~l~]}·\sigma^{'}(z^{[~l~]})W^{[~l~]}·da^{[~l-1~]} \end{align*} ∵a[ l ]=σ∵da[ l−1 ]dL∴da[ l−1 ](z[ l ])=σ(W[ l ]a[ l−1 ]+b[ l ])=da[ l ]dL⋅da[ l−1 ]da[ l ]=da[ l ]⋅σ′(W[ l ]a[ l−1 ]+b[ l ])W[ l ]⋅da[ l−1 ]=da[ l ]⋅σ′(z[ l ])W[ l ]⋅da[ l−1 ]
核对矩阵的维度
向量化前的单个样本
-
前向传播:
W [ l ] W^{[~l~]} W[ l ] :维度为 ( n [ l ] , n [ l − 1 ] ) (n^{[~l~]},n^{[~l-1~]}) (n[ l ],n[ l−1 ]) ;
z [ l ] z^{[~l~]} z[ l ] :维度为 ( n [ l ] , 1 ) (n^{[~l~]},1) (n[ l ],1) ;
a [ l ] a^{[~l~]} a[ l ] :维度为 ( n [ l ] , 1 ) (n^{[~l~]},1) (n[ l ],1) ;
b [ l ] b^{[~l~]} b[ l ] :维度为 ( n [ l ] , 1 ) (n^{[~l~]},1) (n[ l ],1) 。
-
反向传播:
d W [ l ] dW^{[~l~]} dW[ l ] 和 W [ l ] W^{[~l~]} W[ l ] 同维度;
d b [ l ] db^{[~l~]} db[ l ] 和 b [ l ] b^{[~l~]} b[ l ] 同维度。
向量化后的整个训练集
-
前向传播:
X ( A [ 0 ] ) X(A^{[~0~]}) X(A[ 0 ]) :维度为 ( n [ 0 ] , m ) (n^{[~0~]},m) (n[ 0 ],m) ;
W [ l ] W^{[~l~]} W[ l ] :维度为 ( n [ l ] , n [ l − 1 ] ) (n^{[~l~]},n^{[~l-1~]}) (n[ l ],n[ l−1 ]) ;
b [ l ] b^{[~l~]} b[ l ] :维度为 ( n [ l ] , 1 ) (n^{[~l~]},1) (n[ l ],1) ;# 要广播
Z [ l ] Z^{[~l~]} Z[ l ] :维度为 ( n [ l ] , m ) (n^{[~l~]},m) (n[ l ],m) ;
A [ l ] A^{[~l~]} A[ l ] :维度为 ( n [ l ] , m ) (n^{[~l~]},m) (n[ l ],m) 。
-
反向传播:
d W [ l ] dW^{[~l~]} dW[ l ] 和 W [ l ] W^{[~l~]} W[ l ] 同维度;
d b [ l ] db^{[~l~]} db[ l ] 和 b [ l ] b^{[~l~]} b[ l ] 同维度;
d Z [ l ] dZ^{[~l~]} dZ[ l ] 和 Z [ l ] Z^{[~l~]} Z[ l ] 同维度;
d A [ l ] dA^{[~l~]} dA[ l ] 和 A [ l ] A^{[~l~]} A[ l ] 同维度。
超参数:
能控制参数 w w w 和 b b b 的参数,需人为设置。
- 学习率 α \alpha α ;
- 梯度下降法循环次数;
- 隐层数 L L L ;
- 隐藏层的单元(节点)数;
- 激活函数类型。
这些参数需要不断测试,实时评估损失函数(横坐标越大,纵坐标越小)。
相关文章:

深度学习:(八)深层神经网络参数与流程
深层神经网络 符号规定 L L L :表示神经网络的层数; l l l :表示第几层; n [ l ] n^{[~l~]} n[ l ] :表示第 l l l 层的节点数; a [ l ] a^{[~l~]} a[ l ] :表示第 l l l 层中的激活函数&…...
`pattern = r“(\d+)(CNY|JPY|HKD|EUR|GBP|fen|cents|sen|eurocents|pence)“
pattern r"(\d)(CNY|JPY|HKD|EUR|GBP|fen|cents|sen|eurocents|pence)" 是一个正则表达式,用于匹配特定格式的字符串。 正则表达式解析 整体结构: r"...":前缀 r 表示这是一个原始字符串(Raw String&#x…...

宝塔面板部署雷池社区版教程
宝塔面板部署雷池社区版教程 简单介绍一下宝塔面板,安全高效的服务器运维面板,使用宝塔面板的人非常多 在网站管理上,许多用户都是通过宝塔面板进行管理,宝塔面板的Nginx默认监听端口为80和443,这就导致共存部署时雷池…...
【击败100%】258. 各位相加
首次出现,代码用时击败了100%的用户,开心~ 题目 给定一个非负整数 num,反复将各个位上的数字相加,直到结果为一位数。返回这个结果。 示例 1: 输入: num 38 输出: 2 解释: 各位相加的过程为: 38 --> 3 8 -->…...
【alist】宝塔面板docker里的alist默认admin无法登录
宝塔docker安装完alist,根据页面的提示账号密码死活登录不上,提示密码有问题 页面提示: 数据存储目录 /www/dk_project/dk_app/dk_alist 使用说明请参考: >使用教程 默认账号密码(admin/admin) 首次登录后点击个人…...
【击败100%】1281. 整数的各位积和之差
击败了100%的用户,开心~ 题目 给你一个整数 n,请你帮忙计算并返回该整数「各位数字之积」与「各位数字之和」的差。 示例 1: 输入:n 234 输出:15 解释: 各位数之积 2 * 3 * 4 24 各位数之和 2 3 4 …...

Flink基本概念和算子使用
基础概念 Flink是一个框架和分布式处理引擎,用于对无界数据流和有界数据流进行有状态计算,它的核心目标是“数据流上的有状态计算”。 有界流和无界流 有界流:具有明确的开始和结束时间,数据量有限。适合使用批处理技术…...

Kafka 3.0.0集群部署教程
1、集群规划 主机名 ip地址 node.id process.roles kafka1 192.168.0.29 1 broker,controller Kafka2 192.168.0.30 2 broker,controller Kafka3 192.168.0.31 3 broker,controller 2、将kafka包上传以上节点/app目录下 mkdir /app 3、解压kafka包 所有节点 …...

昇思MindSpore进阶教程-格式转换
大家好,我是刘明,明志科技创始人,华为昇思MindSpore布道师。 技术上主攻前端开发、鸿蒙开发和AI算法研究。 努力为大家带来持续的技术分享,如果你也喜欢我的文章,就点个关注吧 MindSpore中可以把用于训练网络模型的数据…...

搜索软件 Everything 的安装与使用教程
一、Everything简介 适用于 Windows 的免费搜索工具 Everything 是 Windows 的即时搜索引擎。发现、整理并轻松访问文件和文件夹,一切尽在指尖! PS:Everything无法对文件内容进行搜索,只能根据文件名和路径进行搜索 二、Everyt…...
oracle 如何判断当前时间在27号到当月月底
在Oracle中,您可以使用TRUNC和LAST_DAY函数来判断当前时间是否在27号到当月月底之间。以下是一个SQL示例: SELECT CASE WHEN TRUNC(SYSDATE) > TRUNC(SYSDATE, DD) 26 AND TRUNC(SYSDATE) < LAST_DAY(SYSDATE) THEN 当前时间在27号到当月月底之间…...

Django 配置邮箱服务,实现发送信息到指定邮箱
一、这里以qq邮箱为例,打开qq邮箱的SMTP服务 二、django项目目录设置setting.py 文件 setting.py 添加如下内容: # 发送邮件相关配置 EMAIL_BACKEND django.core.mail.backends.smtp.EmailBackend EMAIL_USE_TLS True EMAIL_HOST smtp.qq.com EMAIL…...

Git使用手册
1、初识Git 概述:Git 是一个开源的分布式版本控制系统,可以有效、高速地处理项目版本管理。 知识点补充: 版本控制:一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。 分布式:每个人…...

sql-labs靶场
第一关(get传参,单引号闭合,有回显,无过滤) ?id-1 union select 1,2,(select group_concat(table_name) from information_schema.tables where table_schemasecurity) -- 第二关(get传参,无闭…...

【Redis入门到精通二】Redis核心数据类型(String,Hash)详解
目录 Redis数据类型 1.String类型 (1)常见命令 (2)内部编码 2.Hash类型 (1)常见命令 (2)内部编码 Redis数据类型 查阅Redis官方文档可知,Redis提供给用户的核心数据…...

如何快速免费搭建自己的Docker私有镜像源来解决Docker无法拉取镜像的问题(搭建私有镜像源解决群晖Docker获取注册表失败的问题)
文章目录 📖 介绍 📖🏡 演示环境 🏡📒 Docker无法拉取镜像 📒📒 解决方案 📒🔖 方法一:免费快速搭建自己的Docker镜像源🎈 部署🎈 使用🔖 备用方案⚓️ 相关链接 🚓️📖 介绍 📖 在当前的网络环境下,Docker镜像的拉取问题屡见不鲜(各类Nas查询…...

QT 获取视频帧Opencv获取清晰度
先展示结果: 1.获取摄像头的分辨率 mResSize.clear();mResSize camera_->supportedViewfinderResolutions();ui->comboBox_resulation->clear();int i0;foreach (QSize msize, mResSize) {qDebug()<<msize;ui->comboBox_resulation->addItem(…...

生成式AI如何辅助医药行业智能营销
生成式AI在医药行业的智能营销中发挥着日益重要的作用,它通过多种方式辅助医药企业提升市场洞察能力、优化营销策略、增强客户互动和体验,从而推动销售增长和品牌价值的提升。以下是生成式AI如何辅助医药行业智能营销的具体方式:一、精准市场…...

演示:基于WPF的DrawingVisual开发的Chart图表和表格绘制
一、目的:基于WPF的DrawingVisual开发的Chart图表和表格绘制 二、预览 钻井井轨迹表格数据演示示例(应用Table布局,模拟井轨迹深度的绘制) 饼图表格数据演示示例(应用Table布局,模拟多个饼状图组合显示&am…...
汽车保养BBBBBBBBBBB
小保养就是机油和机滤,4s店比较贵,可以在京东上买机油,可以包安装 极护、磁护 两款机油配方不同,极护系列机油注入液钛配方,拥有特别的油膜自适应能力,在各种形式条件下均能有效减少金属间的直接接触&…...
React 第五十五节 Router 中 useAsyncError的使用详解
前言 useAsyncError 是 React Router v6.4 引入的一个钩子,用于处理异步操作(如数据加载)中的错误。下面我将详细解释其用途并提供代码示例。 一、useAsyncError 用途 处理异步错误:捕获在 loader 或 action 中发生的异步错误替…...

python/java环境配置
环境变量放一起 python: 1.首先下载Python Python下载地址:Download Python | Python.org downloads ---windows -- 64 2.安装Python 下面两个,然后自定义,全选 可以把前4个选上 3.环境配置 1)搜高级系统设置 2…...

STM32F4基本定时器使用和原理详解
STM32F4基本定时器使用和原理详解 前言如何确定定时器挂载在哪条时钟线上配置及使用方法参数配置PrescalerCounter ModeCounter Periodauto-reload preloadTrigger Event Selection 中断配置生成的代码及使用方法初始化代码基本定时器触发DCA或者ADC的代码讲解中断代码定时启动…...
【AI学习】三、AI算法中的向量
在人工智能(AI)算法中,向量(Vector)是一种将现实世界中的数据(如图像、文本、音频等)转化为计算机可处理的数值型特征表示的工具。它是连接人类认知(如语义、视觉特征)与…...

微信小程序云开发平台MySQL的连接方式
注:微信小程序云开发平台指的是腾讯云开发 先给结论:微信小程序云开发平台的MySQL,无法通过获取数据库连接信息的方式进行连接,连接只能通过云开发的SDK连接,具体要参考官方文档: 为什么? 因为…...
爬虫基础学习day2
# 爬虫设计领域 工商:企查查、天眼查短视频:抖音、快手、西瓜 ---> 飞瓜电商:京东、淘宝、聚美优品、亚马逊 ---> 分析店铺经营决策标题、排名航空:抓取所有航空公司价格 ---> 去哪儿自媒体:采集自媒体数据进…...

排序算法总结(C++)
目录 一、稳定性二、排序算法选择、冒泡、插入排序归并排序随机快速排序堆排序基数排序计数排序 三、总结 一、稳定性 排序算法的稳定性是指:同样大小的样本 **(同样大小的数据)**在排序之后不会改变原始的相对次序。 稳定性对基础类型对象…...
【无标题】路径问题的革命性重构:基于二维拓扑收缩色动力学模型的零点隧穿理论
路径问题的革命性重构:基于二维拓扑收缩色动力学模型的零点隧穿理论 一、传统路径模型的根本缺陷 在经典正方形路径问题中(图1): mermaid graph LR A((A)) --- B((B)) B --- C((C)) C --- D((D)) D --- A A -.- C[无直接路径] B -…...

打手机检测算法AI智能分析网关V4守护公共/工业/医疗等多场景安全应用
一、方案背景 在现代生产与生活场景中,如工厂高危作业区、医院手术室、公共场景等,人员违规打手机的行为潜藏着巨大风险。传统依靠人工巡查的监管方式,存在效率低、覆盖面不足、判断主观性强等问题,难以满足对人员打手机行为精…...

DAY 45 超大力王爱学Python
来自超大力王的友情提示:在用tensordoard的时候一定一定要用绝对位置,例如:tensorboard --logdir"D:\代码\archive (1)\runs\cifar10_mlp_experiment_2" 不然读取不了数据 知识点回顾: tensorboard的发展历史和原理tens…...