導入 自動音声認識 (「ASR」) の分野に少しでも足を踏み入れたことがあるなら、Meta AI Research の に出会ったことがある可能性が高いです。優れた技術リソースがいくつかあり、その中でも特に 自体は、機械学習 (「ML」) モデルがどのように機能するかを説明しています。また、Meta AI Research チームの Web サイトには、 掲載されています。 wav2vec 2.0 (「wav2vec2」) オリジナルの wav2vec2 論文 wav2vec2 の優れた概要が 学術論文の概要がわかりやすく記載されており、この記事の wav2vec2 モデルの図はそのページから引用されているため、ぜひご覧になることをお勧めします。上記のことを念頭に置くと、wav2vec2 を「わかりやすい英語」で説明する記事はあまりないようです。この記事ではまさにそれをやろうとしています。 この記事は、読者が ML の基本概念をいくつか理解していること、および「雑草」にあまり深く入り込むことなく、高レベルで wav2vec2 がどのように動作するかを理解することに興味があることを前提としています。 したがって、後続のセクションでは、必要に応じて簡単な説明や有用な例えを優先して、多くの技術的な詳細を避けようとします。 そうは言っても、 wav2vec2 が 3 つの主要なコンポーネント ( 、 、および で構成されていることを早い段階で知っておくと役立ちます。 Feature Encoder Quantization Module Transformer ) それぞれについては、いくつかの基本的なアイデアから議論を開始し、より複雑な (ただし、理解しやすい) ポイントを積み上げていく過程で説明されます。 wav2vec2 は ASR 以外の目的にも使用できることに注意してください。 そうは言っても、ここでの以下の内容では、ASR 固有のコンテキストでモデルについて説明します。 優しい概要 2020 年に導入された時点では、wav2vec2 は ASR システムを構築するための新しいフレームワークを提供していました。何がそんなに特別だったのでしょうか? wav2vec2 より前は、ASR システムは通常、 使用してトレーニングされました。つまり、以前のモデルは、 例に関連する文字起こしが含まれる音声オーディオの多くの例でトレーニングされました。この考え方を説明するために、次の波形を考えてみましょう。 ラベル付きデータを 各 この波形が何を表しているのかは、見ただけでは完全にはわかりません。しかし、この音声を生成した話者が「hello world」という言葉を言ったと言われれば、おそらく、波形のどの部分がそれを表すテキストに対応するかについてある程度の賢明な推測ができるでしょう。 あなたは、波形の最初のセグメントが「こんにちは」という単語に関連付けられていると正確に推測するかもしれません。同様に、ASR モデルは、話された音声波形セグメントと書かれたテキストの間の関連付けを行う方法を学習できます。 しかし、wav2vec2 の元の研究者が論文で指摘しているように、 「[多くの]音声認識システムでは、許容可能なパフォーマンスに達するまでに数千時間の音声の文字起こしが必要ですが、世界中で話されている約 7,000 言語の大部分では利用できません。」 そこで、wav2vec2 の研究者らは、システムをトレーニングするために「何千時間もの音声の文字起こし」を必要としない新しいモデルを発明しました。これらは人間の役に立つ例えを引用しています。つまり、赤ちゃんは単語を聞いてすぐにその単語のテキスト表現を見ることで話すことを学ぶ 。 のではありません 彼らは、周囲の人々(例えば、両親、兄弟など)の話を聞くことによってスピーチの 学びます。 wav2vec2 は同様の方法で学習します。つまり、最初に によって学習します。 表象を 聞くこと もちろん、これをどのように達成するかが、この記事の議論のポイントです。 wav2vec2 は大まかに ように設計されていることに留意してください。 2 つのことを達成する どの音声単位にラベルのないオーディオのサンプルを与える必要があるかを学びます。 正しい音声単位を予測します。 現時点では、これらの点の意味を完全に理解する必要はありません。以下に説明します。今は頭の片隅に置いておいてください。 スピーチユニットの学習 たとえば、英語話者の数について、音声サンプルの巨大なデータセットがあると想像してください。 の正式な背景がなくても、英語は単語や文などを形成するために「つながって」一連の基本的な音を使用して発声されることを直感的に理解できるかもしれません。 音声学 もちろん、あなたが英語話者であれば、このように話そうとは考えず、言いたいことはほぼ自動的に発声されます。しかし、重要なのは、英語の話し言葉、そして実際にはあらゆる話し言葉は、より基本的な個別の音に分解できるということです。 何らかの方法で ASR モデルを誘導してこれらの基本的な音を「抽出」できれば、それらを使用して話し言葉の音声サンプルを ようになります。これは、wav2vec2 が音声データの によって行うことです。 エンコードできる 事前トレーニング この文脈における事前トレーニングとは、特定のオーディオ データのセットに対して基本的なサウンドがどうあるべきかを 限り、モデルのトレーニングの最初の部分が ことを意味します。 明示的に「指示」されない 自己監視される もう少し掘り下げると、システムは多数の音声のみの例を「供給」され、それらの例から一連の を学習できます。 基本的な音声単位 したがって、すべての音声例は、これらの音声単位の何らかの組み合わせで事実上構成されています。話し言葉のオーディオ サンプルを一連の に分割するのと同じ方法です。 音素 重要なのは、wav2vec2 が学習する基本的な音声単位は音素よりも短く、長さが 25 ミリ秒であることです。 この時点で生じる疑問は、wav2vec2 がオーディオのみからこれらの音声単位をどのように学習するのかということです。 音声単位を学習するプロセスは、Feature Encoder から始まります。 wav2vec2 は 「多層畳み込みニューラル ネットワークを介して音声をエンコードします。」 畳み込みニューラル ネットワーク (CNN) は、特徴を事前に明示的に識別しなくても、特定の入力から特徴を学習できるようにするモデルです。 CNN の 入力から特徴を抽出するものと考えることができ、上位の層に進むにつれてそれらの特徴はますます複雑になります。 各層は 音声データの場合、CNN の最初の層が音声情報の を検査し、原始的な音などの低レベルの特徴を抽出することを想像するかもしれません。 ウィンドウ 同じ CNN 内の後の層は、前の層で抽出された低レベルの特徴を利用して、音素に近似した音などの高レベルの特徴をエンコードします。 このアイデアに従って、wav2vec2 は、各オーディオ サンプルのタイム スライスを特徴エンコーダーに渡し、各スライスの を生成することによって し始めることができます。 潜在表現 、「ラベルのないオーディオのサンプルをどの音声単位に与えるべきかを学習」 ただし、潜在表現の集合は個別の音声単位を表すものではありません。これらの表現は何らかの方法で離散化する必要があります。これは、特徴エンコーダの出力を に渡すことによって実現されます。 量子化モジュール 事実上、 特徴エンコーダーによって生成されたさまざまな音声表現をすべて取得し、それらを音声単位の有限セットに削減します。この時点で、wav2vec2 を単一の言語で事前トレーニングする必要があるのか、それともさまざまな言語で事前トレーニングする必要があるのかを尋ねる価値はあります。 量子化モジュールは、 ロジックによれば、多くの言語で使用できる ASR システムを設計する場合、単一の言語ではなく複数の言語を表す音声単位をキャプチャする方が有用である可能性が高くなります。 そのために、選択した多言語オーディオ サンプルを使用して wav2vec2 を事前トレーニングすることで、モデルが実際に複数の言語をキャプチャする音声単位を生成できるようになります。 wav2vec2 の研究者らは 彼らの最初の調査結果 、「一部の言語では、[音声] データさえも制限されている」ため、このアプローチの背後にある価値に注目しました。 では、「一部の単位は特定の言語でのみ使用され、他の単位は類似した言語で使用され、場合によってはあまり類似していない言語でも使用される」ことが判明しました。 音声単位の予測 音声単位のインベントリは、話し言葉のオーディオ サンプルをエンコードできるようにするための最初のステップです。しかし、私たちが本当に達成したいのは、これらのユニットが互いにどのように関係するかについて wav2vec2 をトレーニングすることです。 言い換えれば、同じ でどのような音声単位が互いに出現する可能性があるかを理解したいのです。 wav2vec2 は、Transformer レイヤーを介してこのタスクに取り組みます。 文脈 Transformer により、基本的に wav2vec2 は統計的な意味で音声単位がさまざまな音声サンプル間でどのように分散されているかを学習できるようになります。この理解により、事前トレーニング後にモデルが「認識」するオーディオ サンプルのエンコードが容易になります。 微調整 最終的に、ASR システムは、これまで「見たことのない」特定のオーディオ シーケンスのテキスト トランスクリプションを生成できる必要があります。上記の手順で事前トレーニングした後、wav2vec2 はこの目的のために ます。今回は、モデルにオーディオ サンプルとそれに関連する文字起こしの例が 示されています。 微調整され 明示的に この時点で、モデルは事前トレーニング中に学習した内容を利用して、オーディオ サンプルを音声単位のシーケンスとしてエンコードし、それらの音声単位のシーケンスを転写を表す語彙内の個々の文字 (つまり、「a」から「」までの文字) にマッピングできます。英語の場合は「z」)。 微調整中の学習により、wav2vec2 モデルのトレーニングが完了し、微調整中にトレーニングに含まれなかった新しい音声サンプルのテキストを予測できるようになります。 結論 もちろん、wav2vec2 の低レベルの仕組みは、上で説明したものよりもはるかに複雑です。ただし、繰り返しになりますが、この記事の目的は、モデルがどのように機能し、どのようにトレーニングされるかを簡単かつ概念的に理解できるようにすることです。 wav2vec2 は、ASR システムを構築するための非常に強力な ML フレームワークであり、2021 年後半に導入されたその 128 言語でトレーニングされたため、複数の言語にわたって ASR モデルを設計するための改善されたプラットフォームを提供します。 XLS-R バリエーションは はじめにで述べたように、詳細を学ぶために利用できる優れた技術リソースが多数あります。特に、 によって提供されるものが特に便利であることがわかります。 Hugging Face