数学原理:

(1) 前向传播的方差一致性

假设输入 x 的均值为 0,方差为 σx2σ_x^2σx2,权重 W的均值为 0,方差为 σW2σ_W^2σW2,则输出 z=Wxz=Wxz=Wx的方差为:
Var(z)=nin⋅Var(W)⋅Var(x) Var(z)=n_{in}⋅Var(W)⋅Var(x) Var(z)=ninVar(W)Var(x)
为了使 Var(z)=Var(x),需要:
nin⋅Var(W)=1  ⟹  Var(W)=1nin n_{in}⋅Var(W)=1  ⟹  Var(W)=\frac{1}{n_{in}} ninVar(W)=1    Var(W)=nin1
其中 ninn_{in}nin是输入维度(fan_in)。这里乘以 nin 的原因是,输出 z 是由 nin 个输入 x 的线性组合得到的,每个输入 x 都与一个权重 W 相乘。因此,输出 z 的方差是 nin 个独立的 Wx 项的方差之和。

(2) 反向传播的梯度方差一致性

在反向传播过程中,梯度 ∂L∂x\frac{∂L}{∂x}xL 是通过链式法则计算得到的,其中 L 是损失函数,x 是输入,z 是输出。梯度∂L∂x\frac{∂L}{∂x}xL可以表示为:
∂L∂x=∂L∂z.∂z∂x \frac{∂L}{∂x}=\frac{∂L}{∂z}.\frac{∂z}{∂x} xL=zL.xz
假设 z=Wx,其中 W 是权重矩阵,那么 ∂z∂x=W\frac{∂z}{∂x}=Wxz=W。因此,梯度 ∂L∂x\frac{∂L}{∂x}xL可以写为: ∂L∂x=∂L∂zW\frac{∂L}{∂x}=\frac{∂L}{∂z}WxL=zLW

反向传播时梯度 ∂L∂x\frac{∂L}{∂x}xL 的方差应与 ∂L∂z\frac{∂L}{∂z}zL 相同,因此:
nout⋅Var(W)=1  ⟹  Var(W)=1nout n_{out}⋅Var(W)=1  ⟹  Var(W)=\frac{1}{n_{out}} noutVar(W)=1    Var(W)=nout1
其中 noutn_{out}nout是输出维度(fan_out)。为了保持梯度的方差一致性,我们需要确保每个输入维度 nin 的梯度方差与输出维度 nout 的梯度方差相同。因此,我们需要将 W 的方差乘以 nout,以确保梯度的方差在反向传播过程中保持一致。

(3) 综合考虑

为了同时平衡前向传播和反向传播,Xavier 采用:
Var(W)=2nin+nout Var(W)=\frac{2}{n_{in}+n_{out}} Var(W)=nin+nout2
权重从以下分布中采样:

均匀分布
W∼U(−6nin+nout,6nin+nout) W\sim\mathrm{U}\left(-\frac{\sqrt{6}}{\sqrt{n_\mathrm{in}+n_\mathrm{out}}},\frac{\sqrt{6}}{\sqrt{n_\mathrm{in}+n_\mathrm{out}}}\right) WU(nin+nout6,nin+nout6)

在Xavier初始化中,我们选择 a=−6nin+nouta=−\sqrt{\frac{6}{n_{in}+n_{out}}}a=nin+nout6b=6nin+noutb=\sqrt{\frac{6}{n_{in}+n_{out}}}b=nin+nout6,这样方差为:
Var(W)=(b−a)212=(26nin+nout)212=4⋅6nin+nout12=2nin+nout Var(W)=\frac{(b−a)^2}{12}=\frac{(2\sqrt{\frac{6}{n_{in}+n_{out}}})^2}{12}=\frac{4⋅\frac{6}{nin+nout}}{12}=\frac{2}{n_{in}+n_{out}} Var(W)=12(ba)2=12(2nin+nout6)2=124nin+nout6=nin+nout2
正态分布
W∼N(0,2nin+nout) W\sim\mathrm{N}\left(0,\frac{2}{n_\mathrm{in}+n_\mathrm{out}}\right) WN(0,nin+nout2)

N(0,std2) \mathcal{N}(0, \text{std}^2) N(0,std2)

其中 ninn_{\text{in}}nin 是当前层的输入神经元数量,noutn_{\text{out}}nout是输出神经元数量。

在前向传播中,输出的方差受 ninn_{in}nin 影响。在反向传播中,梯度的方差受 noutn_{out}nout 影响。

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

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

pytorch学习笔记(二)-- pytorch模型开发步骤详解

简介: 本章主要是针对Pytorch神经网络的开发步骤做一个详细的总结,对每一步的前世今生做一个了解,下面先列一下开发需要的步骤有哪些: 模型构建,主要是前向传递函数的确认确认损失函数以及学习步频(learni…

consul 的安装与服务发现

1. helm 安装 consul 到 k8s 安装放在这里了:https://github.com/lianan2/installation/tree/master/consul-helm consul 的常用命令: # 查看集群状态 kubectl -n consul exec -it consul-server-0 -- consul operator raft list-peers kubectl -n con…

ros topic和service的使用

在做ldiar slam的时候&#xff0c;最常用的当属topic&#xff0c;偶尔也会用一下service&#xff0c;action则很少使用。现在一块来看一下topic的使用。一、topic的使用topic的消息订阅和发布#include<ros/ros.h> #include<rosbag/bag.h> #include<rosbag/view.…

【TCP/IP】18. 因特网服务质量

18. 因特网服务质量18. 因特网服务质量18.1 服务质量&#xff08;QoS&#xff09;18.2 实时传输协议&#xff08;RTP&#xff09;18.3 实时传输控制协议&#xff08;RTCP&#xff09;18.4 集成业务&#xff08;IntServ&#xff09;18.5 区分业务&#xff08;DiffServ&#xff0…

数据集相关类代码回顾理解 | StratifiedShuffleSplit\transforms.ToTensor\Counter

【PyTorch】图像多分类项目 目录 StratifiedShuffleSplit transforms.ToTensor Counter StratifiedShuffleSplit sss StratifiedShuffleSplit(n_splits1, test_size0.2, random_state0) 创建StratifiedShuffleSplit对象&#xff0c;用于将数据集划分为训练集和测试集。 …

【环境配置】KAG - Windows 安装部署

前言 本博客将介绍如何在 Windows 系统上 部署运行 KAG 项目&#xff0c;将使用 WSL 和 Docker 和 Vscode 帮助我们之后利用 KAG 开发个人知识库问答项目。 KAG&#xff08;Knowledge-Augmented Generation&#xff09;知识增强生成系统 是一个融合知识图谱与大语言模型能力的…

《探索电脑麦克风声音采集多窗口实时可视化技术》

引言在当今数字化信息飞速发展的时代&#xff0c;声音作为一种重要的信息载体&#xff0c;其处理和分析技术日益受到广泛关注。声音可视化技术&#xff0c;作为声音处理领域的关键技术之一&#xff0c;具有极为重要的价值。它能够将抽象的声音信号转化为直观的视觉图像&#xf…

加工进化论:SPL 一键加速日志转指标

作者&#xff1a;劳贵泓&#xff08;泓逸&#xff09; 1. 背景 日志服务的 SPL&#xff08;Search Processing Language&#xff09;自推出以来&#xff0c;凭借其强大的数据处理能力&#xff0c;已经成为众多开发者和企业实现高效数据分析的首选工具。随着业务场景的不断拓展…

Web 应用防火墙:守护应用安全的核心屏障

当你在调试 Web 应用时&#xff0c;是否遇到过这样的情况&#xff1a;刚修复的 XSS 漏洞又被绕过&#xff0c;数据库日志里突然出现诡异的 SQL 语句&#xff0c;或者用户反馈登录后信息被篡改&#xff1f;这些问题的背后&#xff0c;往往是 Web 应用面临的持续安全威胁。据 OWA…

Python 网络爬虫的基本流程及 robots 协议详解

数据驱动的时代,网络爬虫作为高效获取互联网信息的工具,其规范化开发离不开对基本流程的掌握和对 robots 协议的遵守。本文将系统梳理 Python 网络爬虫的核心流程,并深入解读 robots 协议的重要性及实践规范。 一、Python 网络爬虫的基本流程 Python 网络爬虫的工作过程可…

字节二面(狠狠拷打系列):什么是http1.1,2.0,3.0,分别在什么场景里面用的多

文章目录从单行到新纪元&#xff1a;HTTP/0.9、1.0、1.1、2.0与3.0的核心区别HTTP/0.9&#xff1a;协议的黎明 (1991)HTTP/1.0&#xff1a;功能扩展与标准化 (1996)HTTP/1.1&#xff1a;持久连接与性能优化 (1997)HTTP/2.0&#xff1a;二进制与多路复用 (2015)HTTP/3.0&#xf…

Java教程:JavaWeb ---MySQL高级

✨博客主页&#xff1a; https://blog.csdn.net/m0_63815035?typeblog &#x1f497;《博客内容》&#xff1a;大数据开发、.NET、Java.测试开发、Python、Android、Go、Node、Android前端小程序等相关领域知识 &#x1f4e2;博客专栏&#xff1a; https://blog.csdn.net/m0_…

Audio笔试和面试题型解析

本专栏预计更新90期左右。当前第27期-音频部分. 音频硬件在消费电子(手机、电脑、耳机、智能音箱)、汽车、专业音响等领域是用户体验的关键组成部分。大厂(如苹果、三星、Google、华为、小米、各种汽车Tier 1供应商等)的硬件工程师在设计和优化音频系统时,需要对喇叭(扬…

DeepSeek俄罗斯方块网页版HTML5(附源码)

用DeepSeek生成一个俄罗斯方块游戏网页版的&#xff0c;基于HTML5&#xff0c;效果很棒。 提示词prompt 帮我做一个俄罗斯方块 网页版的 基于HTML5游戏功能说明 基本功能&#xff1a; 完整的俄罗斯方块游戏逻辑 7种不同形状的方块 分数计算系统 等级提升系统(速度会随等级提高)…

企业电商平台搭建:ZKmall开源商城服务器部署与容灾方案

企业级电商平台最核心的诉求&#xff0c;就是得让 “业务一直在线”—— 不管是平时运营要稳如磐石&#xff0c;还是突然出故障了能火速恢复&#xff0c;都离不开靠谱的服务器部署架构和周全的容灾方案。ZKmall 开源商城攒了 6000 多家企业客户的实战经验&#xff0c;琢磨出一套…

【软件运维】前后端部署启动的几种方式

.sh启动 #!/bin/bash# 解析软链接&#xff0c;获取真实脚本目录 SOURCE"${BASH_SOURCE[0]}" while [ -L "$SOURCE" ]; doDIR"$( cd -P "$( dirname "$SOURCE" )" && pwd )"SOURCE"$(readlink "$SOURCE&q…

[爬虫知识] DrissionPage:强大的自动化工具

相关爬虫实战案例&#xff1a;[爬虫实战] 使用 DrissionPage 自动化采集小红书笔记 相关爬虫专栏&#xff1a;JS逆向爬虫实战 爬虫知识点合集 爬虫实战案例 逆向知识点合集 前言&#xff1a; 在当今数据驱动的世界里&#xff0c;网络爬虫和自动化测试扮演着越来越重要的角…

数据分析师如何构建自己的底层逻辑?

目录 一、什么是“底层逻辑”&#xff1f; 二、底层逻辑的核心是什么&#xff1f;三句话讲清楚 1. 你到底在解决什么问题&#xff1f; 2. 你有没有一套“框架”来组织你的分析思路&#xff1f; 3. 你能不能用数据说出“结论 因果 建议”&#xff1f; 三、从 BI 视角出发…

残差连接+层归一化:Transformer训练稳定秘诀

什么是:残差连接+层归一化 残差连接 (Residual Connection):防止梯度消失 核心原理 简单理解:走楼梯时,既可以走楼梯,也可以坐电梯,最后在同一层汇合。 # 残差连接的数学表示 输出 = F(输入) + 输入 # ↑处理后 ↑原始输入具体数值例子 处理句子"我爱学习…

公网 IP 不稳定监控实战:用多点 Ping 策略实现高可达率保障

更多云服务器知识&#xff0c;尽在hostol.com 你有没有遇到过这种情况&#xff1a;明明服务器的监控系统说一切正常&#xff0c;服务状态绿油油一片&#xff0c;但用户那边却反馈“时好时坏”、“丢包严重”甚至“根本连不上”。你掏出手机连上公网去试试&#xff0c;诶&#…