COIN 基于隐式神经表示对于压缩工作的探究

2024-04-16 18:52

本文主要是介绍COIN 基于隐式神经表示对于压缩工作的探究,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


1. 论文基本信息

2. 创新点

  1. 提出了一种新的图像压缩的简单方法:不是存储图像的每个像素的 RGB 值,而是存储过度拟合图像的神经网络的权重。

3. 背景

压缩隐式神经表示。使用神经网络将像素位置 (x, y) 映射到 RGB 值(通常称为隐式神经表示)来过度拟合图像。然后,将这个神经网络的权重 θ 量化为较低的位宽并传输它们。

  • 将我们的方法与学习的权重分布相结合可能会导致有前途的神经数据压缩方法
  • 将图像视为从像素位置到 RGB 值的函数,使得网络可以通过逐渐提高分辨率来形成渐进式解码,对资源受限的设备特别有吸引力。

4. Pipeline

令 I 表示我们希望编码的图像,使得 I[x, y] 返回像素位置 (x, y) 处的 RGB 值。文中定义了一个函数 fθ : R2 → R3,其参数 θ 将像素位置映射到图像中的 RGB 值,即 fθ (x, y) = (r, g, b)。然后,我们可以通过在一些失真度量下将 fθ 过拟合到图像上来编码图像。在本文中,我们使用均方误差,得到以下优化问题:

使用标准激活函数的 MLP 参数化 fθ 会导致欠拟合,有多种办法可以解决这个问题,有可能使用大量参数来使得 MLP 能够过拟合模型、或者使用正弦激活函数对像素坐标进行编码,文中选择了一种给定参数预算产生了功能好的结果。

文中采用两种方法减少模型的大小:

  1. 架构搜索:通过调整 MLP 的层数和每层的宽度 (即每层的神经元数量或参数量)来找到最优的网络架构。
  2. 权重量化:打 将权重的精度从 32 位降低到 16 位,有助于减少模型的大小。

5. 💎实验成果展示

6. 🔍问题分析

6.1. 局限性:

  1. 编码速度慢
  • 由于需要为每个编码的图像解决优化问题,编码过程较慢。这对于大规模的一对多媒体分发,如Netflix,可能不是理想的。
  1. 解码时的计算需求
  • 解码时需要在每个像素位置评估网络以还原完整的图像。尽管这种计算可以通过并行处理优化,但仍可能会产生一定的计算成本。
  1. 性能
    • 与现有的最先进的压缩方法相比,该方法的性能较差。

6.2. 未来工作方向:

  1. 元学习和摊销推理
  • 可能可以通过元学习或摊销推理方法绕过编码速度的局限性。
  1. 权重分布学习
  • 学习函数权重的分布可能会为该方法带来显著的压缩收益。
  1. 神经架构优化
  • 通过神经架构搜索或修剪等方法优化表示图像的函数的结构。
  1. 模型压缩
  • 可以采用更先进的模型压缩方法,而不仅仅是简单地将权重转换为半精度。
  1. 应用于其他类型的数据
  • 将该方法应用于不同类型的数据,如视频或音频,可能会有趣且有潜力。

这篇关于COIN 基于隐式神经表示对于压缩工作的探究的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

SpringBoot整合Flowable实现工作流的详细流程

《SpringBoot整合Flowable实现工作流的详细流程》Flowable是一个使用Java编写的轻量级业务流程引擎,Flowable流程引擎可用于部署BPMN2.0流程定义,创建这些流程定义的... 目录1、流程引擎介绍2、创建项目3、画流程图4、开发接口4.1 Java 类梳理4.2 查看流程图4

LiteFlow轻量级工作流引擎使用示例详解

《LiteFlow轻量级工作流引擎使用示例详解》:本文主要介绍LiteFlow是一个灵活、简洁且轻量的工作流引擎,适合用于中小型项目和微服务架构中的流程编排,本文给大家介绍LiteFlow轻量级工... 目录1. LiteFlow 主要特点2. 工作流定义方式3. LiteFlow 流程示例4. LiteF

SpringBoot集成LiteFlow实现轻量级工作流引擎的详细过程

《SpringBoot集成LiteFlow实现轻量级工作流引擎的详细过程》LiteFlow是一款专注于逻辑驱动流程编排的轻量级框架,它以组件化方式快速构建和执行业务流程,有效解耦复杂业务逻辑,下面给大... 目录一、基础概念1.1 组件(Component)1.2 规则(Rule)1.3 上下文(Conte

详解如何使用Python构建从数据到文档的自动化工作流

《详解如何使用Python构建从数据到文档的自动化工作流》这篇文章将通过真实工作场景拆解,为大家展示如何用Python构建自动化工作流,让工具代替人力完成这些数字苦力活,感兴趣的小伙伴可以跟随小编一起... 目录一、Excel处理:从数据搬运工到智能分析师二、PDF处理:文档工厂的智能生产线三、邮件自动化:

基于Python开发一个有趣的工作时长计算器

《基于Python开发一个有趣的工作时长计算器》随着远程办公和弹性工作制的兴起,个人及团队对于工作时长的准确统计需求日益增长,本文将使用Python和PyQt5打造一个工作时长计算器,感兴趣的小伙伴可... 目录概述功能介绍界面展示php软件使用步骤说明代码详解1.窗口初始化与布局2.工作时长计算核心逻辑3

RabbitMQ工作模式中的RPC通信模式详解

《RabbitMQ工作模式中的RPC通信模式详解》在RabbitMQ中,RPC模式通过消息队列实现远程调用功能,这篇文章给大家介绍RabbitMQ工作模式之RPC通信模式,感兴趣的朋友一起看看吧... 目录RPC通信模式概述工作流程代码案例引入依赖常量类编写客户端代码编写服务端代码RPC通信模式概述在R

SpringBoot实现文件记录日志及日志文件自动归档和压缩

《SpringBoot实现文件记录日志及日志文件自动归档和压缩》Logback是Java日志框架,通过Logger收集日志并经Appender输出至控制台、文件等,SpringBoot配置logbac... 目录1、什么是Logback2、SpringBoot实现文件记录日志,日志文件自动归档和压缩2.1、

使用Python实现矢量路径的压缩、解压与可视化

《使用Python实现矢量路径的压缩、解压与可视化》在图形设计和Web开发中,矢量路径数据的高效存储与传输至关重要,本文将通过一个Python示例,展示如何将复杂的矢量路径命令序列压缩为JSON格式,... 目录引言核心功能概述1. 路径命令解析2. 路径数据压缩3. 路径数据解压4. 可视化代码实现详解1

SpringBoot使用GZIP压缩反回数据问题

《SpringBoot使用GZIP压缩反回数据问题》:本文主要介绍SpringBoot使用GZIP压缩反回数据问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录SpringBoot使用GZIP压缩反回数据1、初识gzip2、gzip是什么,可以干什么?3、Spr

Go 语言中的select语句详解及工作原理

《Go语言中的select语句详解及工作原理》在Go语言中,select语句是用于处理多个通道(channel)操作的一种控制结构,它类似于switch语句,本文给大家介绍Go语言中的select语... 目录Go 语言中的 select 是做什么的基本功能语法工作原理示例示例 1:监听多个通道示例 2:带