【DL輪読会】DeepSeek-OCR: Contexts Optical Compression

107 Views

November 06, 25

スライド概要

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

ダウンロード

関連スライド

各ページのテキスト
1.

DEEP LEARNING JP [DL Papers] DeepSeek-OCR: Contexts Optical Compression 2025/11/6 Presenter: Daichi Sato http://deeplearning.jp/ 1

2.

書誌情報 • タイトル:DeepSeek-OCR: Contexts Optical Compression • 著者:Haoran Wei, Yaofeng Sun, Yukun Li • TL;DR:長いテキストを画像としてVLMに入力することでテキスト圧縮ができるというアイデ ア(Context Optical Compression)から発展して、高精度なOCRモデル(DeepSeek-OCR) を開発した • リンク: • Arxiv: https://www.arxiv.org/abs/2510.18234 • HuggingFace: https://huggingface.co/deepseek-ai/DeepSeek-OCR • Github: https://github.com/deepseek-ai/DeepSeek-OCR ※ 出典記載がない画像は本論文から引用 2

3.

目次 1. 導入 2. 先行研究 3. 手法 4. 評価 5. 考察 6. まとめ 3

4.

導入 VLMのアーキテクチャ • LLMにVison EncoderとProjectorを繋げることで、 LLMに画像を入力可能にしたもの • 入力画像はVision EncoderとProjectorを通して、 text tokenと同一空間にencodeされる • 一方テキストはそのままLLMに入力可能 https://www.nvidia.com/ja-jp/glossary/vision-language-models/ 4

5.

導入 • 長いテキストをテキストとしてVLMに入力すると トークン数がかなり長くなってしまう • Transformerは計算量がO(n2)なので長いテキスト が入力されると計算量の増大が目立ってくるとい う課題がある • 一方、長いテキストが書かれた画像をVLMに入力す ると、より短いimage tokenに変換可能 • 実際、ChatGPTのようなVLMは文書画像関連の タスクを問題なく解くことができている → テキストを画像に書き起こして画像として入力すれ ば、テキスト情報の入力トークン数を大幅に減らせる のでは? → Optical Compression(光学的圧縮)の提案 https://www.nvidia.com/ja-jp/glossary/vision-language-models/ 5

6.

導入 本論文の内容:Optical Compression(光学的圧縮)の検証 =テキストを画像に書き起こしたものを入力としてそれを圧縮し、そこから元のテキストに復元でき るかを検証すればいい =「それってOCRのことでは?」 従って、本論文は単なるOCRのモデルの提案ではなく、VLMをOptical Compressionするモデルとみ なした結果OCRモデルが出来上がった、という流れになっている DeepSeek-OCRの大まかなアーキテクチャ自体は一般的なVLMと変わらないが、「テキストを画像 として入力する方がトークン効率がいいのでは?」というOptical Compressionという考え方を提案 している 6

7.

導入:本論文の貢献 1. Optical Compressionの精度検証 • テキストトークンをx倍圧縮すると、テキストの復元精度(=OCRの精度)がy%でしたとい う検証 2. DeepEncoderの提案 • DeepSeek-OCRのVision Encoderにあたるアーキテクチャの提案 3. DeepSeek-OCRの開発 7

8.

先行研究 VLMのVision Encoderは以下3種類のアーキテクチャに大別される タイプ①:高解像度でencode+低解像度でencode タイプ②:画像をタイル化してそれぞれencode タイプ③:解像度に応じて動的にうまくtoken数を変化させて画像全体をencode 8

9.

手法:DeepSeek-OCRのアーキテクチャ • DeepEncoderという名のVision EncoderとDeepSeekを繋げたもの • DeepEncoder:SAMとConv層とCLIPを直列に繋げたもの • SAM:Metaが開発した有名なzero-shotセグメンテーションモデル • CLIP:OpenAIが開発した有名なzero-shot画像分類モデル 9

10.

手法:DeepEncoder Context Optical Compressionの検証をするためには、以下5つの条件を満たすVision Encoderが必要 1. 2. 3. 4. 5. 高解像度処理が可能 高解像度での低活性化 少ないビジョントークン 複数解像度入力のサポート 適度なパラメータ数 しかし、既存のVision Encoderには、これら5条件を満たすものがなかったため、 DeepEncoderというVision Encoderを新たに開発した 10

11.

手法:DeepEncoderの処理の流れ DeepEncoderの処理の流れをざっくりと追うと… 1. 画像をパッチサイズ16でパッチ化 2. n個のパッチをSAMに入力 3. 次にConv層でパッチ(=vision token)数を16分の1に減らす 4. 最後にCLIPを使ってGlobal Attention 11

12.

手法:DeepEncoderの処理の流れの詳細 パッチ数=Vision Token数 高解像度入力画像 SAMの Image Encoder 𝐻×𝑊×3 16x16 pixelで パッチ化 • • 各パッチを 16x16→1x1に圧縮 SAM baseの パッチサイズが16 𝐻 𝑊 × × 𝑑 64 64 𝐻 𝑊 × × 1024 64 64 𝐻 𝑊 × 16 16 × 256 CLIPの Image Encoder Conv • • さらに画像サイズを 小さくする チャンネル数をCLIP に合わせる意図もあ りそう • • • CLIPには既にパッチ埋め込み済み のものが入力されるので、この CLIPはパッチ埋め込み部分を削除 されたものを使用 CLIPの出力は[CLS]のみではなく画 像全体を使用するのでtoken数は CLIP前後で不変 Global Attentionと解釈できる 12

13.

手法:複数解像度への対応 • Optical Compressionの検証をするためには、Vision Token数を変化させたときのOCR精度を評 価したい 𝐻 𝑊 • Vision Token数は入力画像サイズ HとWによって 64 × 64 で決まる → 様々な画像解像度を入力可能にしたいため、以下6種類の画像解像度に対応できるようにした • Native Resolution:処理時の画像サイズが1つに固定 • Dynamic Resolution:2通りの解像度で並列処理するイメージ(先行研究のタイプ①) 13

14.

手法:学習データ 大きく分けて以下3種類から成る学習データを構築 1. OCRデータ(70%):伝統的なOCRから高度な画像解析までカバー 2. 一般的なVision系データ(20%):キャプション生成、物体検出、グラウンディングなど 3. テキストのみデータ(10%) データカテゴリ 内容 データ規模 OCR 1.0 (伝統的OCR) 文書OCR: 約100言語のPDF文書 3000万ページ 自然画像OCR: 風景や看板などの画像 2000万枚 グラフ: グラフ画像をHTMLテーブル形式に変換 1000万枚 化学式: 化学構造式をSMILES形式に変換 500万ペア 幾何学図形: 図形を座標データとして解析 100万ペア OCR 2.0 (高度な解析) OCRデータの内訳 14

15.

手法:学習 学習の流れ 1. LLM部分はfreezeして、 DeepEncoderを学習 2. DeepSeek-OCR全体を学習 15

16.

評価:Optical Compressionの検証 実験手順 1. Foxベンチマークから、 1ページあたり600~1300トークンのテキストが書かれた文書画像を 100ページを抽出 2. 各ページに対して、 DeepSeek-OCRでOCRを実施 • ただし、単にテキストの復元精度を評価したいため、「Free OCR.」というプロンプトを用 い、bboxの座標は出力しないし評価しない • Text token数が600〜1300であるため、それよりvision token数が大幅に少ない以下2モデル で検証 • Naive Resolution Tiny(Vision Tokens=64) • Naive resolution Small(Vision Tokens=100) 3. OCRの精度を算出し、Vision Tokenへの圧縮率と合わせて評価 16

17.

評価:Optical Compressionの検証 実験結果 • 10倍の圧縮率以内ではOCR精度は97%以上 =Optical Compressionにより、ほぼ精度劣化なしにtoken効率を10倍に高められる • 圧縮率が10倍を超えるとOCR精度が低下し始める • 理由1:長文書のレイアウトが複雑になるから • 理由2:512x512や640x640の解像度では小さい文字がぼやけてしまう 17

18.

評価:OCRタスクの評価 • OmniDocbenchで英語と中国語でOCR性能を 評価 • 多数のベンチマークでsotaを達成 • vision token数が同程度のモデル間で比較す ると、DeepSeek-OCRの方が精度が良い =DeepSeek-OCRはOCRモデルの中でも token効率が良い 18

19.

評価:定性評価 DeepSeek-OCRはVLMとしてさまざまなタスクを解くことも可能 19

20.

評価:定性評価 DeepSeek-OCRはVLMとしてさまざまなタスクを解くことも可能 20

21.

評価:定性評価 DeepSeek-OCRはVLMとしてさまざまなタスクを解くことも可能 21

22.

評価:定性評価 DeepSeek-OCRはVLMとしてさまざまなタスクを解くことも可能 22

23.

評価:定性評価 DeepSeek-OCRはVLMとしてさまざまなタスクを解くことも可能 ただし、伝統的なOCRタスク(OCR 1.0)以外のタスクは定量評価がなされていないことに注意 23

24.

考察 本論文は、Context Optical Compressionの初期的な検証として位置付け • 活用例:複数ターンの会話において、kラウンドを超える対話履歴はOptical Compressionをする • Optical Compression時の画像サイズを段階的に小さくすることで、人間の記憶減衰を 擬似的に再現することも可能なのでは • ただし本論文は初期段階の研究なので引き続き研究が必要 補足:DeepSeek-OCRのGitHubに、同様の手法の先行研究が複数あることを指摘する Issueが上がっている 24

25.

まとめ • 長いテキストを画像としてVLMに入力することでtoken効率を高める手法(Optical Compression)について検証 • DeepEncoderというVision Encoderを用いたOCRモデル DeepSeek-OCRを開発 • ほぼ精度劣化なしにtext tokenを10倍圧縮可能であることが示唆された 25