Nougat学习小结

发布网友 发布时间:2024-10-24 00:51

我来回答

1个回答

热心网友 时间:2024-11-02 14:55

项目地址: github.com/facebookrese...

论文地址: Nougat: Neural Optical Understanding for Academic Documents

背景

近期,MetaAI推出了一项新的技术突破,提出了一种全新的端到端的OCR模型。该模型采用自回归方法,能够在给定图片后输出相应的Markdown标记。该模型不仅能够实现版面分析、文本检测、文本识别、公式识别等功能,而且整体架构采用了“编码器-解码器”(encoder-decoder)模式。以下,本文将从论文、源码、测试三个方面对Nougat进行深度学习与理解,共同探讨Nougat的实现过程。

方法大意

1.1 模型架构

该模型采用了常规的“编码器-解码器”(encoder-decoder)架构,具体如下:

编码器(Encoder):

解码器(Decoder):

从上述描述中可以看出,Nougat的encoder与decoder都采用了较大的transformer架构,整体pipeline的参数量达到了350M。

1.2 数据工程

Nougat将OCR问题定义为:[公式]

其核心关键在于如何以低成本的方式构造(图片,对应的markdown)pair。对于我而言,这是这篇文章最有价值、最值得借鉴学习的地方。

1.2.1 数据源

目前,并没有大规模的pdf图片与对应markdown标记pair的数据集。Nougat从arXiv、PMC (PubMed Central)、IDL(Industry Documents Library)三个来源构建数据集。其中,PMC与IDL的数据由于语义信息不充足,仅用于预训练阶段,以使模型具备基础的ocr能力。而arXiv数据有tex源码,能获取所有需要的语义信息,用于预训练和微调阶段。

1.2.2 图文对构建pipeline

1.2.2.1 思路介绍

图文对构造的整体pipeline如上图所示。从arXiv拿到的Tex源码出发,获取全篇文章的markdown标记,与pdf每页的图片与文本进行对应。

1.2.2.2 markdown 划分

代码位置:nougat/nougat/dataset/split_md_to_pages/split_markdown

1.2.2.2.1 预处理

预处理1:去除PDF中的图片表格

由于图片表格在PDF的位置和tex源码的位置可能有所差异,作者采取的办法是先用pdffigures2工具将PDF的图片和表格移除。当划分完markdown后再在markdown的末尾加入移除的信息。

1.2.2.2.2 markdown page 划分

叙述核心逻辑,详细细节见源码

2 小结

Nougat描绘了一个愿景,即以端到端的方式实现过去繁琐的数据加工pipeline。然而,从目前尝试来看,该方法并不适用于实际场景。单纯从架构来看,主要有以下几点缺陷:

或许在未来,以上问题将不再是问题。

Reference

[1] Ali Furkan Biten, Rubén Tito, Lluis Gomez, Ernest Valveny, and Dimosthenis Karatzas. OCR-IDL: OCR Annotations for Industry Document Library Dataset, February 2022.

[2] Liu, Ze, et al. "Swin transformer: Hierarchical vision transformer using shifted windows." Proceedings of the IEEE/CVF international conference on computer vision. 2021.

[3] Liu, Yinhan, et al. "Multilingual denoising pre-training for neural machine translation." Transactions of the Association for Computational Linguistics 8 (2020): 726-742.
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com