脉冲扩散模型
论文 Spiking Diffusion Models 主要内容是提出了“脉冲扩散模型(Spiking Diffusion Models, SDMs)”,一种基于脉冲神经网络(SNN)的生成模型,旨在解决传统人工神经网络(ANN)在图像生成领域中的高能耗和计算强度问题。脉冲神经网络因其生物学上的合理性和低能耗特性而受到广泛关注。
对最先进的SNN模型进行比较。FID采用log2尺度,标记的大小对应于IS指标。与其他SNN生成模型相比,我们的模型在使用较少时间步长的情况下表现出更好的FID。
一、引言
本论文提出了一种名为“脉冲扩散模型(Spiking Diffusion Models, SDMs)”的新型生成模型。SDMs结合了脉冲神经网络(Spiking Neural Networks, SNNs)的低能耗特性与扩散模型(Diffusion Models)的强大生成能力,旨在解决传统人工神经网络(Artificial Neural Networks, ANNs)在图像生成任务中面临的高能耗和计算强度问题。脉冲神经网络因其生物学上的合理性和高效的能量利用率,近年来在神经计算领域受到广泛关注。然而,现有的SNN生成模型在图像质量和生成性能方面尚未达到ANN模型的水平。为此,本文提出了两项核心创新,以提升SNN在生成任务中的表现。
二、相关工作
2.1 脉冲神经网络(SNNs)
SNNs模拟生物神经元的脉冲传递机制,通过离散的脉冲(spikes)进行信息传递,具有低能耗和高效处理时序信息的优势。近年来,随着硬件技术的发展,SNNs在图像识别、目标检测等任务中取得了一定的成果。
2.2 扩散模型(Diffusion Models)
扩散模型是一类基于概率模型的生成方法,通过逐步去噪生成高质量的图像。近年来,扩散模型在图像生成任务中表现出色,成为GANs的有力竞争者。然而,扩散模型通常需要大量的计算资源,限制了其在低能耗设备上的应用。
2.3 SNN与扩散模型的结合
尽管SNN在能耗和时序信息处理上具有优势,但将其应用于生成任务尚处于起步阶段。现有工作主要集中在SNN与GANs的结合上,而将SNN应用于扩散模型的研究较为有限。因此,本文旨在填补这一研究空白,提出适用于扩散模型的SNN架构。
三、方法
3.1 SDMs的总体架构
SDMs结合了扩散模型的去噪过程与SNN的脉冲传递机制。具体来说,SDMs使用SNN-UNet作为去噪网络,通过脉冲神经元的时序活动来逐步生成图像。为了提升生成质量和能效,本文引入了两项关键机制:时间脉冲机制(Temporal-wise Spiking Mechanism, TSM)和阈值引导策略(Threshold Guidance, TG)。
我们脉冲扩散模型的概述。SDM的学习过程分为两个阶段:(1)训练阶段,和(2)微调阶段。在训练阶段,我们的脉冲UNet采用标准的前脉冲残差块(左下,见第IV-A节),然后在微调阶段将前脉冲块转换为TSM块(右下,见第IV-B节)。给定一个随机高斯噪声输入\(x_t\),它首先通过脉冲编码器转换为脉冲表示,然后与时间嵌入一起输入到脉冲UNet中。该网络仅传递由0/1向量(属于\(Z{0,1}\))表示的脉冲。最终,输出的脉冲通过解码器获得预测的噪声ϵ,并计算损失来更新网络。在微调阶段,我们加载训练阶段的权重,并用TSM块替换前脉冲块,此时时间参数p初始化为1.0。此阶段将继续优化网络参数,以获得更好的生成性能。
3.2 时间脉冲机制(TSM)
TSM模块旨在增强SNN在时间维度上的信息处理能力。传统SNN的脉冲传递通常依赖于固定的突触权重,限制了信息的动态传递。TSM通过动态调整神经元的膜电位,使得SNN-UNet能够在每个时间步捕捉更多的动态信息,从而提升生成图像的细节和质量。
时间脉冲机制概述。当脉冲神经元触发脉冲后,脉冲将在突触前被转换为输入电流\(I\)。为了获取更多动态信息,时间参数\(P\)将作用于电流,形成时间自适应电流\(Iˆ\)。
3.3 阈值引导策略(TG)
TG是一种无需额外训练的策略,通过在推理阶段微调神经元的阈值来优化生成过程。具体而言,TG通过调整脉冲神经元的激活阈值,可以在不增加训练成本的情况下,显著提升生成图像的质量。实验表明,适当的阈值调整能够有效降低生成图像的FID分数,同时提升IS分数。
四、实验
4.1 实验设置
-
数据集:MNIST、Fashion-MNIST、CIFAR-10、CelebA和LSUN-bed。
-
评价指标:FID(Frechet Inception Distance)和IS(Inception Score),以及能耗测量。
-
模型对比:与传统ANN扩散模型以及现有SNN生成模型进行对比,评估SDMs的生成性能和能耗优势。
-
不同数据集的结果。在所有数据集中,SDMs(我们的模型)在样本质量方面优于所有SNN基线模型,甚至超过了一些ANN模型,样本质量主要通过FID和IS进行评估。▽的结果来自文献[30],♮的结果来自文献[46]。ema表示使用了EMA [75]方法。为了公平比较,我们重新评估了DDPM [16]和DDIM [32]的结果,使用了与SDMs相同的UNet架构。∗表示仅对MNIST、Fashion-MNIST和CelebA使用FID评分,因为它们的数据分布与ImageNet差异较大,使得Inception Score无意义。排名前两位的结果分别用粗体和下划线表示。
4.2 无条件图像生成结果
在MNIST、Fashion-MNIST、CIFAR-10、CelebA和LSUN-bed数据集上,SDDMs通过直接训练方法展示了优异的生成能力。表中展示了不同时间步长下SDDPM的FID和IS分数,结果表明,随着时间步长的增加,生成质量提升明显。
使用ANN-SNN方法在CIFAR-10和FFHQ64上的无条件图像生成结果。
4.3 时间脉冲机制的有效性
通过对比使用和不使用TSM模块的CIFAR-10生成结果,实验结果(图5)显示,TSM模块显著提升了生成图像的质量,表现为图像轮廓更清晰、背景更明确、纹理细节更丰富。这证明了TSM在增强SNN动态信息处理能力方面的有效性。
4.4 阈值引导策略的有效性
表III展示了不同阈值引导下CIFAR-10的生成结果。通过轻微调整脉冲神经元的阈值,TG策略显著降低了FID分数并提升了IS分数,证明了TG在推理阶段优化生成质量的有效性。
4.5 TSM方法的分析
图6展示了各层时间脉冲机制参数p[t]的平均值,结果表明,随着时间步长的增加,p[t]呈上升趋势,表明后期时间步长在信息传递过程中具有更高的重要性。TSM通过动态调整这些参数,有效提升了SNN对时序动态的理解和生成图像的质量。
4.6 计算成本评估
表IV对比了SDDPM与其对应的ANN模型在FID分数和能耗上的表现。结果显示,SDDPM在保持竞争性FID分数的同时,能耗显著降低。例如,在时间步长为4时,SDDPM的能耗仅为ANN模型的37.5%,且FID分数仅略高于ANN模型,表明SDDPM在能效和生成性能之间实现了良好的平衡。
4.7 消融实验
-
表V:在CIFAR-10上,分别评估了TSM和TG对SDDIM的影响。结果表明,TSM和TG各自提升了生成质量,二者结合使用时,FID分数进一步显著下降,达到最佳效果。
-
表VI:评估了SDM在不同扩散求解器上的表现,结果显示SDDIM和Analytic-SDPM在不同时间步长下均表现出色,尤其是Analytic-SDPM在FID分数上达到了新的最优水平,证明了SDM在多种扩散求解器上的通用性和优越性。
相关信息
-
代码: https://github.com/andycao1125/sdm
-
论文: https://arxiv.org/abs/2408.16467v1
相关文章:

脉冲扩散模型
论文 Spiking Diffusion Models 主要内容是提出了“脉冲扩散模型(Spiking Diffusion Models, SDMs)”,一种基于脉冲神经网络(SNN)的生成模型,旨在解决传统人工神经网络(ANN)在图像生…...

blender分离含有多个动作的模型,并导出含有材质的fbx模型
问题背景 笔者是模型小白,需要将网络上下载的fbx模型中的动作,分离成单独的动作模型,经过3天摸爬滚打,先后使用了blender,3d max,unity,最终用blender完成,期间参考了众多网络上大佬…...

胤娲科技:AI大模型的隐秘战争——当“智能”成为双刃剑
当AI不再是单纯的助手 想象一下,你正在训练一个AI模型,希望它能成为你的得力助手,帮你解决各种复杂问题。然而,有一天,你突然发现,这个模型不仅没有如你所愿, 反而悄悄地在代码库中埋下了“炸弹…...

RK平台 GPIO序号转换软件
RK平台 GPIO序号转换软件 下载地址 https://download.csdn.net/download/ruidongren/89900151 链接: link...

UDP协议和TCP协议
UDP协议: 是一种无连接的、简单的传输层通信协议,它在IP协议(网络层)之上提供服务。 特点: 无连接:在数据传输前,发送方和接收方之间不需要建立连接,可以直接发送数据。 简单&…...

算法题总结(十三)—— 动态规划(上)
动态规划 动态规划理论基础 什么是动态规划 动态规划,英文:Dynamic Programming,简称DP,如果某一问题有很多重叠子问题,使用动态规划是最有效的。 所以动态规划中每一个状态一定是由上一个状态推导出来的ÿ…...

Leetcode - 周赛419
目录 一,3318. 计算子数组的 x-sum I 二,3319. 第 K 大的完美二叉子树的大小 三,3320. 统计能获胜的出招序列数 四,3321. 计算子数组的 x-sum II 一,3318. 计算子数组的 x-sum I 本题数据范围较小,可以…...

C# 的两个list怎么判断是否存在交集
要判断两个 List<string>(dateList 和 LocalDate)是否有交集,可以使用 LINQ(Language Integrated Query)来简化这个过程。以下三种方法来判断两个列表之间是否有交集。 方法 1: 使用 LINQ 的 Any 方法 using S…...

【Python】基础语法
1. 变量 1.1. 变量的创建 变量的定义规则: 变量只能由数字,字母,下划线构成,不能包含特殊符号数字不能作为变量开头变量名不能和 Python 的关键字重复Python 的变量是区分大小写的 除了上述的硬性规则外,还建议变量…...

scala 类的继承
继承的定义 idea实例 语法 重写 重写:在子类中重新定义父类的同名方法 idea实例 多态 多态:传入的对象不同,调用的方法的效果就不同! 原理:参数是父类类型 idea实例 构造器...

穷举vs暴搜vs深搜vs回溯vs剪枝(一)
文章目录 全排列子集找出所有子集的异或总和再求和全排列 II电话号码的字母组合 全排列 题目:全排列 思路 通过深度优先搜索的方式,不断枚举每个数在当前位置的可能性,然后回溯到上一个状态,直到枚举完所有可能性得到正确的结果 r…...

枚举的应用
1.枚举的语法特点 枚举是jdk1.5提供的一个特性 枚举是一个特殊的类,这个类的对象的数量是有限的。在定义枚举类的同时就已经确定了类对象及类对象的数量。 枚举使用enum关键字定义 class A{} enum A{} 在枚举类中的第一行,就需要提供枚举类的对象&a…...

读数据工程之道:设计和构建健壮的数据系统14源系统
1. 源系统中的数据生成 1.1. 数据工程师的工作是从源系统获取数据,对其进行处理,使其有助于为下游用例提供服务 1.2. 数据工程师的角色将在很大程度上转向理解数据源和目的地之间的相互作用 1.3. 数据工程的最基本的数据管道任务——将数据从A移动到B…...

基于SpringBoot+Vue的厨艺交流系统的设计与实现(源码+定制开发)厨艺知识与美食交流系统开发、在线厨艺分享与交流平台开发、智能厨艺交流与分享系统开发
博主介绍: ✌我是阿龙,一名专注于Java技术领域的程序员,全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师,我在计算机毕业设计开发方面积累了丰富的经验。同时,我也是掘金、华为云、阿里云、InfoQ等平台…...

STMicroelectronics 意法半导体芯片选型表
意法半导体作为全球知名的半导体厂商,其产品广泛应用于各个领域,从消费电子到工业控制,从汽车电子到通信设备,都能看到意法半导体芯片的身影。在电子硬件设计领域,芯片的选型至关重要。亿配芯城(ICgoodFind…...

TCP/IP 寻址
TCP/IP 寻址 概述 TCP/IP(传输控制协议/互联网协议)是一组用于数据网络的通信协议。它们定义了数据如何在网络上从一个设备传输到另一个设备。在TCP/IP网络中,每个设备都有一个唯一的地址,称为IP地址,用于标识网络上…...

深入探索 APKTool:Android 应用的反编译与重打包工具
文章目录 一、反编译 APK1.1 解压 APK1.2 DEX 文件转换1.3 资源解码 二、重新打包 APK2.1 资源重新编译2.2 smali 转换为 DEX2.3 打包 APK2.4 签名 APK 三、技术原理3.1 Smali/Baksmali3.1.1 DEX 文件格式3.1.2 Smali 语法3.1.2.1 指令3.1.2.2 寄存器3.1.2.3 操作码3.1.2.4 注释…...

软件测试与软件缺陷的基础知识
✨✨ 欢迎大家来访Srlua的博文(づ ̄3 ̄)づ╭❤~✨✨ 🌟🌟 欢迎各位亲爱的读者,感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢,在这里我会分享我的知识和经验。&am…...

【JPCS独立出版,EI检索稳定】第三届能源互联网及电力系统国际学术会议(ICEIPS 2024)
第三届能源互联网及电力系统国际学术会议(ICEIPS 2024) 2024 3rd International Conference on Energy Internet and Power Systems ICEIPS 2024已成功申请JPCS - Journal of Physics: Conference Series (ISSN:1742-6596) ICEIPS 2024独立出版&…...

ssm配置模式
新版 用Java类,全注解demo案例 1. AppConfig.java (Spring主配置类)package com.example.config;import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; import org.springframework.cont…...

[MySQL课后作业]人事管理系统的SQL实践
第一题 1.假设某商业集团中有若干公司,人事数据库中有3个基本表: 职工表:EMP(E#.ENAME,AGE, SEX, ECITY)。 其属性分别表示职工工号、姓名、年龄、性别和居住城市。 工作表:WORKS(E#,C#,SALARY)。其属性分别表示职工工号、所在公司的编号和工资。 公司表:COMP(C#,CA…...

【MySQL】增删改查-进阶(二)
目录 🌴新增 🎄查询 🚩聚合查询 🏀聚合函数 🏀group by子句 🏀HAVING 🚩联合查询 🏀内连接 🏀外连接 🏀自连接 🏀子查询 🏀…...

cefsharp79.1.360(Chromium 79.0.3945.130)支持H264视频播放-PDF预览 老版本回顾系列体验
一、关于此版本 版本:Cef 79.1.36/CefSharp 79.1.360/Chromium 79.0.3945.130/支持H264/支持PDF预览 支持PDF预览和H264推荐版本 63/79/84/88/100/111/125 运行环境需要 visual c++ 2015不支持xp/vista/2003/2008默认不支持h264(版权问题)支持打印预览 print preview已知问题…...

【Linux】main函数的参数列表从何而来?
Linux系统进程通过exec系列函数启动新程序时,argc整型 、 argv数组 和 环境变量表 environ 会作为 exec 系列函数的参数,显式传递给新程序的 main 函数。 main函数的参数列表 在C语言中,main函数的标准参数列表通常如下所示: in…...

缓冲区类QBuffer
1、QBuffer继承自QIODevice 2、是一种随机设备 3、和QFile类似, 4、有了 QBuffer,你可以把 QByteArray 当成文件一样来操作 其主要作用就是像QFile操作文件一样来操作一块QByteArray(内存区域),比如读和写 常用方…...

从一个事故中理解 Redis(几乎)所有知识点
作者:看破 一、简单回顾 事故回溯总结一句话: (1)因为大 KEY 调用量,随着白天自然流量趋势增长而增长,最终在业务高峰最高点期占满带宽使用 100%。   (2ÿ…...

MySQL程序介绍<二>
目录 mysqlcheck - 表维护程序 Mysqldump - 数据库备份程序 mysqladmin - MySQL 服务器管理程序 mysqlshow - 显⽰数据库、表和列信息 mysqldumpslow - 总结慢查询⽇志⽂件 编辑 mysqlbinlog - 处理⼆进制⽇志⽂件 mysqlslap - 负载仿真客⼾端 接着上篇继续介绍MySQL…...

Java项目实战II基于Spring Boot的毕业就业信息管理系统设计与实现(源码+数据库+文档)
目录 一、前言 二、技术介绍 三、系统实现 四、文档参考 五、核心代码 六、源码获取 全栈码农以及毕业设计实战开发,CSDN平台Java领域新星创作者,专注于大学生项目实战开发、讲解和毕业答疑辅导。获取源码联系方式请查看文末 一、前言 随着高校扩…...

LeetCode 1343.大小为K且平均值大于等于阈值的子数组数目
题目: 给你一个整数数组 arr 和两个整数 k 和 threshold 。 请你返回长度为 k 且平均值大于等于 threshold 的子数组数目。 思路:定长滑动窗口 入 更新 出 代码: class Solution {public int numOfSubarrays(int[] arr, int k, int t…...

【电商项目】1分布式基础篇
1 项目简介 1.2 项目架构图 1.2.1 项目微服务架构图 1.2.2 微服务划分图 2 分布式基础概念 3 Linux系统环境搭建 查看网络IP和网关 linux网络环境配置 补充P123(修改linux网络设置&开启root密码访问) 设置主机名和hosts映射 主机名解析过程分析&…...