前言
随着数字化时代的到来,文档图像处理技术在各行各业扮演着越来越重要的角色。在2023第十二届中国智能产业高峰论坛(CIIS 2023)的专题论坛上,合合信息智能技术平台事业部副总经理、高级工程师丁凯博士分享了当前文档图像处理面临的困难,并讨论大模型在该领域的突破和新探索。
虚竹哥把其中的要点,还有我个人的理解整理下,分享给大家~
一、 什么是文档图像处理
文档图像处理是指通过计算机对文档图像进行分析和理解,实现自动化的信息提取和处理。文档图像可以是扫描件、照片或者其他形式的图像文件。文档图像处理可以包括文本识别、布局分析、实体关系理解、图像分割等任务。
文档图像处理在许多领域都具有重要应用,例如自动化办公、金融、教育等。通过自动化处理,可以提高工作效率,减少人工错误,提供更快速、准确的信息检索和提取。
二、文档图像分析识别与理解的技术难题
首先是场景及版式的多样性,不同类型的文档有不同的版式和布局,这给文档图像的分析和理解带来了很大的挑战。
其次是形状的不可控性,文档的形状可能是曲线、折叠或损坏的,这使得文档的识别和还原变得困难。
此外,采集设备的不确定性和用户需求的多样性也增加了文档图像处理的复杂度。
高精度:金融票据
可理解:教育、档案、办公
最后是光照的不可控性,文档的拍摄环境中光照的亮度和角度也会对图像质量产生重要影响。
三、 公司介绍
合合信息一直专注于通过智能文字识别和商业大数据领域的核心技术,聚焦于文档图像分析识别和文字理解领域,在人工智能方向深耕17年,合合信息你可能没听过,但他家的产品你应该听过:在app store上搜索扫描,第一个产品就是。
扫描全能王免费版在App Store上105个国家和地区(含中国)的效率类免费应用下载量排行榜位列第一。
四、 文档图像大模型的研究主题
文档图像的分析、识别与理解是研究的重要主题。在进行文档图像分析与预处理过程中, 需要进行切边增强、去摩尔纹、弯曲矫正、图片压缩以及PS检测等步骤, 以提高后续解析与识别的准确性。文档解析与识别包括文字识别、表格识别以及电子档解析等任务, 以实现对文档内容的精准提取和表达。版面分析与还原涉及元素检测、元素识别以及版面还原等核心环节, 以精准还原文档的原始版面信息。
文档信息抽取与理解是研究的重要环节之一, 通过信息抽取技术可以针对文档中的特定信息进行提取和整理, 回答用户提出的问题或者自动生成文档摘要。另外, AI安全问题也是不容忽视的方面, 需要关注篡改分类、篡改检测、合成检测以及AI生成检测等技术, 以保障文档的真实性和完整性。
此外, 知识化、存储检索和管理也是研究的重要方向之一。通过深入挖掘文档中的实体关系、文档主题等信息, 可以建立知识图谱以实现文档的可视化表达和快速检索。同时, 结合ERP/OA以及SAP等技术, 可以构建高效、智能的文档管理系统, 以支持日常办公和决策。
五、 文档图像大模型的突破
5.1、文档图像专有大模型
文档图像大模型在近年来取得了显著的进展,其中最引人注目的是一些专有模型,如LayoutLM系列、UDOP和LiLT等。这些模型基于多模态Transformer Encoder进行预训练和下游任务微调,在文档图像处理方面具有显著的性能。
LayoutLM系列是Microsoft推出的一系列模型,包括LayoutLM、LayoutLMv2、LayoutLMv3和LayoutXLM。这些模型利用多模态Transformer Encoder进行预训练,并通过对下游任务进行微调来提高性能。
UDOP是Microsoft提出的另一个文档处理大一统模型,它采用统一的Vision-Text-Layout编码器、分离的Text-Layouot和Vision解码器。这个模型旨在将各种文档处理任务统一到一个框架下,提高处理效率和精度。
LiLT是合合信息与华南理工大学正在研究的一种视觉模型与大语言模型解耦联合建模的多模态信息抽取新框架。该框架通过双向互补注意力模块(BiCAM)融合视觉与语言模型,在多语言小样本/零样本场景下具有优越的性能。有趣的是,LiLT可以灵活地与单语言或多语言的文本预训练模型联合解决下游任务,并且在单语言下游任务上也表现出优越的性能(特别是在训练样本较少的数据集上)。在常用的单语言数据集上,LiLT的表现总体上也优于LayoutXLM。
最后,Donut是NAVER开发的一种无需OCR的用于文档理解的Transformer模型。这个模型的开发可能会简化文档处理流程,提高处理的准确性和效率。
5.2、多模态大模型
BLIP2是Salesforce团队于2023年1月发布的一种模型,它采用了轻量级的查询Transformer将预训练的图像编码器和LLM解码器进行连接。在表征学习阶段,该模型通过图文对比学习、图像文本生成和图像文本匹配三个任务来让Q-Former提取文本相关的特征。在生成预训练阶段,视觉编码器和Q-Former被连接到冻结的LLM上,并通过生成式训练将视觉特征与LLM对齐。
Flamingo是DeepMind于2022年发表的一种模型,它在LLM中增加了Gated Attention层以引入视觉信息。该模型冻结了Vision Encoder和LLM,并在Visual Encoder后加入了Perceiver Resampler模块以加强视觉表征。此外,还在LLM的每层之前加入了Gated xattn-dense模块以加强跨模块信息交互。2023年3月,LAION团队发布了OpenFlamingo,它是DeepMind的Flamingo模型的开源复制品。
LLaVA是Microsoft于最近发布的一种模型,它将CLIP ViT-L和LLaMA采用全连接层进行连接。该模型使用GPT-4和Self-Instruct生成高质量的158k instruction following数据。
最后,MiniGPT-4是一种视觉部分采用ViT+Q-Former、语言模型部分采用Vicuna且视觉和语言模块间采用全连接层衔接的模型。
多模态大模型用于OCR领域的局限性
多模态大模型在处理显著文本时表现出色,但它们在处理细粒度文本时却往往效果不佳。这是由于受到视觉编码器的分辨率和训练数据的限制。尽管现有的模型已经取得了很大进展,但是它们仍然存在一些局限性。
视觉编码器的分辨率对于多模态大模型的性能有很大的影响。由于视觉信息往往包含大量的细节和复杂性,因此需要高分辨率的编码器来捕捉这些细节。但是,高分辨率编码器的计算成本也相应较高,这会限制模型的训练速度和效率。
训练数据也是限制多模态大模型性能的一个因素。现有的模型主要依赖于大规模的预训练数据集进行训练,而这些数据集往往只包含一些大规模的图像和文本。因此,这些模型可能无法很好地处理一些细粒度文本,因为它们没有在训练数据集中见过这些类型的文本。
多模态大模型的处理方式也是影响其性能的因素之一。由于这些模型主要关注图像和文本之间的跨模态对应关系,因此它们可能忽略了文本内部的一些细粒度信息。这使得这些模型在处理一些需要关注细节的细粒度文本时表现不佳。
5.3、Pixel2seq大模型系列
Google的Pix2Seq方法将目标检测任务转化为一个图像到序列的语言建模任务,通过语言建模的方式,让模型学习到从图像中抽取有用的特征,并进行合理的分类,从而完成目标检测任务。该方法采用了深度学习技术,通过对大量的数据进行训练,使得模型可以快速、准确地识别出图像中的各种目标。
继Pix2Seq之后,Google又提出了一个更加完善的框架Pix2Seq v2。Pix2Seq v2是一个统一的基于序列预测的视觉任务框架,它可以用于解决各种视觉问题,如目标检测、图像分类、图像分割等。该框架采用了全新的注意力机制,使得模型可以更好地聚焦于输入图像的关键区域,从而更好地完成任务。
与Google不同,Microsoft提出了一个叫做UniTAB的多模态编码器(图像&文本)+自回归解码器的方法,它可以完成多种Vision-Language (VL) 任务。该方法将图像和文本两种不同的模态进行有机结合,利用自回归解码器进行预测,从而实现了更加高效和准确的目标检测和图像分类任务。
Meta也提出了一种新的方法NOUGAT。该方法通过采用Swin Transformer和Transformer Decoder实现了从文档图像到文档序列的输出。Swin Transformer是一种全新的局部与全局信息交互的Transformer结构,具有更好的视觉特征表达能力。而Transformer Decoder则可以将上文所提到的各种视觉特征转换成文本形式,使得人们可以更加方便地理解图像内容。
六、 文档图像大模型的探索
6.1、文档图像大模型设计思路
文档图像识别分析是一个涵盖多种任务的综合性领域,这些任务可以定义为序列预测的形式。无论是文本、段落、版面分析、表格还是公式等,都可以通过基于序列预测的模型进行处理。
在进行OCR任务时,我们可以使用不同的prompt来引导模型,以便完成各种不同的任务。例如,我们可以通过输入特定的指令或上下文信息,来让模型更好地理解和识别文档内容。
除了基本的字符和词汇识别,OCR技术还可以支持篇章级的文档图像识别分析。这意味着可以对整个文档进行扫描和分析,并以Markdown、HTML或纯文本等标准格式输出。这种方法可以帮助我们更高效地组织和处理文档内容,从而大大提高工作效率。
近年来,LLM(大型语言模型)在自然语言处理领域取得了很大的进展。同样,LLM也可以应用于文档理解相关的工作。通过将LLM与OCR技术相结合,我们可以更好地理解文档内容,并从中提取有用的信息。这将进一步促进文档处理技术的发展,提高自动化水平和生产效率。
6.2、SPTS文档图像大模型
SPTS 是一种创新的端到端文本检测和识别方法,它颠覆了传统的文本检测和识别流程。传统的方法通常将文本检测和识别看作两个独立的任务,导致处理流程复杂且冗余。而SPTS将这两个任务融为一体,将文本检测和识别定义为图片到序列的预测任务,极大地简化了处理流程。另外,SPTS采用单点标注技术指示文本位置,这样就可以极大地降低标注成本。同时,它无需RoI采样和复杂的后处理操作,真正将检测和识别融为一体。
SPTS v2将检测和识别解耦为自回归的单点检测和并行的文本识别两个过程。其中,IAD根据视觉编码器特征自回归地得到每个文本的单点坐标,这个过程是自回归的,因此可以极大地提高推理速度。而PRD则是根据IAD的单点特征并行地得到各个文本的识别结果,这种并行的处理方式可以进一步提高处理效率。SPTS v2还可以应用于各种不同的OCR场景。
基于SPTS的OCR大一统模型(SPTS v3)将多种OCR任务定义为序列预测的形式。通过使用不同的prompt引导模型完成不同的OCR任务,可以极大地提高模型的泛化能力。例如,可以使用“where is the date on this document?”来询问文档中的日期位置,或者使用“what is the text on this image?”来识别图像中的文本。另外,SPTS v3沿用了SPTS的CNN + Transformer Encoder + Transformer Decoder的图片到序列的结构,这使得它可以更加高效地处理各种不同的OCR任务。
6.3、下一步研究方向
一个复杂的系统模型应该需要做到:
-
在输入层,模型可以接收任何类型的文本文件作为输入,包括Word文档、PDF文档等。这一层的主要任务是对原始文本数据进行预处理,为后续的处理阶段准备数据。
-
处理层是模型的核心部分,它将对输入的文本数据进行一系列的分析和操作,如分词、语法分析、语义分析以及拼写检查等。这些处理步骤能帮助模型更好地理解和处理文本数据。
-
在输出层,模型将对处理后的结果进行可视化展示,可以是以图表、图形、文字等形式。这一层的主要任务是将复杂的数据处理结果以易于理解的方式呈现给用户。
尽管这个模型已经实现了高效的数据处理,但它仍有进一步发展和优化的空间。例如,可以探索如何更准确地识别和处理各种类型的文本数据,如何改进语法分析和语义理解的技术以提升模型的性能,以及如何设计和实现更有效的数据可视化方法以帮助用户更好地理解和利用模型输出的结果。这些方向的研究和发展将推动文本数据处理技术的进步,对许多领域都将产生深远的影响。
七、 总结
随着数字化时代的到来,文档图像处理技术变得越来越重要。文档图像处理通过计算机对文档图像进行分析和理解,实现自动化的信息提取和处理。文档图像处理在各行各业都有广泛应用,如自动化办公、金融和教育领域。通过自动化处理,可以提高工作效率,减少错误,并提供更快速、准确的信息检索和提取。
然而,文档图像处理面临一些技术难题。首先是不同类型文档的多样性,不同的版式和布局给分析和理解带来挑战。其次是形状的不可控性,文档可能是曲线、折叠或损坏的,导致识别和还原困难。此外,采集设备的不确定性和用户需求的多样性也增加了处理复杂度。最后,光照的不可控性也会对图像质量产生重要影响。
LayoutLM系列、UDOP、LiLT和Donut等专有模型在文档图像处理方面取得了显著的性能。此外,多模态大模型如BLIP2、Flamingo和LLaVA也在文档图像处理中取得了重要进展。
多模态大模型在处理细粒度文本方面仍存在局限性。视觉编码器的分辨率和训练数据的限制会影响其性能。此外,这些模型在处理细节文本时可能忽略了内部信息,表现不佳。
为了进一步发展文档图像处理技术,可以探索以下方向:优化文本预处理、改进分析和操作方法、提升语法分析和语义理解技术、设计更有效的数据可视化方法等。这些研究将推动文档图像处理技术的进步,并在各个领域产生深远影响。
如何学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
第一阶段(10天):初阶应用
该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。
- 大模型 AI 能干什么?
- 大模型是怎样获得「智能」的?
- 用好 AI 的核心心法
- 大模型应用业务架构
- 大模型应用技术架构
- 代码示例:向 GPT-3.5 灌入新知识
- 提示工程的意义和核心思想
- Prompt 典型构成
- 指令调优方法论
- 思维链和思维树
- Prompt 攻击和防范
- …
第二阶段(30天):高阶应用
该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。
- 为什么要做 RAG
- 搭建一个简单的 ChatPDF
- 检索的基础概念
- 什么是向量表示(Embeddings)
- 向量数据库与向量检索
- 基于向量检索的 RAG
- 搭建 RAG 系统的扩展知识
- 混合检索与 RAG-Fusion 简介
- 向量模型本地部署
- …
第三阶段(30天):模型训练
恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。
到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?
- 为什么要做 RAG
- 什么是模型
- 什么是模型训练
- 求解器 & 损失函数简介
- 小实验2:手写一个简单的神经网络并训练它
- 什么是训练/预训练/微调/轻量化微调
- Transformer结构简介
- 轻量化微调
- 实验数据集的构建
- …
第四阶段(20天):商业闭环
对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。
- 硬件选型
- 带你了解全球大模型
- 使用国产大模型服务
- 搭建 OpenAI 代理
- 热身:基于阿里云 PAI 部署 Stable Diffusion
- 在本地计算机运行大模型
- 大模型的私有化部署
- 基于 vLLM 部署大模型
- 案例:如何优雅地在阿里云私有部署开源大模型
- 部署一套开源 LLM 项目
- 内容安全
- 互联网信息服务算法备案
- …
学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。
如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。