Skip to main content
QUICK REVIEW

[論文レビュー] CTCModel: a Keras Model for Connectionist Temporal Classification

Yann Soullard, Cyprien Ruffino|arXiv (Cornell University)|Jan 23, 2019
Time Series Analysis and Forecasting参考文献 11被引用数 8
ひとこと要約

本論文では、変動長のシーケンスモデリングタスクにおけるエンドツーエンド学習および推論を可能にする、Keras互換のモデル拡張である CTCModel を紹介する。Connectionist Temporal Classification (CTC) を使用し、TensorFlow の CTC 実装を Keras に統合するための、学習、予測、評価の3つの専用 Keras モデルを提供し、言語モデルを用いない状態で RIMES フランス語手書き文字認識データセットで 7.6% の文字誤り率を達成した。

ABSTRACT

We report an extension of a Keras Model, called CTCModel, to perform the Connectionist Temporal Classification (CTC) in a transparent way. Combined with Recurrent Neural Networks, the Connectionist Temporal Classification is the reference method for dealing with unsegmented input sequences, i.e. with data that are a couple of observation and label sequences where each label is related to a subset of observation frames. CTCModel makes use of the CTC implementation in the Tensorflow backend for training and predicting sequences of labels using Keras. It consists of three branches made of Keras models: one for training, computing the CTC loss function; one for predicting, providing sequences of labels; and one for evaluating that returns standard metrics for analyzing sequences of predictions.

研究の動機と目的

  • Keras が可変長シーケンスモデリングのためのネイティブな CTC 損失サポートを欠いているという問題に対処すること。
  • 音声や手書き文字など、セグメンテーションされていない順序データに対する RNN のシームレスな学習と推論を可能にすること。
  • 標準メトリクスを備えた、CTC 学習、予測、評価のための統一的で Keras ネイティブなインターフェースを提供すること。
  • Keras が CTC 損失関数のシーケンス長を追加パラメータとして必要とするという制限を克服すること。
  • 関数型 Keras API 内で TensorFlow の CTC バックエンドを効率的に使用して、効率的な学習とデコードを可能にすること。

提案手法

  • CTCModel は、学習用に CTC 損失を備えたモデル、予測用に CTC デコードを備えたモデル、標準メトリクスを用いた評価用のモデルの3つの別々の Keras モデルをカプセル化する Keras Model クラスの拡張である。
  • CTC 損失とデコードの効率的計算には、動的プログラミングによる Forward-Backward アルゴリズムを活用した TensorFlow の組み込み CTC 実装を使用する。
  • 観測シーケンス、ラベルシーケンス、およびそれらの長さを追加入力として含むことで、可変長シーケンスを処理する。
  • CTC デコードに必要な追加の「ブランク」ラベルユニットを備えた、標準的な RNN アーキテクチャに、双方向 LSTM 層とソフトマックス出力層を採用する。
  • 入力画像をスライディングウインドウで処理することで、固定サイズのシーケンス入力を生成するため、再帰的および畳み込み-再帰的アーキテクチャの両方をサポートする。
  • 入力構造に長さとダミーのラベルを追加することで、標準 Keras のメソッド(fit、evaluate、predict)を用いた学習と評価を可能にする。

実験結果

リサーチクエスチョン

  • RQ1CTC 損失関数がシーケンス長パラメータを必要とするという点を考慮すると、Keras フレームワークに効果的に CTC 損失を統合する方法は何か?
  • RQ2CTC ベースのシーケンスモデリングのための、学習、予測、評価を統合的にサポートする Keras モデルインターフェースを設計できるか?
  • RQ3言語モデルを用いない状態で、CTCModel は実世界の手書き文字認識タスクにおいてどの程度の性能向上を達成できるか?
  • RQ4CTCModel アーキテクチャは、可変長シーケンスデータ上で、さまざまな RNN および CNN-RNN の構成に対してどのようにスケーリングするか?
  • RQ5生の TensorFlow CTC 実装と比較して、CTCModel はエンドツーエンドのシーケンスモデリングの実装をどの程度簡素化するか?

主な発見

  • 100ユニットの双方向 RNN を用いた CTC 学習により、RIMES テストセットで 12.2% の文字誤り率(CER)を達成した。
  • 200ユニットの双方向 RNN モデルは、容量を向上させることで性能が向上し、テスト CER を 10.6% まで低下させた。
  • 畳み込み-RNN アーキテクチャ(conv8 RNN)は、最低のテスト CER 7.6% を達成し、畳み込みによる特徴抽出がシーケンスモデリングを向上させることを示した。
  • 最初の2つの畳み込み層に 32 フィルタ、最終層に 256 フィルタを設定したモデルは、RIMES データセットで訓練 CER がたった 0.1% にまで低下した。
  • CTCModel フレームワークは、標準 Keras のメソッド(評価メトリクスとしてラベル誤り率やシーケンス誤り率を含む)を用いて、エンドツーエンドの学習と推論を成功裏に実現した。
  • フレームワークは、純粋な RNN とハイブリッド CNN-RNN アーキテクチャの両方をサポートしており、さまざまなシーケンスモデリングタスクに柔軟性を示した。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。