HOW AI LISTENS

AIは、を文字にする

音声認識(ASR)は、音声生成の逆再生です。 マイクに届いた波形を「特徴の地図」に変え、フレームごとに音を当て、 重複と空白をたたんで文字列にし、最後は文脈で直す—— CTC方式のASR(wav2vec2などが採用する仕組み)が聞き取る内部を、実際に音を鳴らし、実際に計算しながら5ステップで体感します。 🔊 音が出ます。音量にご注意ください。

はじめる ↓
SCROLL
STEP 01

音を、受け取るINPUT WAVEFORM

音声生成では、波形は最後に出てくる「出口」でした。 認識では、同じ波形がいちばん最初の「入口」になります。 AIが受け取るのは意味でも文字でもなく、1秒間に約44,100個の数値の列——ただの波。 ここから「こんにちは」という文字列にたどり着くまでが、この章の旅です。

INCOMING AUDIO — 聞き取る音声を選んで入力する

STEP 02

波を、特徴の地図にするMEL SPECTROGRAM

モデルは生の波形を直接読みません。まず「どの高さの成分が、いつ、どれだけ強いか」の地図= メルスペクトログラムに変換します。 Whisperの入口もここ——波形を時間×周波数の1枚の画像にしてから、ニューラルネットに渡します。 生成編で「音を絵にした」のと、まったく同じ絵です。

WAVEFORM → SPECTROGRAM — 入力音を特徴に変換する

STEP 03

フレームごとに、音を当てるACOUSTIC MODEL

音響モデルは、スペクトログラムを短いフレーム(約20〜30ミリ秒)ずつに区切り、 各フレームで「これはどの文字らしいか」の確率を出します。 下のヒートマップはフォルマントの近さから実際に計算したもの。 縦=文字の候補、横=時間。各列でいちばん明るいマスが「その瞬間の答え」です。

FRAME EMISSIONS — 文字候補 × 時間フレーム(実計算)

STEP 04

重複と空白を、たたむCTC ALIGNMENT

フレーム数と文字数は一致しません(「は〜」は何フレームでも1文字)。 このズレを吸収する仕組みがCTC。ルールはたった2つ: ①連続する同じ文字は1つにまとめる ②␣(ブランク)を消す。 STEP 03で出た生の系列を、実際にこの2ルールで畳んでみましょう。

COLLAPSE — 生フレーム系列を文字列にたたむ

STEP 05

文脈で、直すLANGUAGE MODEL RESCORING

音だけでは決められないことがあります——同音異義語です。 「きしゃ」は貴社・記者・汽車・帰社のどれ? 音はまったく同じ。 そこでCTC方式のASRは、候補となる文字列を言語モデル(文章の続きを予測する力)スコアの付け直し(リスコアリング)をして、文脈に合う方を選び直します。 スライダーで「言語の力」を強めてみてください。

HOMOPHONE RESCORING — 音は同じ、文脈で決める(実計算)

聞こえた音: きしゃ の きしゃ が きしゃ で きしゃ した

音響だけ 言語も使う

RECAP

5つのステップ、ふりかえり

STEP 01入力波形AIが受け取るのは意味でなく、数値の波。ここが入口。
STEP 02スペクトログラム波形を時間×周波数の「特徴の地図」に変換。
STEP 03音響モデルフレームごとに文字の確率を出す(+ブランク)。
STEP 04CTC重複をまとめ、␣を消して文字列にたたむ。
STEP 05言語モデル音で決まらない同音異義語を、文脈で選び直す。
SERIES

音声認識音声生成の逆再生でした。 「作る」と「聞く」——道具箱は、ぜんぶつながっています。

音声生成編へ →