license: bsd-3-clause
pipeline_tag: audio-classification
library_name: transformers
tags:
- PyTorch
- State-space
- Mamba
DASS:蒸馏音频状态空间模型
DASS:蒸馏音频状态空间模型是基于AudioSet-2M微调的音频分类模型。作为首个超越基于Transformer的音频分类器(如AST音频频谱Transformer、HTS-AT和Audio-MAE)的状态空间模型,DASS在AudioSet音频分类任务中实现了最先进的性能,同时显著减小了模型规模。例如,相比包含约8700万参数的AST模型,仅含3000万参数的DASS-small(占AST参数量的三分之一)性能更优(AudioSet-2M平均精度:45.9 vs DASS-small mAP:47.2)。模型提供两种版本:DASS-small(3000万参数)mAP:47.2和DASS-medium(4900万参数)mAP:47.6。
该模型在时长鲁棒性(训练使用短音频而测试使用长音频,且无需对长音频微调)方面显著优于AST模型。例如,当输入音频从10秒增至50秒时,AST模型性能降至不足5 mAP(不足10秒输入性能的12%),而相同条件下DASS仍保持45.5 mAP(96%性能保留)。在单块A6000 GPU上,DASS可处理长达2.5小时的音频输入,性能仍保持10秒输入时的62%。
该模型由论文《DASS:蒸馏音频状态空间模型具有更强学习能力与时长扩展性》首次提出,并发布于此代码库。
模型详情
DASS模型基于VMamba:视觉状态空间模型的音频应用实现,通过二元交叉熵损失函数对标真实标签,并结合KL散度损失对标教师AST模型进行训练。
快速开始
import torch
import librosa
from transformers import AutoConfig, AutoModelForAudioClassification, AutoFeatureExtractor
config = AutoConfig.from_pretrained('saurabhati/DASS_small_AudioSet_47.2',trust_remote_code=True)
audio_model = AutoModelForAudioClassification.from_pretrained('saurabhati/DASS_small_AudioSet_47.2',trust_remote_code=True)
feature_extractor = AutoFeatureExtractor.from_pretrained('saurabhati/DASS_small_AudioSet_47.2',trust_remote_code=True)
waveform, sr = librosa.load("audio/eval/_/_/--4gqARaEJE_0.000.flac", sr=16000)
inputs = feature_extractor(waveform,sr, return_tensors='pt')
with torch.no_grad():
logits = torch.sigmoid(audio_model(**inputs).logits)
predicted_class_ids = torch.where(logits[0] > 0.5)[0]
predicted_label = [audio_model.config.id2label[i.item()] for i in predicted_class_ids]
predicted_label
性能对比
下表为DASS模型在AudioSet-2M上的微调与评估结果:
模型架构 |
参数量 |
预训练方式 |
mAP |
基于Transformer的模型 |
|
|
|
AST |
87M |
IN+SL |
45.9 |
HTS-AT |
31M |
IN+SL |
47.1 |
PaSST |
- |
IN+SL |
47.1 |
Audio-MAE |
86M |
SSL |
47.3 |
同期SSM模型 |
|
|
|
AuM |
26M |
IN+SL |
39.7 |
Audio Mamba |
40M |
IN+SL |
44.0 |
DASS-Small |
30M |
IN+SL |
47.2 |
DASS-Medium |
49M |
IN+SL |
47.6 |
引用
@article{bhati2024dass,
title={DASS: Distilled Audio State Space Models Are Stronger and More Duration-Scalable Learners},
author={Bhati, Saurabhchand and Gong, Yuan and Karlinsky, Leonid and Kuehne, Hilde and Feris, Rogerio and Glass, James},
journal={arXiv preprint arXiv:2407.04082},
year={2024}
}
致谢
本项目基于AST(论文、代码)和VMamba(论文、代码)的优秀工作,特此致谢。