IN2OUT

学んだインプットをアウトプットするために始めました.誰かの力になれれば嬉しいです.

【#16 論文解説】Recognition of Japanese historical text lines with Attention

f:id:bonjiri_3939:20200921174603p:plain
こんにちは,ohashiです.

今回はAttentionを使った文字列認識をご紹介します.

画像処理に自然言語を組み込んだモデルに興味がある方はぜひ!

目的

こんな人向け

  • 社内で扱ったことのない分野の技術調査を始めたい.
  • ゼミでの論文紹介の前に論文がどんな技術か把握したい.
  • githubのコードを触る前に論文の要点を把握したい.
  • そもそも論文を読むことが苦手.

こんな人向けではない

  • 論文内の数式を完璧に追って理解したい.(要は何がしたいのかの説明を優先します.)
  • 著者または他者実装の追試結果,実装ノウハウを知りたい.(githubをご参照下さい.)

論文

 今回は,DenseNetとLSTMを使った文字列認識手法をご紹介します.前回の記事でご紹介した一括文字列認識手法とは異なり,文字列を切り出してきた文字列画像を入力として,DenseNetで特徴表現に変換し,そこに書かれている文字列をLSTMで生成する,といった手法になります.

Recognition of Japanese historical text lines by an attention-based encoder-decoder and text generation [HIP, 2019]

Authors: Anh Duc Le, Daichi Mochihashi, Katsuya Masuda, Hideki Mima, Nam Tuan Ly

Publication: HIP '19: Proceedings of the 5th International Workshop on Historical Document Imaging and Processing, September 2019, Pages 37–41

 

できるようになったこと

文字の区切り位置の予測から文字種の認識までを一括した学習

 従来の文字列認識手法は,文字列画像を入力として,まずは文字の区切り位置を予測する学習を行った後に,区切った文字列の各文字の文字種を学習により予測する,といった手法でした.提案手法は,文字の区切り位置の予測と,文字種の予測をLSTMで一気に学習する戦略を取っています.これにより,学習を1段階で実現しています.1段階の学習にまとめることにより,2段階の学習と比較して,1段階目の区切り位置で発生してしまった予測ミスから連鎖して起こる2段階目の文字種の予測ミスを解消しました.

 文字列を出力するまでは,入力画像をDenseNetで高次元の特徴量を保持しておいて,それをLSTMのDecoder部分に渡しています.文字列認識の課題の一つに,区切り位置を誤ることにより,文字数を誤ってしまうことで精度低下に大きな影響を及ぼしてしまう点が挙げられます.この対策として,著者らはDenseNetにAttention機構を組み込み,次の文字を生成する際にはどこを見れば良いのかを学習させながら文字列を生成しています.ここでのAttention機構とは,特徴マップと同じサイズの0.0~1.0で重みを付けるマスクを生成して,元の特徴マップに加重和する操作のことです.これは,特徴表現の適切な位置に重みを付けることももちろんですが,文字数を揃えることを狙って組み込まれた機構だと考えられます.これにより,従来の区切り位置の誤りによる文字列の誤認識を明示的ではないですが,考慮した文字列認識手法を提案しています.

※今回のAttention機構とは異なりますが,Attention機構に関して詳しく確認したい方はこちらの記事をご覧ください.Attention機構についてなるべくかみ砕いて説明しております.

 

ohashi39.work

 

低頻出文字に対するデータ拡張

 スライドp.11にあるように,2639種類の文字種が1種10枚以下しかない低頻度文字です.400文枚以上ある文字種が320種であることから,クラスが不均衡であるデータセットであることが分かります.クラスが不均衡ということは,識別器は偏ったクラスに予測をし続ければ,あるいは,識別に迷ったら多いクラスの方に予測すれば正解識別になる可能性が高くなります.従って,本当はその文字種の特徴を適切に捉えることができていなくても,(直感的な説明ですが)勘で正解してしまうことがあり,これは未知のデータに対する識別性能が著しく低くなると考えられます.

 これに対して,著者らは低頻出文字だけを切り取り,別の行画像の末尾に連結し,低頻出文字の頻度を増やしてから,一般的なデータ拡張を実施することで,通常のデータ拡張よりも多くの低頻出文字を生成しています.今回は6万5千文字のデータを拡張しています.最終的に,学習データ約60万文字,検証データ約7万文字,テストデータ約7万文字で学習と評価を行っています.

 

まだできないこと

低頻出文字へのより強力な対応

 スライドp.15では,文字列認識で一般的に使用される編集距離を使った文字列認識率が77.48%であったと報告しています.(論文では文字誤り率が22.52%と記載.)本論文の目的は歴史的文書の保存であると述べていますが,そのためにはこの文字誤り率では実用化にはまだまだ壁があると感じました.低頻出文字のデータを大量に増やすことが,精度改善のための一番の対策ですが,データは中々集めることができないことが実世界における文字認識課題の現状です.従って,低頻出文字の学習を促進させる手法を適用することが,精度改善のための現実的な対策であると考えられます.

 

所感

 今回は画像処理と自然言語処理を組み合わせた文字列認識手法についてご紹介しました.画像処理と自然言語処理を組み合わせることで,理論上は簡単に文字列を生成することができるいるように感じました.しかし,実際はデータセットの構成が非常にシビアになることが多いため,クラスの不均衡問題に対応するための対策を持っておくことは必須ではないか,と感じました.次回は文字列認識からは少し離れて,情景内文字認識についてご紹介します.

ohashi

 

f:id:bonjiri_3939:20200818220918p:plain

おはし

 2019年入社,深層学習を扱う部署に配属.大学院では動画から脈波を抽出する研究に従事.動画像の理解,人間の魅力の解析,人間の自律神経や生体信号に興味関心.深層学習だと自然言語処理の実用化に興味関心.

 同じ研究分野の人間が利害問わず協力して研究動向を追って,初学者の方に自分が勉強した教材を利用してもらって,研究のコミュニティが広がると嬉しいですよね.AIはとっつきにくい分野ではないことを知ってほしいです.むしろ社会にも実装され始めている現在は,みんなでAIが今できることとできないことを把握して,知恵を絞って面白いアイデアをどんどん出して実現していく段階だと思います.そういった時代に向けて,情報共有の一助になれば幸いです.

ご連絡はお問い合わせフォームからお願い致します.

 

ohashi39.work