扩散模型会成为深度学习的下一个前沿领域吗?

文章目录

  • 一、说明
  • 二、 第 1 部分:了解扩散模型
    • 2.1 什么是扩散模型
    • 2.2 正向扩散
    • 2.3 反向扩散
  • 三、他们的高成本
  • 四、扩散模型的用处
  • 五、为什么扩散模型如此出色
  • 六、第 2 部分:使用扩散模型生成
    • 6.1 用于自然语言处理和 LLM 的文本扩散
    • 6.2 音频+视频生成
    • 6.3 时态数据建模
  • 七、后记

关键词:Diffusion Models

一、说明

谷歌的 AlphaFold 3 因其彻底改变生物技术的潜力而受到广泛关注。与以前的方法相比,导致其性能提升的关键创新之一是它利用了扩散模型。AlphaFold 3 的功能来自其下一代架构和训练,现在涵盖了所有生命分子。该模型的核心是我们的 Evoformer 模块的改进版本——一种深度学习架构,支撑了 AlphaFold 2 令人难以置信的性能。在处理输入后,AlphaFold 3 使用扩散网络组装其预测,类似于 AI 图像生成器中的预测。扩散过程从一团原子开始,经过许多步骤,汇聚到其最终的、最准确的分子结构上。

AlphaFold 3 对分子相互作用的预测超过了所有现有系统的准确性。作为一个以整体方式计算整个分子复合物的单一模型,它能够独特地统一科学见解。

在我们等待最终出版物的同时,我认为这将是研究扩散模型以及它们如何在几个不同领域突破界限的好时机。

本文主要分为两个“部分”。第一部分介绍了 Diffusion 的背景——

什么是机器学习中的扩散模型:扩散模型是生成模型(它们生成的数据与训练的数据相似)。 扩散模型遵循 2 个简单的步骤。首先,我们通过增量添加高斯噪声来破坏训练数据。训练包括通过逆转这个嘈杂的过程来恢复数据。一个训练有素的扩散模型可以从随机噪声池中创建我们想要的任何东西。用嵌入空间代替噪音,你可能会明白我们为什么在这里做饭。

在这里插入图片描述

  • DM的优点: 扩散模型具有 3 个主要优势,使其成为基于生成的任务的有力竞争者 - 高质量生成:扩散模型生成的数据具有卓越的质量和真实性,在许多任务中超越了以前的生成模型;多面性:它们适用于广泛的数据模态,包括图像、音频、分子等;和可控性:扩散模型提供对生成过程的一定程度的控制,允许用户根据特定要求或条件指导输出。
  • 扩散模型的缺点- 从他们的设计中可以明显看出,DM 非常昂贵。有研究可以降低他们的成本,但这仍然是DM的痛点。
  • 为什么扩散模型效果很好(我的推测)- 就其本质而言,扩散模型经过训练,可以在每个推理步骤中全面查看数据点。与 GAN 等生成器相比,Diffusion 可以分多个步骤创建输出,从而为我们提供更精细的控制(想想一次性完成任何复杂的事情是多么困难)。与自动回归(由 ChatGPT 等 LLM 使用)相比,DM 具有更大的灵活性。最后,噪声和去噪过程起着与强数据增强类似的作用,其中模型被迫为特征建立更深层次的关系。我们还可以很好地将扩散模型与其他模型链接起来,从而产生非常酷的应用程序
    在这里插入图片描述
    第 2 部分介绍了多个领域的扩散模型,以展示扩散模型的通用性。这些包括-

图像生成和处理: 这就是他们出名的原因。扩散模型在与图像相关的任务中表现出色,因为它们能够学习自然图像的复杂分布。通过逐渐去噪随机噪声,它们生成的图像具有出色的保真度和多样性,使其成为创意应用和图像恢复任务的理想选择。还有一些非常令人兴奋的研究使用扩散模型来重建医学图像。我们将涵盖所有这些内容。
音频生成和处理: 扩散模型的顺序特性使其非常适合音频生成和处理。它们可以捕获音频数据中的时间依赖关系,从而实现逼真的高质量音频合成和增强。我们也可以将两者结合起来做视频生成。
分子设计和药物发现: 扩散模型通过轻松驾驭广阔的化学空间,为分子设计提供了一种新颖的方法。他们可以学习分子结构中的潜在模式,从而能够生成具有所需特性的分子,用于制药和材料科学应用。
语言模型: 我创作这篇文章的灵感之一,Diffusion 在 NLP 和文本生成方面显示出一些前景。文本扩散可能是 LLM 的下一个前沿领域,至少对于特定类型的任务而言是这样。我们将在本文后面讨论基于自回归与扩散的文本生成的细节。
时态数据建模:扩散模型擅长处理时间序列等顺序数据。它们可以填补缺失的数据点(插补)、预测未来值(预测)并生成逼真的音频波形(波形信号处理)。
稳健的学习:扩散模型有助于构建更强大的人工智能系统。它们可以“净化”被对抗性攻击破坏的图像,消除恶意噪音并恢复原始图像。这有助于使 AI 模型更能抵御操纵。
本文的其余部分将更详细地探讨这些想法。当我们深入研究这些想法(尤其是第 2 部分)时,我觉得有必要强调一点。我的文章没有声称学术上受人尊敬或中立。像 Diffusion 这样的技术有大量的用法和相关论文可供参考。本文不是对该技术的全面概述。我与几位专家进行了交谈,查看了不同的出版物,选择了我认为最有趣/最有用的出版物,并根据它们进行写作/实验。 我错过或选择跳过了很多用例/出版物。进行研究以评估其对您的特定用例的效用。这篇文章(我的所有作品)旨在作为你自己探索这个主题的基础,而不是你问题的最终答案。
在这里插入图片描述
扩散比很多人意识到的要深得多。

7BBV — 酶:AlphaFold 3 对具有酶蛋白(蓝色)、离子(黄色球体)和单糖(黄色)以及真实结构(灰色)的分子复合物的预测。这种酶存在于土壤传播的真菌(黄萎病菌)中,这种真菌会损害多种植物。深入了解这种酶如何与植物细胞相互作用可以帮助研究人员开发更健康、更有弹性的作物。

二、 第 1 部分:了解扩散模型

如果您了解扩散模型,请跳过此部分(或向下滚动到相关小节)

2.1 什么是扩散模型

正如我们所讨论的,扩散模型基于噪声和去噪输入。虽然细节各不相同,但我们可以将基于扩散的生成归结为两个步骤——

2.2 正向扩散

我们获取数据样本,如图像,并在每一步迭代添加少量高斯噪声。这会慢慢破坏图像,直到它变成无法识别的噪点。该模型学习每一步添加的噪声模式。这对于反向过程至关重要。

在这里插入图片描述

2.3 反向扩散

我们从步骤 1 中的纯噪声开始作为输入。该模型预测前向过程中每一步添加的噪声并将其消除。这会逐渐对输入进行降噪,逐渐将其转换为有意义的数据样本。
在这里插入图片描述
冒着过于简单化的风险,我们将从这里开始。Diffusion 有很多重要的数学细节隐藏在细节中,但我认为讨论如何/为什么使用 Diffusion 来解决各种挑战更为重要。我也没有任何有见地的评论可以添加到数学/推导中。如果您对此感兴趣,请参阅 Weng 的上述文章或查看 Assembly AI 的这篇文章。
在这里插入图片描述

训练扩散模型以对 2D 瑞士轧辊数据进行建模的示例。(图片来源:Sohl-Dickstein et al., 2015)

现在,我们进入下一节。当存在其他技术时,为什么要使用扩散模型(正如您可能想象的那样,它们可能非常昂贵)?有两种方法可以回答这个问题。首先,我们将讨论为什么 DM 是好的。然后,我将推测为什么扩散比技术更有优势。

三、他们的高成本

生成过程的迭代性质涉及许多去噪步骤,需要大量的计算能力和时间,尤其是对于高分辨率数据。这使得它们对于实时应用程序或资源受限的环境不太实用,并且是一个巨大的障碍。

​为了提高DM的效率,研究人员正在探索几种途径。优化的采样技术旨在减少去噪步骤的数量,同时保持样品质量。这包括采用更智能的离散化方案,开发专为扩散量身定制的常微分方程/SDE 求解器,以及利用知识蒸馏来训练更快的采样器。

此外,探索潜在空间扩散可以通过在数据的低维表示中执行扩散过程来显着减轻计算负担。
在这里插入图片描述
最后,将 DM 与其他技术(如压缩和其他生成器)相结合以提高效率总是好的。

四、扩散模型的用处

从本质上讲,整个扩散过程为我们提供了三个优势

高品质一代:扩散模型生成的数据具有卓越的质量和真实性,在许多任务中通常超过以前的生成模型。这源于他们通过迭代去噪过程以精细方式学习底层数据分布的能力。从纯噪声到连贯数据样本的缓慢而稳定的细化产生了高度逼真的输出。
在这里插入图片描述

  • 多面性:扩散模型非常灵活,可以应用于各种数据模式,包括图像、音频、分子等。这种多功能性来自模型处理噪声的核心机制,这一概念可以应用于任何以数字方式表示的数据类型。无论是图像中的像素、声波中的振幅还是分子中的原子,扩散模型都可以学习生成和操纵它们。扩散也可以塑造成不同的用例。
  • 分步控制:扩散模型中的分步生成过程使用户能够更好地控制最终输出。与一次性产生输出的传统生成模型不同,扩散模型将生成的数据从噪声逐步细化为最终样本。这为我们提供了更大的透明度,并能够跳到中间,在新的方向上进行实验。
    好的,但为什么 DM 能像它们一样好用呢?我找不到任何具体的理论解释,所以让我们做一些理论制作。

五、为什么扩散模型如此出色

以复杂的生成任务为例,例如撰写本文。像 GAN 这样的传统生成器一次性生成所有内容。随着复杂性的增加,这变得非常困难。想想看,在画布上扔一次颜料来画一个详细的场景是多么困难。这基本上就是GAN的作用。如果你读过 JJK(你绝对应该),这与 Sukuna’s Domain 的整个“给别人水而不给他们瓶子”的解释非常相似。
这就是为什么现代文本生成器基于自动回归的原因。AR 的扩展性要好得多,这使我们的模型能够处理更复杂的任务。由于 AR 是一步一步来的,你也有能力中途停止生成或将其带入一个新的方向。这是自回归相对于传统生成器的两个优势。然而,AR模型可能会迷失在他们的酱汁中(我相信我们都有过这样的经历)。回到我们的文章示例 - 如果不非常清楚地了解您想要做什么,就很难仅使用自动完成来写出好文章。纯 AR 也会迅速退化,我们无法返回并编辑以前生成的组件(如果我逐字逐句地写一篇文章,那么我无法回到之前的段落进行重组)。

扩散具有与 AR 相同的分步优势,但有所不同。由于我们在每个时间步都对整个输入进行降噪/输入,因此 Diffusion 使我们能够更加符合上下文。这是最接近我的写作方式。我通常对我想涵盖的内容有一个模糊的想法,随着我写得更多,这个想法会越来越完善。在每一步中,我都可能会返回并修复一个更早的组件。这使得最终结果更具凝聚力。

抛开所有这些背景,让我们终于开始研究扩散模型在各种情况下的使用。

这种方法使我们能够快速学习、采样和评估具有数千层或时间步长的深度生成模型中的概率,以及在学习模型下计算条件和后验概率。

  • 使用非平衡热力学的深度无监督学习。 有趣的事实 - 物理学是扩散模型的灵感来源。 不要只研究人工智能/技术论文。 拳击你的知识只会伤害你。

六、第 2 部分:使用扩散模型生成

视觉相关任务
注意:我将在特定的图像生成/视频中省略很多细节。视觉扩散是一个巨大的领域,我将把它们分组到一般家庭中。自己看看 deets。

SDEdit 不需要针对特定任务的训练或反转,可以自然地实现真实感和忠实度之间的平衡。SDEdit 在真实度方面明显优于最先进的基于 GAN 的方法,在真实度方面高达 98.09%,在总体满意度得分方面高达 91.72%

-SDEdit:使用随机微分方程进行引导式图像合成和编辑

扩散模型显示出惊人的原始生成能力——
在这里插入图片描述
与以前的SOTA模型相比,RPG [318]在生成的图像中表现出更出色的表达复杂和组合文本提示的能力(彩色文本表示关键部分)。

但他们可以超越这一点来帮助完成以下任务——

  • 超分辨率:提高低分辨率图像的分辨率以创建更高分辨率的版本。SR3 和 CDM 等扩散模型通过迭代去噪逐渐细化图像,从而实现高质量的放大。我们之前分享了一个例子(戴帽子的猪)。
  • 编辑:扩散不仅可以用于填充图像的缺失或损坏部分。它可用于在特定部分中填写全新的部分。
    在这里插入图片描述
    来自 GLIDE 的文本条件图像修复示例。绿色区域将被擦除,模型会根据给定的提示填充它。我们的模型能够匹配周围环境的风格和照明,以产生逼真的完成。

生成式预训练:基于扩散的模型可能非常适合相关的视觉模型。
点云完成和生成:点云是对象的 3D 表示。扩散模型有助于生成和完成。“Luo et al. 2021 [173] 采取了将点云视为热力学系统中的粒子的方法,使用热浴来促进从原始分布扩散到噪声分布。同时,点体素扩散(PVD)模型[346]将去噪扩散模型与3D形状的点体素表示相结合。点扩散-细化(PDR)模型[178]使用条件DDPM从部分观测值生成粗略完成;它还在生成的点云和地面实况之间建立了逐点映射。
医学影像重建- 医学图像的获取成本很高。它们更难注释,因为只有专业人士才能做到这一点。(尽管你很爱我,但你可能不希望我看你的X光片来告诉你你的骨骼是否状况良好)。DM在重建医学图像方面显示出巨大的前景。
稳健的学习: 扩散模型可用于通过添加噪声和重建干净版本来净化对抗性示例,从而减轻对抗性扰动的影响。 我们还可以基于扩散的预处理步骤来增强模型对对抗性攻击的鲁棒性。
在这里插入图片描述
异常检测: 扩散模型可用于识别图像中不寻常或意外的模式。“这些方法可能比基于对抗性训练的替代方案表现更好,因为它们可以通过有效的采样和稳定的训练方案更好地对较小的数据集进行建模。
在这里插入图片描述

6.1 用于自然语言处理和 LLM 的文本扩散

我一直在为一些客户研究很多大型上下文长度的 RAG,这时我遇到了“文本扩散模型的迁移学习”。本报告希望“看看是否可以通过我们称之为’AR2Diff’'的轻量级适应程序将预训练的AR模型转换为文本扩散模型”。
在这里插入图片描述
我们的 AR2Diff 方法的图示。1)使用因果注意预训练AR解码器。2) 继续预训练作为具有双向注意力的扩散模型。3)在最终任务上微调为扩散模型

虽然文本扩散在机器翻译中落后,但它在代码合成和问答方面显示出前景,甚至优于自回归模型。这些发现表明,对于长文本来说,文本扩散速度更快,值得进一步探索。
在这里插入图片描述
各种模型在三个任务和三种大小中的性能,比较:(i) AR 基线,(ii) 扩散基线,以及 (iii) AR2Diff 模型,这些模型通过扩散训练调整预训练 AR 基线 N 步,然后使用扩散进行微调,N ∈ {0, 10K, 100K}。

Microsoft的GENIE在论文“Text generation with diffusion language models: a pre-training approach with continuous paragraph denoise”中介绍,是另一个有趣的LLM扩散示例。

GENIE是一个大规模的预训练扩散语言模型,由编码器和基于扩散的解码器组成,可以通过将随机噪声序列逐渐转换为连贯的文本序列来生成文本。…我们的实验结果表明,GENIE在这些基准测试上实现了与最先进的自回归模型相当的性能,并生成了更多样化的文本样本。

我不知道是不是只有我一个人,但 Text Diffusion 似乎充当了基于黑白编码器和解码器的桥接 LM。这就是为什么我对他们的潜力感到特别兴奋。

6.2 音频+视频生成

许多高质量的音频和视频发生器也依赖于扩散模型。DM在文本音频生成方面掀起了波澜:“Grad-TTS [215]提出了一种新颖的文本到语音模型,具有基于分数的解码器和扩散模型。它逐渐变换编码器预测的噪声,并通过单调对齐搜索方法进一步与文本输入对齐[219]。Grad-TTS2 [136] 以自适应方式改进了 Grad-TTS。Diffsound [310] 提出了一种基于离散扩散模型 [6, 254] 的非自回归解码器,该解码器预测每个步骤中的所有 mel-spectrogram 标记,然后在以下步骤中细化预测标记。EdiTTS [267] 利用基于分数的文本转语音模型来完善经过粗略修改的 mel-spectrogram 先验。ProDiff[109]没有估计数据密度的梯度,而是通过直接预测干净的数据来参数化去噪扩散模型。

基于 DM 的视频编辑器也很受欢迎,像 Imagen 这样的大牌非常有名。

6.3 时态数据建模

时间序列插补:对于基于时间序列的数据来说,丢失数据可能是一个巨大的威胁。考虑到他们的训练方式,DM 可以处理 TS 的数据插补也就不足为奇了。CSDI公司 利用基于分数的扩散模型,以自我监督的方式进行训练,以捕获时间相关性,以实现有效的时间序列插补。“与现有的基于分数的方法不同,条件扩散模型是针对插补进行明确训练的,可以利用观测值之间的相关性。 在医疗保健和环境数据方面,CSDI 在流行绩效指标上比现有的概率插补方法提高了 40-65%。此外,与最先进的确定性插补方法相比,CSDI的确定性插补可将误差降低5-20%。此外,CSDI还可以应用于时间序列插值和概率预测,并且与现有基线相比具有竞争力。
在这里插入图片描述

时间序列预测:预测时间序列中的未来值,这对于各种预测任务很重要。以 TimeGrad 为例,这是一种自回归模型,它采用扩散概率模型来估计数据分布的梯度。作者表明,这种方法“是一种新的最先进的多变量概率预测方法,适用于具有数千个相关维度的真实世界数据集。

在这里插入图片描述

六个真实世界数据集上模型的测试集 CRPSsum 比较(越低越好)。通过重新训练和评估 10 次获得的 TimeGrad 的平均和标准误差指标。

如您所见,扩散模型不仅仅是简单的图像生成器。它们在材料设计和药物发现方面也有其他用途,但我将在专门针对这些主题的特别文章中介绍它们(我们有专门介绍用于药物发现、芯片设计、材料开发等的人工智能的文章正在开发中)。如果你想让我把它们中的任何一个推到上面,给我发个信息。否则——放轻松,继续工作,我很快就会抓住你们。和平。

七、后记

如果您喜欢这篇文章并希望分享它,请参阅以下指南。
这件作品就是这样。感谢您抽出宝贵时间。与往常一样,如果您有兴趣与我合作或查看我的其他作品,我的链接将位于此电子邮件/帖子的末尾。如果你在这篇文章中发现了价值,我将不胜感激你与更多的人分享。正是像您这样的口碑推荐帮助我成长。

在这里插入图片描述

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

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

相关文章

下载安装Thonny并烧录MicroPython固件至ESP32

Thonny介绍 一、Thonny的基本特点 面向初学者:Thonny的设计初衷是为了帮助Python初学者更轻松、更快速地入门编程。它提供了直观易懂的用户界面和丰富的功能,降低了编程的门槛。轻量级:作为一款轻量级的IDE,Thonny不会占用过多的…

RDK X3(aarch64) 测试激光雷达思岚A1

0. 环境 - 亚博智能的ROSMASTER-X3 - RDK X3 1.0 0.1 资料 文档资料 https://www.slamtec.com/cn/Support#rplidar-a-series SDK https://github.com/slamtec/rplidar_sdk ROS https://github.com/slamtec/rplidar_ros https://github.com/Slamtec/sllidar_ros2 1. robostu…

1310. 子数组异或查询 异或 前缀和 python

有一个正整数数组 arr,现给你一个对应的查询数组 queries,其中 queries[i] [Li, Ri]。 对于每个查询 i,请你计算从 Li 到 Ri 的 XOR 值(即 arr[Li] xor arr[Li1] xor ... xor arr[Ri])作为本次查询的结果。 并返回一…

《精通ChatGPT:从入门到大师的Prompt指南》附录B:推荐阅读资源

作者:斯图尔特拉塞尔 (Stuart Russell) 和 彼得诺维格 (Peter Norvig) 简介:这本书被誉为人工智能领域的经典教材,内容涵盖了AI的基本原理、算法及其应用。无论是入门者还是专业研究者,都能从中获得启发。 2. 《深度学习》 作者…

【目标跟踪网络训练 Market-1501 数据集】DeepSort 训练自己的跟踪网络模型

前言 Deepsort之所以可以大量避免IDSwitch,是因为Deepsort算法中特征提取网络可以将目标检测框中的特征提取出来并保存,在目标被遮挡后又从新出现后,利用前后的特征对比可以将遮挡的后又出现的目标和遮挡之前的追踪的目标重新找到&#xff0…

企业网页制作

随着互联网的普及,企业网站已成为企业展示自己形象、吸引潜在客户、开拓新市场的重要方式。而企业网页制作则是构建企业网站的基础工作,它的质量和效率对于企业网站的成败至关重要。 首先,企业网页制作需要根据企业的特点和需求进行规划。在网…

前端 移动端 手机调试 (超简单,超有效 !)

背景:webpack工具构建下的vue项目 1. 找出电脑的ipv4地址 2. 替换 host 3. 手机连接电脑热点或者同一个wifi 。浏览器打开链接即可。

Spring运维之业务层测试数据回滚以及设置测试的随机用例

业务层测试数据回滚 我们之前在写dao层 测试的时候 如果执行到这边的代码 会在数据库 里面留下数据 运行一次留一次数据 开发有开发数据库,运行有运行数据库 我们先连数据库 在pom文件里引入mysql的驱动和mybatis-plus的依赖 在数据层写接口 用mybatis-plus进…

openh264 场景变化检测算法源码分析

文件位置 openh264/codec/processing/scenechangedetection/SceneChangeDetection.cppopenh264/codec/processing/scenechangedetection/SceneChangeDetection.h 代码流程 说明: 通过代码流程分析,当METHOD_SCENE_CHANGE_DETECTION_SCREEN场景类型为时…

Linux -- 了解 vim

目录 vim Linux 怎么编写代码? 了解 vim 的模式 什么是命令模式? 命令模式下 vim 的快捷键: 光标定位: 复制粘贴: 删除及撤销: 注释代码: 什么是底行模式? ​编辑 ​编辑…

Java:111-SpringMVC的底层原理(中篇)

这里续写上一章博客(110章博客): 现在我们来学习一下高级的技术,前面的mvc知识,我们基本可以在67章博客及其后面相关的博客可以学习到,现在开始学习精髓: Spring MVC 高级技术: …

Large-Scale LiDAR Consistent Mapping usingHierarchical LiDAR Bundle Adjustment

1. 代码地址 GitHub - hku-mars/HBA: [RAL 2023] A globally consistent LiDAR map optimization module 2. 摘要 重建精确一致的大规模激光雷达点云地图对于机器人应用至关重要。现有的基于位姿图优化的解决方案,尽管它在时间方面是有效的,但不能直接…

ubuntu使用docker安装openwrt

系统:ubuntu24.04 架构:x86 1. 安装docker 1.1 离线安装 docker下载地址 根据系统版本,依次下载最新的三个关于docker的软件包 container.io(注意后缀版本顺序)docker-ce-clidocker-ce 然后再ubuntu系统中依次按顺…

【召回第一篇】召回方法综述

各个网站上找的各位大神的优秀回答,记录再此。 首先是石塔西大佬的回答:工业界推荐系统中有哪些召回策略? 万变不离其宗:用统一框架理解向量化召回前言常读我的文章的同学会注意到,我一直强调、推崇,不要…

多种策略提升线上 tensorflow 模型推理速度

前言 本文以最常见的模型 Bi-LSTM-CRF 为例,总结了在实际工作中能有效提升在 CPU/GPU 上的推理速度的若干方法,包括优化模型结构,优化超参数,使用 onnx 框架等。当然如果你有充足的 GPU ,结合以上方法提升推理速度的效…

真空衰变,真正的宇宙级灾难,它到底有多可怕?

真空衰变,真正的宇宙级灾难,它到底有多可怕? 真空衰变 真空衰变(Vacuum decay)是物理学家根据量子场论推测出的一种宇宙中可能会发生的现象,这种现象被称为真正的宇宙级灾难,它到底有多可怕呢…

前端 Vue 操作文件方法(导出下载、图片压缩、文件上传和转换)

一、前言 本文对前端 Vue 项目开发过程中,经常遇到要对文件做一些相关操作,比如:文件导出下载、文件上传、图片压缩、文件转换等一些处理方法进行归纳整理,方便后续查阅和复用。 二、具体内容 1、后端的文件导出接口,…

【报文数据流中的反压处理】

报文数据流中的反压处理 1 带存储体的反压1.1 原理图1.2 Demo 尤其是在NP芯片中,经常涉及到报文的数据流处理;为了防止数据丢失,和各模块的流水处理;因此需要到反压机制; 反压机制目前接触到的有两种:一是基…

【深度学习】目标检测,Faster-RCNN算法训练,使用mmdetection训练

文章目录 资料环境数据测试 资料 https://mmdetection.readthedocs.io/zh-cn/latest/user_guides/config.html 环境 Dockerfile ARG PYTORCH"1.9.0" ARG CUDA"11.1" ARG CUDNN"8"FROM pytorch/pytorch:${PYTORCH}-cuda${CUDA}-cudnn${CUDNN}…

使用 Scapy 库编写 TCP 劫持攻击脚本

一、介绍 TCP劫持攻击(TCP Hijacking),也称为会话劫持,是一种攻击方式,攻击者在合法用户与服务器之间的通信过程中插入或劫持数据包,从而控制通信会话。通过TCP劫持,攻击者可以获取敏感信息、执…