论文阅读:(arxiv 2022)COORDX: ACCELERATING IMPLICIT NEURAL REPRESENTATION WITH A SPLIT MLP ARCHITECTURE

本文主要是介绍论文阅读:(arxiv 2022)COORDX: ACCELERATING IMPLICIT NEURAL REPRESENTATION WITH A SPLIT MLP ARCHITECTURE,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

COORDX: ACCELERATING IMPLICIT NEURAL REPRESENTATION WITH A SPLIT MLP ARCHITECTURE (arxiv 2022)

Paper:https://arxiv.org/abs/2201.12425
Code:https://github.com/nexuslrf/CoordX

2022/7/21:今天中午学校终于解封了,晚上想吃螺蛳粉或者大份的黄焖鸡,我真的好饿好饿好饿,也不想吃食堂食堂食堂。

本文主要讲的就是通过输入坐标分解和共享参数进行推理加速,并且作者使用了一些小trick加速训练和增强重构能力

Abstract

利用多层感知器(MLPs)的隐式神经表征最近在各种各样的任务中获得了突出的地位,如新颖的视图合成和3D对象表示和渲染。然而,这些表示的一个重大挑战是,MLP在大量的输入坐标上训练和推断,以学习和表示图像、视频或3D对象,需要大量的计算和花费很长的处理时间。在这项工作中,我们的目标是通过提出一种新的分割MLP架构CoordX来加速基于坐标的MLP的隐含神经表示的推理和训练。在CoordX中,初始层被分割,分别学习输入坐标的每个维度。最后一层融合中间特征,在相应的坐标点生成学习到的信号。这大大减少了所需的计算量,并导致在训练和推断中大大加快,同时达到了与基线MLP相似的精度。因此,该方法旨在首先学习原始信号的分解函数,然后融合它们来生成学习到的信号。我们提出的架构通常可以用于许多隐式神经表示任务,而不需要额外的内存开销。在图像、视频和3D形状表示和渲染任务中,与基线模型相比,我们展示了高达2.92倍的加速。

1. Introduction

研究意义:使用隐式神经表示代替传统的离散表示有几个好处。首先,它的内存效率可能更高。与被表示对象的粒度受网格分辨率限制的离散表示不同,隐式神经表示的粒度可以通过选择不同的输入坐标分辨率来自由调整,同时不超过学习后的MLP的表示能力。第二,完全可微分学习过程允许MLP从稀疏可用的数据点学习复杂信号,以重建高质量的图像或物体。寻求更精确、更一般化的隐式神经网络结构和方法是一个活跃的研究领域。

问题:隐式神经表示的一个关键挑战是推理和训练的大量计算需求。

现有方法的问题:然而,这些方法有几个缺点。首先,所提到的一些方法只适用于特定的任务,例如,新视角合成(Neff等人,2021年)。其次,用于显式保存表示以避免计算的额外数据结构可能会导致较高的内存开销,例如Garbin等人(2021)。第三,这些方法的有效性受限于所学习信号的稀疏性,它们可能对高度密集和特征丰富的图像/物体不太有效。

本文切入点:然而,这忽略了图像中具有相似坐标值的点之间的隐式局部,例如,沿着同一轴的相邻点。

我们的方法的主要好处是:首先,它通过本质上减少输入的维度,使训练和推断的速度显著加快。其次,这种技术可以正交地应用于以前提出的优化技术,利用稀疏性,而不会产生太多额外的内存开销。第三,正如我们在本工作中演示的那样,基于维度的拆分方法可以应用于使用基于坐标的mlp的广泛任务。

开发分离架构的关键挑战是:(i)确保即使在使用单独的层处理输入的每个维度时,模型的总体大小也不会增加;(ii)有效融合分离层的特征以保持原始模型的精度。在这项工作中,我们通过(i)只拆分第一个FC层,然后在所有输入分支上共享剩余的FC层来应对这些挑战;和(ii)使用外部积操作融合分离分支的特征。

  • 我们为基于坐标的mlp开发了一种新的架构,该架构利用输入坐标点之间的局部性来减少所需的计算量,并显著加快推理和训练的速度。
  • 我们设计的分割MLP架构实现了更快的训练和推断,并保持与具有可比或略大参数计数的基线模型相同的精度水平。
  • 我们展示了CoordX在加速各种信号拟合任务的推理和训练方面的有效性,包括图像、视频和3D形状渲染,以及其他高级应用,如图像超分辨率。

2. Method

本文的切入点和创新点如图所示,经典Coordinate MLP需要查询所有输入点才能得到输出结果,这样会占用大量的内存和计算,将其按照维度切分为两个维度(对于图像)则如图1(b)(c)所示。所提出方法的网络结构如图1(e)所示。
在这里插入图片描述
对于经典coordMLP,对于一个H*W的图像而言,有N=HW个输入坐标点需要进行独立查询,则坐标点的集合可以表示为 X ∈ R N × K \bf{X} \in \R^{N \times K} XRN×K,其中K表示每个点的维度(例如对于坐标为(x,y)的图像平面,K=2)。对于CoordX而言,MLP的第一层并不是查询N个K维度的坐标点,我们将MLP的第一层划分为C个分支, C ≤ K C \leq K CK。当K = C时,K- d输入坐标的每一维i分别馈给对应的Ci输入支路,如图1(e)所示。如果C < K,在这种情况下,1个或多个坐标维度不被分割并保留其原始形式。例如,视频中的坐标点(x;y;t) (K = 3)可沿2维(C = 2)分解:支路1由沿X、Y维的二维坐标点馈送为(X;Y),分支2由时间维度(t)提供。

因此输入网格 X ∈ R N × K \bf{X} \in \R^{N \times K} XRN×K转换为一组分解后的输入网格 { X ( i ) ∈ R B i × K i ∣ i = 1 , 2 , . . . , C } \{\bf{X}^{(i)} \in \R^{B_i \times K_i}| i=1,2,...,C\} {X(i)RBi×Ki∣i=1,2,...,C},i表示输入分支, B i B_i Bi是输入分支i的坐标点的数量, K i K_i Ki是输入到分支i的各个分解坐标点的维数。因此,(这一步还是很容易得到的)
在这里插入图片描述
这一部分是关于运行速度上的分析,写的也比较简洁直白,稍微推导即可得。在这里插入图片描述

该部分考虑了对输出二维矩阵直接进行SVD或者QR分解,将输出图像表示为两个分支矩阵的外积,因此可以将CoordX分为完全分离的CoordX和部分分离的CoordX。后续实验结果证明完全分离的实验效果较差,这一点是比较容易得到的,因为观察图2(b)中分离矩阵表示即可得出,分离矩阵中频率变化大并且含有很多高频信息,隐式神经表示的一个缺陷即难以表示高频分量,两个高频分量拟合本来就差,外积得到的结果只会更差。 本人在使用FFT的INR表示实验中也碰到此类问题
在这里插入图片描述

3. Experimental Evaluation

推理速度上比MLP确实是要快上很多,但是训练方面的结果是要明显差于SIREN和PE的,一个掉了3dB一个掉了4dB。这里A表示运用了训练加速策略,在附录中有详细说明。
在这里插入图片描述
不同的维度分离方式会有不同的结果,对于视频而言分为XY+T要优于X+Y+T。不过同样采用分离的方式还是会带来性能的下降,接近2dB,这是不可容忍的。

4. Conclusion and Future Work

在这项工作中,我们提出了CoordX,一种新的架构,加速了基于坐标的隐含神经表示的MLPs的推理和训练。CoordX沿着每个输入维度分解输入位置(时间)坐标,并将基础MLP分成多个分支MLP。分解后的输入分别输入到每个分支,导致推理和训练的显著加速,同时保持类似于较慢的基线模型的表示精度。我们还演示了一些方法来增加拆分坐标MLP的表示能力,引领新的设计空间权衡速度,质量和大小。

除了所评估的任务,CoordX还有更广泛的适用性。例如,本工作中引入的分割策略也可以用于加速动态场景的视图合成(Peng等人,2021;Li等人,2021年)和可变形场景(Park等人,2020年;2021)。CoordX还可以帮助基于神经隐式表示的压缩(Dupont et al., 2021)实现更高的压缩/解压速度。最后,本工作中提出的拆分MLPs可能用于多维信号分解或多元函数分解,这可能对其他任务如多关系数据建模有用(Rabanser等人,2017)。我们把这些探索留给未来的工作。

这篇关于论文阅读:(arxiv 2022)COORDX: ACCELERATING IMPLICIT NEURAL REPRESENTATION WITH A SPLIT MLP ARCHITECTURE的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/648752

相关文章

Spring Security--Architecture Overview

1 核心组件 这一节主要介绍一些在Spring Security中常见且核心的Java类,它们之间的依赖,构建起了整个框架。想要理解整个架构,最起码得对这些类眼熟。 1.1 SecurityContextHolder SecurityContextHolder用于存储安全上下文(security context)的信息。当前操作的用户是谁,该用户是否已经被认证,他拥有哪些角色权限…这些都被保

JAVA智听未来一站式有声阅读平台听书系统小程序源码

智听未来,一站式有声阅读平台听书系统 🌟&nbsp;开篇:遇见未来,从“智听”开始 在这个快节奏的时代,你是否渴望在忙碌的间隙,找到一片属于自己的宁静角落?是否梦想着能随时随地,沉浸在知识的海洋,或是故事的奇幻世界里?今天,就让我带你一起探索“智听未来”——这一站式有声阅读平台听书系统,它正悄悄改变着我们的阅读方式,让未来触手可及! 📚&nbsp;第一站:海量资源,应有尽有 走进“智听

AI hospital 论文Idea

一、Benchmarking Large Language Models on Communicative Medical Coaching: A Dataset and a Novel System论文地址含代码 大多数现有模型和工具主要迎合以患者为中心的服务。这项工作深入探讨了LLMs在提高医疗专业人员的沟通能力。目标是构建一个模拟实践环境,人类医生(即医学学习者)可以在其中与患者代理进行医学

论文翻译:arxiv-2024 Benchmark Data Contamination of Large Language Models: A Survey

Benchmark Data Contamination of Large Language Models: A Survey https://arxiv.org/abs/2406.04244 大规模语言模型的基准数据污染:一项综述 文章目录 大规模语言模型的基准数据污染:一项综述摘要1 引言 摘要 大规模语言模型(LLMs),如GPT-4、Claude-3和Gemini的快

bytes.split的用法和注意事项

当然,我很乐意详细介绍 bytes.Split 的用法和注意事项。这个函数是 Go 标准库中 bytes 包的一个重要组成部分,用于分割字节切片。 基本用法 bytes.Split 的函数签名如下: func Split(s, sep []byte) [][]byte s 是要分割的字节切片sep 是用作分隔符的字节切片返回值是一个二维字节切片,包含分割后的结果 基本使用示例: pa

论文阅读笔记: Segment Anything

文章目录 Segment Anything摘要引言任务模型数据引擎数据集负责任的人工智能 Segment Anything Model图像编码器提示编码器mask解码器解决歧义损失和训练 Segment Anything 论文地址: https://arxiv.org/abs/2304.02643 代码地址:https://github.com/facebookresear

论文翻译:ICLR-2024 PROVING TEST SET CONTAMINATION IN BLACK BOX LANGUAGE MODELS

PROVING TEST SET CONTAMINATION IN BLACK BOX LANGUAGE MODELS https://openreview.net/forum?id=KS8mIvetg2 验证测试集污染在黑盒语言模型中 文章目录 验证测试集污染在黑盒语言模型中摘要1 引言 摘要 大型语言模型是在大量互联网数据上训练的,这引发了人们的担忧和猜测,即它们可能已

OmniGlue论文详解(特征匹配)

OmniGlue论文详解(特征匹配) 摘要1. 引言2. 相关工作2.1. 广义局部特征匹配2.2. 稀疏可学习匹配2.3. 半稠密可学习匹配2.4. 与其他图像表示匹配 3. OmniGlue3.1. 模型概述3.2. OmniGlue 细节3.2.1. 特征提取3.2.2. 利用DINOv2构建图形。3.2.3. 信息传播与新的指导3.2.4. 匹配层和损失函数3.2.5. 与Super

软件架构模式:5 分钟阅读

原文: https://orkhanscience.medium.com/software-architecture-patterns-5-mins-read-e9e3c8eb47d2 软件架构模式:5 分钟阅读 当有人潜入软件工程世界时,有一天他需要学习软件架构模式的基础知识。当我刚接触编码时,我不知道从哪里获得简要介绍现有架构模式的资源,这样它就不会太详细和混乱,而是非常抽象和易

BERT 论文逐段精读【论文精读】

BERT: 近 3 年 NLP 最火 CV: 大数据集上的训练好的 NN 模型,提升 CV 任务的性能 —— ImageNet 的 CNN 模型 NLP: BERT 简化了 NLP 任务的训练,提升了 NLP 任务的性能 BERT 如何站在巨人的肩膀上的?使用了哪些 NLP 已有的技术和思想?哪些是 BERT 的创新? 1标题 + 作者 BERT: Pre-trainin