1.Gumbel-Softmax的MindSpore实现
2.KDD 2021 | 多维时间序列无监督异常检测方法
3.如何生成「好」的图?面向图生成的深度生成模型系统综述|TPAMI2022
4.Stable Diffusion详解与模型源码
5.如何在WebUI中生成接近NovelAI官网的效果并进行相似度测试
Gumbel-Softmax的MindSpore实现
在一段时间的间隔后,我将注意力转向了MindSpore的相关内容。起因是一位同学询问关于模型迁移的问题,目标是诺亚的一篇ICML论文《SparseBERT: Rethinking the Importance Analysis in Self-attention》中使用了Pytorch特有的Gumbel-Softmax实现,但该实现难以直接移植到MindSpore。因此,网络源码资源我针对这个问题进行了深入研究,并撰写了一篇关于如何在MindSpore中实现Gumbel-Softmax的文章。
Gumbel-Softmax是一种离散采样的可微近似方法,常用于生成模型中,如GAN和VAE,它解决了离散分布采样不可微的问题。具体来说,它通过Gumbel-Max trick和softmax函数构建了一个连续分布,近似离散类别分布,允许反向传播。Gumbel分布通过从均匀分布中随机抽取并计算得出,而Softmax则用于近似argmax操作。
在MindSpore的实现中,我参考了Pytorch的源码和Tensorflow的手写实现,对三个关键点进行了适配,并通过单元测试验证了正确性。测试包括输出的one-hot特性、采样值分布以及与softmax概率的一致性。最终,我用MindSpore实现的Gumbel-Softmax应用于VAE实验,结果与Pytorch版本的Loss下降趋势基本一致,展示了其在实际应用中的可行性。
尽管这篇文章拖延了很长时间,但为了满足对Gumbel-Softmax需求的开发者,我会将其添加到MindSpore的主要仓库中,供更多人使用和开发。如果你对这个功能感兴趣,可以下载代码进行训练对比,或尝试将其应用到其他GAN网络中。
KDD | 多维时间序列无监督异常检测方法
来自: KDD | 多维时间序列无监督异常检测方法
在多维时间序列异常检测领域,题库源码协议一项关键任务是对实体各种状态进行监控。面对缺乏足够标签的工业场景,无监督异常检测成为重要课题。来自清华大学的研究者在KDD 会议上提出了一种无监督方法(InterFusion),旨在同时考虑多维时间序列不同指标间的依赖性和时间顺序上的依赖性。通过变分自编码机(VAE)建模正态模式,并结合马尔科夫链蒙特卡洛(MCMC)方法解释多维时间序列的异常结果。实验在四个工业领域真实数据集上进行,验证了算法效果。
论文地址:dl.acm.org/doi/....
论文源码:github.com/zhhlee/Inter...
会议介绍:ACM SIGKDD(知识发现与数据挖掘会议)是数据挖掘领域的顶级国际会议,由ACM数据挖掘及知识发现专委会组织。自年起,KDD大会连续举办二十余届全球峰会,以严格的论文接收标准闻名,接收率通常不超过%,备受行业关注。
今年KDD论文接收结果显示,篇投稿中,篇被接收,接收率为.%,与去年相比略有下降。
核心贡献:
算法模型:InterFusion采用层级变分自编码机(HVAE)联合训练指标间和时间参数,提出双视图嵌入方法,表达指标间和时间依赖特征。预过滤策略增强模型鲁棒性,避免异常模式干扰。
模型训练与推断:通过减少真实数据与重构数据差异实现VAE训练目标。使用MCMC插补算法解释异常检测结果。
解释方法:为检测到的异常实体找到一组最异常指标,通过MCMC插补获得合理潜在嵌入和重建,判断异常维度。
实验与评价:基于四个真实场景数据集进行实验,采用F1-score评估异常检测准确性,提出解释分数(IPS)度量异常解释准确性。
推荐文章:
ShapeNet:一款时序分类最新神经网络框架
导师说:文献神器推荐,spdif音频源码高效整理阅读脉络
哈工大教授:文献阅读策略,把握重点与适度
深度盘点:机器学习与深度学习面试知识点汇总
图形学大牛陈宝权弟子作品,ACM CHI最佳论文荣誉提名
深度Mind强化学习智能体,提高数据效率
微软亚洲研究院论文精选,Transformer、知识图谱等热点话题
谷歌发布Translatotron 2,语音到语音直接翻译神经模型
OpenAI十亿美元卖身微软后,通用人工智能前景分析
谷歌学术刊物指标发布
HaloNet:自注意力方式的卷积新作
如何生成「好」的图?面向图生成的深度生成模型系统综述|TPAMI
来源:专知
图作为描述对象及其关系的重要数据表示形式,在现实世界的各种场景中普遍存在。图生成作为该领域的关键问题之一,主要研究如何学习给定图的分布并生成新的图。由于图在众多领域的广泛应用,传统的图生成模型往往是手工制作的,只能对图的一些统计属性进行建模。
近年来,在图生成的深度生成模型领域取得了显著进展,这对于提高生成图的保真度具有重要意义,并为新类型的应用奠定了基础。本文对图生成的深度生成模型领域进行了全面概述,包括形式化定义、模型分类、评估指标以及应用方向等。
图在现实世界中无处不在,如社会网络、引文网络、生物网络和交通网络等。这些图通常具有复杂的结构,包含丰富的底层值。针对图生成问题,人们已进行了大量研究,可分为两类:一是预测和分析给定图的模式,二是学习给定图的分布,生成更多新颖的图。其中,第二类问题与本文关注的hive源码大师图生成问题密切相关。
图生成包括建模和生成真实世界图的过程,广泛应用于理解社交网络交互动态、异常检测、蛋白质结构建模、源代码生成和翻译、语义解析等领域。由于图的生成模型具有丰富的应用背景,其发展历程也相当悠久,产生了许多著名的模型,如随机图、小世界模型、随机块模型和贝叶斯网络模型等。然而,这些传统模型通常对复杂依赖的建模能力有限,只能对图的一些统计属性进行建模。
为了克服传统图生成技术的局限性,一个关键挑战是开发可以从观察到的图集合中直接学习生成模型的方法。深度生成模型,如变分自编码器(VAE)和生成对抗网络(GAN),在图生成领域取得了显著进展,为生成图的保真度提升和新应用探索提供了有力支持。
本文对图生成的深度生成模型进行了系统综述,包括不同模型分类、优缺点分析、评估指标以及应用方向等。通过本文的综述,可以帮助跨学科研究者选择合适的技术解决其应用领域的问题,同时帮助图生成研究者理解图生成的基本原理,并识别深度图生成领域的开放研究机会。
本文提出了用于图生成的深度生成模型分类法,按问题设置和方法进行分类。介绍了不同子类别之间的优缺点和关系,对用于图生成的深度生成模型以及基础的深度生成模型进行了详细的描述、分析和比较。
无条件深度图生成和条件深度图生成是同名查询源码本文重点讨论的两个方面。无条件深度图生成旨在从真实分布中抽样生成图,而条件深度图生成则根据辅助信息生成图。本文对这两种生成模型进行了详细阐述,包括生成过程、优缺点以及适用场景等。
Stable Diffusion详解与模型源码
Stable Diffusion,由CompVis、Stability AI和LAION共同推出,是一种在任何文本输入下生成逼真图像的潜在扩散模型(Latent Diffusion Model)。其创新之处在于通过在较低维度的latent空间上应用扩散过程,而不是直接使用像素空间,以降低内存和计算复杂度。该模型使用LAION-5B数据集中的高清进行训练,尺寸为x,结合冻结的CLIP ViT-L/文本编码器进行条件设置。Stable Diffusion的轻量级设计,使其具备在多台消费级GPU上运行的能力,模型参数包括M UNet和M文本编码器。
Stable Diffusion的推理过程简洁高效。以输入“a photograph of an astronaut riding a horse”为例,模型会生成相应的。其推理流程如图所示。Stable Diffusion具有两个输出。首先,U-Net在文本嵌入指引下,通过多次迭代(通常为次)去除latent image representation的噪音。调度器算法,如Denoising Diffusion Probabilistic Models(DDPM)或Denoising Diffusion Implicit Models(DDIM)等,基于上一次预测的latent image representation与噪音残差,预测新的去噪后的latent image representation。
最终,去噪后的latent image representation通过Variational Autoencoder(VAE)的解码器转换回与用户提示相匹配的图像。VAE模型由编码器和解码器组成,编码器将图像转换为低维潜在表示,解码器则将潜在表示转换回图像。在潜扩散训练过程中,编码器得到图像的潜在表示,用于前向扩散过程,每一步增加噪声。在推理过程中,反向扩散过程产生的去噪后的潜在波通过VAE解码器转换为图像。
Stable Diffusion的文本编码器负责将输入提示转换为U-Net可以理解的嵌入空间。它通常是一个基于转换器的编码器,将一系列输入标记映射为潜在文本嵌入。在训练期间,稳定扩散不训练文本编码器,而是使用CLIP已经训练的文本编码器CLIPTextModel。
AutoencoderKL的模型结构包括编码器和解码器,编码器将图像转换为低维潜在表示,用于前向扩散过程。解码器则将潜在表示转换回图像。在潜扩散训练中,编码器得到图像的潜在表示,用于生成过程。在推理阶段,反向扩散过程产生的去噪后的潜在波通过解码器转换为与用户提示相匹配的图像。
参考文献
如何在WebUI中生成接近NovelAI官网的效果并进行相似度测试
本次要为大家带来的是如何在WebUI中生成接近NovelAI官网的效果并进行相似度测试,一起来看看吧。(本文转载自B站用户:九姨啊啊啊啊啊)
写在前面:
1.接近,接近,接近,目前来说只能做到无限接近官网,但做到一模一样仍然不行。
2.目前大家仍然在不断的研究,不代表以后不会出现新的设置。
3.这个只是想要给生成接近NovelAI官网的效果的人这样设置的,并不是说不这样设置就是不好的,本人鼓励大家可以自己挖掘更好玩更适合你自己的参数设置。
(注意:以下内容确保你使用的模型包为animefull-final-pruned,模型hash是e9)
正片开始:你需要调试的设置↓
通过执行以下操作,可以创建与NovelAI 当前订阅服务默认的相同的输出:
如果你要模仿官网的k_euler采样器的生成效果
- 将采样器设置为Euler
- Step设置为
- CFG Scale设置为
(注意,以上Step与CFG的数值为官网默认数值,用人话讲就是你第一次进这个网站的数值就是这两个。不代表你不能调整,因为官网这个也是能自己调的,比如你官网里CFG拉到,你在WebUI中也一样拉到就是了)↑
- 在所有正面提示词在开头都加上masterpiece, best quality(对应官网的Add Quality Tags开关)
官网勾上这个就是自动帮你加上那两个词
- 在所有负面提示词在开头都加上nsfw, lowres, bad anatomy, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts, signature, watermark, username, blurry(对应官网的Low Quality + Bad Anatomy选项)
官网勾上这个就是自动帮你加上面那堆
- 在 Settings 选项卡中,将Stop At last layers of CLlP model更改为2并记得保存设置
-如果你要模仿官网的k_euler_ancestral采样器的生成效果,除了上述默认设置外,还必须执行以下操作:
- 在Settings 选项卡中将“Eta noise seed delta”设置为
- 将采样器设置为Euler_A
(注意:如果你在之前看别的教程将eta (noise multiplier) for ancestral samplers设置成0.,0.之类的,需要拉回默认的1)
需要设置成1
(关键点补充:关于NovelAI官网与WebUI各自权重表达不同的问题)
非常感谢@zvvvjzj 用户与我讨论了这个问题,是关于提示词权重的
首先我们要知道NovelAI官网使用的加重权重用的是 { },削减用的是[ ],{ }具体表示提升1.倍权重,[ ]则是降低1.倍。
但是在WebUI中,我们不使用{ },而是使用( ),且我们的( )提升的权重为1.1倍。
所以你直接把别人带{ }的TAG直接copy进WebUI,他会无事发生,因为WebUI用的是( )
而且两家的权重数值也不一样,一个是1.一个是1.1,所以你直接换括号形式也是不行的,不过别急,我们可以在括号里打上你具体想增加的权重值。
具体的转化操作是:
{ masterpiece}=(masterpiece:1.)
{ { masterpiece}}=(masterpiece:1.)怎么算的?(1. = 1*1.*1.)
[masterpiece]=(masterpiece:0.)怎么算的?(0. = 1/1.)
[[masterpiece]]=(masterpiece:0.)怎么算的?(0. = 1/1./1.)
以此类推。
(@zvvvjzj 用户还提出了他的一个想法,那就是直接通过修改WebUI的代码直接改成对应的{ }与1.,不过我的想法是,如果需要做到改代码来强行做到匹配,那不如直接用Naifu还更加方便。)
所以如果发现设置完后仍然出现差距较大的情况,请考虑是否没有进行对应的权重转化。
测试环节(测试你们是否正确设置或发现错误):
welcome to the "hello world" test for webui, or as i like to call it, "hello asuka", euler edition. this is meant to verify that you have everything installed and configured properly. below are outputs caused by common mistakes. remember, this is only a starting point if you wish to imitate the original site. experimentation is encouraged!
credit to AIAMIAUTHOR at /AUTOMATIC/stable-diffusion-webui/discussions/ for their thorough documentation of the settings with proof.
一、Euler采样器篇
这是一张用NovelAI官网生成的图,以此来进行相似度测试
你在WebUI中需要的设置:
正面提示词:masterpiece, best quality, masterpiece, asuka langley sitting cross legged on a chair
负面提示词:lowres, bad anatomy, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts,signature, watermark, username, blurry, artist name
Steps: , Sampler: Euler, CFG scale: , Seed: , Size: x, Model hash: e9, Clip skip: 2
(Tips1:有人看到上面的CFG scale是会疑惑,正如我上面所说,只是官网进去的时候默认的数值,而上面用官网跑的图也是作者自己设置成罢了,WebUI跟着就行)
(Tips2:这里没有将“Eta noise seed delta”设置为,是因为如果模仿k_euler的采样器效果是不需要设置的)
然后你就可以开始跑一张试试看了,下面是可能出现的问题
↑请注意,在左图中,她左腿上的红色和皮肤之间的分离变得更加清晰,或者右图中的毛巾略有不同。您是否使用 --medvram、--lowvram 或 ----no-half 选项启动 webui?如果是这样,那么您就可以了,这些选项由于其工作方式而导致输出发生非常轻微的变化是正常的。这种规模的变化对于使用 --xformers 的人来说也很常见。:)您可能会看到非常细微的变化,但它仍然应该是%相似,这完全没有问题。
↑vae权重未加载。确保vae文件名是否正确设置(模型名称.vae.pt)。
↑“CLlP”配置不正确。将Setting中的“Stop At last layers ofCLlPmodel”设置为2。
↑v2.pt 已安装并启用。取消选中“使用 v2.pt”(我裁了一下怕不过审orz)
↑没有用正确的采样器,请检查是否正确使用了Euler采样器(同样裁掉了可能影响审核的部分orz)
↑你激活了一个hypernetwork。请将“stable diffusion finetune hypernetwork”设置为“None”
↑使用了错误的模型,请检查你的模型是否为“animefull-final-pruned”版本
↑左上角是对的。如果您出现不同效果,请检查Step与CFG
↑原图是生成了三条腿,为了沈河裁掉了。请检查你是否在负面提示词中把“Negative prompt:”也一起加进去了
↑正面提示中没加上“masterpiece, best quality”。官网在“Add Quality Tags”中自动帮你添加这些,但webui用户必须手动添加。是的,这就是为什么测试提示里有两个“masterpiece”
↑你是cpu烤面包机兄弟吗?我不知道为什么,但是在cpu-only模式下运行 webui 会产生完全不同的结果。(就是说你可能用CPU跑了)
↑你用的是ti吗?我收到了一些 ti 用户的报告,尽管他们反复检查了他们的设置,但他们的asukas始终失败。我尽我所能确认他们的配置没有问题,所以在我看到其他证据之前,这可能最终成为一个边缘案例。:(
↑如果你得到的东西与目标图像不太相似,首先检查你的种子,然后处理其他设置。祝你好运!
二、Euler a采样器篇
这也是NovelAI官网生成的图,与上面不同的是使用的是k_euler_ancestral采样器
你在WebUI中需要的设置:
正面提示词:masterpiece portrait of smiling Asuka \(evangelion\), evangelion \(Hideaki\), caustics, textile shading, high resolution illustration, blue eyes, contempt, feminine, woman disdain, disgust, no pupils, hair over face,orange hair, long hair, red suit, ilya kuvshinov
负面提示词:nsfw, lowres, bad anatomy, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts, signature, watermark, username, blurry, headdress, loli,
Steps: , Sampler: Euler a, CFG scale: , Seed: , Size: x, Model hash: e9, Clip skip: 2, ENSD:
(Tips1:再提醒一遍现在是Euler a时间,跟上方的用的Euler不是同一种采样器)
(Tips2:所以你看到这里多了ENSD: ,说明这里需要将“Eta noise seed delta”设置为,因为我们现在要模仿官方k_euler_ancestral采样器效果)
然后你就可以开始跑一张试试看了,下面是可能出现的问题
↑她右肩的头发和头顶的**高光在两张照片中都略微偏离。您是否使用 --medvram、--lowvram 或 ----no-half 选项启动 webui?如果是这样,那么您就可以了,这些选项由于其工作方式而导致输出发生非常轻微的变化是正常的。这种规模的变化对于使用 --xformers 的人来说也很常见。:)您可能会看到非常细微的变化,但它仍然应该是%相似,这完全没有问题。
↑vae权重未加载。确保vae文件名是否正确设置(模型名称.vae.pt)。(这个发现有点困难,你会发现颜色饱和度不一样。)
↑你没未配置 ensd。将设置中的“Eta noise seed delta”设置为 。
↑“CLlP”配置不正确。将Setting中的“Stop At last layers ofCLlPmodel”设置为2。
↑v2.pt 已安装并启用。取消选中“使用 v2.pt”
↑括号没有转义。当您希望生成器按字面意思解释括号时,请记住转义(在前面添加反斜杠)括号,例如 danbooru 样式的“字符 \(series\)”标记。(这里涉及到源代码的使用,不深究,简单来说就是可能符号没打对)
↑用了错误的采样器。检查是否正确选择了采样方法“Euler a”
↑你激活了一个hypernetwork。请将“stable diffusion finetune hypernetwork”设置为“None”
↑使用了错误的模型,请检查你的模型是否为“animefull-final-pruned”版本
↑左上角是对的。如果您出现不同效果,请检查Step与CFG
↑请检查你是否在负面提示词中把“Negative prompt:”也一起加进去了
↑你是cpu烤面包机兄弟吗?我不知道为什么,但是在cpu-only模式下运行 webui 会产生完全不同的结果。(就是说你可能用CPU跑了)
↑你用的是ti吗?我收到了一些 ti 用户的报告,尽管他们反复检查了他们的设置,但他们的 asukas 始终失败。我尽我所能确认他们的配置没有问题,所以在我看到其他证据之前,这可能最终成为一个边缘案例。:(
↑如果你得到的东西与目标图像不太相似,首先检查你的种子,然后处理其他设置。祝你好运!
结束,附上各种原帖
/a/DCYJCSX
/a/s3llTE5
/AUTOMATIC/stable-diffusion-webui/discussions/
以上就是如何在WebUI中生成接近NovelAI官网的效果并进行相似度测试的全部内容了,希望对大家有帮助。更多攻略资讯关注游戏网。