検索
ホームページテクノロジー周辺機器AIOpenAI の Whisper モデルを使用した音声認識

音声認識は、コンピューターが人間の音声を理解してテキストに変換できるようにする人工知能の分野です。この技術はAlexaなどのデバイスやさまざまなチャットボットアプリケーションで使用されています。私たちが行う最も一般的なことは音声文字起こしであり、文字起こしや字幕に変換できます。

OpenAI の Whisper モデルを使用した音声認識

#wav2vec2、Conformer、Hubert などの最先端モデルの最近の開発により、音声認識の分野は大幅に進歩しました。これらのモデルは、データに手動でラベルを付けることなく生の音声から学習する技術を採用しており、ラベルのない音声の大規模なデータセットを効率的に使用できます。また、学習データを最大 1,000,000 時間まで使用できるように拡張されており、学術的な教師ありデータセットで使用される従来の 1,000 時間を大幅に超えていますが、複数のデータセットおよびドメインにわたって教師あり方法で事前学習されたモデルは、保持される堅牢性と一般化がより優れていることがわかっています。データセットであるため、音声認識などのタスクを実行するには依然として微調整が必​​要であり、その可能性を最大限に発揮できません。この問題を解決するために、OpenAI は弱い監視方法を利用するモデル Whisper を開発しました。

この記事では、学習に使用するデータセットの種類、モデルの学習方法、Whisperの使い方について説明します

Whisperモデルの紹介

データセットの使い方:

Whisper モデルは、96 の異なる言語での 117,000 時間の音声と、「任意の言語」から英語への 125,000 時間の翻訳データを含む、680,000 時間のラベル付き音声データのデータセットでトレーニングされました。このモデルは、人間が作成したものではなく、他の自動音声認識システム (ASR) によって生成されたインターネット生成テキストを利用します。このデータセットには、YouTube 動画から抽出され、動画のタイトルと説明の言語に基づいてタグ付けされた短い音声クリップのコレクションである VoxLingua107 でトレーニングされた言語検出器と、誤検知を除去するための追加手順も含まれています。

モデル:

使用される主な構造は、エンコーダ-デコーダ構造です。

リサンプリング: 16000 Hz

特徴抽出方法: 25 ms ウィンドウと 10 ms ステップを使用して、80 チャネルのログ メル スペクトログラム表現を計算します。

特徴の正規化: 入力は -1 から 1 の間でグローバルにスケーリングされ、事前トレーニングされたデータセットの平均はほぼゼロになります。

エンコーダー/デコーダー: このモデルのエンコーダーとデコーダーはトランスフォーマーを使用します。

エンコーダの手順:

エンコーダはまず、GELU アクティベーション関数を使用して、2 つの畳み込み層 (フィルター幅 3) を含むステムを使用して入力表現を処理します。

2 番目の畳み込み層のストライドは 2 です。

次に、正弦波位置埋め込みがステムの出力に追加され、エンコーダーの Transformer ブロックが適用されます。

トランスフォーマーは事前にアクティブ化された残差ブロックを使用し、エンコーダーの出力は正規化レイヤーを使用して正規化されます。

モデルブロック図:

OpenAI の Whisper モデルを使用した音声認識

デコードプロセス:

デコーダでは、位置の埋め込み学習と入出力マーカーのバインディングが高速に使用されます。 。

エンコーダーとデコーダーの Transformers ブロックの幅と数は同じです。

トレーニング

モデルのスケーリング特性を改善するために、モデルはさまざまな入力サイズでトレーニングされます。

FP16、動的損失スケーリング、およびデータ並列処理を通じてモデルをトレーニングします。

AdamW と勾配ノルム クリッピングを使用すると、最初の 2048 アップデートをウォームアップした後、線形学習率はゼロに減衰します。

バッチ サイズ 256 を使用し、220 回の更新に対してモデルをトレーニングします。これは、データセットの 2 ~ 3 回の前方パスに相当します。

モデルはほんの数エポックに対してトレーニングされたため、過剰適合は重大な問題ではなく、データ拡張や正則化手法は使用されませんでした。これは、一般化と堅牢性を促進するために、大規模なデータセット内の多様性に依存しています。

Whisper は、以前に使用されたデータセットで優れた精度を実証しており、他の最先端のモデルに対してテストされています。

利点:

  • Whisper は、実際のデータだけでなく、他のモデルで使用されているデータでも、弱い監視下でトレーニングされています。
  • モデルの精度は人間のリスナーに対してテストされ、そのパフォーマンスが評価されました。
  • 無声領域を検出し、NLP テクノロジーを適用してトランスクリプトを正確に区切ります。
  • このモデルはスケーラブルで、ビデオをチャンクやバッチに分割せずにオーディオ信号からトランスクリプトを抽出できるため、音声が欠落するリスクが軽減されます。
  • このモデルは、さまざまなデータセットでより高い精度を実現します。

さまざまなデータセットでの Whisper の比較結果。wav2vec と比較して、これまでで最も低い単語誤り率を達成しました。

OpenAI の Whisper モデルを使用した音声認識

モデルは timit データセットではテストされていないため、単語誤り率をチェックするために、ここでは Whisper を使用して timit データセットを自己検証する方法、つまり Whisper を使用して独自の音声認識を構築する方法を示します。応用 。

音声認識のためのささやきモデルの使用

TIMIT リーディング音声コーパスは、音響音声研究および自動音声認識システムの開発と評価に特に使用される音声データのコレクションです。これには、アメリカ英語の 8 つの主要な方言の 630 人の話者の録音が含まれており、それぞれが音声的に豊かな 10 文を朗読しています。コーパスには、時間的に調整された正書法、表音文字、および単語の転写と、各音声の 16 ビット、16 kHz の音声波形ファイルが含まれています。このコーパスは、マサチューセッツ工科大学 (MIT)、SRI インターナショナル (SRI)、およびテキサス インスツルメンツ (TI) によって開発されました。 TIMIT コーパスの転写は、音声と方言の範囲のバランスをとるために指定されたテストとトレーニングのサブセットを使用して手動で検証されています。

インストール:

!pip install git+https://github.com/openai/whisper.git
 !pip install jiwer
 !pip install datasets==1.18.3

最初のコマンドは、ウィスパー モデルに必要なすべての依存関係をインストールします。 jiwer は、テキスト誤り率パッケージのダウンロードに使用されます。データセットは、hugface によって提供されます。timit データセットをダウンロードできます。

インポート ライブラリ

import whisper
 from pytube import YouTube
 from glob import glob
 import os
 import pandas as pd
 from tqdm.notebook import tqdm

読み込み制限データ セット

from datasets import load_dataset, load_metric
 
 timit = load_dataset("timit_asr")

さまざまなモデル サイズでの Word エラー率の計算

英語データと英語以外のデータのフィルタリングを検討するニーズを満たすために、ここでは英語専用に設計されたモデルの代わりに多言語モデルを使用することを選択します。

しかし、TIMIT データセットは純粋な英語であるため、同じ言語検出および認識プロセスを適用する必要があります。さらに、TIMIT データセットはトレーニング セットと検証セットに分割されており、直接使用できます。

Whisper を使用するには、まずさまざまなモデルのパラメーター、サイズ、速度を理解する必要があります。

OpenAI の Whisper モデルを使用した音声認識

Load model

model = whisper.load_model('tiny')

tiny は上記のモデル名に置き換えることができます。

言語検出器を定義する関数

def lan_detector(audio_file):
 print('reading the audio file')
 audio = whisper.load_audio(audio_file)
 audio = whisper.pad_or_trim(audio)
 mel = whisper.log_mel_spectrogram(audio).to(model.device)
 _, probs = model.detect_language(mel)
 if max(probs, key=probs.get) == 'en':
 return True
 return False

音声をテキストに変換する関数

def speech2text(audio_file):
 text = model.transcribe(audio_file)
 return text["text"]

さまざまなモデル サイズで上記の関数を実行し、トレーニングとテストによって得られた単語エラーを制限します。速度は次のとおりです。

OpenAI の Whisper モデルを使用した音声認識

u2b から音声を転写する

他の音声認識モデルと比較して、Whisper は音声を認識するだけでなく、音声の内容を解釈することもできます。人の音声の句読点のイントネーションを検出し、適切な句読点を挿入します。以下のテストには u2b のビデオを使用します。

ここでは、オーディオを簡単にダウンロードして抽出できる pytube パッケージが必要です。

def youtube_audio(link):
 youtube_1 = YouTube(link)
 videos = youtube_1.streams.filter(only_audio=True)
 
 name = str(link.split('=')[-1])
 out_file = videos[0].download(name)

 link = name.split('=')[-1]
 new_filename = link+".wav"
 print(new_filename)
 os.rename(out_file, new_filename)
 print(name)
 return new_filename,link

wav ファイルを取得したら、上記の関数を適用してそこからテキストを抽出できます。

概要

この記事のコードはこちらです

https://drive.google.com/file/d/1FejhGseX_S1Ig_Y5nIPn1OcHN8DLFGIO/view

こちらこの操作は Whisper で完了でき、この記事のコードに基づいて自分で試すことができます。

以上がOpenAI の Whisper モデルを使用した音声認識の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事は51CTO.COMで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。
迅速なエンジニアリングにおける思考のグラフは何ですか迅速なエンジニアリングにおける思考のグラフは何ですかApr 13, 2025 am 11:53 AM

導入 迅速なエンジニアリングでは、「思考のグラフ」とは、グラフ理論を使用してAIの推論プロセスを構造化および導く新しいアプローチを指します。しばしば線形sを含む従来の方法とは異なります

Genaiエージェントとの電子メールマーケティングを組織に最適化しますGenaiエージェントとの電子メールマーケティングを組織に最適化しますApr 13, 2025 am 11:44 AM

導入 おめでとう!あなたは成功したビジネスを運営しています。ウェブページ、ソーシャルメディアキャンペーン、ウェビナー、会議、無料リソース、その他のソースを通じて、毎日5000の電子メールIDを収集します。次の明白なステップはです

Apache Pinotによるリアルタイムアプリのパフォーマンス監視Apache Pinotによるリアルタイムアプリのパフォーマンス監視Apr 13, 2025 am 11:40 AM

導入 今日のペースの速いソフトウェア開発環境では、最適なアプリケーションパフォーマンスが重要です。応答時間、エラーレート、リソース利用などのリアルタイムメトリックを監視することで、メインに役立ちます

ChatGptは10億人のユーザーにヒットしますか? 「わずか数週間で2倍になりました」とOpenai CEOは言いますChatGptは10億人のユーザーにヒットしますか? 「わずか数週間で2倍になりました」とOpenai CEOは言いますApr 13, 2025 am 11:23 AM

「ユーザーは何人いますか?」彼は突き出した。 「私たちが最後に言ったのは毎週5億人のアクティブであり、非常に急速に成長していると思います」とアルトマンは答えました。 「わずか数週間で2倍になったと言った」とアンダーソンは続けた。 「私はそのprivと言いました

PIXTRAL -12B:Mistral AI'の最初のマルチモーダルモデル-Analytics VidhyaPIXTRAL -12B:Mistral AI'の最初のマルチモーダルモデル-Analytics VidhyaApr 13, 2025 am 11:20 AM

導入 Mistralは、最初のマルチモーダルモデル、つまりPixtral-12B-2409をリリースしました。このモデルは、Mistralの120億個のパラメーターであるNemo 12bに基づいて構築されています。このモデルを際立たせるものは何ですか?これで、画像とTexの両方を採用できます

生成AIアプリケーションのエージェントフレームワーク - 分析Vidhya生成AIアプリケーションのエージェントフレームワーク - 分析VidhyaApr 13, 2025 am 11:13 AM

クエリに応答するだけでなく、情報を自律的に収集し、タスクを実行し、テキスト、画像、コードなどの複数のタイプのデータを処理するAIを搭載したアシスタントがいることを想像してください。未来的に聞こえますか?これでa

金融セクターにおける生成AIの応用金融セクターにおける生成AIの応用Apr 13, 2025 am 11:12 AM

導入 金融業界は、効率的な取引と信用の可用性を促進することにより経済成長を促進するため、あらゆる国の発展の基礎となっています。取引の容易さとクレジット

オンライン学習とパッシブアグレッシブアルゴリズムのガイドオンライン学習とパッシブアグレッシブアルゴリズムのガイドApr 13, 2025 am 11:09 AM

導入 データは、ソーシャルメディア、金融取引、eコマースプラットフォームなどのソースから前例のないレートで生成されています。この連続的な情報ストリームを処理することは課題ですが、

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。