最終更新日:2026年9月24日
gk speech neural_network
G検定トップ
> CTCとは?フレーム単位の正解位置なしで系列を学ぶ【G検定】
まず結論
CTC(Connectionist Temporal Classification)は、入力系列と出力ラベル系列のフレーム単位の正解位置合わせを事前に与えなくても学習できる目的関数・仕組みです。
音声認識では、長い音声フレーム列から短い文字列を学習する代表的方法です。
直感的な説明
「CAT」という文字列を出したいとき、音声の何フレーム目がC・A・Tに対応するかを人手で指定するのは大変です。
CTCでは、blankや同じラベルの繰り返しを含む複数の経路を考え、それらをまとめて正解文字列の確率として扱います。
定義・仕組み
CTCでは出力系列にblankという特別な記号を追加します。
たとえば C - - A A - T のような経路から、
- 連続する同じラベルをまとめる
- blankを除く
ことでCATを得ます。
同じCATへ対応する複数経路の確率を合計し、その確率を高めるよう学習します。
単調な対応
標準的なCTCでは、入力と出力の順序が入れ替わらない単調なアラインメントを前提とします。
いつ使う?(得意・不得意)
CTCは、
- 音声認識
- 手書き文字認識
- 時系列ラベリング
などに使われます。
出力順序を大きく並べ替えるタスクには、その前提が合わない場合があります。
G検定ひっかけポイント
CTC=モデル構造?
❌ RNNやTransformerのようなネットワークそのもの
⭕ 系列対応を扱う目的関数・学習方式
アラインメント
❌ 位置合わせを一切考えない
⭕ 正解フレーム位置を与えず、複数アラインメントをまとめて扱う
blank
❌ 空白文字そのもの
⭕ CTC専用の特別なラベル
まとめ(試験直前用)
- CTC=Connectionist Temporal Classification
- フレーム単位の正解位置が不要
- blankを使う
- 複数アラインメントをまとめて扱う
- 単調な系列対応
- RNN / Transformerとは役割が違う