COIN++: Neural Compression Across Modalities 论文阅读笔记

news2024/11/19 9:34:11

1. 论文基本信息

发布于: TMLR 2022

2. 创新点

  1. 使用元学习将编码时间减少了两个数量级以上,将编码共享结构进行编码,并对该网络应用调制来编码实例特定信息。
  2. 量化和熵编码调制。虽然我们的方法在压缩和速度方面都大大超过了 COIN,但它仅部分缩小了与 SOTA 编解码器在经过充分研究的模式(例如图像)上的差距。然而,COIN++ 适用于传统方法难以使用的广泛数据模式,使其成为非标准域中神经压缩的一种有前途的工具。

3. 背景

COIN++通过优化将广泛的数据模式转换为神经网络,然后将这些神经网络的参数存储为数据的压缩代码。可以通过简单地改变神经网络的输入和输出维度来压缩不同的数据模式。

确定了 COIN 的以下问题

  1. 编码很慢:压缩单个图像可能需要长达一个小时
  2. 缺乏共享结构:由于每个图像都是独立压缩的,网络之间没有共享信息
  3. 性能远低于最先进的 (SOTA) 图像编解码器。

4. Pipeline

数据表示

数据以坐标集(X)和特征集(Y)的形式表示。例如:

  • 图像:二维平面中的像素位置 (x, y) 及其RGB颜色值 (r, g, b) 。
  • MRI扫描:三维空间中的位置 (x, y, z) 和强度值。

每个数据点是坐标和特征对的集合,表示为

4.1. 元学习的应用

  • 基础网络与调制机制:在这种方法中,首先训练一个所有数据共享的基础网络,通常是一个多层感知机(MLP)。这个基础网络不直接对每个独立的数据进行特定的学习,而是提供了一个通用的特征提取框架。
  • FiLM层的应用:为了使基础网络能够适应每个具体的数据点,引入了 FiLM(Feature-wise Linear Modulation,特征线性调制)层。FiLM 层的核心思想是通过调制操作来修改网络中的隐藏特征。具体来说,FiLM 层会对隐藏层特征 h∈Rd 应用逐元素(elementwise)的缩放(scales, γ∈Rd)和平移(shifts, β∈Rd)操作:FiLM(h)=γh+β这里的 γβ 是调制参数,它们可以根据每个数据点的具体需求进行调整,从而使得基础网络能够灵活地适应不同的数据特性。

COIN++架构。潜在调制 φ(绿色)通过超网络映射到调制(蓝色),这些调制被添加到基础网络 fθ(白色)的激活中,以参数化可以在坐标 x 处评估的单个函数以获得特征 y。

在 COIN++ 架构中,不同的图像或数据点对应的调制参数 φ 各不相同,这是因为每个数据或图像可能有其独特的结构和特征需求,通过使用不同的调制参数,可以使得同一个基础网络 能够适应和生成这些不同的数据。此外,这种方法允许我们在基础网络中存储共享信息,并在调制中存储实例特定信息。例如,对于自然图像,基础网络编码自然图像中常见的结构,而调制存储重建单个图像所需的信息。

4.2. 元学习调制

  1. 问题描述:
  • 传统的COIN方法需要在训练时学习模型的权重(θ),这是一个耗时的过程。
  • 通过COIN的编码方法(公式6),对单个数据点进行编码也很慢,需要进行许多次梯度下降迭代。
  1. 解决方案 - MAML:
  • MAML是一种元学习方法,它的目标是找到一个好的模型初始化参数θ∗,这样我们可以很快地在新数据上进行少量梯度下降迭代来学习。
  1. COIN++的元学习应用:
  • 内循环(Inner Loop):对于单个数据点,我们使用它来快速更新调制参数φ,保持θ不变。
  • 外循环(Outer Loop):在整个数据集上,我们同时更新θ和φ。
  1. 优点:
  • 快速适应:COIN++可以快速地适应新的数据点,只需几次梯度下降迭代。
  • 共享参数:COIN++只需要存储每个数据点的调制参数φ,而不是整个模型的权重,这减少了存储和计算成本。
  • 简化初始化:只需要元学习共享参数θ的初始化,而不需要单独元学习φ。

4.3. 针对调制的量化和熵编码

(左)从随机初始化θ开始,元学习基础网络的参数θ *(训练进度显示为实线),这样调制φ可以很容易地适应几个梯度步骤(拟合如虚线所示)。(右)在训练期间,随机抽取补丁,而在测试时,将数据点划分为补丁并将调制拟合到每个补丁中。

5. 💎实验成果展示

(左)CIFAR10 上的速率失真图。 COIN++ 优于 COIN、JPEG 和 JPEG2000,同时部分缩小了与最先进的编解码器的差距。(右)具有相似重建质量的模型压缩伪影的定性比较。COIN++在3.29 bpp处达到32.4dB,而BPG在1.88 bppp处达到31.9dB。

(左)柯达的速率失真图。虽然 COIN++ 的性能略好于 COIN,但补丁的使用降低了压缩性能。(右)柯达上的 COIN++ 压缩伪影。


6. 源码环境配置:

源码地址:GitHub - EmilienDupont/coinpp: Pytorch implementation of COIN++ 🍁

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1610184.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Navicat导入sql文件图文教程

本文使用的MySQL工具为:Navicat.默认已经连接数据库!! 步骤: 1.右键自己的数据库,选择新建数据库. 2.输入数据库名称,字符集选择“utf8”,排序规则选择“ utf8_general_ci”,确定. 3.双击新建好的“数据库”。右键点击“运行SQL文件”。 4.选择本地的s…

Linux上的uname

2024年4月19日,周五上午 这是我第一篇用CSDN上的markdown编辑器写的博客,感觉还不错 uname 是一个常用的命令行工具,uname 的全称是 “Unix Name”,它是一个 Unix 和类 Unix 操作系统上的命令行工具,用于获取操作系统相…

同旺科技 USB TO SPI / I2C适配器读写24LC256--页写

所需设备: 1、USB 转 SPI I2C 适配器;内附链接 2、24LC256芯片 适应于同旺科技 USB TO SPI / I2C适配器升级版、专业版; 从00地址开始写入64个字节,然后再将64个字节读回; 页写时序: 读时序&#xff1a…

【不看后悔】AGI时代,这些工具真的能让你收入翻倍!

引言 在数字化浪潮中,AIGC已经成为不可或缺的一部分 无论你是一名内容创作者,还是简单的社交媒体用户,免费的AI工具都能在多个层面助你一臂之力。这些工具涵盖从文本创作到图像设计,再到视频制作等多个方面,不仅可以…

Python全栈开发前端与后端的完美融合

👽发现宝藏 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。【点击进入巨牛的人工智能学习网站】。 在当今互联网时代,全栈开发已经成为了一种趋势。全栈开发者具备前端和后端开发的…

基于java+springboot+vue实现的校园一卡通系统(文末源码+Lw+ppt)23-26

摘 要 近些年来,随着科技的飞速发展,互联网的普及逐渐延伸到各行各业中,给人们生活带来了十分的便利,校园一卡通利用计算机网络实现信息化管理,使整个校园一卡通管理的发展和服务水平有显著提升。 本文拟采用java技…

圣地亚哥 Toler 小学利用School AI帮助每个学生都有自己的聊天机器人,提高学习兴趣和效率

圣地亚哥 Toler 小学利用 AI 程序 SchoolAI 平台为学生创建个性化的聊天机器人,帮助他们更好地学习和提问。这个 AI 程序让学生可以在几秒钟内得到问题的答案,激发了他们提出更多问题的好奇心。 管理、调节和指导学生如何通过任务控制使用人工智能。 当…

Python性能优化技巧

Python作为一种高级编程语言,凭借其简洁易读、开发效率高的特点,受到了广大开发者的喜爱。然而,在追求开发效率的同时,我们也不能忽视Python代码的性能问题。在大数据处理、机器学习等场景下,Python代码的性能往往成为…

SQLite数据库中JSON 函数和运算符(二十七)

返回:SQLite—系列文章目录 上一篇:维护SQLite的私有分支(二十六) 下一篇:SQLite—系列文章目录 ​1. 概述 默认情况下,SQLite 支持 29 个函数和 2 个运算符 处理 JSON 值。还有两个表值函数可用于分解 JSON 字…

Golang | Leetcode Golang题解之第37题解数独

题目: 题解: func solveSudoku(board [][]byte) {var line, column [9][9]boolvar block [3][3][9]boolvar spaces [][2]intfor i, row : range board {for j, b : range row {if b . {spaces append(spaces, [2]int{i, j})} else {digit : b - 1line…

Octopus+: An RDMA-Enabled Distributed Persistent Memory File System——泛读笔记

TOS 2021 Paper 分布式元数据论文阅读笔记整理 问题 非易失性存储器(NVM)和远程直接存储器访问(RDMA)在存储和网络硬件中提供了极高的性能。然而,现有的分布式文件系统隔离了文件系统和网络层,而且分层的…

H3C交换机基础配置及故障排查

以下命令以H3C S5120为实验对象,其他设备命令可能略有不同 一、交换机基础配置 1.开启NTP服务 ntp enable 设置时区 clock timezone beijing add 8 自定义NTP服务器地址 ntp-service unicast-server 120.25.115.20 #如果使用域名作为ntp服务器的地址&#x…

电脑工作者缓解眼部疲劳问题的工具分享

背景 作为以电脑为主要工作工具的人群,特别是开发人员,我们每天都需要长时间紧盯着屏幕,进行代码编写、程序调试、资料查询等工作。这种持续的工作模式无疑给我们的眼睛带来了不小的负担。一天下来,我们常常会感到眼睛干涩、疲劳…

2.4G射频收发芯片 KT8P01,非常适合超低功耗(ULP)的无线应用

KT8P01是一颗低成本、高性能的智能2.4 GHz射频收发芯片,内置单片机。KT8P01经过优化,提供了单芯片解决方案,适用于超低功耗(ULP)的无线应用。处理能力、存储器、低功率振荡器、实时计数器以及一系列省电模式的组合为RF…

dependency walker工具简介及使用

dependency walker工具 简介使用 简介 官方概述: Dependency Walker is a free utility that scans any 32-bit or 64-bit Windows module (exe, dll, ocx, sys, etc.) and builds a hierarchical tree diagram of all dependent modules. For each module found, …

Vue实现多角色登录,Vue-Router路由守卫控制权限页面

实现页面侧边栏和头部不变,当点击某个功能时,只有主体部分发生变化,这要用到子路由技术 我的项目结构如上,其中包含侧边栏和头部的文件是Manage.vue,主页面是Home.vue,个人页面是Person.vue,用户…

CSS实现广告自动轮播

实现原理 该广告轮播功能的实现主要依靠HTML和CSS。HTML负责搭建轮播框架,而CSS则控制样式和动画效果。通过CSS中的关键帧动画(Keyframes),我们可以定义图片在容器内的滚动效果,从而实现轮播功能。 HTML结构 首先&am…

2024-4-狼道

2024-4-狼道 2024-4-9 宋犀堃(堃通坤,多用于人名) fatux: 做人当如狗,和蔼可亲;做事当如狼,专注果决。 狼道 智慧生存的强者法则 走向卓越的成功之道 狼道,是追求卓越的野心&am…

科普馆VR技术展现安全场景,构建安全教育新标杆!

随着VR技术的快速发展,其所衍生出的互动装置,悄无声息地渗透进了我们生活的每个角落,就连那严谨而重要的安全教育领域,也没能逃出这神奇魔法的“魔爪”,这种VR互动设备简直就是安全知识传递的小能手,那么&a…

客户端动态降级系统

本文字数:4576字 预计阅读时间:20分钟 01 背景 无论是iOS还是Android系统的设备,在线上运行时受硬件、网络环境、代码质量等多方面因素影响,可能会导致性能问题,这一类问题有些在开发阶段是发现不了的。如何在线上始终…