最終更新日:2026年8月27日
gk speech cheatsheet
G検定トップ
> 音声認識まとめ(CTC・Encoder-Decoder・RNN・Transformer・WaveNet)【G検定対策】
まず結論
音声分野は、「認識」「対応付け」「モデル構造」「生成」を分けると整理できます。
- 音声 → 文字:音声認識(ASR)
- フレームと文字の位置合わせを学習:CTC
- 系列を別の系列へ変換:Encoder-Decoder
- 系列を処理するモデル構造:RNN / LSTM / GRU / Transformer / Conformer など
- 音声波形を生成:WaveNet
G検定では、音声に使われる技術だからといって、すべてを音声認識モデルとみなさないことが重要です。
直感的な説明
音声認識には複数の役割があります。
- 音声から特徴を取り出す
- 時間方向の関係をモデル化する
- 音声フレームと文字列の対応を扱う
- 最終的な文字列を出力する
そのため、CTCとRNNは同じ種類の用語ではありません。
- RNN / Transformer → モデル構造
- CTC → 学習・出力系列の対応付けに使う目的関数・仕組み
と切り分けます。
定義・仕組み
音声認識(ASR)
Automatic Speech Recognition は、音声を文字列へ変換するタスクです。
RNN / LSTM / GRU
系列を順に処理し、過去の情報を内部状態へ反映するモデルです。音声認識で広く使われてきましたが、音声認識がRNNに限定されるわけではありません。
現在はTransformerやConformerなども利用されます。
CTC(Connectionist Temporal Classification)
CTCは、入力系列より短いラベル系列を学習するときに、各音声フレームへ正解文字を割り当てた教師ラベルを用意しなくても学習できる仕組みです。
blank記号や重複を含む複数の対応経路をまとめて扱います。
したがって、
- ❌「アラインメントを一切扱わない」
- ⭕「フレーム単位の正解アラインメントを事前に与えなくてよい」
と整理します。
Encoder-Decoder
入力系列をEncoderで表現し、Decoderが出力系列を生成する構造です。音声認識や翻訳などの系列変換に使われます。
WaveNet
音声波形を自己回帰的にモデル化する生成モデルとして提案された手法です。
WaveNet=音声認識そのものではなく、代表的には音声生成側の用語として切り分けます。
いつ使う?(得意・不得意)
| 問題文の中心 | 疑う用語 |
|---|---|
| 音声を文字へ変換 | ASR |
| フレーム単位の正解位置なしで系列ラベルを学習 | CTC |
| 入力系列から別の系列を生成 | Encoder-Decoder |
| 内部状態で系列を順に処理 | RNN系 |
| Attention中心で系列関係を扱う | Transformer系 |
| 波形を生成 | WaveNet |
CNNもスペクトログラムなどの音声表現へ使われることがあります。「画像で有名なCNNだから音声には使わない」とは判断しません。
G検定ひっかけポイント
- ❌「音声認識の基本構造は必ずRNN」→ Transformer系などもある
- ❌「CTCはアラインメントを扱わない」→ 正解のフレーム位置を事前に与えず、可能な対応をまとめて扱う
- ❌「CNNは画像専用なので音声には使えない」→ 音声表現にも利用できる
- ❌「WaveNetが出たら音声認識」→ 代表的には音声生成
- ❌「CTCとEncoder-Decoderは同じ構造」→ 役割・仕組みが異なる
まとめ(試験直前用)
- ASR → 音声から文字
- CTC → フレーム単位の正解位置を不要にして系列対応を扱う
- RNN / Transformer等 → モデル構造
- Encoder-Decoder → 系列変換の構造
- WaveNet → 音声生成
- 用途名ではなく、何を担当する技術かで切る