十种处理权重矩阵的方法及数学公式
1. 权重归一化(Weight Normalization)
- 目的:通过分离权重向量的范数和方向来加速训练。
- 公式:对于权重向量 w \mathbf{w} w,归一化后的权重 w ′ \mathbf{w}' w′ 为:
w ′ = w ∥ w ∥ \mathbf{w}' = \frac{\mathbf{w}}{\|\mathbf{w}\|} w′=∥w∥w
其中 ∥ w ∥ \|\mathbf{w}\| ∥w∥ 是 w \mathbf{w} w 的欧几里得范数。
2. 谱归一化(Spectral Normalization)
- 目的:通过控制权重矩阵的谱范数,稳定生成对抗网络(GANs)的训练。
- 公式:对于权重矩阵 W W W,谱归一化后的矩阵 W ′ W' W′ 为:
W ′ = W σ ( W ) W' = \frac{W}{\sigma(W)} W′=σ(W)W
其中 σ ( W ) \sigma(W) σ(W) 是 W W W 的谱范数,即最大奇异值。
3. 权重衰减(Weight Decay)
- 目的:通过正则化防止过拟合。
- 公式:权重更新时加入正则化项:
w ← w − η ( ∂ L ∂ w + λ w ) \mathbf{w} \leftarrow \mathbf{w} - \eta \left( \frac{\partial L}{\partial \mathbf{w}} + \lambda \mathbf{w} \right) w←w−η(∂w∂L+λw)
其中 η \eta η 是学习率, L L L 是损失函数, λ \lambda λ 是正则化参数。
4. 权重剪裁(Weight Clipping)
- 目的:限制权重范围以稳定训练。
- 公式:对于权重 w w w,剪裁后的权重 w ′ w' w′ 为:
w ′ = { c if w > c − c if w < − c w otherwise w' = \begin{cases} c & \text{if } w > c \\ -c & \text{if } w < -c \\ w & \text{otherwise} \end{cases} w′=⎩ ⎨ ⎧c−cwif w>cif w<−cotherwise
其中 c c c 是预定义阈值。
5. 权重共享(Weight Sharing)
- 目的:减少参数数量,提高泛化能力,常用于卷积神经网络(CNNs)。
- 公式:在CNN中,同一卷积核的权重在输入上共享,具体实现依赖卷积操作。
6. 权重初始化(Weight Initialization)
- 目的:合理初始化权重以加速训练并避免梯度问题。
- 公式:
- Xavier初始化:
W ∼ N ( 0 , 2 n in + n out ) W \sim \mathcal{N}\left(0, \frac{2}{n_{\text{in}} + n_{\text{out}}}\right) W∼N(0,nin+nout2)
- He初始化:
W ∼ N ( 0 , 2 n in ) W \sim \mathcal{N}\left(0, \frac{2}{n_{\text{in}}}\right) W∼N(0,nin2)
其中 $n_{\text{in}}$ 和 $n_{\text{out}}$ 分别是输入和输出单元数。
7. 批归一化(Batch Normalization)
- 目的:归一化层的输入以加速训练并提高稳定性。
- 公式:对于小批量 B = { x 1 , … , x m } \mathcal{B} = \{x_1, \ldots, x_m\} B={x1,…,xm},输出为:
x ^ i = x i − μ B σ B 2 + ϵ \hat{x}_i = \frac{x_i - \mu_{\mathcal{B}}}{\sqrt{\sigma_{\mathcal{B}}^2 + \epsilon}} x^i=σB2+ϵxi−μB
其中 μ B \mu_{\mathcal{B}} μB 和 σ B 2 \sigma_{\mathcal{B}}^2 σB2 是小批量的均值和方差, ϵ \epsilon ϵ 避免除零。
8. 层归一化(Layer Normalization)
- 目的:对每个样本的特征归一化,适用于RNNs等。
- 公式:对于特征向量 x \mathbf{x} x,输出为:
x ^ = x − μ σ 2 + ϵ \hat{\mathbf{x}} = \frac{\mathbf{x} - \mu}{\sqrt{\sigma^2 + \epsilon}} x^=σ2+ϵx−μ
其中 μ \mu μ 和 σ 2 \sigma^2 σ2 是 x \mathbf{x} x 的均值和方差。
9. 权重量化(Weight Quantization)
- 目的:将权重转为低精度表示以减少模型大小和加速推理。
- 公式:简单量化方法为:
w q = round ( w − w min w max − w min × ( 2 b − 1 ) ) × w max − w min 2 b − 1 + w min w_q = \text{round}\left(\frac{w - w_{\text{min}}}{w_{\text{max}} - w_{\text{min}}} \times (2^b - 1)\right) \times \frac{w_{\text{max}} - w_{\text{min}}}{2^b - 1} + w_{\text{min}} wq=round(wmax−wminw−wmin×(2b−1))×2b−1wmax−wmin+wmin
其中 b b b 是位数, w min w_{\text{min}} wmin 和 w max w_{\text{max}} wmax 是权重范围。
10. 稀疏化(Sparsification)
- 目的:将部分权重设为零以减少参数量。
- 公式:使用阈值 τ \tau τ:
w ′ = { w if ∣ w ∣ ≥ τ 0 otherwise w' = \begin{cases} w & \text{if } |w| \geq \tau \\ 0 & \text{otherwise} \end{cases} w′={w0if ∣w∣≥τotherwise
这些方法在深度学习中应用广泛,选择时需考虑模型架构、数据特性和资源限制。
相关文章:
十种处理权重矩阵的方法及数学公式
1. 权重归一化(Weight Normalization) 目的:通过分离权重向量的范数和方向来加速训练。公式:对于权重向量 w \mathbf{w} w,归一化后的权重 w ′ \mathbf{w} w′ 为: w ′ w ∥ w ∥ \mathbf{w} \frac{…...
JVM垃圾回收面试题及原理
1. 对象什么时候可以被垃圾器回收 如果一个或多个对象没有任何的引用指向它了,那么这个对象现在就是垃圾,如果定位了垃圾,则有可能会被垃圾回收器回收 如果要定位什么是垃圾,有两种方式来确定 引用计数法可达性分析算法 1.1 …...
Flutter 小技巧之通过 MediaQuery 优化 App 性能
许久没更新小技巧系列,温故知新,在两年半前的《 MediaQuery 和 build 优化你不知道的秘密》 我们聊过了在 Flutter 内 MediaQuery 对应 rebuild 机制,由于 MediaQuery 在 MaterialApp 内,并且还是一个 InheritedWidget ࿰…...
操作系统知识点23
1.实时操作系统的主要设计目标:在严格时间氛围内对外部请求做出反应。 2.当用户程序正在处理器上运行时,若此刻取到了一条特权指令,则处理器将停止执行该指令,并产生一个“非法操作”的事件 3.某网络监控系统中。多个被授权的用…...
【解决报错】:detected dubious ownership in repository at ‘D:/idea_code/xxx‘问题
解决报错:detected dubious ownership in repository at D:/idea_code/xxx‘问题 git config --global --add safe.directory *原因 这个错误提示表明 Git 检测到仓库的所有权存在问题,仓库的所有者与当前用户不匹配。Git 在 2.35.2 版本之后引入了一个…...
三角函数:从宇宙法则到AI革命的数学密钥
——跨越三千年的数学语言与现代科技全景透视 一、数学本质:宇宙的波动密码 1.1 拓扑学视角下的三角函数 三角函数本质是单位圆上点的坐标参数化,其数学表达可抽象为: { x cos θ ℜ ( e i θ ) y sin θ ℑ ( e i θ ) \begin…...
SpringBoot基础Kafka示例
这里将生产者和消费者放在一个应用中 使用的Boot3.4.3 引入Kafka依赖 <dependency><groupId>org.springframework.kafka</groupId><artifactId>spring-kafka</artifactId> </dependency>yml配置 spring:application:name: kafka-1#kafka…...
Spring 的三种注入方式?
1. 实例的注入方式 首先来看看 Spring 中的实例该如何注入,总结起来,无非三种: 属性注入 set 方法注入 构造方法注入 我们分别来看下。 1.1 属性注入 属性注入是大家最为常见也是使用最多的一种注入方式了,代码如下&#x…...
STM32第一天建立工程
新建一个工程 1:新建一个文件,添加文件 a:DOC工程说明 》doc说明文档 b:Libraries固件库 》cmsis内核文件 (一般这就是stm32内核文件) 》FWLIB外设文件 (这种就是stm32外设文件不全) 》start…...
记录一下返修
1.对复杂度的分析还不够; 2.融合两种指标的解释还不够,审稿人认为这两种指标存在冲突,不能同时优化,但其实我们考虑的是公平性保证整个调度周期内用户分配到了更加平均的sum-rate,而se是为了追求每个调度时刻都尽可能找到信道条件…...
搭建本地化笔记AI:用Copilot+deepseek+nomic-embed-text构建本地智能知识系统
安装Ollama https://ollama.com/ 下载模型 下载大语言模型 根据自己电脑的配置选择模型的大小 ollama run deepseek-r1:8b 下载向量处理模型 创建向量数据库时需要使用Embedding模型对文本进行向量化处理 ollama pull nomic-embed-text 查看安装的模型 ollama listNAME …...
【C语言】指针篇
目录 C 语言指针概述指针的声明和初始化声明指针初始化指针 指针的操作解引用操作指针算术运算 指针的用途动态内存分配作为函数参数 指针与数组数组名作为指针通过指针访问数组元素指针算术和数组数组作为函数参数指针数组和数组指针指针数组数组指针 函数指针函数指针的定义和…...
【蓝桥杯单片机】第十一届省赛
一、真题 二、创建工程 1.在C盘以外的盘新建文件夹,并在文件夹里面创建两个文件夹Driver 和Project 2.打开keil软件,在新建工程并选择刚刚建好的project文件夹,以准考证号命名 3.选择对应的芯片型号 4.选择否,即不创建启动文件 …...
【存储中间件】Neo4J图数据库超详细教程(一):相关介绍、特点及优势、数据模型、软件安装
文章目录 Neo4J超详细教程一、Neo4J相关介绍1.为什么需要图数据库方案1:Google方案2:Facebook 2.特点和优势3.什么是Neo4j4.Neo4j数据模型图论基础属性图模型Neo4j的构建元素 5.软件安装 个人主页:道友老李 欢迎加入社区:道友老李…...
xxl-job部署在docker-destop,实现定时发送预警信息给指定邮箱
XXL-JOB XXL-JOB是一个分布式任务调度平台(XXL是作者徐雪里姓名拼音的首字母),其核心设计目标是开发迅速、学习简单、轻量级、易扩展。 源码仓库地址:https://github.com/xuxueli/xxl-job 源码结构: 系统架构 在xxl-j…...
【QT】QScrollBar设置样式:圆角、隐藏箭头、上边距等
目录 0.简介 1.原理 2.具体代码 0.简介 环境:Ubuntu22.04、qtDesigner绘制UI 项目需要,按照UI修改滚动条样式,滚动条我使用的是QScrollBar,默认样式和修改之后的样式如下: 1.原理 2.具体代码 我是用qtDesigner绘制…...
trae中文版AI搭建完整可用的项目框架
Trae 是由字节跳动推出的 AI 原生集成开发环境(AI IDE),号称可以搭建完整项目,个人试用后体验确实比Cursor或cline更便捷,因为他多个文件关联准确率更高。 正式版的trae不支持大陆使用,不过目前已经推出了…...
多数元素——面试经典150题(力扣)
题目 给定一个大小为 n 的数组 nums ,返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。 你可以假设数组是非空的,并且给定的数组总是存在多数元素。 示例 1: 输入:nums [3,2,3] 输出:3 …...
cfi网络安全 网络安全hcip
目录 RIP (路由信息协议) 算法 开销 版本 开销值的计算方式 RIPV1和RIPV2的区别 RIP的数据包 Request(请求)包 Reponse(应答)包 RIP的特征 周期更新 RIP的计时器 1,周期更新计时器 2,失效计时器 3,垃圾回收计时器 RIP的核心思…...
Banana Pi 与瑞萨电子携手共同推动开源创新:BPI-AI2N
2025年3月11日, Banana Pi 开源硬件平台很高兴宣布,与全球知名半导体解决方案供应商瑞萨电子(Renesas Electronics)正式达成技术合作关系。此次合作标志着双方将在开源技术、嵌入式系统和物联网等领域展开深度合作,为全…...
linux 命令 ls
ls 是 Linux 系统中用于列出目录内容的核心命令,几乎所有日常操作都会用到。以下是其详细用法和常见场景说明 1. 基础语法 ls [选项] [目录/文件] 不指定目录时,默认列出当前目录的内容。 可以指定文件或目录路径,支持通配符(如…...
论数组去重之高效方法
论数组去重之高效方法 数组去重的高效方法主要有 利用 Set 数据结构、利用对象/Map哈希表、排序后遍历去重 三种核心方案。其中 Set 是ES6最简单高效的方式,时间复杂度为 O(n);若需兼容性优化或处理特殊数据类型,可结合哈希表或排序实现。 分点论述: 1. 使用 Set 数据结构…...
C#-扩展方法-Linq
密封类 sealed,无法被继承 var 可以定义匿名对象 static void test1() {var t 1;t "jack";//报错,类型已经确定好了var s new{id 1,name "tom"};Console.WriteLine(s.id s.name); } 扩展方法 对现有类型做方法的扩展&am…...
【C++ STL】 容器详解:pair 学习
在 C STL(标准模板库)中,pair 是一个 简单的键值对数据结构,用于存储 两个相关联的值,将两个值组合成一个单元,可以是相同或不同类型。它常用于 返回多个值、存储映射关系、排序 等场景。 1. pair 的基本特…...
Go红队开发—web网络编程
文章目录 web网络编程Req快速请求 调试DevModeDebugLogTraceInfo瓶颈分析 控制请求与响应控制请求的字段内容控制调试打印的内容分开dump请求与响应部分请求体设置 作用范围级别设置参数查询URL 路径参数表单请求设置请求头设置 判断响应状态码解析数据SetSuccessResultgjson响…...
libwebsockets实现异步websocket客户端,服务端异常断开可重连
libwebsockets websocket客户端基本流程网上都有,我只额外优化了重连机制。 在服务器异常断开时不触发LWS_CALLBACK_CLOSED或LWS_CALLBACK_CLIENT_CONNECTION_ERROR,导致无法自动重连 通过定时检查链接是否可写入判断链接是否有效 // 判断wsi是否可用if …...
轻量级模块化前端框架:快速构建强大的Web界面
轻量级模块化前端框架:快速构建强大的Web界面 在当今快节奏的Web开发环境中,选择一个高效且灵活的前端框架至关重要。UIkit 是一个轻量级的模块化前端框架,旨在帮助开发者快速构建功能强大且响应迅速的Web界面。 UIkit提供了丰富的组件和工…...
qt+opengl 播放yuv视频
一、实现效果 二、pro文件 Qt widgets opengl 三、主要代码 #include "glwidget.h"GLWidget::GLWidget(QWidget *parent) : QOpenGLWidget(parent) {connect(&m_timer, &QTimer::timeout, this,[&](){this->update();});m_timer.start(1000/33); }v…...
UI自动化:poium测试库
以下是关于 poium 测试库 的详细介绍,涵盖其核心功能、使用方法及与原生 Selenium 的对比,帮助快速掌握这一工具: 1. poium 简介 定位:基于 Selenium 的 Page Object 模式增强库,专注于简化元素定位和页面操作。 核心…...
树莓集团落子海南,如何重构数字产业生态体系
树莓集团在海南的布局,是其整体商业战略中的关键一环。这背后,是对政策机遇、产业协同、以及区域优势的深度考量。 政策机遇 海南自贸港建设带来前所未有的政策红利,包括贸易、投资、资金等方面的自由便利。树莓集团紧抓这一机遇࿰…...
