W niniejszym badaniu wykorzystano publicznie dostępne zestawy danych BVC Challenging Voice Set oraz Mozilla Common Voice, bez bezpośredniego udziału uczestników. W związku z tym nie wymagano instytucjonalnej zgody komisji etycznej ani dodatkowej świadomej zgody. Przetwarzano jedynie dane niezbędne do klasyfikacji płci i wieku, nie podejmując prób identyfikacji poszczególnych mówców. Pełna metodologia przepływu pracy proponowanego modelu została przedstawiona na Rysunku 1.
Pozyskiwanie danych
Zbiór danych wykorzystany w proponowanym podejściu składał się z plików audio w formacie .wav pochodzących z BVC Challenging Voice Set, publicznie dostępnego zbioru danych głosowych opracowanego przez grupę Biometrics Vision and Computing (BVC) i hostowanego na GitHub32. Zbiór zawierał nagrania głosowe 526 osób, w tym 336 mężczyzn i 190 kobiet. Obejmował on około 3 964 nagrań, w tym nagrania pojedynczych i wielokrotnych zdań dla każdego mówcy. Tabela 2 podsumowuje charakterystykę demograficzną, zakres językowy, właściwości nagrań, strategię partycjonowania danych oraz ustawienia preprocessingu zastosowane dla zbiorów mowy w proponowanej strukturze VoiceNet-RAI.
Ekstrakcja cech
Pliki audio zostały przetworzone w celu wyodrębnienia kluczowych właściwości, które następnie zapisano w pliku CSV. Metadane, w tym wiek, płeć i sposób wymowy mówcy, wyekstrahowano z odpowiadających im plików README. Do przetwarzania plików WAV i wyodrębniania istotnych cech wykorzystano język Python wraz z pakietem SciPy. Szybką transformatę Fouriera (FFT) oraz funkcje częstotliwości z biblioteki NumPy zastosowano do konwersji sygnałów audio z dziedziny czasu do dziedziny częstotliwości. Pliki WAV przedstawiały amplitudę jako funkcję czasu; jednak dla zadania klasyfikacji większe znaczenie miały charakterystyki związane z częstotliwością, które pozwoliłyby odróżnić głosy męskie od żeńskich33.
W celu przekształcenia sygnałów audio w reprezentacje w dziedzinie częstotliwości zaimplementowano dyskretną transformatę Fouriera (DFT) przy użyciu algorytmu FFT. Transformata Fouriera przekształca sygnał z dziedziny czasu w widmo częstotliwości. Ponieważ widmo to nie zachowywało informacji czasowych, sygnał audio podzielono na nakładające się segmenty, a do każdego z nich zastosowano transformatę Fouriera zgodnie z podejściem krótkoczasowej transformaty Fouriera (STFT). Funkcja np.fft.fft wygenerowała zespolone widmo częstotliwości, natomiast np.fft.fftfreq dostarczyła odpowiadające im częstotliwości próbkowania. W katalogu z próbkami dostępnych było 10 plików audio dla jednego mówcy. Każdy plik WAV przetworzono przy użyciu okien przesuwnych o szerokości 200 ms, aby wyodrębnić częstotliwości dominujące. Przykładowo, 4-sekundowe nagranie audio pozwoliło uzyskać listę 20 wartości częstotliwości. W przypadku katalogu zawierającego 10 nagrań, 10 odpowiadających im list, z których każda zawierała 20 wartości częstotliwości, połączono w listę list. Częstotliwości przefiltrowano tak, aby zachować wartości między 20 Hz a 280 Hz, wykluczając potencjalne szumy w okolicach 50 Hz.
Hybrydowa reprezentacja cech MFCC i wav2vec 2.0
Aby uchwycić zarówno wysokopoziomowe kontekstowe reprezentacje mowy, jak i niskopoziomowe charakterystyki akustyczne, w badaniu zastosowano hybrydową strategię ekstrakcji cech, integrującą cechy MFCC z embeddingami wav2vec 2.0 opartymi na architekturze Transformer.
Ekstrakcja cech MFCC
Współczynniki cepstralne częstotliwości Mel (MFCC) są szeroko stosowanymi cechami w przetwarzaniu mowy i sygnałów audio, szczególnie w takich zastosowaniach jak rozpoznawanie mowy i identyfikacja mówcy34,35. W niniejszym badaniu ekstrakcja MFCC przekształciła sygnały audio w wektory cech reprezentujące istotne pod względem percepcyjnym charakterystyki mowy. Proces rozpoczęto od preemfazy w celu wzmocnienia komponentów wysokoczęstotliwościowych, a następnie zastosowano ramowanie i oknowanie, aby podzielić sygnał na krótkie, nakładające się ramki. Każda próbka audio została najpierw poddana resamplingu do 16 kHz i podzielona na ramki o długości 25 ms z nakładaniem się wynoszącym 10 ms. Następnie do każdej ramki zastosowano szybką transformatę Fouriera, aby przekształcić sygnał z dziedziny czasu do dziedziny częstotliwości.
Otrzymane widmo częstotliwości przepuszczono przez szereg banków filtrów Mel, które przybliżają nieliniową odpowiedź częstotliwościową ludzkiego percepcji słuchowej. Banki filtrów te podkreślały częstotliwości bardziej istotne percepcyjnie, redukując jednocześnie wkład tych mniej informatywnych. Następnie obliczono logarytm wyjścia każdego banku filtrów, aby przybliżyć logarytmiczną czułość ludzkiego słuchu na głośność. Do logarytmicznych energii banków filtrów zastosowano dyskretną transformatę kosinusową (DCT), aby odkorelować współczynniki i uzyskać zwartą reprezentację sygnału audio. Wynikowe współczynniki, znane jako MFCC, uchwyciły istotne charakterystyki widmowe mowy. MFCC zostały wykorzystane do klasyfikacji płci i wieku, ponieważ oddają one cechy akustyczne różnicujące głosy pod względem tych atrybutów.
ekstrakcja osadzeń wav2vec 2.0
Model wav2vec 2.0 Base został wstępnie wytrenowany na wielkoskalowych, nieoznakowanych korpusach mowy. Model składał się z wielowarstwowego kodera Transformer, który przetwarzał wejściowe surowe przebiegi falowe i generował kontekstowe osadzenia mowy36.
Dla wejściowego przebiegu fali x ∈ RT model wav2vec 2.0 wygenerował sekwencję reprezentacji latentnych:
Z = {z1,z1,....,zn},zi ∈ R768 (1)
gdzie każdy wektor zanurzenia miał wymiar 768. Aby uzyskać reprezentację o stałej długości odpowiednią do klasyfikacji, zastosowano operację czasowego uśredniania (temporal mean pooling) we wszystkich krokach czasowych.
(2)
Mechanizm fuzji cech
Cechy MFCC oraz wav2vec 2.0 zostały połączone poprzez konkatenację na poziomie cech. W szczególności cechy MFCC zostały najpierw zagregowane przy użyciu uśredniania czasowego w celu uzyskania wektora o stałej długości.
m ∈ R40 (3)
Końcowy hybrydowy wektor cech uzyskano w następujący sposób:
h = [m || zpooled] ∈ R808 (4)
gdzie || oznacza konkatenację. Fuzja ta połączyła głębokie osadzenia kontekstowe z ręcznie opracowanymi cechami widmowymi, co pozwoliło modelowi uchwycić zarówno wysokopoziomowe informacje semantyczne, jak i precyzyjne wzorce akustyczne.
Wszystkie próbki audio zostały najpierw poddane ponownemu próbkowaniu do częstotliwości 16 kHz. Cechy MFCC obliczono w ramach poszczególnych ramek i uśredniono w czasie, aby uzyskać stały wektor 40-wymiarowy, natomiast osadzenia wav2vec 2.0 poddano uśrednianiu (mean-pooling) w czasie w celu uzyskania reprezentacji 768-wymiarowej. Ponieważ oba zestawy cech zostały przekształcone w wektory o stałej długości przed fuzją, wyrównanie czasowe na poziomie ramek nie było wymagane. Powstałe reprezentacje MFCC i wav2vec zostały następnie złączone w hybrydowy wektor cech o wymiarowości 808 przed przekazaniem do modelu klasyfikacji.
Integracja z EfficientNet-Lite
Złączony wektor cech, h, został przekształcony do formatu odpowiedniego dla uczenia cech i dostarczony jako dane wejściowe do modelu EfficientNet-Lite w celu przeprowadzenia treningu. W pełni połączona warstwa projekcyjna zmapowała najpierw 808-wymiarowy wektor na wyżej wymiarową przestrzeń latentną, po czym bloki EfficientNet-Lite doprecyzowały cechy hierarchiczne. W celu ograniczenia przeuczenia i poprawy generalizacji modelu zastosowano warstwy normalizacji wsadowej (batch normalization) oraz warstwy dropout. Do wygenerowania końcowych przewidywanych prawdopodobieństw dla klas płci i wieku użyto funkcji aktywacji SoftMax. Złączona reprezentacja, h ∈ R808, była początkowo traktowana jako jednowymiarowy wektor cech i przekazana przez w pełni połączoną warstwę projekcyjną, która zmapowała go do 4 096 wymiarów. Następnie rzutowana reprezentacja została przekształcona w tensor o wymiarach 1 × 64 × 64 przed wprowadzeniem do architektury EfficientNet-Lite.
Aby dostosować model do jednokanałowej reprezentacji cech mowy, zamiast konwencjonalnego trójkanałowego wejścia obrazu, zmodyfikowano oryginalną warstwę splotową wejściową EfficientNet-Lite, zmieniając liczbę kanałów wejściowych z trzech na jeden. Pozostałe bloki ekstrakcji cech EfficientNet-Lite zachowano bez istotnych modyfikacji architektonicznych. Do końcowych map cech zastosowano adaptacyjną warstwę globalnego uśredniania (global average pooling), aby uzyskać reprezentację o stałej długości. Oryginalny moduł klasyfikacyjny zastąpiono specyficzną dla zadania warstwą w pełni połączoną, zawierającą dwie jednostki wyjściowe dla klasyfikacji płci oraz odpowiednią liczbę jednostek wyjściowych dla zdefiniowanych grup wiekowych. Na koniec zastosowano funkcję aktywacji SoftMax w celu wygenerowania prawdopodobieństw klas. Zaproponowana reprezentacja hybrydowa połączyła nowoczesne embeddingi mowy z uczeniem samosuperwizowanym z tradycyjnymi cechami przetwarzania sygnałów. Embeddingi wav2vec 2.0 uchwyciły informacje kontekstowe i długodystansowe zależności, podczas gdy cechy MFCC dostarczyły uzupełniających, niskopoziomowych informacji akustycznych. Integracja tych reprezentacji poprawiła wydajność klasyfikacji, szczególnie w warunkach mowy zaszumionej i wielojęzycznej.
Klasyfikator ML
W niniejszym badaniu przeanalizowano wydajność wielu algorytmów ML w zakresie klasyfikacji płci oraz grup wiekowych na podstawie głosu.
Las Losowy
Do stworzenia odpornego klasyfikatora uczenia maszynowego (ML) wykorzystano Random Forest (RF), który łączy wiele drzew decyzyjnych (DT), aby zwiększyć dokładność prognoz i ograniczyć przeuczenie. RF działa w oparciu o procedurę uczenia zespołowego, w której wyniki z wielu drzew są agregowane w celu wygenerowania końcowej predykcji37,38. Podejście to pozwala RF na wychwytywanie różnorodnych wzorców w danych przy jednoczesnym ograniczeniu przeuczenia, które jest częste w przypadku pojedynczych drzew decyzyjnych. Losowość wprowadzona podczas budowy drzew poprawiła zdolność modelu do generalizacji, co sprawia, że RF jest odpowiedni do zadań klasyfikacyjnych, takich jak określanie płci i wieku na podstawie danych głosowych.
Regresja logistyczna
Do klasyfikacji wykorzystano regresję logistyczną (LR) jako statystyczny model uczenia maszynowego (ML)39. W przypadku klasyfikacji binarnej LR szacuje prawdopodobieństwo wystąpienia wyniku na podstawie cech wejściowych przy użyciu funkcji logistycznej (sigmoidalnej), a otrzymane prawdopodobieństwa służą do generowania przewidywań klas. LR była stosowana również w problemach klasyfikacji wieloklasowej obejmującej więcej niż dwie klasy. W klasyfikacji wieloklasowej LR wykorzystywała podejścia takie jak one-vs-rest lub regresję SoftMax, w zależności od ustawień klasyfikacji.
Klasyfikator Extra Trees
Klasyfikator Extra Trees (ETC) został zastosowany jako algorytm uczenia zespołowego, który łączy wiele drzew decyzyjnych (DT) w celu generowania prognoz40,41. W przeciwieństwie do RF, ETC wprowadza dodatkową losowość poprzez przypadkowy wybór cech kandydackich oraz progów podziału podczas budowy drzew. Procedura ta pozwoliła na wygenerowanie mniej skorelowanych drzew i zmniejszyła wrażliwość modelu na pojedyncze cechy, co poprawiło odporność na szum. Jako kryterium podziału do oceny istotności cech i partycjonowania danych wykorzystano indeks Giniego.
Maszyna wektorów wspierających
Maszyna wektorów wspierających (SVM) została wykorzystana jako klasyfikator ML do wyznaczenia optymalnej granicy decyzyjnej w wielowymiarowej przestrzeni cech42. Celem było określenie hiperpłaszczyzny, która maksymalizowała margines między klasami. Większy margines między granicą decyzyjną a najbliższymi punktami danych zazwyczaj sprzyjał lepszej separacji klas i generalizacji. SVM znajdował zastosowanie w wielu zadaniach ML, w tym w klasyfikacji, regresji oraz analizie danych opartej na cechach.
Splotowe sieci neuronowe
Splotowe sieci neuronowe (CNN) były wykorzystywane jako modele głębokiego uczenia (DL) w zadaniach klasyfikacji obejmujących ustrukturyzowane reprezentacje danych obrazowych i dźwiękowych. Jednowymiarowe sieci CNN (1D-CNN) były również szeroko stosowane w analizie danych sekwencyjnych i tekstowych. Architektury CNN wykorzystywały filtry splotowe oraz operacje próbkowania (pooling), aby wyekstrahować dyskryminacyjne cechy z danych wejściowych43,44. W celu klasyfikacji płci i wieku na podstawie danych głosowych, sieci CNN stosowano do reprezentacji pochodnych mowy, aby nauczyć się wzorców związanych z wysokością dźwięku, częstotliwością, tonem i innymi charakterystykami wokalnymi istotnymi dla rozróżniania grup wiekowych i płci.
VGG19
VGG19 został wykorzystany jako architektura DL charakteryzująca się głęboką, stosunkowo jednorodną hierarchiczną strukturą ekstrakcji cech45. Jego architektura wykorzystuje małe filtry splotowe 3 × 3 w 19 warstwach, co umożliwia progresywną ekstrakcję cech dyskryminacyjnych. W zastosowaniu do reprezentacji pochodnych z mowy, VGG19 przechwytywał zarówno niskopoziomowe wzorce akustyczne, takie jak wariacje wysokości i częstotliwości, jak i wyższego poziomu cechy dyskryminacyjne. Jego głęboka architektura umożliwiła progresywną abstrakcję cech do modelowania charakterystyk głosowych związanych z płcią i wiekiem.
EfficientNet-Lite
Jako wydajna obliczeniowo architektura DL zastosowano EfficientNet-Lite46,47. Model wykorzystał strategię zrównoważonego skalowania, aby osiągnąć wysoką skuteczność klasyfikacji przy jednoczesnym zapotrzebowaniu na mniejsze zasoby obliczeniowe niż w przypadku cięższych architektur DL. Zastosowane podejście do skalowania złożonego łączyło głębokość modelu, jego szerokość oraz rozdzielczość wejściową w celu zapewnienia efektywnej ekstrakcji cech.
Do proponowanego frameworku VoiceNet-RAI wybrano model EfficientNet-Lite ze względu na jego lekką architekturę oraz korzystny balans między wydajnością klasyfikacji a złożonością modelu. W porównaniu z cięższymi architekturami, wykorzystuje on wydajne bloki splotowe oraz skalowanie złożone (compound scaling), aby osiągnąć skuteczną naukę cech przy mniejszej liczbie parametrów i niższych wymaganiach obliczeniowych. Cechy te sprawiły, że EfficientNet-Lite jest odpowiedni dla proponowanego frameworku klasyfikacji mowy i stwarza potencjał do wdrożenia w środowiskach o ograniczonych zasobach.
MobileNet
MobileNet został wykorzystany jako lekka architektura DL dla aplikacji o ograniczonych zasobach obliczeniowych, w tym dla środowisk obliczeń mobilnych i krawędziowych48. Jego wydajność obliczeniowa została osiągnięta przede wszystkim dzięki splotom głębokim rozdzielnym (depthwise separable convolutions), które zredukowały liczbę parametrów i operacji obliczeniowych w porównaniu z konwencjonalnymi architekturami splotowymi. Cechy te sprawiły, że MobileNet był odpowiedni do oceny klasyfikacji płci i wieku na podstawie danych głosowych, przy zachowaniu stosunkowo niskich wymagań obliczeniowych.
InceptionV3
Do ekstrakcji hierarchicznych cech z reprezentacji pochodzących z mowy wykorzystano InceptionV3 jako architekturę głęboką49. Architektura ta zawierała operacje splotowe, poolingowe oraz mieszane, aby ekstrahować cechy na różnych poziomach abstrakcji. W celu klasyfikacji płci i wieku na podstawie danych głosowych, InceptionV3 posłużył do nauki złożonych wzorców akustycznych i reprezentacji hierarchicznych związanych ze zmianami w charakterystyce głosowej.
Parametry oceny
Dokładność (accuracy) była jedną z najczęściej stosowanych metryk oceny w zadaniach klasyfikacji50. Chociaż dokładność stanowiła przydatną miarę ogólnej skuteczności klasyfikacji, nie zawsze zapewniała ona kompleksową ocenę, szczególnie w przypadku niezbalansowanych zbiorów danych. Dlatego do oceny wydajności modelu wykorzystano dodatkowe metryki, w tym precyzję (precision), pełność (recall) oraz miarę F1 (F1-score). Metryki te umożliwiły bardziej szczegółową ocenę poprzez uwzględnienie poprawnych i błędnych predykcji dla każdej klasy.
Dokładność zdefiniowano jako stosunek liczby poprawnie sklasyfikowanych obserwacji do całkowitej liczby obserwacji. Chociaż dokładność była szczególnie informacyjna dla zrównoważonych zbiorów danych, zbiór danych wykorzystany w niniejszym badaniu był niezrównoważony. W związku z tym przy obliczaniu i interpretacji metryk klasyfikacji uwzględniono wyniki prawdziwie dodatnie (TP), fałszywie dodatnie (FP), prawdziwie ujemne (TN) oraz fałszywie ujemne (FN). Poniższe równanie przedstawia standardową definicję dokładności:
Dokładność = (TP+TN)/(TP+TN+FP+FN)×100 (5)
Precyzja ocenia zdolność klasyfikatora do zwracania wyłącznie istotnych instancji:
Precyzja= TP/(TP+FP) ×100 (6)
Czułość (ang. recall), znana również jako sensitivity, mierzy zdolność klasyfikatora do zidentyfikowania wszystkich istotnych instancji:
Czułość= TP/(FN+TP) × 100 (7)
Wskaźnik F1-score łączy precyzję i pełność w jednej mierze i jest szczególnie użyteczny przy ocenie wydajności klasyfikacji na niezbalansowanych zbiorach danych:
F1-Score =2 ×(PPV ×TPR)/(TPR+PPV) × 100 (8)