読み方 : シーティーシー
CTC【Connectionist Temporal Classification】
概要

従来のニューラルネットワークを用いた音声認識では、入力された音声フレームの一つ一つについて、どの音素や文字に対応するかを厳密に定義した教師データが必要であった。しかし、発話の速度やタイミングは人によって異なり、音声と文字の境界を正確に一致させる作業には多大なコストがかかる。
CTCはこの課題を解決するために、特殊な空文字(ブランク)を導入し、重複するラベルを統合する仕組みを持っている。これにより、ネットワークは入力信号のどの区間がどの文字に対応するかをモデル内部で柔軟に処理できるようになり、単なる文字列の正解を与えるだけで学習が可能となった。
処理過程では、各時刻において各文字が出現する確率が出力される。出力された文字の系列から、連続して同じ文字が続く場合やブランクを挟む場合を考慮して、最終的な文字列へとデコードを行う。例えば、「he-ll-l--o」(-はブランク)といった出力は、重複排除とブランクの除去を経て「hello」という単語に集約される。入力と出力の順序性のみを維持しつつ、時間的なズレを確率的に許容する。
CTCは音声認識システムの要素技術として、リカレントニューラルネットワーク(RNN)や畳み込みニューラルネットワーク(CNN)などと組み合わせて利用される。現在では、より高度な「アテンション」(Attention:注意機構)を用いたモデルも存在するが、計算コストの低さやストリーミング処理との相性の良さから、リアルタイム性が求められる音声処理では引き続き活用されている。