🚀 AST 微調用於虛假音頻檢測
本模型是 MIT/ast-finetuned-audioset-10-10-0.4593 的微調版本,帶有二分類頭部,用於檢測虛假/合成音頻。原始的 AST(音頻頻譜圖變換器)分類頭被替換為針對虛假音頻檢測優化的二分類層。
✨ 主要特性
- 模型類型:基於 AST 架構的二分類模型,用於虛假/真實音頻檢測。
- 輸入:轉換為梅爾頻譜圖的音頻(128 個梅爾頻帶,1024 個時間幀)。
- 輸出:概率 [虛假概率, 真實概率]。
- 訓練硬件:2 塊 NVIDIA T4 GPU。
📦 安裝指南
文檔未提供具體安裝步驟,可根據 transformers
庫的常規安裝方法進行安裝,例如使用 pip install transformers
。
💻 使用示例
基礎用法
import torch
import torchaudio
import soundfile as sf
import numpy as np
from transformers import AutoFeatureExtractor, AutoModelForAudioClassification
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
model_name = "WpythonW/ast-fakeaudio-detector"
extractor = AutoFeatureExtractor.from_pretrained(model_name)
model = AutoModelForAudioClassification.from_pretrained(model_name).to(device)
model.eval()
audio_files = ["audio1.wav", "audio2.mp3", "audio3.ogg"]
processed_batch = []
for audio_path in audio_files:
audio_data, sr = sf.read(audio_path)
if len(audio_data.shape) > 1 and audio_data.shape[1] > 1:
audio_data = np.mean(audio_data, axis=1)
if sr != 16000:
waveform = torch.from_numpy(audio_data).float()
if len(waveform.shape) == 1:
waveform = waveform.unsqueeze(0)
resample = torchaudio.transforms.Resample(
orig_freq=sr,
new_freq=16000
)
waveform = resample(waveform)
audio_data = waveform.squeeze().numpy()
processed_batch.append(audio_data)
inputs = extractor(
processed_batch,
sampling_rate=16000,
padding=True,
return_tensors="pt"
)
inputs = {k: v.to(device) for k, v in inputs.items()}
with torch.no_grad():
logits = model(**inputs).logits
probabilities = torch.nn.functional.softmax(logits, dim=-1)
for filename, probs in zip(audio_files, probabilities):
fake_prob = float(probs[0].cpu())
real_prob = float(probs[1].cpu())
prediction = "FAKE" if fake_prob > real_prob else "REAL"
print(f"\nFile: {filename}")
print(f"Fake probability: {fake_prob:.2%}")
print(f"Real probability: {real_prob:.2%}")
print(f"Verdict: {prediction}")
📚 詳細文檔
模型信息
屬性 |
詳情 |
模型類型 |
基於 MIT/ast-finetuned-audioset-10-10-0.4593 的二分類模型 |
訓練數據 |
WpythonW/real-fake-voices-dataset2、mozilla-foundation/common_voice_17_0 |
評估指標 |
準確率、F1 分數、召回率、精確率 |
推理參數 |
採樣率 16000,單聲道音頻 |
模型性能
- 任務:音頻分類(虛假/真實音頻檢測)
- 數據集:real-fake-voices-dataset2
- 評估指標結果:
- 準確率:0.9662
- F1 分數:0.971
- 精確率:0.9692
- 召回率:0.9728
🔧 技術細節
本模型是在預訓練的 AST 模型基礎上進行微調,將原始的分類頭替換為二分類層,以適應虛假音頻檢測任務。訓練過程使用了特定的音頻數據集,並在 2 塊 NVIDIA T4 GPU 上進行訓練。
⚠️ 重要提示
- 本模型僅適用於 16kHz 音頻輸入。
- 對於訓練數據中未出現的不同類型音頻處理,模型性能可能會有所不同。
- 模型是在時長為 4 到 10 秒的音頻樣本上進行訓練的。
📄 許可證
本模型使用 Apache-2.0 許可證。