Questo studio ha utilizzato i set di dati pubblicamente disponibili BVC Challenging Voice Set e Mozilla Common Voice senza coinvolgimento diretto dei partecipanti. Pertanto, non è stato richiesto il parere del comitato etico istituzionale né un consenso informato aggiuntivo. Sono stati elaborati soltanto i dati necessari per la classificazione del genere e dell'età, e non è stato effettuato alcun tentativo di identificare i singoli parlanti. L'intera metodologia del flusso di lavoro del framework proposto è illustrata nella Figura 1.
Acquisizione dei dati
Il set di dati utilizzato nell'approccio proposto era composto da file audio in formato .wav ottenuti dal BVC Challenging Voice Set, un set di dati vocali pubblicamente disponibile sviluppato dal gruppo Biometrics Vision and Computing (BVC) e ospitato su GitHub32. Il set di dati conteneva registrazioni vocali di 526 individui, inclusi 336 parlanti maschi e 190 femmine. Comprendeva circa 3.964 registrazioni, incluse registrazioni di singole frasi e di più frasi per ciascun parlante. Tabella 2 riassume le caratteristiche demografiche, la copertura linguistica, le proprietà delle registrazioni, la strategia di partizionamento dei dati e le impostazioni di preelaborazione utilizzate per i set di dati vocali nel framework proposto VoiceNet-RAI.
Estrazione delle caratteristiche
I file audio sono stati elaborati per estrarne le proprietà essenziali, successivamente memorizzate in un file CSV. I metadati, inclusi età, sesso e pronuncia del parlante, sono stati estratti dai corrispondenti file README. Per elaborare i file WAV ed estrarre le caratteristiche rilevanti si è utilizzato Python insieme al pacchetto SciPy. Sono state impiegate la Trasformata di Fourier Veloce (FFT) e le funzioni di frequenza di NumPy per convertire i segnali audio dal dominio del tempo a quello della frequenza. I file WAV rappresentavano l'ampiezza come funzione del tempo; tuttavia, per il compito di classificazione risultavano di maggiore interesse le caratteristiche relative alla frequenza in grado di distinguere le voci maschili da quelle femminili33.
Per trasformare i segnali audio in rappresentazioni nel dominio della frequenza, è stata implementata la Trasformata Discreta di Fourier (DFT) utilizzando l'algoritmo FFT. La trasformata di Fourier converte un segnale nel dominio del tempo in uno spettro di frequenza. Poiché questo spettro non conservava informazioni temporali, il segnale audio è stato suddiviso in segmenti sovrapposti e la trasformata di Fourier è stata applicata a ciascun segmento mediante l'approccio della Trasformata di Fourier a Tempo Ridotto (STFT). La funzione np.fft.fft ha generato lo spettro di frequenza complesso, mentre np.fft.fftfreq ha fornito le frequenze campione corrispondenti. Nella directory di esempio erano disponibili 10 file audio per un singolo parlante. Ciascun file WAV è stato elaborato utilizzando finestre scorrevoli di 200 ms per estrarre le frequenze dominanti. Ad esempio, una registrazione audio di 4 secondi ha prodotto un elenco di 20 valori di frequenza. Per una directory contenente 10 registrazioni, le 10 liste corrispondenti, ciascuna contenente 20 valori di frequenza, sono state combinate in una lista di liste. Le frequenze sono state filtrate per mantenere solo i valori compresi tra 20 Hz e 280 Hz, escludendo al contempo il rumore potenziale intorno a 50 Hz.
Rappresentazione delle caratteristiche ibride MFCC e wav2vec 2.0
Per catturare sia le rappresentazioni contestuali del parlato a livello elevato sia le caratteristiche acustiche a basso livello, questo studio ha adottato una strategia ibrida di estrazione delle caratteristiche che integra le caratteristiche MFCC con gli embedding basati su Transformer di wav2vec 2.0.
Estrazione delle caratteristiche MFCC
I coefficienti cepstrali basati sulla scala di frequenza mel (MFCC) sono caratteristiche ampiamente utilizzate nell'elaborazione di segnali vocali e audio, in particolare per applicazioni come il riconoscimento vocale e l'identificazione del parlante34,35. In questo studio, l'estrazione degli MFCC ha trasformato i segnali audio in vettori di caratteristiche rappresentanti caratteristiche percettivamente rilevanti della voce. Il processo è iniziato con una pre-enfasi per potenziare le componenti ad alta frequenza, seguita da framing e finestramento per dividere il segnale in brevi frame sovrapposti. Ogni campione audio è stato inizialmente ricampionato a 16 kHz e suddiviso in frame di 25 ms con un'overlap di 10 ms. Successivamente, la Trasformata di Fourier Veloce (FFT) è stata applicata a ciascun frame per convertire il segnale dal dominio del tempo a quello della frequenza.
Lo spettro di frequenza risultante è stato elaborato attraverso una serie di bancche di filtri Mel che approssimavano la risposta in frequenza non lineare della percezione uditiva umana. Queste bancche di filtri enfatizzavano le frequenze più rilevanti dal punto di vista percettivo, riducendo al contempo il contributo di quelle meno informative. Successivamente, è stato calcolato il logaritmo dell'uscita di ciascuna banca di filtri per approssimare la sensibilità logaritmica dell'udito umano alla sonorità. Successivamente, è stata applicata una Trasformata Cosinusoidale Discreta (DCT) alle energie logaritmiche delle banche di filtri per decorrelare i coefficienti e generare una rappresentazione compatta del segnale audio. I coefficienti risultanti, noti come MFCC, catturavano le caratteristiche spettrali importanti del parlato. Gli MFCC sono stati utilizzati per la classificazione del genere e dell'età poiché catturavano caratteristiche acustiche in grado di differenziare le voci in base a questi attributi.
estrazione dell'embedding wav2vec 2.0
Il modello Wav2vec 2.0 Base è stato pre-addestrato su ampie corpora di dati vocali non etichettati. Il modello era composto da un codificatore Transformer a più strati che elaborava segnali audio grezzi in ingresso e generava incorporamenti vocali contestualizzati36.
Dato un'onda in ingresso x ∈ RT, il modello wav2vec 2.0 produce una sequenza di rappresentazioni latenti:
Z = {z1,z1,....,zn},zi ∈ R768 (1)
dove ogni vettore di embedding aveva una dimensionalità di 768. Per ottenere una rappresentazione di lunghezza fissa adatta alla classificazione, è stata applicata un'operazione di media temporale su tutti i passi temporali.
(2)
Meccanismo di fusione delle caratteristiche
Le caratteristiche MFCC e wav2vec 2.0 sono state fuse mediante concatenazione a livello di caratteristiche. In particolare, le caratteristiche MFCC sono state inizialmente aggregate utilizzando la media temporale per produrre un vettore di lunghezza fissa.
m ∈ R40 (3)
Il vettore finale di caratteristiche ibride è stato ottenuto come:
h = [m || zpooled] ∈ R808 (4)
dove || indica la concatenazione. Questa fusione ha combinato incorporamenti contestuali profondi con caratteristiche spettrali progettate manualmente, consentendo al modello di catturare sia informazioni semantiche di alto livello sia pattern acustici dettagliati.
Tutti i campioni audio sono stati inizialmente ricampionati a 16 kHz. Le caratteristiche MFCC sono state calcolate per frame e mediate temporalmente per produrre un vettore fisso di 40 dimensioni, mentre gli embedding di wav2vec 2.0 sono stati mediati nel tempo per generare una rappresentazione di 768 dimensioni. Poiché entrambi gli insiemi di caratteristiche sono stati convertiti in vettori di lunghezza fissa prima della fusione, non è stato necessario un allineamento temporale a livello di frame. Le rappresentazioni risultanti di MFCC e wav2vec sono state quindi concatenate in un vettore ibrido di 808 dimensioni prima di essere trasmesse al modello di classificazione.
Integrazione con EfficientNet-Lite
Il vettore di caratteristiche fuso, h, è stato riorganizzato in un formato adatto all'apprendimento delle caratteristiche ed è stato fornito come ingresso al modello EfficientNet-Lite per l'addestramento. Un livello di proiezione completamente connesso ha innanzitutto mappato il vettore di dimensione 808 in uno spazio latente di dimensioni superiori, dopodiché i blocchi di EfficientNet-Lite hanno affinato le caratteristiche gerarchiche. Sono stati utilizzati livelli di normalizzazione del batch e di dropout per ridurre l'overfitting e migliorare la generalizzazione del modello. La funzione di attivazione SoftMax è stata impiegata per generare le probabilità finali predette per le classi di genere ed età. La rappresentazione fusa, h ∈ R808, è stata inizialmente trattata come un vettore di caratteristiche unidimensionale e fatta passare attraverso un livello di proiezione completamente connesso che la ha mappata in 4.096 dimensioni. La rappresentazione proiettata è stata quindi riorganizzata in un tensore 1 × 64 × 64 prima di essere fornita all'architettura EfficientNet-Lite.
Per adattarsi alla rappresentazione delle caratteristiche del segnale vocale a canale singolo, anziché all'ingresso immagine convenzionale a tre canali, il livello convoluzionale iniziale di EfficientNet-Lite è stato modificato da tre a un solo canale in ingresso. I restanti blocchi di estrazione delle caratteristiche di EfficientNet-Lite sono stati mantenuti senza modifiche architetturali significative. È stato applicato un livello di pooling globale medio adattivo alle mappe di caratteristiche finali per produrre una rappresentazione di lunghezza fissa. La testa di classificazione originale è stata sostituita con un livello completamente connesso specifico per il compito, contenente due unità di uscita per la classificazione del genere e il numero corrispondente di unità di uscita per i gruppi d'età predefiniti. Infine, è stata applicata la funzione di attivazione SoftMax per generare le probabilità delle classi. La rappresentazione ibrida proposta combina embedding vocali moderni auto-sorvegliati con caratteristiche tradizionali di elaborazione del segnale. Gli embedding wav2vec 2.0 catturano informazioni contestuali e dipendenze a lungo raggio, mentre le caratteristiche MFCC forniscono informazioni acustiche complementari a basso livello. L'integrazione di queste rappresentazioni ha migliorato le prestazioni di classificazione, in particolare in condizioni di parlato rumoroso e multilingue.
Classificatore ML
In questa ricerca, le prestazioni di diversi algoritmi di apprendimento automatico sono state analizzate per la classificazione del genere e del gruppo di età basata sulla voce.
Foresta casuale
La foresta casuale (Random Forest, RF) è stata utilizzata come classificatore robusto di apprendimento automatico (Machine Learning, ML), combinando più alberi decisionali (Decision Trees, DTs) per migliorare l'accuratezza delle previsioni e ridurre l'overfitting. La RF ha operato attraverso una procedura di apprendimento d'insieme (ensemble learning) in cui le previsioni provenienti da più alberi sono state aggregate per generare la previsione finale37,38. Questo approccio ha permesso alla RF di individuare schemi diversificati nei dati riducendo al contempo l'overfitting comunemente associato ai singoli DTs. La casualità introdotta durante la costruzione degli alberi ha migliorato la generalizzabilità del modello, rendendo la RF adatta a compiti di classificazione come la classificazione del genere e dell'età a partire da dati vocali.
Regressione Logistica
La regressione logistica (LR) è stata utilizzata come modello statistico di apprendimento automatico per la classificazione39. Per la classificazione binaria, la LR stima la probabilità di un risultato in base alle caratteristiche di input mediante la funzione logistica (sigmoide), e le probabilità risultanti vengono utilizzate per generare le previsioni di classe. La LR era applicabile anche a problemi di classificazione multiclasse che coinvolgono più di due classi. Per la classificazione multiclasse, la LR ha utilizzato approcci come uno contro tutti o la regressione SoftMax, a seconda dell'impostazione della classificazione.
Classificatore Extra Tree
Il classificatore Extra Trees (ETC) è stato utilizzato come algoritmo di apprendimento ensemble che combina diversi alberi decisionali (DT) per generare previsioni40,41. A differenza della foresta casuale (RF), l'ETC introduce un ulteriore grado di casualità selezionando in modo casuale le caratteristiche candidate e le soglie di suddivisione durante la costruzione degli alberi. Questa procedura genera alberi meno correlati e riduce la sensibilità del modello a singole caratteristiche, migliorando così la robustezza al rumore. L'indice di Gini è stato utilizzato come criterio di suddivisione per valutare l'importanza delle caratteristiche e partizionare i dati.
Macchina a vettori di supporto
La macchina a vettori di supporto (SVM) è stata utilizzata come classificatore di apprendimento automatico (ML) per identificare un confine decisionale ottimale in uno spazio delle caratteristiche ad alta dimensionalità42. L'obiettivo consisteva nel determinare un iperpiano che massimizzasse il margine tra le classi. Un margine più ampio tra il confine decisionale e i punti dati più vicini generalmente favoriva una migliore separazione tra classi e una maggiore capacità di generalizzazione. L'SVM è applicabile a diverse attività di apprendimento automatico, inclusi classificazione, regressione e analisi dei dati basata su caratteristiche.
Reti neurali convoluzionali
Le reti neurali convoluzionali (CNN) sono state utilizzate come modelli di apprendimento profondo (DL) per compiti di classificazione che coinvolgono rappresentazioni strutturate di dati immagine e audio. Le CNN unidimensionali (1D-CNN) sono state inoltre ampiamente applicate a dati sequenziali e testuali. Le architetture CNN utilizzavano filtri convoluzionali e operazioni di pooling per estrarre caratteristiche discriminanti dai dati in ingresso43,44. Per la classificazione del genere e dell'età a partire da dati vocali, le CNN sono state applicate a rappresentazioni derivate dal parlato per apprendere modelli associati a tono, frequenza, intonazione e altre caratteristiche vocali rilevanti per distinguere tra gruppi di età e generi.
VGG19
VGG19 è stato utilizzato come architettura di apprendimento profondo caratterizzata da una struttura gerarchica di estrazione delle caratteristiche profonda e relativamente uniforme45. La sua architettura impiega piccoli filtri convoluzionali 3 × 3 su 19 strati, consentendo un'estrazione progressiva di caratteristiche discriminanti. Quando applicata a rappresentazioni derivate dal parlato, VGG19 cattura sia pattern acustici di basso livello, come le variazioni di tono e frequenza, sia caratteristiche discriminanti di livello superiore. La sua architettura profonda permette un'astrazione progressiva delle caratteristiche per modellare le caratteristiche vocali associate al genere e all'età.
EfficientNet-Lite
EfficientNet-Lite è stata utilizzata come architettura DL computazionalmente efficiente46,47. Il modello ha impiegato una strategia di ridimensionamento bilanciata per ottenere prestazioni elevate nella classificazione, richiedendo al contempo meno risorse computazionali rispetto ad architetture DL più pesanti. Il suo approccio di ridimensionamento composto ha considerato congiuntamente profondità, larghezza del modello e risoluzione dell'ingresso per ottenere un'estrazione efficiente delle caratteristiche.
EfficientNet-Lite è stato selezionato per il framework proposto VoiceNet-RAI grazie alla sua architettura leggera e al vantaggioso equilibrio tra prestazioni di classificazione e complessità del modello. Rispetto ad architetture più pesanti, utilizza blocchi convoluzionali efficienti e una scalatura composta per ottenere un apprendimento efficace delle caratteristiche con un numero ridotto di parametri e minori requisiti computazionali. Queste caratteristiche rendono EfficientNet-Lite adatto al framework di classificazione vocale proposto e ne favoriscono il potenziale impiego in ambienti con risorse limitate.
MobileNet
MobileNet è stato utilizzato come architettura DL leggera per applicazioni con risorse computazionali limitate, inclusi ambienti di calcolo mobile ed edge48. L'efficienza computazionale è stata ottenuta principalmente attraverso convoluzioni separabili per profondità, che hanno ridotto il numero di parametri e di operazioni computazionali rispetto alle architetture convoluzionali tradizionali. Queste caratteristiche hanno reso MobileNet adatto alla valutazione della classificazione per genere ed età a partire da dati vocali, mantenendo requisiti computazionali relativamente bassi.
InceptionV3
InceptionV3 è stato utilizzato come architettura profonda per estrarre caratteristiche gerarchiche da rappresentazioni derivate dal parlato49. L'architettura integrava operazioni convoluzionali, di pooling e miste per estrarre caratteristiche a diversi livelli di astrazione. Per la classificazione del genere e dell'età a partire dai dati vocali, InceptionV3 è stato impiegato per apprendere modelli acustici complessi e rappresentazioni gerarchiche associate alle variazioni nelle caratteristiche vocali.
Parametri di valutazione
L'accuratezza è stata una delle metriche di valutazione più frequentemente utilizzate per i compiti di classificazione50. Sebbene l'accuratezza fornisca una misura utile delle prestazioni complessive della classificazione, non sempre offre una valutazione completa, in particolare per set di dati sbilanciati. Pertanto, sono state utilizzate metriche aggiuntive, tra cui precisione, richiamo e punteggio F1, per valutare le prestazioni del modello. Queste metriche hanno fornito una valutazione più completa considerando le previsioni corrette e quelle errate per ciascuna classe.
L'accuratezza è stata definita come il rapporto tra osservazioni correttamente classificate e numero totale di osservazioni. Sebbene l'accuratezza fosse particolarmente informativa per dataset bilanciati, il dataset utilizzato in questo studio era sbilanciato. Pertanto, i Veri Positivi (TP), Falsi Positivi (FP), Veri Negativi (TN) e Falsi Negativi (FN) sono stati considerati nel calcolo e nell'interpretazione delle metriche di classificazione. L'equazione riportata di seguito rappresenta la definizione standard di accuratezza:
Precisione = (VP+VN)/(VP+VN+FP+FN)×100 (5)
La precisione valuta la capacità del classificatore di restituire solo istanze rilevanti:
Precisione= TP/(TP+FP) ×100 (6)
Il richiamo, noto anche come sensibilità, misura la capacità del classificatore di identificare tutte le istanze rilevanti:
Sensibilità= VP/(FN+VP) × 100 (7)
L'F1-score combina precisione e richiamo in una singola misura ed è particolarmente utile per valutare le prestazioni di classificazione su dataset sbilanciati:
F1-Score =2 ×(PPV ×TPR)/(TPR+PPV) × 100 (8)