当前位置: 首页 > news >正文

时序建模基础——RevIN

文献地址:https://openreview.net/pdf?id=cGDAkQo1C0p

代码地址:https://github.com/ts-kim/RevIN

前言

在之前介绍过的很多预训练模型中都有见到RevIN的身影,今天就给大家讲讲RevIN的具体原理。对于时间序列,均值和方差等统计特性随时间的变化是非常普遍的,例如病人的某些健康指标随时间及身体状况变化,小区用电量随季节发生变化等。时间序列的这类分布变化为预测模型带来了很大的挑战,RevIN(可逆实例归一化)提出了可学习的归一化和反归一化方法来克服此类变化,提升预测模型的泛化性能。

方法介绍

给定输入序列,目标是预测序列在未来一定窗口长度内的值,。RevIN包含归一化和反归一化两个步骤,首先是输入序列的归一化过程。计算样本级别的均值和方差,对每个预测窗口进行单独的归一化,类似于instance normalization如下:

其中为可学习的参数。通过上述实例级别的标准化,不平稳信息将被移除,N个输入序列片段将具有更接近的均值和方差。将标准化后的序列输入到预测模型中,将减少分布变化对模型的影响,让模型更关注序列内部的时序相关性。

值得注意的是,标准化后的数据与原始数据的分布并不相同,虽然标准化缓解了预测的难度,但模型并未见过原始的数据分布,所以输出的预测值与原始分布也存在一定的差异。因此,RevIN进一步提出了反归一化操作,目的是将从输入数据中移除的非平稳信息重新恢复至输出中,具体操作如下:

RevIN的思想很简单,作为一种普遍适用的可训练归一化层,仅需简单地添加到网络中的对称位置,即可有效缓解时间序列数据中的分布差异,它可以应用于任意选择的单个或者多个层。原文中也做了一些可视化的实验来说明RevIN的有效性,如下图所示。

通过下图(a)可以看到训练数据和测试数据的分布并不重合,测试数据中存在多个峰值,二者具有显著的分布差异,通过训练数据训练的模型显然难以适配测试数据。经过RevIN标准化后,如图(b)所示,训练数据和测试数据的分布几乎重合,且具有相同的峰值(类似高斯分布)。进一步,图(c)展示的是经过模型输出的预测值,训练与测试数据分布接近且具有单峰,无法反映原始数据的非平稳信息,如果仅依赖于图(c)中的输出去重构非平稳的原始测试数据是非常困难的,这也是为什么RevIN考虑对数据进行反归一化。最后,经过反归一化的数据如图(d),测试数据与训练数据又表现出了不同的分布及多个峰值的特性。

对于联合多数据集的时序预训练,数据分布差异是必然存在的,这些也是为什么在预训练模型中常见RevIN的原因,原文也做了一些简单的实验说明RevIN能够一定程度上帮助克服不同领域数据集分布的差异。

import torch
import torch.nn as nnclass RevIN(nn.Module):def __init__(self, num_features: int, eps=1e-5, affine=True):""":param num_features: the number of features or channels:param eps: a value added for numerical stability:param affine: if True, RevIN has learnable affine parameters"""super(RevIN, self).__init__()self.num_features = num_featuresself.eps = epsself.affine = affineif self.affine:self._init_params()def forward(self, x, mode:str):if mode == 'norm':self._get_statistics(x)x = self._normalize(x)elif mode == 'denorm':x = self._denormalize(x)else: raise NotImplementedErrorreturn xdef _init_params(self):# initialize RevIN params: (C,)self.affine_weight = nn.Parameter(torch.ones(self.num_features))self.affine_bias = nn.Parameter(torch.zeros(self.num_features))def _get_statistics(self, x):dim2reduce = tuple(range(1, x.ndim-1))self.mean = torch.mean(x, dim=dim2reduce, keepdim=True).detach()self.stdev = torch.sqrt(torch.var(x, dim=dim2reduce, keepdim=True, unbiased=False) + self.eps).detach()def _normalize(self, x):x = x - self.meanx = x / self.stdevif self.affine:x = x * self.affine_weightx = x + self.affine_biasreturn xdef _denormalize(self, x):if self.affine:x = x - self.affine_biasx = x / (self.affine_weight + self.eps*self.eps)x = x * self.stdevx = x + self.meanreturn x

在大模型时代,我们如何有效的去学习大模型?

现如今大模型岗位需求越来越大,但是相关岗位人才难求,薪资持续走高,AI运营薪资平均值约18457元,AI工程师薪资平均值约37336元,大模型算法薪资平均值约39607元。
在这里插入图片描述

掌握大模型技术你还能拥有更多可能性

• 成为一名全栈大模型工程师,包括Prompt,LangChain,LoRA等技术开发、运营、产品等方向全栈工程;

• 能够拥有模型二次训练和微调能力,带领大家完成智能对话、文生图等热门应用;

• 薪资上浮10%-20%,覆盖更多高薪岗位,这是一个高需求、高待遇的热门方向和领域;

• 更优质的项目可以为未来创新创业提供基石。

可能大家都想学习AI大模型技术,也_想通过这项技能真正达到升职加薪,就业或是副业的目的,但是不知道该如何开始学习,因为网上的资料太多太杂乱了,如果不能系统的学习就相当于是白学。为了让大家少走弯路,少碰壁,这里我直接把都打包整理好,希望能够真正帮助到大家_。

👉[CSDN大礼包🎁:全网最全《LLM大模型入门+进阶学习资源包》免费分享(安全链接,放心点击)]()👈

一、AGI大模型系统学习路线

很多人学习大模型的时候没有方向,东学一点西学一点,像只无头苍蝇乱撞,下面是我整理好的一套完整的学习路线,希望能够帮助到你们学习AI大模型。

在这里插入图片描述

第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;

第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;

第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;

第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;

第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;

第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;

第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。

二、640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

在这里插入图片描述

三、AI大模型经典PDF书籍

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。

在这里插入图片描述

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

四、AI大模型各大场景实战案例

在这里插入图片描述

结语

【一一AGI大模型学习 所有资源获取处(无偿领取)一一】
所有资料 ⚡️ ,朋友们如果有需要全套 《LLM大模型入门+进阶学习资源包》,扫码获取~

👉[CSDN大礼包🎁:全网最全《LLM大模型入门+进阶学习资源包》免费分享(安全链接,放心点击)]()👈


http://www.mrgr.cn/news/34029.html

相关文章:

  • 适合新手小白挖掘的高危逻辑漏洞
  • 中欧美三方,理解《人工智能安全治理框架》的特点
  • numpy.dot example
  • 一位架构师的自述:在尚未踏入的世界成为你自己
  • 打印机问题故障处理_十大打印机故障大全及处理方法
  • 干耳屎硬掏不出来怎么办?双十一好用的可视挖耳勺推荐
  • 基于GIS巡检管理系统建设方案(Doc原件参考)
  • 冠珠瓷砖队勇夺第一!超燃绽放城市活力,硬气传承文化大美
  • Springcloud框架-能源管理系统-能源管理系统源码-能源在线监测平台-双碳平台
  • 数据库 - MySQL介绍
  • 黑马智数Day2
  • 在 Postman 中模拟 HTTPS 请求
  • 如何架构蓝图:企业数字化转型的核心指南
  • Spring Boot管理用户数据
  • Vue3:$refs和$parent实现组件通信
  • 按键与库函数
  • Transact-SQL概述(SQL Server 2022)
  • Python在AI中的应用--使用决策树进行文本分类
  • 安装MySQL驱动程序笔记二
  • 大厂最全最详细的Android面试题及答案解析(379页)免费下载