whisperとは?
Whisperは汎用音声認識モデルです。多様なオーディオの大規模なデータセットで訓練されており、マルチタスクモデルでもあり、多言語音声認識、音声翻訳、言語識別などの機能を実行できます。ChatGPTで有名なOpenAIがMITライセンスの下にオープンソースとして公開しています。
「Whisperアーキテクチャは、エンコーダーデコーダーTransformerとして実装されたシンプルなエンドツーエンドのアプローチです。入力オーディオは30秒のチャンクに分割され、対数メルスペクトログラムに変換され、それからエンコーダーに渡されます。デコーダーは、特殊トークンと組み合わされた対応するテキストキャプションを予測するようにトレーニングされ、この特殊トークンは、単一モデルが言語識別、フレーズレベルのタイムスタンプ、多言語音声の転記、および英語への音声翻訳などのタスクを実行するように導きます。
他の既存のアプローチは、より小規模で、より密にペアされた音声テキストのトレーニングデータセットを使用したり、広範囲ながら非監視の音声事前トレーニングを使用したりすることが一般的です。Whisperは大規模で多様なデータセットでトレーニングされ、特定のものに微調整されていないため、音声認識における有名な競争ベンチマークであるLibriSpeechのパフォーマンスに特化したモデルを上回ることはありません。ただし、Whisperのゼロショット性能を多様なデータセットで測定すると、他のモデルよりもはるかに堅牢であり、50%少ないエラーを発生させることがわかります。
Whisperの音声データセットの約3分の1は非英語であり、元の言語での転記または英語への翻訳のタスクを交互に与えられます。このアプローチは、特に音声からテキストへの翻訳を学習するのに効果的であり、CoVoST2からの英語への翻訳のゼロショットで、監視付きのSOTAを上回ります。」
(出典:https://openai.com/research/whisper)
エンコーダーデコーダーTransformerとは?
エンコーダーデコーダーTransformerは、自然言語処理や音声処理などの機械学習タスクに使用されるニューラルネットワークのアーキテクチャです。このアーキテクチャは、Transformerとも呼ばれます。
Transformerは、2017年にGoogleによって提案され、その後、自然言語処理の分野で大きな影響を与えました。通常、言語の文や音声のデータを扱う際に使用されます。
Transformerは、従来のリカレントニューラルネットワーク(RNN)や長・短期記憶(LSTM)、ゲート付きリカレントユニット(GRU)などのモデルと比較して、長期的な依存関係を処理する能力が高く、並列処理が可能であるため、大規模なデータセットや高速な学習を実現します。
エンコーダーデコーダーTransformerの構造は、主に2つの部分で構成されます:
- エンコーダー(Encoder): 入力データ(例: 文章の単語の系列や音声のフレーム)をベクトル表現に変換する部分です。エンコーダーは、入力データを受け取り、それを抽象的な表現にエンコードします。
- デコーダー(Decoder): エンコーダーでエンコードされた情報を基に、目標とする出力(例: 翻訳された文章や音声)を生成する部分です。デコーダーは、エンコーダーからの情報と目標とする出力の一部を受け取り、それを元に出力を生成します。
このようなエンコーダーデコーダーTransformerのアーキテクチャは、機械翻訳、テキスト要約、質問応答、音声認識などの多くの自然言語処理タスクで広く使用されています。
対数メルスペクトログラムとは?
対数メルスペクトログラムは、音声信号を周波数と時間の二次元グラフで表現したもので、主に音声処理や音声認識の分野で使用されます。以下に対数メルスペクトログラムの概要を説明します。
- メル尺度(Mel Scale):
メル尺度は、人間の聴覚に基づいた周波数の感覚的な変化を表現します。通常の周波数スケールでは、音の高さが等間隔であると仮定されていますが、実際には人間の耳は非線形的に周波数を感じ取ります。メル尺度はこの感覚的な周波数の変化をより正確に反映します。 - スペクトログラム(Spectrogram):
スペクトログラムは、音声信号の時間と周波数における強度を示すグラフです。時間が横軸に、周波数が縦軸になり、色や明るさで強度を表現します。通常のスペクトログラムでは、周波数は線形スケールで表示されます。 - 対数メルスペクトログラム(Log Mel Spectrogram):
対数メルスペクトログラムは、スペクトログラムに対して以下の変換を行ったものです。
- メル尺度に基づいて周波数軸を変換し、周波数軸のスケールをメル尺度に合わせます。
- 周波数のビン(バンド)ごとの強度を計算します。
- 強度に対数を取ります。これは、音声のダイナミックレンジを広げる効果があります。 対数メルスペクトログラムは、音声の特徴をより適切に捉え、音声処理のタスクに適した表現を提供します。例えば、音声認識システムでは、音声を対数メルスペクトログラムに変換して、単語やフレーズの特徴を抽出しやすくします。
アプローチ
(出典:https://github.com/openai/whisper/tree/main?tab=readme-ov-file)