揭开机器学习转换器架构的神秘面纱

机器学习中的矩阵对角化:特征值分解为什么是PCA的核心步骤? 本文深入解析了主成分分析(PCA)的核心数学原理,揭示了特征值分解如何通过对协方差矩阵进行对角化,将高维数据的复杂关系解耦为独立的主成分。文章通过实例和代码演示了特征值代表方差、特征向量定义主成分方向的直观意义,并探讨了PCA在数据降维、可视化及特征提取中的关键作用与实践陷阱。 阅读详情

自2017年推出以来,转换器(Transformers)已成为机器学习领域的一支突出力量,彻底改变了专业翻译和自动完成服务的能力。

最近,随着OpenAI公司的ChatGPT和Meta公司的LLama等大型语言模型的出现,转换器的受欢迎程度飙升。所有上述这些模型都建立在转换器架构的基础上,引起了业界极大的关注。通过利用转换器的力量,这些模型在自然语言理解和生成方面取得了显著突破。

尽管目前网络上已经存储很多很好的资源可以解释转换器的工作方式,但我发现自己仅停留在一个理解转换器数学工作原理的层次上,却很难直观地解释转换器是如何工作的。在进行了多次采访,与我的同事交谈,并就这个问题进行了闪电式的(简短)演讲之后,我发现似乎很多人都存在这样的问题!

在这篇博客文章中,我将努力提供一个关于转换器如何在不依赖代码或数学原理的情况下工作原理的高级解释。我的目标是避免混淆技术术语,避免与以前的体系结构进行比较。虽然我会尽量保持简单,但这并不容易,因为转换器非常复杂,但我希望它能更好地直观地了解它们做什么以及如何做。

什么是转换器?

转换器是一种神经网络架构,非常适合处理序列作为输入的任务。在这种情况下,序列最常见的例子可能是一个句子,我们可以将其视为一组有序的单词。

这些模型的目的是为序列中的每个元素创建一个数字化表示,用于封装关于元素及其相邻上下文的基本信息。然后,可以将得到的数字表示传递给下游网络,下游网络可以利用这些信息来执行各种任务,包括生成和分类。

通过创建这样丰富的表示,这些模型使下游网络能够更好地理解输入序列中的潜在模式和关系,这增强了它们生成连贯和上下文相关输出的能力。

转换器的关键优势在于它们能够处理序列中的很长范围的依赖关系,并且效率很高;能够并行处理序列。这对于机器翻译、情感分析和文本生成等任务特别有用。

Azure OpenAI服务DALL-E模型生成的图像,其中带有以下提示:“The green and black Matrix code in the shape of Optimus Prime(擎天柱形状的绿色和黑色矩阵代码)”

输入到转换器的内容

要将输入馈送到转换器中,我们必须首先将其转换为标记序列——表示我们输入的一组整数。

由于转换器最初应用于自然语言处理领域,所以让我们首先考虑这个场景。将一个句子转换为一系列标记的最简单方法是定义一个词汇表,该词汇表充当查找表,将单词映射为整数;我们可以保留一个特定的数字来表示这个词汇表中不包含的任何单词,这样我们就可以总是分配一个整数值。

在实践中,这是一种过于简单的文本编码方式,因为cat和cats等词会被视为完全不同的标记,尽管它们是对同一动物的单数和复数描述!为了克服这一点,人们设计了不同的标记化策略,如字节对编码,在对单词进行索引之前,将其分解成更小的块。此外,添加特殊的标记来表示句子的开头和结尾等特征,为模型提供额外的上下文,这通常很有用。

让我们考虑下面的例子,以更好地理解标记化过程。

“Hello there, isn’t the weather nice today in Drosval?(你好,德罗斯瓦尔市今天天气好吗?)”

这里,Drosval是GPT-4使用以下提示生成的名称:“Can you create a fictional place name that sounds like it could belong to David Gemmell’s Drenai universe?(你能创建一个听起来可能属于David Gemmell的Drenai宇宙的虚构地名吗?)”;这是故意选择的,因为它不应该出现在任何训练过的机器模型的词汇表中。

借助转换器库中的 bert-base-uncased分词器,将上面的语句转换为以下标记序列:

表示每个单词的整数将根据特定的模型训练和标记化策略而变化。解码后,我们可以看到每个标记所代表的单词:

有趣的是,我们可以看到这与我们当初的输入不同。其中添加了一些特殊的标记,我们的缩写被拆分为多个标记,我们虚构的地名由不同的“块”表示。当我们使用前面所述的bert-base-uncased模型时,我们也失去了所有的大写上下文。

然而,虽然我们在示例中使用了一个句子,但转换器并不局限于文本输入;该体系结构在视觉任务上也取得了良好的效果。为了将图像转换为序列,ViT(译者注:是指转换器在CV领域中的两个经典算法之一,另一个算法是DeiT)的作者将图像切片为不重叠的16x16像素块,并在将其传递到模型中之前将其连接成长向量。如果我们在推荐系统中使用转换器,一种方法可以是使用用户浏览的最后n个项目的项目ID作为我们网络的输入。如果我们能够为我们的域创建一个有意义的输入标记表示,我们就可以将其输入到转换器网络中。

嵌入我们的标记

一旦我们有了一个整数序列来表示我们的输入,我们就可以将它们转换为嵌入。嵌入是一种表示信息的方式,可以通过机器学习算法轻松处理;他们的目的是通过将信息表示为一系列数字来捕捉以压缩格式编码的标记的含义。最初,嵌入被初始化为随机数序列,并且在训练期间学习有意义的表示。然而,这些嵌入有一个固有的限制:它们没有考虑到标记出现的上下文。这有两个方面。

一个问题是,根据任务的不同,当我们嵌入标记时,我们可能还希望保留标记的顺序;这在NLP等领域尤其重要;否则,我们基本上会采用单词袋方法。为了克服这一点,我们将位置编码应用于嵌入。虽然有多种方法可以创建位置嵌入,但主要思想是我们有另一组嵌入,它们表示输入序列中每个标记的位置,并与我们的标记嵌入相结合。

另一个问题是,根据周围的标记内容,标记可能会有不同的含义。考虑以下句子:

It’s dark, who turned off the light?(天黑了,谁关灯了?)

Wow, this parcel is really light!(哇,这个包裹真轻!)

在这里,“light”这个词被用于两个不同的上下文,在不同的上下文中它有完全不同的含义!然而,根据标记化策略,嵌入可能是相同的。在转换器中,这是由它的注意力机制来处理的。

从概念上讲,什么是注意力?

转换器架构使用的最重要的机制可能是注意力,它使网络能够了解输入序列的哪些部分与给定任务最相关。对于序列中的每个标记,注意力机制识别哪些其他标记对于理解给定上下文中的当前标记很重要。在我们探索如何在转换器中实现这一点之前,让我们从简单的内容开始,试着理解注意力机制在概念上试图实现什么,以便建立我们的直觉理解基础。

理解注意力的一种方法是将其视为一种方法,该方法将每个标记嵌入替换为包含关于其相邻标记的信息的嵌入;而不是对每个标记使用相同的嵌入,而不管其上下文如何。如果我们知道哪些标记与当前标记相关,那么捕获此上下文的一种方法是创建这些嵌入的加权平均值,或者更一般地说,线性组合。

让我们考虑一个简单的例子,说明如何查找我们前面看到的一个句子。在应用注意力之前,序列中的嵌入没有其邻近的上下文。因此,我们可以将单词“light”的嵌入可视化为以下线性组合。

在这里,我们可以看到,我们的权重只是单位矩阵。在应用我们的注意力机制后,我们想学习一个权重矩阵,这样我们就可以用类似于下面的方式来表达我们的“light”嵌入。

这一次,对与我们选择的标记的序列的最相关部分相对应的嵌入赋予更大的权重;这应当确保在新的嵌入向量中捕获最重要的上下文。

包含当前上下文信息的嵌入有时被称为上下文嵌入,这最终是我们试图创建的。

既然我们已经对注意力试图实现的目标有了很高的理解,那么让我们在下一节中来探讨一下这是如何实际实现的。

注意力是如何计算的?

注意力有多种类型,主要区别在于用于执行线性组合的权重的计算方式。在这里,我们来考虑一下原始论文中介绍的缩放点积注意力,因为这是最常见的方法。在本节中,假设我们所有的嵌入都已进行了位置编码。

回想一下,我们的目标是使用原始嵌入的线性组合来创建上下文嵌入,让我们从简单的讲解开始,假设我们可以将所需的所有必要信息编码到我们学习的嵌入向量中,我们所需要计算的只是权重。

要计算权重,我们必须首先确定哪些标记彼此相关。为了实现这一点,我们需要在两个嵌入之间建立一个相似性的概念。表示这种相似性的一种方法是使用点积,我们希望学习嵌入,这样得分越高,两个单词就越相似。

对于每个标记,我们需要计算其与序列中其他标记的相关性,我们可以将其推广为矩阵乘法,这为我们提供了权重矩阵;其通常被称为注意力得分。为了确保我们的权重总和为1,我们还应用SoftMax函数。然而,由于矩阵乘法可以产生任意大的数字,这可能导致SoftMax函数对于大的注意力分数返回非常小的梯度;这可能导致训练过程中的梯度消失问题。为了抵消这种影响,在应用SoftMax之前,将注意力分数乘以比例因子。

现在,为了得到我们的上下文嵌入矩阵,我们可以将注意力得分与原始嵌入矩阵相乘;这相当于我们的嵌入的线性组合。

简化的注意力计算:假设嵌入是位置编码的

简化的注意力计算:假设嵌入是位置编码的

虽然模型可能学习足够复杂的嵌入,以生成注意力得分和随后的上下文嵌入;我们试图将大量信息压缩到嵌入维度中,嵌入维度通常很小。

因此,为了让模型更容易学习这项任务,让我们介绍一些更容易学习的参数!与其直接使用嵌入矩阵,不如让它通过三个独立的线性层(矩阵乘法);这应该使模型能够“注意”嵌入的不同部分。如下图所示:

缩放后的点积自注意:假设嵌入是位置编码的

缩放后的点积自注意:假设嵌入是位置编码的

从图像中,我们可以看到线性投影被标记为Q、K和V。在最初的论文中,这些投影被命名为Query、Key和Value,据说是从信息检索中获得的灵感。就我个人而言,我从未发现这种类比有助于我的理解,所以我倾向于不关注这一点;为了与文献保持一致,我遵循了这里的术语,并明确表示这些线性层是不同的。

现在,我们了解了这个过程是如何工作的,我们可以把注意力计算看作一个有三个输入的单个块,这些输入将传递给Q、K和V。

当我们将相同的嵌入矩阵传递给Q、K和V时,这被称为自注意。

什么是多头注意力?

在实践中,我们经常并行使用多个自注意块,以便使转换器能够同时关注输入序列的不同部分——这被称为多头注意(multi-head attention)。

多头注意力背后的想法很简单,多个独立的自我注意力块的输出被连接在一起,然后通过线性层。这个线性层使模型能够学习组合来自每个注意力头部的上下文信息。

在实践中,每个自注意块中使用的隐藏维度大小通常被选择为原始嵌入大小除以注意头的数量;以保持嵌入矩阵的形状。

转换器还由什么组成?

尽管介绍转换器的论文(现在臭名昭著)被命名为“注意力”,但这有点令人困惑,因为转换器的组件不仅仅是注意力!

其实,转换器块还包含以下内容:

  • 前馈神经网络(FFN):一种两层神经网络,独立应用于批量和序列中的每个标记嵌入。FFN块的目的是将额外的可学习参数引入到转换器中,这些参数负责确保上下文嵌入是不同的和分散的。最初的论文使用了GeLU激活函数,但FFN的组件可能因架构而异。
  • 层规范化:有助于稳定深度神经网络的训练,包括转换器。它使每个序列的激活函数规范化,防止它们在训练过程中变得过大或过小;这可能导致梯度相关的问题,例如梯度消失或爆炸。这种稳定性对于有效训练非常深入的转换器模型至关重要。
  • 跳过连接:与ResNet架构一样,残差连接用于缓解消失梯度问题并提高训练稳定性。

虽然转换器架构自引入以来一直保持相当稳定,但层规范化块的位置可能因转换器架构而异。原始架构,现在称为后层规范(post-layer norm),如下所示:

如下图所示,在最近的体系结构中,最常见的放置是前层规范(pre-layer norm),它将规范化块放置在跳过连接中的自注意块和FFN块之前。

转换器有哪些不同类型?

虽然现在有许多不同的转换器架构,但大多数可以分为三种主要类型。

编码器架构

编码器模型旨在产生可用于下游任务(如分类或命名实体识别)的上下文嵌入,因为注意力机制能够注意整个输入序列;这就是本文迄今为止所探讨的体系结构类型。最流行的编码器专用转换器系列是BERT及其变体。

在将我们的数据通过一个或多个转换器块之后,我们有一个复杂的上下文嵌入矩阵,表示序列中每个标记的嵌入。然而,要将其用于诸如分类之类的下游任务,我们只需要进行一次预测。传统上,第一个标记被获取,并通过分类头部;其通常包含Dropout层和Linear层。可以通过SoftMax函数将这些层的输出转换为类别概率。下面描述了一个这样的例子。

解码器架构

与编码器架构几乎相同,关键区别在于解码器架构采用了屏蔽(或因果)自注意层,因此注意机制只能注意输入序列的当前和先前元素;这意味着生成的上下文嵌入只考虑先前的上下文。流行的仅含解码器的模型包括GPT系列。

这通常是通过用二进制下三角矩阵屏蔽注意力得分,并用负无穷大替换未屏蔽的元素来实现的;当通过以下SoftMax操作时,这将确保这些位置的注意力得分等于零。我们可以更新我们以前的自我注意图,将其包括在内,如下所示:

屏蔽自注意计算:假设采用位置编码嵌入

屏蔽自注意计算:假设采用位置编码嵌入

由于解码器只能从当前位置向后参与计算,因此解码器架构通常用于自回归任务,如序列生成等。然而,当使用上下文嵌入来生成序列时,与使用编码器相比,还有一些额外的考虑因素。下面显示了一个示例。

我们可以注意到,虽然解码器为输入序列中的每个标记生成上下文嵌入,但在生成序列时,我们通常使用与最终标记相对应的嵌入作为后续层的输入。

此外,在将SoftMax函数应用于logits之后,如果不应用过滤方案,我们将在模型词汇表中的每个标记上接收概率分布;这可能非常大!通常,我们希望使用各种过滤策略来减少潜在选项的数量,其中一些最常见的方法是:

  • 温度调整:温度(Temperature)是一个应用于SoftMax操作内部的参数,它会影响生成文本的随机性。它通过改变输出单词的概率分布来确定模型输出的创造性或重点内容。温度参数越高,分布越平坦,输出越多样化。
  • Top-P采样:这种方法基于给定的概率阈值过滤下一个标记的潜在候选者的数量,并基于高于该阈值的候选者重新分布概率分布。
  • Top-K采样:这种方法根据其logit或概率得分(取决于实现)将潜在候选者的数量限制为K个最可能的标记。
    一旦我们改变或减少了下一个标记的潜在候选者的概率分布,我们就可以从中采样来得到我们的预测——这只从多项式分布中采样。然后将预测的标记附加到输入序列并反馈到模型中,直到生成了期望数量的标记,或者模型生成了停止标记;表示序列结束的特殊标记。
编码器-解码器架构

最初,转换器是作为机器翻译的一种架构提出的,并使用编码器和解码器来实现这一目标;使用所述编码器来创建中间表示。虽然编码器-解码器转换器已经变得不那么常见,但诸如T5之类的架构展示了如何将诸如问题回答、总结和分类之类的任务构建为序列到序列的问题,并使用这种方法来解决。

与编码器-解码器架构的关键区别在于,解码器使用编码器-解码器注意力,其在注意力计算期间使用编码器的输出(作为K和V)和解码器块的输入(作为Q)。这与自注意形成对比,在自注意中,相同的输入嵌入矩阵用于所有输入。除此之外,整个生成过程与仅使用解码器的架构非常相似。

我们可以将编码器-解码器架构可视化,如下图所示。在这里,为了简化图示,我选择描绘原始论文中所见的转换器的后层规范的变体;其中规范层位于注意块之后。

结论

总之,希望本文能够给您提供一种关于转换器工作原理的直觉理解帮助,有助于您以一种易于理解的方式把握此架构中的一些细节,并成为揭开现代转换器架构神秘面纱的良好起点!

【人工智能】LLM 大型语言模型和 Transformer 架构简介 然而,传统的机器学习模型,例如神经网络,并不能天生理解输入的顺序。通过将位置编码纳入 Transformer 架构,GPT 可以更有效地理解句子中单词的顺序,并生成语法正确且语义有意义的输出。但是,模型只能理解数字,不能理解文本,因此需要将这些输入转换为称为“输入嵌入”的数字格式。作为初创公司的首席技术官,我每天都在讨论这项革命性的技术,因为围绕它的持续不断的嗡嗡声和炒作。这篇博文将探讨 LLM(大型语言模型)和转换器架构的基本概念,转换器架构是所有带有转换器的语言模型的构建块,包括 GPT。 阅读详情

相关推荐

深度学习的注意力机制与变换器架构

本章深入探讨了深度学习中的注意力机制和变换器架构,通过实例展示了如何使用注意力机制提升模型性能,并详细解释了变换器模型的构建块及其工作原理。文章以神经机器翻译为背景,讲解了如何通过注意力权重进行上下文向量的计算,并引入了多头注意力和位置编码的概念,最后通过实现一个基于变换器的文本分类器,说明了这些高级概念如何在实际应用中发挥作用。

weixin_42405592的博客 460

变换器(Transformer)架构

在序列到序列任务中(比如机器翻译),编码器的输出被传递到解码器(Decoder)中,解码器也是由多层的变换器模块组成。与传统的循环神经网络(RNN)和卷积神经网络(CNN)不同,变换器没有显式的循环或卷积结构,而是使用自注意力机制来处理输入序列中的依赖关系。自注意力机制可以计算输入序列中每个位置与其他位置的相关性,从而将全局的上下文信息融入到每个位置的表示中。变换器架构的成功启发了后续模型的发展,如BERT(基于变换器的编码器表示)和GPT(生成式预训练模型),它们在自然语言处理任务中取得了巨大的进展。

liuchengzhu的专栏 1579

Boost型变换器的结构及原理.pdf

Boost型变换器的结构及原理pdf,本文档的主要内容详细介绍的是Boost型变换器的结构及原理等资料说明。

Transformer架构解析

Transformer 是第一个完全依赖自注意力来计算其输入和输出表示,而不是使用序列对齐 RNN 或卷积的模型。

wdn blog 8298

机械臂学习:视觉引导——绪论

视觉引导 = 定位 + 引导定位:视觉系统定位到待引导的物体引导:视觉系统引导机械臂按需要的轨迹实现一定的工艺流程(过度点:人为指定机械臂的轨迹防止碰撞)(点云匹配:解决位姿估计姿态估计的问题)无序抓取的三个核心技术:3d识别(图中的点云匹配) 抓取方法路径规划(防止机械臂的碰撞,如自身碰撞等)如果只有同一高度的平移和旋转,其实并不需要点云,用单目就可以做,但是如果涉及到物体的倾斜以及高度的变换,那就是单目力所不能及,所以就是第三种情况:平移旋转加垫高。

2303_80018785的博客 4049

Cibersort免疫浸润 --- 详细教程

免疫浸润是指免疫细胞如淋巴细胞、浆细胞、巨噬细胞等进入到组织或器官中,并在这些组织或器官中发挥免疫功能的过程。免疫细胞的浸润可以是炎症反应的一部分,也可以是针对感染、肿瘤或其他疾病的免疫应答的一部分。免疫浸润通过调节免疫反应和炎症反应的程度和类型,起到维护机体免疫平衡和清除异常细胞或病原体的作用。在某些情况下,免疫浸润可能导致炎症反应过度,引起组织损伤,例如自身免疫性疾病。因此,免疫浸润在许多疾病的诊断和治疗中都具有重要的意义。免疫浸润可以通过组织切片染色和免疫组织化学等方法观察和分析。

ZxVSaccount的博客 9111

一文看懂AI的 Transformer 架构!

使用转换器模型,可用RAG技术。这些技术支持为行业组织特定的应用程序自定义现有模型。模型可在大型数据集上进行预训练,然后在较小的特定于任务的数据集上进行微调。这种方法使复杂模型的使用大众化,并消除了从头开始训练大型模型时的资源限制。模型可以在多个领域和不同使用案例的任务中表现良好。Transformer模型通过多层堆叠的编码器和解码器结构实现了高效的序列到序列的转换。在编码器中,通过多头自注意力机制捕捉输入序列中词与词之间的关系;

JavaEdge全是干货的技术号 1692

注册“Oracle Provider for OLE DB”和创建链接服务器

注册“Oracle Provider for OLE DB”和创建链接服务器 在sql server 数据库上创建链接服务器,连接oracle数据库,访问接口需要设置为:“Oracle Provider for OLE DB”。 如果电脑上没有这个驱动,安装一个完整的Oracle11gR2程序是一个有效的方法,但这个64位版本的安装包有2个多G, 相当庞大,如果仅仅...

weixin_30760895的博客 2386

【机器学习】Transformer框架理论详解和代码实现

本文深入探讨了Transformer模型及其在自然语言处理(NLP)和其他领域的应用。自2017年Vaswani等人提出以来,Transformer模型凭借其自注意力机制,在多个NLP任务上取得了突破性进展。文章首先介绍了Transformer模型的背景和开发动机,随后详细阐述了模型的结构和工作原理,包括多头注意力、位置编码以及学习率预热等关键技术。

MUKAMO的博客 3649

Android 13 灭屏音乐播放问题解决与优化建议

通过在中增加对音乐播放状态的检测,我们成功解决了客户应用在灭屏状态下音乐播放被中断的问题。

m0_60898338的博客 1157

GEE土地分类:一文读懂精度评定—混淆矩阵confusion matrix、整体精度OA、用户者精度、生产者精度、kappa系数和F1score系数含案例

本文介绍了如何在 Google Earth Engine (GEE) 中构建和分析混淆矩阵,以评估分类模型的性能。首先,通过 ee.Array 构建混淆矩阵,并展示了如何指定自定义类标签。接着,计算了多种性能指标,包括准确率、Kappa 值、F1-score、消费者准确率和生产者准确率。此外,还演示了如何计算不同类别的 F1-score。最后,通过一个实际案例,展示了如何利用 GEE 进行土地分类,并评估分类器的性能,包括训练和验证样本的准确率、Kappa 值等指标。这些步骤帮助用户理解模型的优缺点,并进行

此星光明博客 444

ChatGPT:解密人工智能背后的奥秘,揭开聊天机器人的运行原理

对话系统的核心思想是通过大量的训练数据来学习输入和输出之间的关系,从而使其具备自然语言理解和生成的能力。模型推理:训练完成后,将模型部署到线上环境,用户输入信息被送入训练好的模型,模型会通过编码器将输入信息转换成内部表示,然后解码器根据该表示生成回答。模型训练:使用训练数据对模型进行训练,通过最小化预测输出与真实输出之间的差异(通常使用损失函数来计算),调整模型参数,提高模型在对话任务上的性能。数据收集:收集大规模的对话数据作为训练样本,这些对话数据可以包括用户与机器人的交互、人工标注的对话数据等。

guzhoumingyue的专栏 543

“守望先锋”网络同步分析

守望先锋”(Overwatch)是一款由暴雪娱乐开发的团队基础第一人称射击游戏(FPS),于2016年正式发布。游戏以其独特的角色设计、丰富的游戏模式和高度的团队合作性而受到广泛欢迎。类型:第一人称射击(FPS)/多人在线战斗竞技场(MOBA元素)平台玩家人数:每场比赛由两个六人队伍组成,共12名玩家。客户端/服务器模型:在这种模型中,客户端负责处理用户输入和表现逻辑,而服务器则负责游戏的核心逻辑和状态管理。客户端与服务器之间通过网络进行通信,确保游戏状态的一致性。强同步机制。

本博客聚焦游戏开发技巧、创业实战心得及大学热门课程干货。这里既有技术深度,也有思维广度,无论你是开发者、创业者还是高校学子,都能在这里找到适合自己的成长之路! 433

多模态LLM+RAG:突破生成瓶颈的下一代AI架构革命

多模态大型语言模型(MLLM)正在突破传统检索增强生成(RAG)的文本局限,通过整合图像、音频等数据赋予AI感知能力。其核心架构利用CLIP、Whisper等编码器实现跨模态语义统一,并通过投影层对齐多模态信息。典型应用包括视觉问答、音频转录等场景,显著提升AI对物理世界的理解能力。评估MLLM需要综合考量检索质量、生成忠实度和跨模态一致性等指标。尽管技术挑战仍存,但MLLM正推动AI向更自然的人机交互方向发展,为医疗诊断、工业检测等领域带来革新可能。

java_cjkl的博客 1934

【即插即用模块】Transformer篇 | CVPR 2025 | D2T:双域特征融合,完美适配缺陷检测/小目标检测和分割等频域细节敏感的任务!

本文提出了一种基于小波和原型增强的双域Transformer(WPFormer)用于像素级表面缺陷检测。该模型通过Dual-domain Transformer (D2T)模块融合频域和空间域特征:小波增强交叉注意力(WCA)分解高低频特征并加权平衡,增强缺陷细节捕捉;原型引导注意力(PCA)生成全局原型向量强化关键信息聚合。实验表明,该模块在缺陷检测任务中性能优于现有方法,通过频域细节增强和全局依赖建模有效提升了复杂场景下的检测效果。代码已开源,适用于对频域敏感的目标检测和分割任务。

主要更新底层视觉(去噪、超分等)相关的科研内容,形式为【论文精读】+【论文复现】 1375

Mybatis面试题(基础篇)

(1)mybatis是支持定制化SQL、存储过程以及高级映射的优秀的持久层框架。(2)mybatis避免了几乎所有的JDBC代码(说明了mybatis底层用的就是JDBC,只不过是封装了)和手动设置参数以及获取结果集。(3)mybatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java的pojo映射成数据库中的记录。

qq_38196449的博客 1690

ChatGPT|谷歌首席决策科学家Cassie Kozyrkov介绍 ChatGPT

ChatGPT|谷歌首席决策科学家Cassie Kozyrkov介绍ChatGPT

Medlar_CN的博客 651

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

学会这些大模型术语,你可以硬控朋友7.13分钟

大型语言模型(LLMs)是先进的人工智能系统,它们在广泛的文本数据集上进行训练,以理解和生成类似人类的文本。LLMs 的发展,如 OpenAI 的 GPT 系列、谷歌的 Gemini、Anthropic AI 的 Claude 和 Meta 的 Llama 模型,标志着自然语言处理的重大进步。在 LLMs 的背景下,推理是模型根据输入数据使用在训练期间学到的知识生成文本的阶段。这种方法在像 GPT 这样的模型中是基础的,其中每个输出词成为下一个输入,有助于连贯的长文本生成。

企业级智能体,全行业解决方案,5000+企业签约,海量场景覆盖。 1747

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

深入depyf架构:探索PyTorch编译器的内部工作原理

你是否曾经对PyTorch的`torch.compile`编译器感到困惑?这个强大的工具将Python代码转换为优化的计算图,但它的内部工作原理对大多数开发者来说就像黑盒子一样神秘。今天,我们将深入探索**depyf**这个开源工具,它能够揭开PyTorch编译器的神秘面纱,让你真正理解`torch.compile`的内部工作机制。作为PyTorch生态系统的官方项目,depyf为机器学习和深度学

gitblog_00765的博客 1028

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

AI Agent Harness Engineering 决策逻辑拆解:强化学习与符号推理的融合实践

属性维度纯RL(主流DRL)纯SR(Prolog/KG+规则)Hybrid RL-SR(带决策 harness)直觉试错能力✅ 极强❌ 几乎没有✅ 强:由RL模块负责,在SR模块的约束下试错动态适应能力✅ 较强❌ 极差✅ 强:RL模块负责快速适应环境变化,SR模块负责定期/半自动更新知识库/规则库长尾/开放场景泛化❌ 极差✅ 较强✅ 极强:RL模块处理已覆盖的复杂场景,SR模块基于知识组合/类比处理未覆盖的开放场景可解释性❌ 极差(黑箱)✅ 极强(白箱)

AI智能探索者的博客 229

探索未来科技的奥秘——PSoC芯片深度解析

PSoC(Programmable System-on-Chip)是一款由Cypress Semiconductor公司(现为Cypress存储技术公司)开发的独特芯片。它将微处理器核心、数字和模拟电路、以及存储器集成在单个芯片上,为开发者提供了一个高度灵活的平台,用于设计和实现各种电子项目和产品。本文将深入探讨PSoC芯片的特性、应用和研究前景。

qq_44103359的博客 1190

Python机器学习:从零基础到项目实战

当您翻开此书,您正踏入一场数据与智慧的修行。机器学习,并非冰冷的符码,而是机器模拟人类洞察世界的法门。本书将带您,以Python为舟,泛游于算法之海。我们不只传授“术”,更探求其后的“道”——从数据的生灭流转中观照规律,于模型的迭代演进里体悟得失。愿您合上书卷时,收获的不仅是驾驭数据的技能,更有一双洞悉复杂、化繁为简的“智慧之眼”。现在,让我们一同启程。

YunWisdom 972

构建 LLM (大型语言模型)应用程序——从入门到精通(第一部分:简介)

通过检索增强生成 (RAG) 应用程序的视角学习大型语言模型 (LLM)。本系列博文简介(本帖)数据准备句子转换器矢量数据库搜索与检索大语言模型开源 RAG评估服务LLM高级 RAG。

weixin_44098716的博客 514

TowardsDataScience 博客中文翻译 2021(三百九十二)

毫无疑问,最近自然语言处理(NLP)中使用转换器——神经网络的进步确实令人瞩目。这些模型可以很好地执行不同类型的任务,如翻译、文本摘要和自动完成。作为变形金刚的一个不同变体,视觉变形金刚是图像分类和物体检测中许多计算机视觉任务的当前技术水平。照片由在Unsplash上拍摄为了训练这些模型,我们需要大量的数据、专业知识和计算能力。不幸的是,对于中小型企业和个人来说,这可能相当昂贵。本文的目的是从人工智能的炒作中退一步,并提供一种替代方法来完成这个 NLP 任务。

龙哥盟 925

释放业务转型:数字原住民如何利用生成式AI

生成式人工智能不再是技术上的幻想。它就在这里,它正在改写商业创新的规则。 这种类型的AI利用机器学习算法来创建与给定数据集具有相似特征的新数据。它超越了使用生成式预训练转换器(GPT)模型生成文本的范围,涵盖了从图像合成到翻译等一系列应用。它还为一类新的智能应用程序提供支持,这些应用程序将人工智能功能与传统软件功能相结合,以增强用户体验和先进的业务解决方案。

寒冰屋的专栏 228

超全工具宝藏大揭秘:从IT到AI全覆盖|真的很有用,建议收藏

文章来源:https://m.toutiao.com/is/iBSCAdbe/一、万能工具箱1、MikuTools:tools.miku.ac,轻量的工具集合,提供了数据换算、图片工具、文字处理工具、编程开发工具等100多款各种有趣实用的在线工具。2、ittools:zz.ittools.cc,在线IT工具集合网站,提...

weixin_38320674的博客 1841
上一篇: ChatGPT胜过我们人类吗?
下一篇: 2024年最安全的十个Linux桌面发行版!
老贾的AI世界
博客等级 码龄7年 3335粉丝 254原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老贾的AI世界

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值