読み方 : シーティーシー

CTC【Connectionist Temporal Classification】

概要

CTCとは、入力信号と出力ラベルの長さが異なる時系列データを、事前の位置合わせなしに学習させるための損失関数およびアルゴリズム。主に音声認識や手書き文字認識など、時系列データを対象としたタスクで用いられている。
CTCのイメージ画像

従来のニューラルネットワークを用いた音声認識では、入力された音声フレームの一つ一つについて、どの音素や文字に対応するかを厳密に定義した教師データが必要であった。しかし、発話の速度やタイミングは人によって異なり、音声と文字の境界を正確に一致させる作業には多大なコストがかかる。

CTCはこの課題を解決するために、特殊な空文字(ブランク)を導入し、重複するラベルを統合する仕組みを持っている。これにより、ネットワークは入力信号のどの区間がどの文字に対応するかをモデル内部で柔軟に処理できるようになり、単なる文字列の正解を与えるだけで学習が可能となった。

処理過程では、各時刻において各文字が出現する確率が出力される。出力された文字の系列から、連続して同じ文字が続く場合やブランクを挟む場合を考慮して、最終的な文字列へとデコードを行う。例えば、「he-ll-l--o」(-はブランク)といった出力は、重複排除とブランクの除去を経て「hello」という単語に集約される。入力と出力の順序性のみを維持しつつ、時間的なズレを確率的に許容する。

CTCは音声認識システムの要素技術として、リカレントニューラルネットワークRNN)や畳み込みニューラルネットワークCNN)などと組み合わせて利用される。現在では、より高度な「アテンション」(Attention注意機構)を用いたモデルも存在するが、計算コストの低さやストリーミング処理との相性の良さから、リアルタイム性が求められる音声処理では引き続き活用されている。

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。