2025-06-10 機械学習勉強会
今週のTOPIC[論文] SmolDocling: An ultra-compact vision-language model for end-to-end multi-modal document conversion[論文] MAIN-RAG: Multi-Agent Filtering Retrieval-Augmented Generation[slide] SSII2025 [OS1-02] 量子化手法の概要とエッジ開発における課題[Slide] SSII2025 [TS1] 光学・物理原理に基づく深層画像生成[blog] SelfCheckGPT for LLM Evaluation[blog] RAG is dead, long live agentic retrieval[論文] EDINET-Bench: Evaluating LLMs on Complex Financial Tasks using Japanese Financial StatementsメインTOPIC概要関連研究アプローチ手法の全体像一段階目:ページレベルのレイアウト解析二段階目:要素レベルのコンテンツ解析要素画像のエンコーディング並列コンテンツ解析学習データ評価ページレベル評価要素レベル評価実験実験概要ページレベル解析の比較
今週のTOPIC
@Naoto Shimakoshi
@Shun Ito
@Yosuke Yoshida
@Takumi Iida (frkake)
@Hiromu Nakamura (pon)
@ShibuiYusuke
メインTOPIC
| Title | Dolphin: Document Image Parsing via Heterogeneous Anchor Prompting |
|---|---|
| Authors | Hao Feng∗, Shu Wei∗, Xiang Fei*, Wei Shi∗†, Yingdong Han, Lei Liao, Jinghui Lu, Binghong Wu, Qi Liu, Chunhui Lin, Jingqun Tang, Hao Liu, Can Huang† |
| Notes | ∗The first four authors contributed equally to this work. †Corresponding author |
| Organization | ByteDance |
| Publication | Accepted to ACL 2025 |
| Code | https://github.com/ByteDance/Dolphin |
概要
文書画像の解析は、テキストの段落、図、数式、表などの要素が複雑に絡み合っており難しいものです。
これまでのアプローチの課題に対応すべく、新しいマルチモーダル文書画像パースモデル「Dolphin(Document Image Parsing via Heterogeneous Anchor Prompting:異種アンカープロンプトによる文書画像解析)」を開発しました。
Dolphinは2段階のプロセスを採用し、まずレイアウト要素を生成し、次にそれらを異種アンカーとして活用して並列コンテンツ解析を行います。
3,000万以上のサンプルで訓練されたDolphinは、軽量なアーキテクチャと並列処理により、ページレベルと要素レベルの両方で最先端の性能を達成しています。

領収書サンプルで動作させると以下のとおり。

JSON出力結果全体
関連研究
従来の手法には2系統:
- 統合型(integration-based):複数の専門OCRモデルを連携させて解析
- 例:Mathpix, TextIn, MinerU
- 高精度だが、モデル間の統合が複雑で非効率
- VLMベースの自己回帰型(autoregressive):文書全体を直接エンドツーエンドで生成
- 例:
- General VLMs: GPT-4V, Claude-series, Gemini-series, Qwen VL-seriesなど
- 汎用性は高いが、長文・複雑レイアウトに弱く、遅い
- Expert VMLs: GOT, Donut, LayoutLM-seriesなど
- こちらも高い性能ははっきしているものの General VLMs と似たような課題を抱えています。
アプローチ

手法の全体像
analyze-then-parse と呼ぶ2段階解析を行います。
- レイアウト解析(上図・左上)
- 入力:ページ画像
- 出力:テキスト段落・図・表などの要素群 + 読み順
- 手法:Swin Transformer + mBART decoder で読み順に沿って要素を抽出
- コンテンツ解析(上図・左下)
- 各要素ごとに専用プロンプトを作って並列に認識
一段階目:ページレベルのレイアウト解析
この段階では、文書中のレイアウト要素とその読み順を以下の手順で特定することを目的とします。
ページ画像のエンコーディング
視覚エンコーダとして Swin Transformer(Liuら, 2021)を使用します。これはページ画像 を入力として受け取り、視覚的な埋め込みベクトルの列 を出力します(ここで、 は埋め込み次元、 は画像パッチ数です)。
Swin Transformer:
Transformerを computer vision に適用する際、対象のスケールが大きく変化することなどの課題に対応するために提案された、Shifted windowsで計算される階層的Transformer。

Swin Transformer の階層的な設計により、全体のレイアウトパターンと局所的なテキストの詳細の両方を捉えることができます。なお、入力画像は縦横比を保持したままサイズ変更とパディングが行われ、最終的に固定サイズ に調整されます。これはテキストの歪みを防ぐためです。
レイアウトシーケンスの生成
レイアウト解析プロンプト をガイドとして用い、デコーダはクロスアテンション機構(Vaswaniら, 2017)を通じてエンコードされた視覚特徴に注目します。デコーダには mBART(Lewis, 2019)を採用しています。
mBART:
機械翻訳のために作られた、MultilingualなBART
プロンプト を入力とすることで、モデルは文書内の要素を順に特定し、構造的関係(例:図とキャプションの対応、表とその説明、セクションタイトルと段落の階層構造)を保持しながら配列します。
図2に示すように、この過程でモデルはレイアウト要素の列 を生成します。各要素 にはそのタイプ(例:図、キャプション、表、段落など)とバウンディングボックスが含まれます。この構造化されたレイアウトのシーケンスは、次の段階である「要素レベルのコンテンツ解析」においてアンカー(基準点)として機能します。
二段階目:要素レベルのコンテンツ解析
第1段階で解析されたレイアウト要素をアンカー(基準)として用い、各要素を並列に解析します。

要素画像のエンコーディング
第1段階で特定された各レイアウト要素 に対して、その該当領域を元の画像から切り出してローカルビュー を作成します。これらのローカルビューは、同じ Swin Transformer を用いて並列にエンコードされ、各要素に固有の視覚特徴を抽出します。
並列コンテンツ解析
エンコードされた要素の視覚特徴に対して、タイプ別のプロンプトを用いて解析を実行します。
図2(右)に示されているように:
- 表には専用のプロンプト を用いて、HTML形式での解析を行います。
- 数式は、文中に出現することが多く、その多くが段落文の一部として扱われるため、段落用プロンプト を流用して処理されます(出力形式はLaTeX)。
視覚特徴 と対応するプロンプト を受け取り、デコーダがそれぞれの要素の内容を並列に生成します。この並列処理戦略と要素タイプに応じたプロンプト設計の組み合わせにより、高い計算効率と正確なコンテンツ認識の両立を実現しています。
学習データ
| ソース | 粒度 | サンプル数 | タスクタイプ |
|---|---|---|---|
| 混合文書 | ページ | 12万 | レイアウト解析(読み順付き) |
| HTML | ページ | 437万 | パース(要素抽出) |
| LaTeX | ページ | 50万 | パース(数式など) |
| Markdown | ページ | 71万 | パース(段落・表) |
| テーブル | 要素 | 157万 | テーブル構造解析 |
| 数式 | 要素 | 2,300万 | 数式解析(LaTeX) |
| 合計 | - | 3,027万 | - |
- 混合文書
- 試験問題、教科書、新聞、ビジネス文書など多様な資料から収集された文書画像で構成されています。各文書には、要素の境界ボックスと読み順のアノテーションが付与されており、レイアウト解析と順序予測の両方の学習に利用されます。
- HTML由来のデータ
- Wikipedia(英語・中国語)をHTMLソースとして利用し、レンダリングを通じて合成文書画像を生成。 タグを使った文字単位のアノテーションを施し、フォントをランダムに変えることで視覚的多様性も確保しています。
- LaTeX
- arXivから収集したLaTeX文書をLaTeX Rainbowというレンダリングツールを使って可視化し、数式・図・表・見出しなどを色分け表示。その結果から要素のタイプ、構造階層、空間的位置を抽出します。
- Markdown
- GitHubページなどから収集したMarkdown文書をPandocでPDFに変換し、 を使ってソースMarkdownとの整合を取りながらアノテーションを生成。段落・表・数式の構造情報を正確に取得しています。
- テーブル
- PubTabNet(Zhong et al., 2020):HTML形式の表、56.8万件
- PubTab1M(Smock et al., 2022):より細かい構造を含む表、100万件
- 数式
- arXivから抽出したLaTeX形式の数式をXeTeXで画像レンダリングし、背景やフォントの多様性を持たせた合成画像を生成。行内・単独・複数行数式を含んでいます。
評価
ページレベルと要素レベルの両方で評価。
ページレベル評価
- (a) Fox-Page
- Fox-Pageは、英語(112ページ)と中国語(100ページ)から構成されるバイリンガルベンチマークです。
- 単一カラムと複数カラムの形式が含まれ、1ページあたり平均1,000語以上を含むため、読み順の予測とテキスト構造理解において高い難易度を持つテストセットです。
- (b) Dolphin-Page
- Dolphin-Pageは、本研究で新たに構築された複雑な構造を持つ文書用のベンチマークです。
- 英語と中国語を含む210ページで構成されており、内訳は:
- 111ページ:純粋なテキスト文書(例:レポート、手紙)
- 99ページ:表、図、数式などを混在させた複雑なレイアウト
- すべてのページには、自然な読み順に従った精密な手動アノテーションが付与されています。
要素レベル評価
- (a) テキスト段落
- テキスト認識能力の評価として、2つのテストセットを使用:
- Fox-Page公式のブロックレベルテストセット(424の段落画像)
- Dolphin-Pageから抽出した1,856段落
- 評価
- 読み順の予測を含まず、純粋な文字認識精度に焦点を当てた評価
- (b) 数式
- 数式認識は以下の3つのベンチマークで評価:
- SPE(簡単な印刷数式, 6,762件)
- SCE(スクリーンキャプチャ数式, 4,742件)
- CPE(複雑な数式, 5,921件)
- 評価指標:CDM(Character Difference Metric)
→ 予測と正解の文字レベル編集距離を測定(数式の認識誤差を精密に捉える)
- (c) テーブル
- 使用ベンチマーク:
- PubTabNet(科学論文から抽出された7,904件の表画像)
- PubTab1M(10,000件のより困難な表)
- 評価指標:TEDS(Tree-Edit-Distance-based Similarity)
- HTML構造で表現された表の予測結果と正解との構造的一致度を測定
実験
実験概要
- エンコーダには、ウィンドウサイズ7のSwin Transformerを使用し、以下のような階層構成を持ちます
- エンコーダ層数:[2, 2, 14, 2]
- アテンションヘッド数:[4, 8, 16, 32]
- デコーダには10層のTransformerを使用し、隠れ層の次元数は1024です。
- 訓練には以下を使用しています:
- 最適化手法:AdamW
- 初期学習率:5e-5(コサイン減衰スケジュール)
- GPU環境:A100 × 40枚
- バッチサイズ:1デバイスあたり16(勾配累積あり)
- 学習エポック数:2
- 入力画像の前処理
ページレベル解析の比較

- ベンチマーク:Fox-Page(英語・中国語)、Dolphin-Page(複雑文書)
- Dolphin(わずか322Mパラメータ)は、より大規模なVLM(例:GPT-4o, Claude3.5)や専門モデル(GOT, Foxなど)を凌駕
- 特に複雑文書である Dolphin-Page において、編集距離0.1028という最高成績を達成
