Press "Enter" to skip to content

Tag: transformer

使用牛轧糖提升科学文件处理

简介 在不断发展的自然语言处理和人工智能领域中,从科学PDF等非结构化数据源中提取有价值的信息变得越来越重要。为了解决这个挑战,Meta AI推出了“Nougat”或称“学术文档的神经光学理解”,这是一种基于Transformer的先进模型,旨在将科学PDF转录成常见的Markdown格式。Nougat出现在Lukas Blecher、Guillem Cucurull、Thomas Scialom和Robert Stojnic的论文《Nougat:学术文档的神经光学理解》中。 这为光学字符识别(OCR)技术带来了开创性的转变,而Nougat是Meta AI强大的AI模型中的最新成员。在本文中,我们将探讨Nougat的能力,了解它的架构,并演示使用该模型转录科学文档的实际示例。 学习目标 了解Meta AI最新的科学文档Transformer模型Nougat。 了解Nougat如何借鉴其前身Donut,并引入先进的文档AI方法。 学习Nougat,包括其视觉编码器、文本解码器和端到端训练过程。 深入了解OCR技术的发展,从ConvNets的早期阶段到Swin架构和自回归解码器的革命性能量。 本文作为数据科学博文马拉松的一部分发表。 Nougat的诞生 Nougat并不是Meta AI家族中的第一个Transformer模型。它继承了它的前身“Donut”的理念,展示了以Transformer为基础的模型中视觉编码器和文本解码器的能力。这个概念很简单:将像素数据输入模型,获得文本输出。这种端到端方法消除了复杂的流水线,并证明了注意力就是所需的一切。 让我们简要讨论驱动Nougat等模型的“视觉编码器、文本解码器”范式的基本概念。作为Nougat的前身,Donut引入了在单个模型中结合视觉和文本处理的能力。与传统的文档处理流水线不同,这些模型在端到端操作,将原始像素数据转化为文本内容。这种方法利用了Transformer架构的注意力特性来产生结果。 Nougat接过火炬 在Donut取得成功的基础上,Meta AI推出了Nougat,将OCR技术推向了一个新的水平。与其前身一样,Nougat采用了基于Swin Transformer的视觉编码器和基于mBART的文本解码器。Nougat从科学PDF的原始像素中预测文本的Markdown形式。这代表了将科学知识转录成熟悉的Markdown格式的重大突破。 Meta…

Leave a Comment

使用密集预测变换进行图像语义分割

介绍 本文将介绍一种计算机视觉技术——图像语义分割。虽然听起来很复杂,但我们会一步一步解析它,并介绍一种使用密集预测变换器(DPTs)实现的图像语义分割概念,这是从Hugging Face的集合中选择的。使用DPTs引入了一个具有非同寻常能力的新阶段。 学习目标 DPTs相对于传统对远程连接的理解的比较。 使用Python实现使用DPT进行深度预测的语义分割。 探索DPT设计,理解它们独特的特点。 本文是数据科学博文马拉松的一部分。 什么是图像语义分割? 想象一下,你有一张图像,并希望根据图像中每个像素的表示对其进行标注。这就是图像语义分割的概念。它可以用于计算机视觉,区分汽车和树木,或者分离图像的不同部分;这一切都是为了智能地标记像素。然而,真正的挑战在于理解对象之间的上下文和关系。让我们将其与处理图像的旧方法进行比较。 卷积神经网络(CNNs) 第一个突破是使用卷积神经网络来处理涉及图像的任务。然而,CNNs有一些限制,尤其是在捕捉图像中的长距离连接方面。想象一下,如果你试图理解图像中不同元素在长距离上是如何相互作用的,传统的CNNs会遇到困难。这就是我们赞美DPT的地方。这些模型基于强大的变换器架构,具备捕捉关联的能力。我们将在接下来看到DPTs。 什么是密集预测变换器(DPTs)? 要理解这个概念,想象一下将我们之前在NLP任务中使用的变换器的强大能力与图像分析相结合。这就是密集预测变换器背后的概念。它们就像图像世界中的超级侦探一样。它们不仅能够标记图像中的每个像素,还可以预测每个像素的深度——这在某种程度上提供了有关每个对象与图像之间的距离的信息。我们将在下面看到这一点。 DPT架构工具箱 DPTs有不同类型,每种类型都有其“编码器”和“解码器”层。让我们在这里看一下两种流行的类型: DPT-Swin-Transformer:将其想象为具有10个编码器层和5个解码器层的超级变换器。它擅长理解图像中不同级别的元素之间的关系。 DPT-ResNet:这个类型就像是一个聪明的侦探,具有18个编码器层和5个解码器层。它善于发现远距离对象之间的联系,同时保持图像的空间结构完整性。 关键特点 以下是关于DPTs如何使用一些关键特点的更详细说明: 分层特征提取:就像传统的卷积神经网络(CNNs)一样,DPTs从输入图像中提取特征。然而,它们采用一种分层的方法,将图像分为不同层次的细节。正是这种层次结构有助于捕捉局部和全局上下文,使模型能够理解不同尺度上对象之间的关系。 自注意机制:这是DPTs的核心,受原始变换器架构启发,使模型能够捕捉图像内的长程依赖关系,并学习像素之间的复杂关系。每个像素都考虑来自所有其他像素的信息,使模型对图像有整体的理解。 使用DPTs进行图像语义分割的Python演示 我们将在下面看到DPTs的实现。首先,让我们通过安装Colab上未预安装的库来设置环境。您可以在这里或https://github.com/inuwamobarak/semantic-segmentation找到此代码。 首先,我们安装并设置环境。…

Leave a Comment

使用Transformer检测图像中的表格行和列

介绍 您是否曾经处理过非结构化数据,并考虑过一种方式来检测文档中表格的存在?以帮助您快速处理您的文档?在本文中,我们将不仅了解如何检测表格的存在,还将通过使用Transformer模型来识别这些表格的结构。这将由两个不同的模型实现。一个用于文档中的表格检测,另一个用于结构识别,可以识别表格中的行和列。 学习目标 如何在图像中检测表格的行和列? Table Transformers和Detection Transformer(DETR)的介绍 PubTables-1M数据集概述 如何使用Table Transformer进行推理 文档、文章和PDF文件是有价值的信息来源,通常包含传递关键数据的表格。从这些表格中高效提取信息可能会面临不同格式和表示之间的挑战。手动复制或重新创建这些表格可能耗时且繁琐。在PubTables-1M数据集上训练的Table Transformers解决了表格检测、结构识别和功能分析的问题。 本文是Data Science Blogathon的一部分。 如何实现的? 这是通过一种名为Table Transformer的Transformer模型实现的。它使用了一个名为PubTables-1M的大型注释数据集,可以检测文章中的文档或图像。该数据集包含约一百万个参数,并采用了一些措施来给模型带来最新的感觉。通过解决不完美注释、空间对齐问题和表格结构一致性等挑战,实现了高效性。与该模型一起发布的研究论文利用了Detection Transformer(DETR)模型,用于联合建模表格结构识别(TSR)和功能分析(FA)。因此,DETR模型是Table Transformer运行的骨干,由微软研究开发。让我们更详细地了解一下DETR。 DEtection TRansformer(DETR) 如前所述,DETR是DEtection TRansformer的缩写,包括使用编码器-解码器Transformer的卷积骨干,例如ResNet架构。这使得它有潜力进行目标检测任务。DETR提供了一种不需要复杂模型(如Faster R-CNN和Mask…

Leave a Comment

Swin Transformers | 现代计算机视觉任务

介绍 Swin Transformer 是视觉 Transformer 领域的一项重大创新。Transformer 在各种任务中展示了出色的性能。在这些 Transformer 中,Swin Transformer 作为计算机视觉的骨干,提供了无与伦比的灵活性和可扩展性,以满足现代深度学习模型的需求。现在是时候发掘这个 Transformer 的全部潜力,见证其令人印象深刻的能力。 学习目标 本文旨在介绍 Swin Transformer,这是一类强大的分层视觉 Transformer。通过阅读本文,您应该了解以下内容: Swin Transformer 的关键特性 它们在计算机视觉模型中作为骨干的应用 Swin Transformer 在图像分类、物体检测和实例分割等各种计算机视觉任务中的优势。…

Leave a Comment

使用预训练的ViT模型在图像字幕中使用Vision Transformers(ViT)

介绍 使用预训练的ViT模型进行图像描述可以看作是一种文本或书面描述,位于图像下方,旨在提供对图像细节的描述。它是将图像转换为文本描述的任务。通过连接视觉(图像)和语言(文本)来完成。在本文中,我们使用PyTorch后端,使用视觉变换器(ViT)作为主要技术,在图像中实现了这一目标。目标是展示一种使用转换器,特别是ViTs,利用经过训练的模型生成图像标题的方法,而无需从头开始重新训练。 来源:Springer 随着社交媒体平台和在线图片使用的当前趋势,掌握这种技能的好处很多,可以出于多种原因进行描述、引用、帮助视力受损者,甚至是搜索引擎优化。这使得学习这种技术对涉及图像的项目非常有用。 学习目标 图像描述的概念 使用ViTs进行图像捕捉 使用预训练模型进行图像描述 使用Python利用转换器 您可以在此GitHub仓库中找到使用的全部代码。 本文是数据科学博客马拉松的一部分。 什么是Transformer模型? 在我们研究ViT之前,让我们先了解一下Transformer。自从Google Brain于2017年引入transformers以来,它引起了人们对其在NLP方面的能力的兴趣。Transformer是一种深度学习模型,其特点是采用自我关注,不同地加权输入数据的每个部分的重要性。并且主要用于自然语言处理(NLP)领域。 Transformer处理序列输入数据,例如自然语言,但transformer一次处理整个输入。借助注意机制,任何输入序列的位置都有上下文。这种效率允许更多的并行化,减少训练时间,同时提高效率。 Transformer体系结构 现在让我们看一下transformers的体系结构组成。Transformer体系结构主要由编码器-解码器结构组成。Transformer体系结构的编码器-解码器结构在一篇著名的论文中被提出,标题为“Attention Is All You Need”。 编码器由层组成,负责逐层处理输入,而解码器层接收编码器输出并生成解码输出。简单地说,编码器将输入序列映射到序列,然后将其馈送到解码器。解码器然后生成一个输出序列。 什么是Vision Transformers? 由于本文展示了ViTs在图像描述中的实际用途,因此也有必要了解ViTs的工作原理。Vision…

Leave a Comment

使用多头注意力机制理解注意力机制

介绍 深入了解Transformer模型的好方法是学习注意机制。在这方面,特别是在学习其他类型的注意机制之前学习多头注意力也是一个不错的选择。这是因为这个概念往往比较容易理解。 注意机制可以被视为可以添加到常规深度学习模型中的神经网络层。其目的是使模型专注于使用分配的权重来关注输入的特定部分,从而权衡它们的价值。我们将进一步详细了解注意机制,使用多头注意力机制。 学习目标 注意机制的概念 多头注意力的含义 Transformer中多头注意力的架构 其他类型的注意机制简介 本文是数据科学博客马拉松的一部分。 了解注意机制 我们可以从人类心理学的角度开始看这个概念。在心理学中,注意力是集中意识在某些事件上,以便排除其他刺激的影响。这意味着即使有其他干扰,我们仍然会专注于我们选择的事物。注意力有选择地集中在整体的一个离散部分。 这个概念是Transformer中使用的。它们能够集中精力关注其输入的目标部分,并忽略其余部分。这可以使它们以非常有效的方式行动。 什么是多头注意力? 多头注意力是Transformer中的一个中心机制,类似于ResNet50架构中的跳跃连接。有时需要关注序列中的多个其他点。使用找到整体平均值的方法将不会使权重分布,因此不会给予多样化的值作为权重,这就引出了创建多个独立的注意机制以形成多个注意力机制的扩展的想法。现在的实现在单个特征上呈现多个不同的查询-键-值三元组。 来源:Pngwing.com 计算是这样进行的,注意模块在多次迭代中执行,组织成称为注意头的并行层。每个独立的头独立处理输入序列和相关输出序列元素。每个头部的累积分数然后组合以获得最终的注意分数,其中包含输入序列的每个细节。 数学表达式 具体而言,如果我们有一个关键字和一个值矩阵,我们可以将值转换为ℎ个子查询,子关键字和子值,这些将独立地通过注意力传递。连接将给出一个头,并使用最终的权重矩阵将它们组合起来。 可学习的参数是分配给各个头部的注意力中的值,其中各种参数称为多头注意力层。下面的图示说明了这个过程。 让我们简要地看一下这些变量。其中X的值是单词嵌入矩阵的连接。 矩阵解释 查询:它是一个特征向量,提供有关序列中目标的洞察力。它在序列上提出请求,需要关注哪些部分。 关键字:这是描述元素中包含的内容的特征向量。它突出显示提供元素的身份,并通过查询提供注意力。 值:处理输入序列,每个输入元素使用一个值来知道提供平均值的内容。 评分函数:创建评分函数时,我们将查询和关键字指定为其输出的权重,称为查询-关键字对。…

Leave a Comment