{"notes":[{"id":"text-recognition/vocabulary-reliance","category":"text-recognition","legacyPath":"","legacySlug":"","legacyPaths":[],"title":"Vocabulary Reliance","subtitle":"単語暗記の副作用","author":"Z. Yuan","paperDate":"2020-05-08","publishedOn":"2026-03-26","paperTitle":"On Vocabulary Reliance in Scene Text Recognition","paperUrl":"https://arxiv.org/abs/2005.03959","bibliography":{"title":"On Vocabulary Reliance in Scene Text Recognition","authors":["Zhaoyi Wan","Jielei Zhang","Liang Zhang","Jiebo Luo","Cong Yao"],"url":"https://arxiv.org/abs/2005.03959","pdfUrl":"https://arxiv.org/pdf/2005.03959v1","codeUrl":null,"preprint":{"id":"2005.03959","submittedOn":"2020-05-08","url":"https://arxiv.org/abs/2005.03959"},"publication":{"venue":"CVPR","year":2020,"kind":"conference","url":"https://openaccess.thecvf.com/content_CVPR_2020/html/Wan_On_Vocabulary_Reliance_in_Scene_Text_Recognition_CVPR_2020_paper.html"},"citation":"@misc{textrecognitionvocabularyreliance2020,\n  title = {{On Vocabulary Reliance in Scene Text Recognition}},\n  author = {Zhaoyi Wan and Jielei Zhang and Liang Zhang and Jiebo Luo and Cong Yao},\n  year = {2020},\n  eprint = {2005.03959},\n  archivePrefix = {arXiv},\n  url = {https://arxiv.org/abs/2005.03959}\n}\n","citationPath":"/content/papers/citations/text-recognition/vocabulary-reliance.5acdb6f80bed.bib"},"thumbnail":{"src":"/content/papers/assets/566d359ce201c95044d8eb677291acf879055af5097aafccc62b096bb2e720ff.png","width":633,"height":233},"locale":"ja","path":"/content/papers/ja/text-recognition/vocabulary-reliance.b2cbb4ef6360.md","headings":[{"id":"問題の定義","text":"問題の定義","depth":2},{"id":"問題の解決","text":"問題の解決","depth":2},{"id":"4つの段階に分ける","text":"4つの段階に分ける","depth":3},{"id":"語彙を制御できる3つの学習データ","text":"語彙を制御できる3つの学習データ","depth":3},{"id":"4つの指標","text":"4つの指標","depth":3},{"id":"考察","text":"考察","depth":2},{"id":"ランダムな文字列を混ぜると語彙への依存が減る","text":"ランダムな文字列を混ぜると、語彙への依存が減る","depth":3},{"id":"3種類の予測層","text":"3種類の予測層","depth":3},{"id":"文脈モジュールは予測層と結びついている","text":"文脈モジュールは予測層と結びついている","depth":3},{"id":"2つのモデルに互いに学ばせる","text":"2つのモデルに互いに学ばせる","depth":3},{"id":"この論文を読むときの注意点","text":"この論文を読むときの注意点","depth":3},{"id":"結論","text":"結論","depth":2}],"anchorAliases":{},"guide":null,"relatedReading":[{"id":"text-recognition/wwwstr","relation":"referenced","topic":""}]},{"id":"text-recognition/wwwstr","category":"text-recognition","legacyPath":"text-recognition/1904-wwwstr","legacySlug":"1904-wwwstr","legacyPaths":[],"title":"WWWSTR","subtitle":"データセットとモデルの分析","author":"Z. Yuan","paperDate":"2019-04-03","publishedOn":"2024-10-10","paperTitle":"What Is Wrong With Scene Text Recognition Model Comparisons? Dataset and Model Analysis","paperUrl":"https://arxiv.org/abs/1904.01906","bibliography":{"title":"What Is Wrong With Scene Text Recognition Model Comparisons? Dataset and Model Analysis","authors":["Jeonghun Baek","Geewook Kim","Junyeop Lee","Sungrae Park","Dongyoon Han","Sangdoo Yun","Seong Joon Oh","Hwalsuk Lee"],"url":"https://arxiv.org/abs/1904.01906","pdfUrl":"https://arxiv.org/pdf/1904.01906","codeUrl":null,"preprint":{"id":"1904.01906","submittedOn":"2019-04-03","url":"https://arxiv.org/abs/1904.01906"},"publication":{"venue":"ICCV","year":2019,"kind":"conference","url":"https://arxiv.org/abs/1904.01906"},"citation":"@misc{textrecognitionwwwstr2019,\n  title = {{What Is Wrong With Scene Text Recognition Model Comparisons? Dataset and Model Analysis}},\n  author = {Jeonghun Baek and Geewook Kim and Junyeop Lee and Sungrae Park and Dongyoon Han and Sangdoo Yun and Seong Joon Oh and Hwalsuk Lee},\n  year = {2019},\n  eprint = {1904.01906},\n  archivePrefix = {arXiv},\n  url = {https://arxiv.org/abs/1904.01906}\n}\n","citationPath":"/content/papers/citations/text-recognition/wwwstr.4537315eda97.bib"},"thumbnail":{"src":"/content/papers/assets/3c14afb4e2ad3bd5c433008345218e2aa4c6c6157b4ef4c546eb632039e4c6a7.jpg","width":1980,"height":220},"locale":"ja","path":"/content/papers/ja/text-recognition/wwwstr.5d0163a420d7.md","headings":[{"id":"データセット分析","text":"データセット分析","depth":2},{"id":"訓練データセット","text":"訓練データセット","depth":3},{"id":"テストデータセット","text":"テストデータセット","depth":3},{"id":"バージョン差異","text":"バージョン差異","depth":3},{"id":"アーキテクチャ分析","text":"アーキテクチャ分析","depth":2},{"id":"変換段階","text":"変換段階","depth":3},{"id":"特徴抽出段階","text":"特徴抽出段階","depth":3},{"id":"シーケンスモデリング段階","text":"シーケンスモデリング段階","depth":3},{"id":"予測段階","text":"予測段階","depth":3},{"id":"実験設定","text":"実験設定","depth":2},{"id":"討論","text":"討論","depth":2},{"id":"精度-時間トレードオフ分析","text":"精度-時間トレードオフ分析","depth":3},{"id":"精度-メモリトレードオフ分析","text":"精度-メモリトレードオフ分析","depth":3},{"id":"モジュール分析","text":"モジュール分析","depth":3},{"id":"失敗ケース分析","text":"失敗ケース分析","depth":3},{"id":"結論","text":"結論","depth":2}],"anchorAliases":{},"guide":null,"relatedReading":[{"id":"text-recognition/yatr","relation":"next","topic":"文字認識の学習データと汎化"}]}],"text":"シーンテキスト認識の点数は、2010年代後半に急上昇しました。論文の冒頭に例があります。IIIT-5kの辞書なし設定で、正解率がごく短期間に78.2%から96.0%へ上がったのです。\n\nこれほど点数が高いなら、モデルは本当に文字をはっきり見ているのでしょうか。\n\n曠視科技（Megvii）、中国鉱業大学、ロチェスター大学によるこの論文は、最も強いモデルほど「学習時に見た単語」をとても正確に読む一方、「見たことのない単語」はかなり苦手になることを見つけました。しかもその差は、画像の品質とは関係がありません。著者らはこの現象を**語彙依存**（vocabulary reliance）と呼びます。\n\n論文はCVPR 2020で発表され、本稿はarXiv v1に基づきます。\n\n## 問題の定義\n\n[![4枚のシーンテキスト画像と認識結果：左のぼやけたBEAUTYとeverydayは正しく読まれ、右のはっきりしたUNIVERSITIはUNIVERSITYに、QINGYUANLUはAINGYUANLUに読まれる。誤った文字は赤で示す](/content/papers/assets/566d359ce201c95044d8eb677291acf879055af5097aafccc62b096bb2e720ff.png)](/content/papers/assets/566d359ce201c95044d8eb677291acf879055af5097aafccc62b096bb2e720ff.png)\n\n*原論文Figure 1。[**v1 PDFの1ページ**](https://arxiv.org/pdf/2005.03959v1#page=1)から抜粋。左側は語彙内の単語、右側は語彙外の単語で、赤字が認識の誤りです。*\n\nまず、この4枚を見てください。左の2枚はかなりぼやけていて、BEAUTYの右半分はほとんど見えませんが、モデルは正しく読みました。右の2枚はずっと鮮明なのに、モデルは読み誤っています。看板のUNIVERSITIはUNIVERSITYに、道路標識のQINGYUANLUはAINGYUANLUになりました。\n\n図に使われているのは、当時最も成績の良かった認識器の一つ、ASTERです。著者らの解釈では、その再帰的な記憶の仕組みは諸刃の剣です。見たことのある単語なら、画像が傷んでいても読み取れます。見たことのない単語は、画像が鮮明でも読み誤ることがあります。\n\nこれは個別の例なのか、一般的な現象なのか。著者らは同じResNet-50バックボーンとSynthTextの学習データで、代表的な手法を4つ再現しました。そしてIIIT-5kのテスト画像を、単語が語彙に含まれるかどうかで2群に分けました。\n\n| 手法 | 全体 | 語彙内 | 語彙外 |\n| --- | ---: | ---: | ---: |\n| CRNN | 86.8 | 91.1 | 68.7 |\n| FAN | 89.9 | 93.1 | 75.3 |\n| CA-FCN | 89.3 | 91.6 | 76.3 |\n| ASTER | 89.2 | 92.9 | 74.6 |\n\n*表：原論文Table 1。IIIT-5kの正解率（%）。*\n\n4つの手法はいずれも、語彙外で15〜22ポイントほど下がりました。著者らの結論は、**語彙依存は広く存在し、違うのは程度だけ**というものです。\n\n## 問題の解決\n\n「程度の違い」を比べるには、まず要因を切り分けられる実験の枠組みが必要です。\n\n### 4つの段階に分ける\n\n著者らは[What Is Wrong With Scene Text Recognition Model Comparisons?](https://arxiv.org/abs/1904.01906)の分け方を踏襲し、認識モデルを4段階に分けます。**画像変換**（TRAN）、**特徴抽出**（FEAT）、**文脈モデリング**（CNTX）、**予測**（PRED）です。\n\n語彙依存に最も関係するのは後半の2段なので、前半の2段はすべて固定します。画像変換は行わず、バックボーンはすべてResNet-50です。後半の2段は、3種類の予測層と3種類の文脈モジュールを組み合わせられます。\n\n- **予測層**：\n  - **注意デコーダー**（Atten.）：1文字ずつ順に出力し、各ステップで、すでに出力した文字を参照します。\n  - **CTC**：特徴の各列がそれぞれ1文字を出力し、その後、重複をまとめて空白を削除します。\n  - **セグメンテーション型**（Seg.）：文字ごとにセグメンテーションを行い、セグメンテーションマップから文字と位置を見つけます。CA-FCNに似た方式です。\n- **文脈モジュール**：\n  - なし（None）。\n  - **双方向LSTM**（BLSTM）：特徴系列を左から右へ、右から左へ、それぞれ1回走査します。\n  - **ピラミッドプーリング**（PPM）：特徴マップを何種類かの大きさにプーリングし、元のサイズに拡大してつなぎ合わせ、さまざまな範囲の大域情報を補います。セグメンテーション型はBLSTMと両立しないので、PPMを使います。\n\n\n> [!TIP]\n> \n> この4段階の分け方と、それによって異なるモデルを公平に比べられる仕組みについては、こちらのノートを参照してください。\n> \n> - **[[19.04] WWWSTR：データセットとモデルの分析](/blog/papers/text-recognition/wwwstr)**\n\n\n### 語彙を制御できる3つの学習データ\n\nSynthTextの語彙は大きなテキストコーパスから取られた数万語で、語彙の影響が見えません。そこで著者らは、自分たちで合成したデータを使います。\n\nIC13、IC15、SVT、SVTP、CUTEの5つのテストセットの正解を集め、重複のない3,172語を「語彙」とします。IIIT-5kは収集に加えず、単語がこの語彙に含まれるかどうかで、IIIT-I（1,354枚）とIIIT-O（1,646枚）に分けます。\n\n次にSynthTextの合成エンジンで、それぞれ約700万枚の学習データを3つ作ります。\n\n- **LexiconSynth（LS）**：単語はすべて、この3,172語の語彙から取ります。\n- **RandomSynth（RS）**：ランダムな文字からなる偽の単語です。長さの分布はLSと同じで、英字、数字、句読点の比はおよそ6:3:1です。\n- **MixedSynth（MS）**：LSとRSを比率$r$で混ぜたもので、既定値は$r=0.5$です。\n\nどの単語も、すべて大文字、すべて小文字、先頭だけ大文字の3通りにレンダリングし、10%の確率で句読点を加えます。\n\n### 4つの指標\n\nこの3つのデータがあれば、モデルの異なる能力を別々に測れます。\n\n- **OA**（Observation Ability、観察能力）：RSで学習し、すべてのテスト画像で測った正解率。覚えられる語彙がないので、点数はすべて見る力にかかっています。\n- **VA**（Vocabulary Learning Ability、語彙学習能力）：LSで学習し、語彙内の5つのテストセットで測った正解率。\n- **VG**（Vocabulary Generalization、語彙汎化）：LSで学習したときのIIIT-IとIIIT-Oの差から、RSで学習したときの差を差し引いたもの。\n- **HM**：3つの調和平均で、総合点として使います。\n\nVGの設計は巧みなので、一度計算してみる価値があります。IIIT-IとIIIT-Oの2群は、画像そのものの難しさが違うかもしれず、その差は語彙とは関係ありません。RSで学習したモデルは本物の単語を一つも見ていないので、その2群の間の差を、画像そのものの難しさの差とみなせます。\n\n$$\nVG=1-\\big(\\mathrm{Gap}(LS)-\\mathrm{Gap}(RS)\\big)\n$$\n\n文脈モジュールのない注意モデルで計算してみます。Table 3では、LSで学習したときのIIIT-IとIIIT-Oは、それぞれ93.7%と61.0%で、差は32.7ポイントです。RSで学習したときの差は9.8です。代入すると$1-(0.327-0.098)=0.771$となり、Table 5の77.1になります。\n\n同じく文脈モジュールのないCTCでは、2つの差は18.0と10.3です。$1-(0.180-0.103)\\approx0.923$で、汎化はずっと良好です。\n\n## 考察\n\n### ランダムな文字列を混ぜると、語彙への依存が減る\n\n著者らはまず、データの効果を確かめました。RSを一定の比率でLSに混ぜると、文脈モジュールのない注意モデルのIIIT-5kでの正解率は、77.8%から84.4%に上がりました。比率が0.5前後になると、それ以上は上がりません。Figure 4からも、RSを混ぜた後は、モデルが「答えを語彙内の単語にしてしまう」確率が下がることがわかります。\n\nただし、語彙を完全になくすこともできません。認識に役立つ語彙の知識を学ぶには、モデルに十分な割合の実在の単語が必要だと著者らは考えています。\n\n### 3種類の予測層\n\n| 番号 | 予測層 | 文脈 | VA | VG | OA | HM |\n| --- | --- | --- | ---: | ---: | ---: | ---: |\n| ① | Atten. | None | 85.7 | 77.1 | 69.6 | 76.9 |\n| ③ | Atten. | BLSTM | 87.0 | 79.1 | 69.8 | 78.0 |\n| ④ | CTC | None | 77.8 | 92.4 | 65.8 | 77.1 |\n| ⑥ | CTC | BLSTM | 79.9 | 90.2 | 67.6 | 78.1 |\n| ⑦ | Seg. | None | 79.7 | 97.3 | 69.9 | 80.8 |\n\n*表：原論文Table 5から抜粋。HMは、同じ行のVA、VG、OAから計算し直して確認できます。*\n\n表からは、三つのことが読み取れます。\n\n1. **注意デコーダーが最も単語を覚える**。VAが最も高く、VGが最も低い値です。各ステップで前に出力した文字を入力にするので、語彙が自然に学習されます。\n2. **セグメンテーション型が最もよく汎化する**。VGは97.3で、観察能力も注意デコーダーとほぼ同じです。\n3. **CTCはどちらでも目立たない**。著者らによれば、その性能はおおむねほかの2種類に包含され、観察能力も最も低いとのことです。\n\n### 文脈モジュールは予測層と結びついている\n\n文脈モジュールを加えるかどうかの効果は、何と組み合わせるかで決まります。\n\n注意デコーダーはもともと語彙を学習するので、文脈モジュールを加えても大きくは変わりません。CTCでは事情が違います。PPMを加えるとVAは77.8から84.8に上がり、BLSTMを加えても上がります（79.9）。同時に、VGは92.4から89.5と90.2に下がります。著者らの説明では、CTCのデコードはもともと文脈モデリングを欠いており、前段のモジュールがそれを補うと同時に、語彙依存も持ち込んでいます。\n\n著者らの提言はこうです。VAとVGの間にはトレードオフがあります。注意デコーダーにBLSTMを組み合わせる構成は、テストの語彙がおおむね学習範囲に収まる用途に向いています。見たことのない語を大量に読む必要があるなら、CA-FCNのようなセグメンテーション型のアーキテクチャを選びます。\n\n### 2つのモデルに互いに学ばせる\n\n最後に著者らは、注意デコーダーの語彙能力と、セグメンテーション型の汎化能力を組み合わせる学習方法を提案します。\n\n方法は、知識蒸留とdeep mutual learningを参考にしています。2つのモデルを一から一緒に学習させ、それぞれの損失に加えてKLダイバージェンスの項を足し、両者の出力分布を互いに近づけます。セグメンテーション型モデルは視覚特徴への依存が強いので、その予測は注意デコーダーにとって、一種の追加の視覚的な正則化のように働きます。\n\n効果はかなりはっきりしています。注意デコーダーのVGは77.1%から93.6%に、HMは76.9から82.6に上がりました。LSで学習したときの語彙内外の差は、32.7ポイントからほぼ半分の16.9ポイントに縮まりました。\n\n### この論文を読むときの注意点\n\n1. **学習データはすべて合成**。LSの語彙は3,172語だけで、実際の用途よりずっと小さく、語彙の効果を拡大して見るためのものです。一般的なモデルの誤り率へ、そのまま換算はできません。\n2. **モデルは2020年のもの**。その後の認識器の多くは、より大きな事前学習済み言語モデルを使っています。論文のグループごとの結論は、検証し直す必要があります。\n3. **実画像のランダム文字列テストセットがない**。著者らも、ランダムな文字列の評価そのものを指標にできると述べています。しかし当時は、実画像の複雑さを持ちながら、内容が純粋にランダムなラベルである標準データがなかったため、採り入れていません。\n4. **表に小さな矛盾がある**。Table 6が同じモデル群について示すVAは、Table 5と異なります（たとえば①は83.2と85.7）。本文の「PPMでCTCのVAが10.5%向上」も、Table 5の数字と合いません。Table 5のHMはVA、VG、OAから計算し直せるので、本稿はTable 5に従います。\n\n## 結論\n\nこの論文は、多くの人がうすうす感じていながら、誰も測っていなかった問題を測ってみせました。\n\n1. **語彙依存は広く存在する**。4つの代表的な手法はいずれも、見たことのない単語で15〜22ポイントほど下がります。\n2. **依存の程度は予測層が決める**。注意デコーダーは最もよく覚え、最も汎化しにくい。セグメンテーション型は最もよく汎化します。\n3. **文脈モジュールは語彙を持ち込む**。CTCでは特に顕著です。\n4. **ランダムな文字列を混ぜるか、互いに学ばせれば、依存を減らせる**。しかも、正解率をあまり犠牲にせずに済みます。\n\n論文で最も役立つのは、ランダムな文字列で画像の難しさを差し引く、あの指標です。6年後、認識器はページ全体を生成する視覚言語モデルに替わりました。2026年には、文書の内容をランダムな文字に置き換えて測った研究が、同じことを見つけています。ただし、規模はずっと大きくなっていました。\n","imageSizes":{"/content/papers/assets/566d359ce201c95044d8eb677291acf879055af5097aafccc62b096bb2e720ff.png":{"width":633,"height":233}}}
