首页 > 其他分享 >利用生成模型进行时间序列数据的无监督对齐「Alignment」

利用生成模型进行时间序列数据的无监督对齐「Alignment」

时间:2024-08-18 21:51:18浏览次数:14  
标签:right 训练 模型 序列 对齐 数据 Alignment left

作者单位:Champalimaud Centre for the Unknown「葡萄牙一个生物研究所」

一、主线任务

1、研究背景

  • 大型推理模型在神经科学中被广泛用于从高维神经记录中提取潜在表示。
  • 由于不同实验和动物之间的统计异质性,通常需要针对每个新数据集从头开始训练模型,这既耗费计算资源,也没有充分利用所有可用数据。
  • 机器学习领域中预训练模型的使用促进了少次学习和迁移学习的发展。

2、提出方法

作者提出了一种source-free「无需源数据」和unsupervised 无监督的对齐方法,利用学习到的动态性,使训练好的生成模型能够重用。该方法在模拟和运动皮层神经记录上进行了验证。

二、Introduction

随着记录水平的成熟,让我们可以访问大量同时记录的神经元(数据?),他们表现出复杂的时空活动。有了这些数据(信息),人们就大力开发可以从这些记录(数据?)中推断出底层结构的计算模型

比如:深度生成模型中的变分自动编码器「VAE」和顺序变分自动编码器「sequential variational auto-encoders」这些模型经过训练,可以提取驱动高维神经或行为观察的潜在动态过程(通常仅限于低维流形)。「不理解:低维流形是什么?」!!!!

1、遇到的问题

  1. 训练大型模型可能是数据密集型的;尽管同时记录的神经元数量不断增加,但受试者在单次实验期间可以执行的试验数量仍然有限(Williams & Linderman,2021)。
  2. 人们对研究该领域的自然行为越来越感兴趣,其中试验边界不明确,试验重复也很少(如果有的话)(Rosenberg et al., 2021; Kennedy, 2022; Minkowicz et al., 2023)。
  3. 训练深度神经网络的计算成本很高,并且可能带来一些挑战。这部分归因于训练过程和超参数优化之间的复杂关系,这会极大地影响模型的性能。

2、启发

预训练模型的使用推动了NLP和CV的发展,通过对这两个领域的观察而启发

模型re-use的优点:具有很高的数据效率「因为不需要重新训练」,能够功能实现比肩从头开始训练的模型(在使用很小一部分数据集的情况下)

类似「few shot」?

预训练模型的优点:通用性,可以通过fine-tuned来适应于各种任务(包括跨领域)。

基于上述的成功经验以及训练神经科学大型模型的兴趣启发。这个文章研究了使用预训练序列 VAE 的案例「seqVAEs」 用在神经时间序列数据上。seqVAEs从高维神经时间序列数据推断潜在的动态方面取得了广泛的成功。

seqVAEs是什么?(Azabou 等人,2023;Ye 等人,2023)

由于

  • 记录神经元的数量调谐特性的差异;
  • 记录模式的差异等;

导致数据集之间的统计异质性,预训练的 seqVAE 不能直接在新记录中重复使用。因此需要有一种对齐方式能让数据集之间对齐。这种新的对齐方式可以转换新数据集,使其在统计上与用于训练 seqVAE 的数据相似。以前用于学习神经数据集之间对齐的方法需要访问用于训练模型的原始数据和/或数据集之间存在配对样本(Degenhart 等人,2020;Chen 等人,2021;Williams 等人, 2021;Duong 等人,2023;Wang 等人,2023)。配对样本通常是通过在数据集中任意配对刺激条件神经活动来构建的。这完全忽略了试验间的变异性,并且不能应用于自然任务设置。「之前的配对样本是如何进行配对的?」

很多方法没有明确的对数据的时间结构进行建模,可能导致对齐学习的不理想(suboptimal,次优的,比最高标准差一点点)。

3、对齐方案

在这里插入图片描述
根据参考观察值,训练一个seqVAE用于学习一个encoder和一些底层的LDD(低维动态)

定义:

新观测值(new Observations): y n e w y_{new} ynew​

y n e w ⟶ g ( . ) ⟶ g ( y n e w ) y_{new}\longrightarrow g(.)\longrightarrow g(y_{new}) ynew​⟶g(.)⟶g(ynew​), 然后可以输出 x x x

利用 g g g这个转换函数,隐式对齐

动力学约束,KL 散度最小

P ( X t ∣ X t − 1 ) P(X_{t}|X_{t-1}) P(Xt​∣Xt−1​)

推理的潜在空间遵循参考的动力学约束。

4、本文贡献

  1. 我们提出了一种新颖的无监督方法,用于序列数据与低维动态的隐式对齐,从而能够重复使用经过训练的生成模型
  2. 对于线性和高斯设置,我们分析证明所提出的方法恢复了接近最优的对齐方式「有一个证明」
  3. 在合成数据和真实数据上,我们提供了经验证据,表明所提出的方法优于其他方法

三、相关工作

在对齐神经数据集以用于计算神经表示之间的度量等应用方面已经开展了大量工作。然而,大部分方法都需要:

  • 访问原数据集;
  • 要求两种数据集之间存在一一对应的关系
  • 没有利用神经时间序列中的时空结构,

NoMAD和ERDiff与所提方法之间的区别

a、NoMAD

lfads「通过动力学系统进行潜在因素分析」,首先在原始数据集上进行训练。通过最大化数据的对数似然并最小化原始数据集和对齐数据集的潜在状态分布之间的 KLD 来对齐新数据集,其中两者都被假设为高斯分布。至关重要的是,由于 LFADS 将潜在动态建模为确定性的,因此对数似然解释了数据的时空结构。

差异:

相比之下,方法要简单得多,因为它只需要训练一个输入编码器的廉价对齐函数。此外,我们通过使用预先训练的潜在动力学来明确考虑时空结构。

b、ERDiff

seqVAE 与时空扩散模型一起训练,该模型近似原始数据集的潜在分布。对于新数据,ERDiff 优化对齐函数从预训练的encoder中生成潜在状态。目的是让这个状态的数据潜在分布跟前面潜在分布(尽可能)相同。

差异:

需要训练seqVAE和时空扩散模型来进行数据集对齐,额外开销比较大,想重用或者共享预训练的seqVAE时,需要训练一个diffusion model。它没有使用学习到的潜在动态进行对齐(反复的使用encoder),而是依靠时空转换器来获得数据中的时空结构。

四、研究背景

1、什么是SeqVAE?

给定一个神经时间序列数据集

y 1 : T = [ y 1 , … y t , … y T ] y_{1: T}=\left[y_{1}, \ldots y_{t}, \ldots y_{T}\right] y1:T​=[y1​,…yt​,…yT​]

模型学习 θ 和 ϕ \theta和 \phi θ和ϕ,然后由 y 1 : T 推测 x 1 : T y_{1: T}推测x_{1: T} y1:T​推测x1:T​「潜在状态」

后验概率 p ( x 1 : T ∣ y 1 : T ) p\left(x_{1: T} \mid y_{1: T}\right) p(x1:T​∣y1:T​)和对数边际似然 P ( y 1 : T ) P(y 1: T) P(y1:T),计算困难。因此使用seqVAEs来应对挑战,其通过Evidence(p(x)) Lower Bound , ELBO实现.

附件笔记

2、神经时间序列对齐

通过在数据集 y 1 : T y_{1: T} y1:T​训练一个SeqVAE可以重用于数据集 w 1 : T w_{1: T} w1:T​

这个模型的神奇之处在于这两个数据集没有相似的分布「数据集收集时的偏差,仪器偏差,物种不同等」。

  1. 首先,学习一个对齐函数 g ϑ : ω → y g_\vartheta:\omega\rightarrow y gϑ​:ω→y如下函数:

y ^ t ≡ g ( w t ) \hat{y}_{t} \equiv g\left(w_{t}\right) y^​t​≡g(wt​)

目的是优化目标数据分布与原始数据分布之间的距离,min is best。然而,不能简单的使用距离来减小分布距离,因为边界不清楚,所以,以前的方法大部分操作基于有监督进行的。
  1. 随后可以将投影数据馈送到预先训练的编码器, q ψ ( x t ∣ g ϑ ( w 1 : T ) ) q_{\psi}\left(x_{t} \mid g_{\vartheta}\left(w_{1: T}\right)\right) qψ​(xt​∣gϑ​(w1:T​))

主角:神经时间序列的无监督对齐

假设:两个数据集之间的潜在动态「underlying latent dynamics」相同。故允许我们修正经过训练的动力学模型的参数 P θ ( x t ∣ x t − 1 ) P_θ(x_t | x_{t−1}) Pθ​(xt​∣xt−1​)。

SeqVAEs: p ϕ ( y t ∣ x t ) p_{\phi}\left(y_{t} \mid x_{t}\right) pϕ​(yt​∣xt​)「似然函数」和$
$ q ψ ( x t ∣ g ϑ ( w 1 : T ) ) q_{\psi}\left(x_{t} \mid g_{\vartheta}\left(w_{1: T}\right)\right) qψ​(xt​∣gϑ​(w1:T​))「编码器」组成。

高质量对齐函数需要符合: q ψ ( x 1 : T ∣ y 1 : T ) ≈ p ( x 1 : T ∣ y 1 : T ) q_{\psi}\left(x_{1: T} \mid y_{1: T}\right)\approx p\left(x_{1: T} \mid y_{1: T}\right) qψ​(x1:T​∣y1:T​)≈p(x1:T​∣y1:T​)

通过最小化 q(x | gθ(w)) 和 p(x | w) 之间的预期 Kullback-Leibler 散度来优化对齐参数 θ

D K L D_{KL} DKL​

最佳对齐函数的对齐效果

q ( x ∣ y ) = p ( x ∣ y ) = N ( μ ( y ) , Σ ) μ ( y ) ≜ Σ A ⊤ Q − 1 y Σ ≜ ( A ⊤ Q − 1 A + I ) − 1 \begin{array}{l}q(x \mid y)=p(x \mid y)=\mathcal{N}(\mu(y), \Sigma) \\ \mu(y) \triangleq \Sigma A^{\top} Q^{-1} y \\ \Sigma \triangleq\left(A^{\top} Q^{-1} A+I\right)^{-1}\end{array} q(x∣y)=p(x∣y)=N(μ(y),Σ)μ(y)≜ΣA⊤Q−1yΣ≜(A⊤Q−1A+I)−1​

V*和Ve对齐

ϑ † = arg ⁡ min ⁡ ϑ E p ( w , y ) [ ( y − ϑ w ) ⊤ ( y − ϑ w ) ] \vartheta_{\dagger}=\underset{\vartheta}{\arg \min } \mathbb{E}_{p(w, y)}\left[(y-\vartheta w)^{\top}(y-\vartheta w)\right] ϑ†​=ϑargmin​Ep(w,y)​[(y−ϑw)⊤(y−ϑw)]

ϑ ⋆ = arg ⁡ max ⁡ ϑ E p ( w ) [ E q ( x ∣ g ϑ ( w ) ) [ log ⁡ p ( w ∣ x ) + log ⁡ p ( x ) − log ⁡ q ( x ∣ g ϑ ( w ) ) ] ] \vartheta_{\star}=\underset{\vartheta}{\arg \max } \mathbb{E}_{p(w)}\left[\mathbb{E}_{q\left(x \mid g_{\vartheta}(w)\right)}\left[\log p(w \mid x)+\log p(x)-\log q\left(x \mid g_{\vartheta}(w)\right)\right]\right] ϑ⋆​=ϑargmax​Ep(w)​[Eq(x∣gϑ​(w))​[logp(w∣x)+logp(x)−logq(x∣gϑ​(w))]]

未完待续。。。

标签:right,训练,模型,序列,对齐,数据,Alignment,left
From: https://blog.csdn.net/weixin_62305355/article/details/141306190

相关文章

  • 序列(dp+矩阵加速)
    第2题   序列 查看测评数据信息给定一个数集A,现在你需要构造一个长度为k的序列B,序列B的元素从数集A中任意挑选,要求B中任意相邻的两个数字的异或值二进制表示中1的个数是3的倍数,请问B的有多少种合法的构造方案?两种方案不同当且仅当存在B[i]在A中的位置不同。输入格式......
  • 对象流,序列化和反序列化 day18
    packagecom.shujia.day18.ketang;importjava.io.*;/*序列化流:序列化:将一个对象转换成网络中传输的流对象输出流:ObjectOutputStream将一个类的对象写进文本中反序列化:将网络中传输的流还原成一个对象对象输入流:Object......
  • JAVA中的序列化
    Java序列化是一种机制,它可以将对象状态转换为可存储或可传输的形式。序列化后的对象可以在网络上传输,或者保存到文件、数据库等存储介质中。在Java中,序列化通过实现 java.io.Serializable接口来实现。本文将详细介绍Java序列化的概念、实现方式、优缺点以及代码示例。一、序......
  • JAVA中的反序列化
    Java反序列化是将之前序列化存储的对象状态信息重新恢复为Java对象的过程。这个过程与序列化是相反的,它允许程序从字节流中重建对象,这对于网络传输、对象持久化以及分布式系统中的对象传递至关重要。下面将详细介绍Java反序列化的概念、实现方式、安全注意事项,并通过一个......
  • 序列建模之循环和递归网络 - 递归神经网络篇
    序言在序列建模的广阔领域中,递归神经网络(Recursive Neural Network, RNN\text{RecursiveNeuralNetwork,RNN}Recursive Neural Network, RNN),注意此处的......
  • 双序列动态规划
    双序列动态规划状态定义往往是$f[n][m]$的二维状态,$n,m$为两个序列的长度状态转移往往是与$f[i][j-1]$,$f[i-1][j]$,$f[i-1][j-1]$有关例P1140$f[i][j]$表示A串$[0,i]$匹配B串$[0,j]$所得最大价值正解$f[i][j]=max(f[i][j-1]+table[b[j]]['-'],f[i-1][j]+table[a[i]]['-'......
  • 驾驭数据之序:SQL序列的奥秘与实现
    标题:驾驭数据之序:SQL序列的奥秘与实现摘要在数据库管理中,保证数据的有序性和唯一性是至关重要的。SQL序列(Sequence)作为一种强大的数据库对象,为我们提供了一种在不同数据库系统中生成连续数字的手段。本文将深入探讨序列的概念、重要性以及在不同SQL环境中的实现方法。1.......
  • netdom 和 PowerShell 的 Add-Computer 命令可以将计算机加入特定的组织单位(OU)。如果
    netdom和PowerShell的Add-Computer命令可以将计算机加入特定的组织单位(OU)。使用 netdom:netdom是一个用于管理Windows域的命令行工具。要将计算机加入到特定的OU,使用以下命令:bashCopyCodenetdomjoin<ComputerName>/domain:<DomainName>/ou:<OUPath>/userd:<Use......
  • 最长回文子序列
    题目描述所谓回文串就是正读和反读都一样的字符串。给定一个字符串,通过删除若干字符,都可以变成回文词。请计算最少删除多少字符才能够让给定的字符串变成回文。提示:区间dp#include<cstring>#include<iostream>usingnamespacestd;intf[2005][2005];chars[2005];i......
  • 由字节对齐引发的一场“血案“
    最近在搞个网络通信协议,采用socketudp传输,运行时,居然报段错误了,经过debug,发现居然是因为字节对齐问题导致的。这个问题在实现通信协议,是经常会遇到的问题,为了方便读者理解,我把内容做了简化,分享给大家。1、协议说明通信协议信令格式如下:typedefstructprotocol_msg_s{ ......