2024.01.13 过拟合解决方案之权重衰减

LLM工程落地四大技术突破:MoE优化、长上下文稳定、蒸馏提效与多模态鲁棒对齐 大语言模型(LLM)在工业场景落地的核心瓶颈,正从‘能否跑通’转向‘能否稳、快、省、抗噪’。MoE架构优化解决高并发下专家负载失衡导致的延迟抖动问题;长上下文推理稳定性聚焦RoPE梯度衰减这一底层机制,提升超长文本关键信息召回能力;开源模型蒸馏效率突破传统教师强迫范式,转向注意力熵等隐式知识迁移,显著降低训练成本;多模态对齐鲁棒性则直面真实世界输入噪声,通过对抗扰动与置信度校准保障图文对齐可靠性。这些技术共同构成当前LLM系统级工程优化的关键支点,适用于金融、医疗、电商、法律等强SLA与长文档处理场景。 阅读详情

2024.01.13 过拟合解决方案之权重衰减

范数

线性代数中最有用的一些运算符是范数(norm)。 非正式地说,向量的范数是表示一个向量有多大。 这里考虑的大小(size)概念不涉及维度,而是分量的大小。

范数听起来很像距离的度量。 欧几里得距离和毕达哥拉斯定理中的非负性概念和三角不等式可能会给出一些启发。 事实上,欧几里得距离是一个L2L_2L2​范数: 假设nnn维向量x\mathbf{x}x中的元素是x1,…,xnx_{1},\ldots,x_{n}x1​,…,xn​,其L2L_2L2​范数是向量元素平方和的平方根:
∥x∥2=∑i=1nxi2, \|\mathbf{x}\|_2=\sqrt{\sum_{i=1}^nx_i^2}, ∥x∥2​=i=1∑n​xi2​​,
其中,在L2L_2L2​范数中常常省略下标2,也就是说∥x∥\|\mathbf{x}\|∥x∥等同于∥x∥2\|\mathbf{x}\|_2∥x∥2​。在代码中,我们可以按如下方式计算向量的L2L_2L2​范数。

u = torch.tensor([3.0, -4.0])
torch.norm(u)

输出:

tensor(5.)

深度学习中更经常地使用L2L_2L2​范数的平方,也会经常遇到L1L_1L1​范数,它表示为向量元素的绝对值之和:
∥x∥1=∑i=1n∣xi∣ \|\mathbf{x}\|_1=\sum_{i=1}^n|x_i| ∥x∥1​=i=1∑n​∣xi​∣

权重衰退原理

在训练参数化机器学习模型时, 权重衰减(weight decay)是最广泛使用的正则化的技术之一, 它通常也被称为L2L_2L2​正则化。 这项技术通过函数与零的距离来衡量函数的复杂度。 但是我们应该如何精确地测量一个函数和零之间的距离呢? 没有一个正确的答案。 事实上,函数分析和巴拿赫空间理论的研究,都在致力于回答这个问题。

一种简单的方法是通过线性函数f(x)=w⊤xf(\mathbf{x})=\mathbf{w}^\top\mathbf{x}f(x)=w⊤x中的权重向量的某个范数来度量其复杂性, 例如∥w∥2\|\mathbf{w}\|^2∥w∥2。要保证权重向量比较小, 最常用方法是将其范数作为惩罚项加到最小化损失的问题中。 将原来的训练目标最小化训练标签上的预测损失, 调整为最小化预测损失和惩罚项之和。 现在,如果我们的权重向量增长的太大, 我们的学习算法可能会更集中于最小化权重范数∥w∥2\|\mathbf{w}\|^2∥w∥2。这正是我们想要的。

例如线性回归的损失函数如下:
L(w,b)=1n∑i=1n12(w⊤x(i)+b−y(i))2 L(\mathbf{w},b)=\frac1n\sum_{i=1}^n\frac12\Big(\mathbf{w}^\top\mathbf{x}^{(i)}+b-y^{(i)}\Big)^2 L(w,b)=n1​i=1∑n​21​(w⊤x(i)+b−y(i))2
其中,x(i)\mathbf{x}^{(i)}x(i)是样本iii的特征,y(i){y}^{(i)}y(i)是样本iii的标签, (w,b)(\mathbf{w},b)(w,b)是权重和偏置参数。 为了惩罚权重向量的大小, 我们必须以某种方式在损失函数中添加∥w∥2\|\mathbf{w}\|^2∥w∥2,但是模型应该如何平衡这个新的额外惩罚的损失? 实际上,我们通过正则化常数λ\lambdaλ来描述这种权衡, 这是一个非负超参数,我们使用验证数据拟合:
L(w,b)+λ2∥w∥2 L(\mathbf{w},b)+\frac\lambda2\|\mathbf{w}\|^2 L(w,b)+2λ​∥w∥2
对于λ=0\lambda = 0λ=0,我们恢复了原来的损失函数。 对于λ>0\lambda > 0λ>0,我们限制∣w∥|\mathbf{w}\|∣w∥的大小。 这里我们仍然除以2,当我们取一个二次函数的导数时, 2和1/2会抵消,以确保更新表达式看起来既漂亮又简单。为什么在这里我们使用平方范数而不是标准范数(即欧几里得距离)? 我们这样做是为了便于计算。 通过平方L2L_2L2​范数,我们去掉平方根,留下权重向量每个分量的平方和。 这使得惩罚的导数很容易计算。

L2L_2L2​正则化回归的小批量随机梯度下降更新如下式:
w←(1−ηλ)w−η∣B∣∑i∈Bx(i)(w⊤x(i)+b−y(i)) \mathbf{w}\leftarrow(1-\eta\lambda)\mathbf{w}-\frac\eta{|\mathcal{B}|}\sum_{i\in\mathcal{B}}\mathbf{x}^{(i)}\left(\mathbf{w}^\top\mathbf{x}^{(i)}+b-y^{(i)}\right) w←(1−ηλ)w−∣B∣η​i∈B∑​x(i)(w⊤x(i)+b−y(i))
根据之前章节所讲的,我们根据估计值与观测值之间的差异来更新w\mathbf{w}w。 然而,我们同时也在试图将w\mathbf{w}w的大小缩小到零。 这就是为什么这种方法有时被称为权重衰减。 我们仅考虑惩罚项,优化算法在训练的每一步衰减权重。 与特征选择相比,权重衰减为我们提供了一种连续的机制来调整函数的复杂度。 较小的值对λ\lambdaλ应较少约束的w\mathbf{w}w, 而较大的λ\lambdaλ值对w\mathbf{w}w的约束更大。

从零开始实现权重衰退

1 构造数据

import torch
from torch import nn
from torch.utils import data


def synthetic_data(w, b, num_examples):
    """生成y=Xw+b+噪声"""
    X = torch.normal(0, 1, (num_examples, len(w)))
    y = torch.matmul(X, w) + b
    y += torch.normal(0, 0.01, y.shape)
    return X, y.reshape((-1, 1))


def load_array(data_arrays, batch_size, is_train=True):
    """构造一个PyTorch数据迭代器"""
    dataset = data.TensorDataset(*data_arrays)
    return data.DataLoader(dataset, batch_size, shuffle=is_train)


n_train, n_test, num_inputs, batch_size = 20, 100, 200, 5
true_w, true_b = torch.ones((num_inputs, 1)) * 0.01, 0.05
train_data = synthetic_data(true_w, true_b, n_train)
train_iter = load_array(train_data, batch_size)
test_data = synthetic_data(true_w, true_b, n_test)
test_iter = load_array(test_data, batch_size, is_train=False)

2 初始化模型参数

def init_params():
    w = torch.normal(0, 1, size=(num_inputs, 1), requires_grad=True)
    b = torch.zeros(1, requires_grad=True)
    return [w, b]

3 定义L2{L}_2L2​范数惩罚

def l2_penalty(w):
    return torch.sum(w.pow(2)) / 2

4 定义模型和损失函数

def linreg(X, w, b): 
    """线性回归模型"""
    return torch.matmul(X, w) + b


def squared_loss(y_hat, y):
    """均方损失"""
    return (y_hat - y.reshape(y_hat.shape)) ** 2 / 2


def sgd(params, lr, batch_size):
    """小批量随机梯度下降"""
    with torch.no_grad():
        for param in params:
            param -= lr * param.grad / batch_size
            param.grad.zero_()

5 定义损失评估函数

class Accumulator:  #@save
    """在n个变量上累加"""
    def __init__(self, n):
        self.data = [0.0] * n

    def add(self, *args):
        self.data = [a + float(b) for a, b in zip(self.data, args)]

    def reset(self):
        self.data = [0.0] * len(self.data)

    def __getitem__(self, idx):
        return self.data[idx]


def evaluate_loss(net, data_iter, loss):
    """评估给定数据集上模型的损失"""
    metric = Accumulator(2)  # 损失的总和,样本数量
    for X, y in data_iter:
        out = net(X)
        y = y.reshape(out.shape)
        l = loss(out, y)
        metric.add(l.sum(), l.numel())
    return metric[0] / metric[1]

6 定义训练函数

def train(lambd):
    w, b = init_params()
    net, loss = lambda X: linreg(X, w, b), squared_loss
    num_epochs, lr = 100, 0.003
    for epoch in range(num_epochs):
        for X, y in train_iter:
            # 增加了L2范数惩罚项,
            # 广播机制使l2_penalty(w)成为一个长度为batch_size的向量
            l = loss(net(X), y) + lambd * l2_penalty(w)
            l.sum().backward()
            sgd([w, b], lr, batch_size)
        if (epoch + 1) % 10 == 0:
            print(evaluate_loss(net, train_iter, loss))
            print(evaluate_loss(net, test_iter, loss))
    print('w的L2范数是:', torch.norm(w).item())

7 定义训练函数

def train(lambd):
    w, b = init_params()
    net, loss = lambda X: linreg(X, w, b), squared_loss
    num_epochs, lr = 100, 0.003
    for epoch in range(num_epochs):
        for X, y in train_iter:
            # 增加了L2范数惩罚项,
            # 广播机制使l2_penalty(w)成为一个长度为batch_size的向量
            l = loss(net(X), y) + lambd * l2_penalty(w)
            l.sum().backward()
            sgd([w, b], lr, batch_size)
        if (epoch + 1) % 10 == 0:
            print(evaluate_loss(net, train_iter, loss))
            print(evaluate_loss(net, test_iter, loss))
    print('w的L2范数是:', torch.norm(w).item())

8 忽略正则化直接训练

我们现在用lambd = 0禁用权重衰减后运行这个代码。 注意,这里训练误差有了减少,但测试误差没有减少, 这意味着出现了严重的过拟合。

train(lambd=0)

输出:

6.718327045440674
111.89330017089844
0.769484794139862
110.775845413208
0.12477019131183624
110.69607948303222
0.023347004130482674
110.73360847473144
0.004730253014713526
110.76803649902344
0.0010142373736016451
110.78975273132325
0.0002265329472720623
110.80156417846679
5.242526312940754e-05
110.80791412353516
1.2483596856327495e-05
110.81120208740235
3.029539379895141e-06
110.8129093170166
w的L2范数是: 14.017784118652344

其图像如下:

image-20240113203220922

9 使用权重衰减

下面,我们使用权重衰减来运行代码。 注意,在这里训练误差增大,但测试误差减小。 这正是我们期望从正则化中得到的效果。

train(lambd=3)

输出:

3.4674706935882567
40.52239170074463
0.21071776300668715
19.59771007537842
0.017328211199492217
9.598615684509276
0.0028875970747321844
4.72015061378479
0.0016041443683207034
2.3360534596443174
0.0014270563377067446
1.169337533712387
0.001352554582990706
0.5967587316036225
0.0013034804665949195
0.31446478426456453
0.0012782146106474102
0.1743188387155533
0.0012224957521539182
0.103997398391366
w的L2范数是: 0.37360531091690063

图像:

image-20240113204401135

权重衰退简洁实现

1 构造数据

import torch
from torch import nn
from torch.utils import data


def synthetic_data(w, b, num_examples):
    """生成y=Xw+b+噪声"""
    X = torch.normal(0, 1, (num_examples, len(w)))
    y = torch.matmul(X, w) + b
    y += torch.normal(0, 0.01, y.shape)
    return X, y.reshape((-1, 1))


def load_array(data_arrays, batch_size, is_train=True):
    """构造一个PyTorch数据迭代器"""
    dataset = data.TensorDataset(*data_arrays)
    return data.DataLoader(dataset, batch_size, shuffle=is_train)


n_train, n_test, num_inputs, batch_size = 20, 100, 200, 5
true_w, true_b = torch.ones((num_inputs, 1)) * 0.01, 0.05
train_data = synthetic_data(true_w, true_b, n_train)
train_iter = load_array(train_data, batch_size)
test_data = synthetic_data(true_w, true_b, n_test)
test_iter = load_array(test_data, batch_size, is_train=False)

2 定义损失评估函数

class Accumulator:  #@save
    """在n个变量上累加"""
    def __init__(self, n):
        self.data = [0.0] * n

    def add(self, *args):
        self.data = [a + float(b) for a, b in zip(self.data, args)]

    def reset(self):
        self.data = [0.0] * len(self.data)

    def __getitem__(self, idx):
        return self.data[idx]


def evaluate_loss(net, data_iter, loss):
    """评估给定数据集上模型的损失"""
    metric = Accumulator(2)  # 损失的总和,样本数量
    for X, y in data_iter:
        out = net(X)
        y = y.reshape(out.shape)
        l = loss(out, y)
        metric.add(l.sum(), l.numel())
    return metric[0] / metric[1]

3 定义训练函数

在下面的代码中,我们在实例化优化器时直接通过weight_decay指定weight decay超参数。 默认情况下,PyTorch同时衰减权重和偏移。 这里我们只为权重设置了weight_decay,所以偏置参数b不会衰减。

def train_concise(wd):
    net = nn.Sequential(nn.Linear(num_inputs, 1))
    for param in net.parameters():
        param.data.normal_()
    loss = nn.MSELoss(reduction='none')
    num_epochs, lr = 100, 0.003
    # 偏置参数没有衰减
    trainer = torch.optim.SGD([
        {"params":net[0].weight,'weight_decay': wd},
        {"params":net[0].bias}], lr=lr)
    for epoch in range(num_epochs):
        for X, y in train_iter:
            trainer.zero_grad()
            l = loss(net(X), y)
            l.mean().backward()
            trainer.step()
        if (epoch + 1) % 10 == 0:
            print(evaluate_loss(net, train_iter, loss))
            print(evaluate_loss(net, test_iter, loss))
    print('w的L2范数:', net[0].weight.norm().item())

4 忽略正则化直接训练

我们现在用lambd = 0禁用权重衰减后运行这个代码。 注意,这里训练误差有了减少,但测试误差没有减少, 这意味着出现了严重的过拟合。

train_concise(0)

输出:

0.7942435622215271
147.39787200927734
0.026174949016422033
147.1616212463379
0.0011757630854845047
147.12282012939454
5.728952528443188e-05
147.11509490966796
2.8377404078128167e-06
147.11357345581055
1.435657850379357e-07
147.11323837280273
7.450126027208626e-09
147.11319473266602
3.930717806799322e-10
147.11319717407227
4.2250853510283905e-11
147.1131950378418
1.3290707423507797e-11
147.1131904602051
w的L2范数: 13.41625690460205

其图像如下:

image-20240113203220922

5 使用权重衰减

下面,我们使用权重衰减来运行代码。 注意,在这里训练误差增大,但测试误差减小。 这正是我们期望从正则化中得到的效果。

train_concise(3)

输出:

0.44908093512058256
79.26161060333251
0.014182116836309433
38.39419065475464
0.005516740120947361
18.69626650810242
0.0047397946938872336
9.167555465698243
0.004471739660948515
4.554769878387451
0.004199517332017422
2.32014231801033
0.004032817389816046
1.2366495299339295
0.003825438302010298
0.7090656226873397
0.003553233714774251
0.45032487854361536
0.003349584457464516
0.32078503906726835
w的L2范数: 0.3820874094963074

图像:

image-20240113204401135

欢迎关注公众号

在这里插入图片描述

AutoML、NAS与超参调优:工业级AI落地的三层导航术 自动机器学习(AutoML)是一类通过算法自动化建模流程的技术统称,其核心在于降低人工干预强度、提升模型迭代效率;神经架构搜索(NAS)聚焦于模型结构层面的自动发现,而超参数优化(HPO)则作用于固定架构下的配置调优。三者构成从细粒度控制到端到端交付的递进式技术谱系,本质差异在于自动化深度、资源消耗与工程可控性。在工业场景中,技术选型需回归成本-收益精算:HPO具备高ROI与强可解释性,适配多数业务冷启动;NAS适用于算力充足、性能瓶颈明确的专项优化;AutoML则需配套MLOps能力,否则易引发特征穿越、 阅读详情

相关推荐

手搓神经网络:从零实现MLP理解前向传播与反向传播

神经网络是深度学习的基石,其核心在于前向传播与反向传播的协同运作。前向传播完成输入到输出的映射,依赖权重初始化、激活函数和维度对齐;反向传播则通过链式法则计算梯度,驱动梯度下降优化损失函数。这一过程的技术价值在于建立可调试、可解释的模型认知,避免Keras等高级API带来的‘黑箱幻觉’。典型应用场景包括图像分类(如MNIST)、轻量级CV/NLP模型部署及教学验证。本文聚焦纯NumPy手写三层MLP,深入剖析权重初始化、Softmax数值稳定实现、ReLU梯度流动等关键细节,直击‘loss不降’‘nan溢出

long_yu2的专栏 422

Runtime Reinforcement:防御大模型长上下文中的指令衰减

大语言模型在处理长上下文时,常出现指令遵循能力随token位置递减的现象——这并非幻觉或训练缺陷,而是由注意力归一化、位置编码衰减与KV缓存稀释共同导致的系统性信号劣化。理解这一机制,是构建高保真RAG、法律合同审查、医疗结构化等强约束任务系统的前提。Runtime Reinforcement作为一种轻量级推理时干预技术,不修改模型权重、不切分文档、不依赖重训,而是通过实时监测注意力熵、动态注入logit偏置、重嵌指令向量与智能KV裁剪,在毫秒级完成指令信号加固。它直面‘指令衰减’与‘长上下文可靠性’两大工

weixin_30279671的博客 418

PyTorch全连接神经网络实战:从MNIST手写识别入门

神经网络是深度学习的基石概念,其核心在于前向传播、反向传播与梯度优化的协同机制。理解这一原理需回归最简结构——全连接网络(MLP),它剥离了卷积、注意力等复杂模块的干扰,直指线性变换+非线性激活的本质。PyTorch凭借动态计算图和原生张量操作,成为调试训练过程的理想工具,尤其适合初学者建立对张量形状、权重初始化、学习率warmup等关键环节的手感。在MNIST手写数字识别任务中,MLP不仅可实现98%+准确率,更承载着模型收敛诊断、梯度监控、早停策略等工程实践逻辑,是通往CNN、Transformer等高

weixin_33895475的博客 471

深度学习基础:解决过拟合现象之权重衰减

针对于过拟合现象,有两种可以解决的办法:权重衰减、丢弃法。这篇文章先总结权重衰减。 一、权重衰减介绍及参数迭代方式推导 权重衰减是等价于L2L_2L2​范数正则化的。那么什么是正则化呢? 正则化是通过为模型损失函数添加惩罚项使得学习出的模型参数值较小的办法,是应对过拟合的常用手段。下面先描述L2L_2L2​范数正则化,再解释为何它叫权重衰减。 L2L_2L2​范数惩罚项是指:模型的权重参数每个元素的平方和 × 正常数。以线性回归 中的损失函数 为例。将权重参数用向量w=[w1,w2]\boldsymbol

destiny_balabala的博客 1292

空间分析三把手术刀:Moran‘s I、GWR与Haversine-DBSCAN实战指南

空间数据分析的核心在于应对‘非独立同分布(Non-IID)’这一根本挑战——地理邻近性导致数据天然存在自相关、异质性与密度不均。传统机器学习算法如随机森林或Transformer因忽略空间依赖,常在真实场景中泛化失败。Moran’s I 通过全局/局部空间自相关检验,揭示‘模式是否存在’;地理加权回归(GWR)建模空间异质性,生成可解释的‘系数地图’;而结合Haversine距离的DBSCAN则精准识别球面尺度下的真实功能区。这三类方法共同构成空间问题诊断的底层逻辑链:从格局检验→关系建模→结构发现。适用于

365

FPGA—DHT11数字温湿度传感器

1. DH1T11温湿度传感器与DS18B20温湿度传感器非常类似,都是严格按照时序要求写代码。建议可以比较学习。2. 显示温度与湿度部分的数据处理,采用 X10 进行在数码管上的移一位显示,配合了数码管小数部分的显示特点又区分了温度与湿度。3. 程序是按照一个接一个状态及顺序跳转的,建议使用状态机。说明:本人使用的是野火家Xilinx Spartan6系列开发板及配套教程,以上内容如有疑惑或错误欢迎评论区指出,或者移步B站观看野火家视频教程。

m0_72885897的博客 4779

权重衰减来解决过拟合问题

过拟合是因为模型过于复杂使得噪声都训练数据集中的噪声都拟合进去了,从而导致训练出来的模型泛化能力变差。(训练误差减小而泛化误差增大) 为了解决过拟合现象,使用权重衰减的方法,就是将原来的损失函数加上一个权重范数。 思路:通过加上一个权重范数来降低模型的复杂程度,从而解决过拟合问题。 为什么加上权重范数就能降低模型的复杂程度,因为权重范数越小或越少 ...

wzfafabga的博客 1256

从零构建高精度温控系统:ADN8835的单电感拓扑与0.01℃稳定性实战解析

本文深入解析了如何利用ADN8835构建高精度温控系统,重点介绍了其创新的单电感拓扑架构如何实现0.01℃的长期稳定性。内容涵盖精密PCB布局、电源滤波设计,并详细阐述了针对不同热容负载的数字PID控制参数整定策略,为开发精密仪器和医疗设备提供了实战指南。

r2s3t4的博客 238

正则化与权重衰减

1. 权重衰减(weight decay) L2正则化的目的就是为了让权重衰减到更小的值,在一定程度上减少模型过拟合的问题,所以权重衰减也叫L2正则化。 L2正则化与权重衰减系数L2正则化就是在代价函数后面再加上一个正则化项: 其中C0代表原始的代价函数,后面那一项就是L2正则化项,它是这样来的:所有参数w的平方的和,除以训练集的样本大小n。λ就是正则项系数,权衡正则项与C0项的比重。...

前进ing的博客 4126

IPV6基本配置

IPV6配置,DHCPV6,华为模拟器,IPV6的M/O标志位

路漫漫其修远兮 4666

基于WEKWS模型的语音唤醒关键词识别

本文所使用的模型网络结构继承自论文《Compact Feedforward Sequential Memory Networks for Small-footprint Keyword Spotting》,文中研究了将低秩矩阵分解与传统FSMN相结合的紧凑型前馈顺序记忆网络(cFSMN)用于远场关键字检测任务。

YuZhou的博客 6596

欠拟合、过拟合——解决方法

在机器学习或者深度神经网络中经常会出现:欠拟合和过拟合。 这些问题的出现原因以及解决之道如下文。 1.3 判断是否过拟合 判断究模型否过拟合方法: 1.4 过拟合原因 (1)建模样本抽取错误,包括(但不限于)样本数量太少,抽样方法错误, 抽样时没有足够正确考虑业务场景或业务特点,不能有效足够代表业务逻辑或业务场景。 (2)样本里的噪音数据干扰过大,模型学习了噪音特征,反而忽...

红叶谷 wsp_1138886114的博客 1万+

SpringBoot Actuator未授权访问漏洞实战:从发现到利用

本文深入剖析了SpringBoot Actuator未授权访问漏洞的成因、危害与利用手法。文章详细演示了如何发现暴露的端点,并通过实战案例复现了从敏感信息泄露到利用反序列化漏洞实现远程代码执行(RCE)的全过程,为开发与运维人员提供了从漏洞发现到修复加固的完整安全指南。

weixin_29231221的博客 260

权重衰减系数

1. 权重衰减(weight decay) L2正则化的目的就是为了让权重衰减到更小的值,在一定程度上减少模型过拟合的问题,所以权重衰减也叫L2正则化。 1.1 L2正则化与权重衰减系数 L2正则化就是在代价函数后面再加上一个正则化项: 其中C0代表原始的代价函数,后面那一项就是L2正则化项,它是这样来的:所有参数w的平方的和,除以训练集的样本大小n。λ就是正则项系数,权衡正则项与C0...

hellocsz的博客 7845

HCIP - Al Solution 华为认证—— 3、大模型基础

00:20核心目标: 与GPT类似,旨在学习一个通用的预训练模型,以便在大量不同任务上通过微调快速适配。与GPT的对比: BERT的效果在实验数据上优于GPT-1。模型特点: 采用双向的Transformer编码器结构,能够实现不同位置信息之间的互通,这与GPT的单向结构不同。06:3735:45核心思想: 尝试将标准的Transformer结构直接应用于图像,并对图像分类流程进行最少的修改。具体操作流程:图像分块: 将整幅图像拆分成多个小的图像块(Patch)。

qq837993702的博客 158

OpenClaw 生成测试用例

OpenClaw 只是躯干,Skills 才是灵魂。很多同学觉得 OpenClaw 没用,就像是买了一台顶级电脑却没装操作系统。通过这四步走,不仅可以学会如何让 AI 干活,更重要的是,可以学会如何管理 AI 的能力。

十二测试录 738

【阿里Qwen大模型微调实战】过拟合、欠拟合与训练失败诊断

过拟合、欠拟合与训练失败诊断

人工智能(AI)技术,大模型技术,深度学习,机器学习,计算机视觉,AI工具实践应用等分享 212

费雪的未来增长评估:预测颠覆性技术的影响

本文旨在提供一个系统性的框架,用于评估和预测颠覆性技术的增长轨迹。我们将重点关注费雪增长模型(Fisher-Pry Model)这一经典技术扩散理论,探讨其在现代技术预测中的应用价值。文章首先介绍费雪增长模型的基本概念,然后深入其数学原理和算法实现。随后展示实际应用案例,讨论工具资源,最后探讨未来发展趋势。每个部分都包含详细的技术实现和理论分析。费雪增长模型(Fisher-Pry Model):一种描述技术替代过程的S型增长模型,用于预测新技术取代旧技术的速率。

欢迎来到我的优快云空间!这里聚焦AI大模型应用实战,分享前沿技术、实战案例与开发经验。 928

动态时间序列模型更新:面向生产环境的增量学习实战指南

时间序列预测模型在真实业务中面临数据持续演化、分布漂移和时效性衰减等核心挑战。其本质是让模型具备‘边看边学’能力,而非依赖周期性全量重训。增量更新通过参数微调、在线学习与模型融合等范式,在保障预测精度的同时显著降低计算开销与响应延迟。该技术广泛应用于零售销量预测、工业设备异常检测、金融风控等对实时性与稳定性双高要求的场景。本文聚焦可落地的工程实践,涵盖数据管道状态化处理、Prophet与线性模型的增量适配、学习率动态缩放、KS检验驱动的漂移触发机制等关键环节,直击‘模型越更新越差’‘预测忽高忽低’等高频生产

hwpokay的专栏 343

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

EmoLLM:构建专业心理健康对话系统的开源解决方案

在当今AI技术快速发展的背景下,情感支持和心理健康服务领域面临着专业性与可访问性的双重挑战。传统心理咨询资源有限且成本高昂,而通用大语言模型在心理健康领域的专业性和安全性存在明显不足。EmoLLM通过**角色化情感对话**、**检索增强生成(RAG)** 和**多模型微调框架**三大核心功能,为开发者提供了构建专业心理健康AI系统的完整技术栈。 ## 技术架构解析:从数据处理到服务部署 Emo

gitblog_00498的博客 427

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

深度探索VAR视觉自回归模型:310M到2.3B参数的性能揭秘与实战指南

VAR(Visual Autoregressive Modeling)作为NeurIPS 2024最佳论文提出的创新视觉生成方法,彻底改变了传统自回归模型的图像生成范式。这种基于"下一尺度预测"(next-scale prediction)的新型架构,首次让GPT风格的自回归模型在图像生成质量上超越了扩散模型,同时发现了显著的幂律缩放规律。本文将深入解析VAR模型的技术原理、应用场景、性能表现,并

gitblog_01158的博客 725

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

机器学习三要素深度解析:一个完整的故事带你彻底掌握 ML 核心框架

本文系统阐述了机器学习的三大核心要素:模型、策略与算法。模型(如线性回归、神经网络)是对数据规律的数学抽象;策略通过损失函数(如均方误差、交叉熵)定义优化目标;算法(如梯度下降)则负责高效求解最优参数。三者协同工作,构成了机器学习的基础框架。文中通过线性回归的完整代码示例,生动展示了梯度下降如何优化模型参数。理解这一框架,有助于把握各类机器学习方法的本质,为后续学习奠定坚实基础。

热爱技术与前沿创新,深耕科技领域,在科创中精进自我;探索技术乐趣,分享技术干货与成长心得,以技术为伴,热爱生活,在科创与生活中双向成长。 304

【信息科学与工程学】【产品体系】第二十篇 CDN网络 01

CDN技术体系全景解析​1. 业务类型与随机过程建模​​类型​​随机过程描述​​测度空间​​突发流量冲击​复合泊松过程X_i为请求强度)​区域热点聚集​空间霍克斯过程​分布式共振​耦合振子模型相空间​2. PRD核心指标(泛函约束)​​:节点队列状态向量A:网络拓扑关联矩阵(图论邻接矩阵):随机需求过程(Levy过程驱动)时间状态特征与代数结构​1. 系统状态流形​graph LRS[状态空间 S] -->|微分同胚| M[特征流形 M]

weixin_49199313的博客 4116

LLM强化微调实战:冷启动DAPO训练方法解析

强化学习是机器学习的重要分支,通过奖励机制引导模型优化策略。在自然语言处理领域,强化微调(RLHF)已成为提升大语言模型(LLM)性能的关键技术。其核心原理是通过人类偏好数据训练奖励模型,再使用PPO等算法优化生成策略。GRPO作为新兴算法,通过组内相对奖励计算优势值,显著降低了显存占用。针对冷启动场景,DAPO算法创新性地结合了自适应约束和稳定性机制,无需奖励模型即可实现高效微调。这些技术在数学推理、代码生成等复杂任务中表现突出,特别是在处理全量偏好数据时展现出独特优势。本文将深入解析DAPO的实现细节和

weixin_30245867的博客 470

LoRA高效微调实战:参数高效微调的工程落地指南

参数高效微调(PEFT)是大语言模型在资源受限场景下适配新任务的核心范式,其本质是在冻结主干权重的前提下,通过低秩结构引入可学习增量参数,显著降低显存占用与训练成本。LoRA作为当前最主流的PEFT方法,以极小参数量(通常<0.1%)实现接近全量微调的效果,在LLM推理优化、边缘部署、快速迭代等工程场景中展现出强鲁棒性与高兼容性。它不改变原始模型结构,支持权重合并后无缝接入现有服务框架,特别适用于GPU预算紧张、业务需求高频变更、需灰度发布与AB测试的AI交付现场。本文聚焦LoRA的技术原理、配置权衡、QL

weixin_34353714的博客 458

XGBoost在工业场景中的不可替代性:稳健性、可解释性与工程落地

XGBoost作为一种基于梯度提升的决策树集成模型,其核心价值不在于理论新颖性,而在于对现实工业场景中数据噪声、小样本偏移、线上低延迟和业务可解释等多重约束的综合平衡。它通过二阶泰勒展开优化、内置缺失值处理、原生类别特征支持及SHAP高效归因等机制,在统计稳健性与计算确定性之间取得独特优势。相比LightGBM的直方图近似或深度学习对GPU与标准化的强依赖,XGBoost在CPU环境下的轻量部署、跨平台结果一致性及模型文件JSON化等能力,使其持续成为金融风控、供应链预测与IoT边缘推理等关键系统的主干模型

weixin_34414650的博客 362
上一篇: 2024.01.12 多层感知机和常见激活函数
下一篇: 2024.01.13 过拟合解决方案之暂退法(dropout)
cyber_security
博客等级 码龄7年 134粉丝 8原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值