目次
CNN / RNN / Transformer の簡単な解説
1. CNN(畳み込みニューラルネットワーク)
CNNは、画像データに適用されることが多いが、音声データのスペクトログラムにも適用可能なニューラルネットワークである。
畳み込み層(Convolution Layer)を用いて、データの局所的な特徴を捉え、時間的な関係は考慮せずに分類を行う。
音声データへの適用
- スペクトログラムを入力として扱い、音のパターンを捉えて分類する。
- CNNを適用することで特徴を学習し、「yes」「no」などの単語分類に活用できる。
メリット
- パラメータ数が少なく計算コストが低い。
- 空間的な特徴を捉えやすい(特定の周波数帯に特徴がある音)。
- 高速に学習可能。
デメリット
- 時系列の関係を考慮しないため、文脈のある音声データの処理には不向き。
2. RNN / LSTM(リカレントニューラルネットワーク)
RNNは、時系列データ(シーケンスデータ)を処理するためのニューラルネットワークである。
前の状態を保持しながら処理を行うことで時系列の関係を考慮し、LSTMはRNNの改良版として、長期的な依存関係を学習可能にした。
音声データへの適用
- 音声信号を直接扱う場合や、MFCC / スペクトログラムを時系列データとして扱う場合に使用される。
- 連続した発話の特徴を学習するのに適している。
メリット
- 時系列データ(音声、言語)に強い。
- 音の連続性(文脈)を考慮できる。
デメリット
- 学習が遅く、勾配消失問題が発生しやすい。
- 計算コストが高い。
3. Transformer(Self-Attention モデル)
Transformerとは
自己注意機構(Self-Attention)を利用して、入力データの全体的な関係を学習するニューラルネットワークである。
自然言語処理(NLP)で成功した手法だが、音声データにも適用可能である。最近ほとんどこれらしい。
音声データへの適用
- Wav2Vec2 や Whisper などの最新音声認識モデルで使用されている。
- CNNと組み合わせて、スペクトログラムをエンコードし、音声分類に利用される。
メリット
- 高精度な分類が可能。
- 長い時系列データも処理できる。
- RNNのような勾配消失の問題が少ない。
デメリット
- 計算コストが高く、大量のデータとGPUが必要。
- 学習データが少ないと過学習しやすい。