116
WYDZIAŁ INŻYNIERII MECHANICZNEJ I ROBOTYKI KATEDRA WIBROAKUSTYKI Praca dyplomowa magisterska Imię i nazwisko Michał Salasa Kierunek studiów Inżynieria Akustyczna Temat pracy dyplomowej Analiza metod głębokiego uczenia maszynowego do modelowania mowy polskiej Opiekun pracy dr inż. Jakub Gałka Kraków, rok 2015

Analiza metod głębokiego uczenia maszynowego do modelowania

Embed Size (px)

Citation preview

Page 1: Analiza metod głębokiego uczenia maszynowego do modelowania

WYDZIAŁ INŻYNIERII MECHANICZNEJ I ROBOTYKI

KATEDRA WIBROAKUSTYKI

Praca dyplomowa

magisterska

Imię i nazwisko Michał Salasa

Kierunek studiów Inżynieria Akustyczna

Temat pracy dyplomowej Analiza metod głębokiego uczenia

maszynowego do modelowania

mowy polskiej

Opiekun pracy dr inż. Jakub Gałka

Kraków, rok 2015

Page 2: Analiza metod głębokiego uczenia maszynowego do modelowania
Page 3: Analiza metod głębokiego uczenia maszynowego do modelowania

Spis treści

- 3 -

Spis treści

WSTĘP ....................................................................................................................................................... 5

CEL PRACY .............................................................................................................................................. 7

ROZDZIAŁ 1 WPROWADZENIE W PROBLEMATYKĘ ................................................................. 8

1.1 AUTOMATYCZNE ROZPOZNAWANIE MOWY .................................................................................... 8

1.1.1 Założenia systemu ASR ...................................................................................................... 10

1.1.2 Parametryzacja sygnału akustycznego............................................................................... 12

1.1.3 Model akustyczny ............................................................................................................... 13

1.1.4 Model językowy .................................................................................................................. 16

1.2 GŁĘBOKIE SIECI NEURONOWE W KONTEKŚCIE MODELOWANIA AKUSTYCZNEGO MOWY .............. 17

1.2.1 Architektura głębokiej sieci neuronowej ............................................................................ 17

1.2.2 Hybryda DNN-HMM ......................................................................................................... 20

1.2.3 Bottleneck Features (BNF) ................................................................................................ 22

ROZDZIAŁ 2 PRZYGOTOWANIE ŚRODOWISKA PROGRAMISTYCZNEGO ORAZ

DANYCH NIEZBĘDNYCH DO PRZEPROWADZENIA BADAŃ ................................................... 24

2.1 WYKORZYSTYWANE OPROGRAMOWANIE ..................................................................................... 24

2.1.1 Kaldi – zestaw narzędzi do automatycznego rozpoznawania mowy .................................. 24

2.1.2 ATLAS – biblioteki numeryczne ......................................................................................... 25

2.1.3 OpenFST – zestaw narzędzi do modelowania automatów skończonych ............................ 26

2.1.4 CUDA – platforma do obliczeń równoległych ................................................................... 26

2.1.5 SRILM – zestaw narzędzi do modelowania językowego .................................................... 27

2.1.6 FaNT – narzędzie do przetwarzania nagrań dźwiękowych ................................................ 27

2.2 KORPUSY MOWY POLSKIEJ ........................................................................................................... 27

2.2.1 Charakterystyka korpusów ................................................................................................. 28

2.2.2 Wydzielenie podzbiorów korpusów .................................................................................... 30

2.2.3 Zakłócanie korpusów ewaluacyjnych ................................................................................. 33

ROZDZIAŁ 3 TRENING MODELI AKUSTYCZNYCH ................................................................... 42

3.1 WYGENEROWANIE INFORMACJI JĘZYKOWYCH ............................................................................. 42

3.2 KONSTRUKCJA DANYCH TRENINGOWYCH .................................................................................... 45

3.3 TRENING MFCC-GMM-HMM .................................................................................................... 45

3.4 TRENING BNF-GMM-HMM ....................................................................................................... 57

3.5 TRENING FBANK-DNN-HMM ................................................................................................... 65

Page 4: Analiza metod głębokiego uczenia maszynowego do modelowania

Spis treści

- 4 -

ROZDZIAŁ 4 EWALUACJA ORAZ ANALIZA PORÓWNAWCZA WYNIKÓW ........................ 70

4.1 OPIS ANALIZOWANYCH METRYK .................................................................................................. 70

4.2 KOMPILACJA GRAFÓW DEKODUJĄCYCH ....................................................................................... 72

4.3 DOSTROJENIE KONFIGURACJI DEKODERA ..................................................................................... 74

4.4 PORÓWNANIE SKUTECZNOŚCI MODELI AKUSTYCZNYCH ............................................................... 79

4.5 PORÓWNANIE ODPORNOŚCI MODELI AKUSTYCZNYCH NA ZAKŁÓCENIA ....................................... 80

4.5.1 Odporność na zaszumienie ................................................................................................. 80

4.5.2 Odporność na pogłos ......................................................................................................... 91

PODSUMOWANIE ............................................................................................................................... 102

BIBLIOGRAFIA ................................................................................................................................... 103

SPIS ILUSTRACJI ................................................................................................................................ 106

ZAŁĄCZNIK - WYNIKI EWALUACJI ............................................................................................. 109

Page 5: Analiza metod głębokiego uczenia maszynowego do modelowania

Spis treści

- 5 -

Wstęp

Automatyczne rozpoznawanie mowy jest technologią rozwijaną nieustannie od lat

trzydziestych XX wieku. Od tamtego czasu powstało wiele ważnych teorii i rozwiązań,

które regularnie zwiększały skuteczność i wszechstronność implementowanych

systemów. Był to systematyczny i powolny rozwój, który w ostatnich kilku latach nabrał

ogromnego tempa.

W przeszłości, systemy ASR (ang. Automatic Speech Recognition) funkcjonowały

raczej jako ciekawostka niż jako ważny element w komunikacji człowieka z maszyną.

Miały na to wpływ głównie stosunkowo wysoka zawodność systemów oraz brak realnego

zapotrzebowania (klasyczna metoda myszy i klawiatury była zdecydowanie bardziej

wygodna). W ostatnim dziesięcioleciu sytuacja uległa diametralnej zmianie. Pojawiły się

technologiczne rozwiązania, dla których wygodniejszym i bardziej naturalnym sposobem

kontroli stał się ludzki głos (systemy wspomagające w samochodach, idea inteligentnych

domów, wirtualni asystenci w telefonach komórkowych i inne przenośne urządzenia takie

jak zegarki elektroniczne). Co więcej, dostęp do coraz szybszych jednostek

obliczeniowych (pojawienie się wielordzeniowych CPU oraz GPGPU) oraz możliwość

gromadzenia ogromnych ilości danych dzięki sieci Internet pozwoliły na tworzenie

znacznie skuteczniejszych i szybszych modeli wykorzystywanych w rozpoznawaniu

mowy.

W automatycznym rozpoznawaniu mowy znalazło się również miejsce dla znanych

już wcześniej metod głębokiego uczenia maszynowego, które jednak nie były aktywnie

rozwijane ze względu na ogromną złożoność obliczeniową. Wraz z opisanym wcześniej

przyrostem technologicznym i wzrostem zainteresowania systemami ASR coraz więcej

jednostek naukowych zaczęło uważnie badać te metody. Powstało wiele

ogólnodostępnych narzędzi programistycznych, które pozwalają przeprowadzać swoje

własne badania i eksperymenty.

W niniejszej pracy dyplomowej podjęto próbę przeprowadzania swoich własnych

eksperymentów wykorzystując najnowsze dostępne metody modelowania akustycznego

mowy. Autor chciał przebadać wpływ metod głębokiego uczenia maszynowego na

skuteczność modeli akustycznych mowy polskiej oraz porównać ich wszechstronność z

klasycznym sposobem modelowania.

Page 6: Analiza metod głębokiego uczenia maszynowego do modelowania

Wstęp

- 6 -

W rozdziale pierwszym przedstawiono krótką historię ewolucji systemów

automatycznego rozpoznawania mowy oraz opisano podstawowe pojęcia niezbędne do

zrozumienia kluczowych mechanizmów kryjących się za tą technologią. Dokonano

również przeglądu dostępnej literatury pod kątem zastosowania głębokich sieci

neuronowych do modelowania akustycznego mowy oraz omówiono szczegółowo te

metody, które będą w niniejszej pracy analizowane.

Rozdział drugi dotyczy przygotowania środowiska programistycznego niezbędnego

do przeprowadzenia opisanych w pracy eksperymentów. Opisano w nim pokrótce

najważniejsze wykorzystywane oprogramowanie oraz zawarto drobne wskazówki co do

jego instalacji. W rozdziale drugim scharakteryzowano również korpusy mowy polskiej,

które stanowiły źródło danych treningowych, deweloperskich i ewaluacyjnych.

Omówiono też dokładnie sposób w jaki wygenerowano z nich odpowiednie podzbiory

nagrań oraz metody wprowadzenia zakłóceń akustycznych do podzbiorów

ewaluacyjnych.

W rozdziale trzecim umieszczono kompletny przebieg treningów trzech

analizowanych modeli akustycznych w środowisku Kaldi wraz z opisaniem wywołań

najistotniejszych programów i skryptów. Zawarto tutaj także wszystkie informacje

niezbędne do odtworzenia tych eksperymentów.

Rozdział czwarty rozpoczyna się od opisu metryk wykorzystywanych do ewaluacji

systemów automatycznego rozpoznawania mowy. Najważniejszą częścią czwartego

rozdziału jest przedstawienie i analiza wyników otrzymanych z ewaluacji trzech

systemów zbudowanych z wykorzystaniem wytrenowanych modeli akustycznych.

Porównano tutaj ogólną skuteczność systemów zaobserwowaną na wyselekcjonowanych

korpusach testowych oraz ich odporność na różnego rodzaju zakłócenia akustyczne.

Page 7: Analiza metod głębokiego uczenia maszynowego do modelowania

Cel pracy

- 7 -

Cel pracy

Celem pracy jest przede wszystkim przeprowadzenie jednych z pierwszych

eksperymentów wykorzystujących metody głębokiego uczenia maszynowego do

modelowania akustycznego mowy polskiej i wytrenowanie modeli akustycznych dla

języka polskiego o jak największej skuteczności.

Autor ma na celu również przeprowadzenie analizy wykorzystywanych metod pod

kątem ogólnej skuteczności i wydajności zbudowanych z ich pomocą systemów ASR z

porównaniem do metod klasycznych. Porównaniu ulegnie również odporność systemów

na różnego rodzaju zakłócenia akustyczne.

Page 8: Analiza metod głębokiego uczenia maszynowego do modelowania

Wprowadzenie w problematykę

- 8 -

Rozdział 1

Wprowadzenie w problematykę

W poniższym rozdziale przedstawione zostaną podstawowe zagadnienia związane z

automatycznym rozpoznawaniem mowy oraz sztucznymi sieciami neuronowymi.

Zostanie również dokonany przegląd literatury pod kątem różnych metod polegających

na wykorzystaniu głębokich sieci neuronowych do akustycznego modelowania mowy,

które to metody stały się w ostatnim dziesięcioleciu ważną alternatywą dla klasycznego

podejścia.

1.1 Automatyczne rozpoznawanie mowy

Historia automatycznego rozpoznawania mowy (ang. Automatic Speech Recognition,

ASR) ma swój początek w latach trzydziestych XX wieku. Pierwszy, odnotowany przez

literaturę naukową, system rozpoznawania mowy został skonstruowany w 1952 roku w

zakładzie Bell Labolatories. Trzech naukowców: Davis, Biddulph oraz Balashek

utworzyli system, który był w stanie rozpoznawać cyfry wypowiadane przez

pojedynczego mówcę w sposób izolowany (z przerwami). Główny mechanizm bazował

na prostym dopasowaniu wzorca, którym dla każdej wypowiadanej cyfry były trajektorie

wyznaczone przez dwa pierwsze formanty (zagęszczenia energii) w widmie

częstotliwościowym sygnału [4]. Od tego momentu coraz więcej ośrodków naukowych

wykazywało zainteresowanie tą tematyką.

Kolejne systemy, budowane głównie w USA, Japonii oraz Związku Radzieckim,

cechowały się coraz większymi możliwościami (rozpoznawanie głosek, dynamiczne

czasowe dopasowanie wypowiedzi, rozpoznawanie ciągłych fraz). Powstawały też

pierwsze komercyjne wdrożenia tej technologii (firma Threshold Technology założona

przez Toma Martina).

W połowie lat siedemdziesiątych dwoma głównymi ośrodkami naukowymi, w których

rozwijano technologię rozpoznawania mowy, było IBM pod przewodnictwem Freda

Jelinka oraz AT&T Bell Laboratories. Obie grupy obrały sobie za cel rozwinięcie różnych

elementów systemów ASR co zaowocowało szybszym rozwojem tej gałęzi nauki. W

IBM utworzono system Tangora, który cechował się dużym jak na współczesne czasy,

rozmiarem słownika dzięki wprowadzeniu statystycznych modeli językowych (n-

Page 9: Analiza metod głębokiego uczenia maszynowego do modelowania

Wprowadzenie w problematykę

- 9 -

gramów) [11]. Dzięki tym pracom statystyczne modele językowe stały się integralną

częścią większość późniejszych systemów rozpoznawania mowy. System tworzony w

AT&T Laboratories miał zostać wykorzystany w publicznych liniach telefonicznych i z

tego względu jego główną siłą musiała być niezależność od mówcy. Pracę w IBM

przyczyniły się do rozwinięcia technik statystycznego modelowania zjawisk

akustycznych mowy (Ukryte Modele Markowa) oraz wykorzystywania tak zwanych

‘słów kluczy’ [28].

Ogromnym krokiem naprzód w latach osiemdziesiątych było powszechne

zastępowanie dotychczasowego ‘bezpośredniego’ dopasowywania wzorców mowy (w

dziedzinie częstotliwości) bardziej wyrafinowanym statystycznym modelowaniem

akustycznym opartym na Ukrytych Modelach Markowa. To podejście wcześniej znane

było tylko w nielicznych ośrodkach, a do jego upowszechnienia przyczyniła się duża

liczba publikacji naukowych, w których temat HMM był wyjaśniany. Statystyczne

podejście, pozwalające na okiełznanie bardzo dużej zmienności mowy, stało się żelaznym

elementem każdego systemu ASR i przetrwało do dziś – bardziej szczegółowe

omówienie tego tematu znajduje się w kolejnych rozdziałach.

Współcześnie wiele jednostek naukowych na świecie specjalizuje się w systemach

automatycznego rozpoznawania mowy. Rozbudowywanych jest również wiele

komercyjnych rozwiązań (głównie wirtualni asystenci), które z roku na rok stają się coraz

bardziej popularne. Do kluczowych rozwiązań w tym temacie należą takie produkty jak

Siri (firmy Apple), Google Now (Google), S Voice (Samsung) i Cortana (Microsoft).

Cechą charakterystyczną automatycznego rozpoznawania mowy jest jego

interdyscyplinarny charakter. Aby dobrze zrozumieć i rozwijać związane z nim

technologie należy mieć wiedzę (przynajmniej poglądową) w wielu różnych dziedzinach

nauki. Interesujące zestawienie najważniejszych dyscyplin naukowych związanych z

rozpoznawaniem mowy wraz z ich przykładowym zastosowaniem zostało przedstawione

przez Rabinera i Juanga [18]:

Przetwarzanie Sygnałów – ekstrakcja istotnych (z perspektywy przetwarzania

mowy) informacji pochodzących z zarejestrowanych sygnałów akustycznych

poprzez analizę czasowo-częstotliwościową.

Page 10: Analiza metod głębokiego uczenia maszynowego do modelowania

Wprowadzenie w problematykę

- 10 -

Akustyka – opisanie praw i zależności związanych z generowaniem i

odbieraniem sygnału mowy (fali akustycznej) przez specjalizowane organy

człowieka (trakt głosowy, narząd słuchu).

Rozpoznawanie wzorców – efektywna klasyfikacja nowych serii danych na

podstawie wcześniej zgromadzonego zbioru danych treningowych.

Teoria informacji – procedury estymacji parametrów modeli

probabilistycznych, programowanie dynamiczne (algorytm Viterbiego).

Lingwistyka – wykrywanie relacji między wypowiadanymi częściami mowy

(fonologia), analizowanie znaczenia słów (semantyka) struktur gramatycznych

w obrębie danego języka.

Fizjologia – zrozumienie mechanizmów zachodzących w centralnym układzie

nerwowym człowieka związanych z szeroko pojętym przetwarzaniem mowy

oraz próba przełożenia ich na odpowiednie algorytmy (sztuczne sieci

neuronowe).

Informatyka – umiejętność efektywnego implementowania algorytmów

koniecznych do prawidłowego funkcjonowania systemu rozpoznawania

mowy.

1.1.1 Założenia systemu ASR

Głównym zadaniem systemu automatycznego rozpoznawania mowy jest znalezienie

dla analizowanego sygnału akustycznego (sygnału mowy) jego najdokładniejszej

transkrypcji (zapisu słownego). Biorąc pod uwagę ogromną zmienność sygnału mowy

wynikającą z różnorodności warunków akustycznych oraz różnego sposobu wymawiania

słów przez różnych mówców zadanie to jest bardzo skomplikowane.

Zadanie przetworzenia mowy na tekst można traktować jako próbę odkodowania

nadanej informacji (w tym przypadku słów), która poprzez pewien kanał zaszumiający

została przekonwertowana na sygnał akustyczny [12]. Idealnym rozwiązaniem tego

problemu byłaby sytuacja, w której znając dokładny model kanału zaszumiającego oraz

dysponując kompletnym zestawem zdań możliwych do utworzenia w danym języku,

generowalibyśmy sygnał akustyczny dla każdego możliwego zdania i szukali takiej

reprezentacji akustycznej, która najlepiej ‘pasuje’ do oryginalnej wypowiedzi.

Page 11: Analiza metod głębokiego uczenia maszynowego do modelowania

Wprowadzenie w problematykę

- 11 -

Metryką służącą do poszukiwania najlepszego dopasowania jest w systemach

rozpoznawania mowy prawdopodobieństwo. Jest to metryka, która najlepiej sprawuje się

w warunkach bardzo dużej zmienności mowy. Wywodzi się ona z modelu

Bayesowskiego, którego zastosowanie w rozpoznawaniu mowy zostanie teraz

przedstawione.

Potraktujmy akustyczny sygnał mowy O jako sekwencję pewnych obserwacji oi

wygenerowanych przez mówcę zmieniających się w czasie

𝑂 = 𝑜1, 𝑜2, 𝑜3, … , 𝑜𝑡. (1.1)

W taki sam sposób możemy zapisać dowolny ciąg W słów wi

𝑊 = 𝑤1, 𝑤2, 𝑤3, … , 𝑤𝑡. (1.2)

Pytaniem, na które próbujemy odpowiedzieć podczas dekodowania wypowiedzi brzmi:

„Jakie jest najbardziej prawdopodobne zdanie spośród wszystkich zdań danego języka L

dla analizowanego akustycznego sygnału mowy O?”. Odpowiedź można zapisać w

postaci

�̂� = argmax𝑊

𝑃(𝑊|𝑂) . (1.3)

Wykorzystując regułę Bayesa 𝑃(𝑥|𝑦) =𝑃(𝑦|𝑥)𝑃(𝑥)

𝑃(𝑦) możemy zastąpić powyższe równanie

równaniem

�̂� = argmax𝑊

𝑃(𝑂|𝑊)𝑃(𝑊)

𝑃(𝑂). (1.4)

Rozwiązanie powyższego równania (nazywane dekodowaniem) gwarantuje nam

znalezienie zdania, które najlepiej pasuje do zadanego sygnału akustycznego.

Komponenty P(O|W) i P(W) są w tym przypadku kluczowe i oznaczają odpowiednio

prawdopodobieństwo wystąpienia danego sygnału mowy O dla hipotetycznego zdania W

(wyznaczane przez model akustyczny) oraz prawdopodobieństwo wystąpienia zdania W

w danym języku (wyznaczane przez model językowy). Prawdopodobieństwo P(O)

można zignorować, ponieważ jest stałe dla danego przypadku (dla każdego

hipotetycznego zdania cały czas analizujemy ten sam ciąg obserwacji). Ostatecznie

otrzymujemy

�̂� = argmax𝑊

𝑃(𝑂|𝑊)𝑃(𝑊) . (1.5)

Page 12: Analiza metod głębokiego uczenia maszynowego do modelowania

Wprowadzenie w problematykę

- 12 -

1.1.2 Parametryzacja sygnału akustycznego

Przed przystąpieniem do dekodowania sygnału akustycznego należy go

sparametryzować czyli przedstawić w formie sekwencji akustycznych wektorów cech

(wektorów obserwacji). Każdy z tych wektorów reprezentuje najistotniejsze cechy mowy

w określonym przedziale czasowym. Istnieje kilka metod parametryzacji sygnału

akustycznego spośród których najpopularniejsza jest metoda ekstrakcji współczynników

MFCC (ang. Mel-Frequency Cepstral Coefficients).

Rys. 1 Przykład parametryzacji MFCC

Proces ekstrakcji MFCC rozpoczyna się od podzielenia sygnału akustycznego na

ramki o określonej szerokości i zakładkowaniu (zazwyczaj jest to odpowiednio 25 i 10

milisekund). Przyjmuje się, że w tym czasie sygnał mowy jest stacjonarny [30]. Kolejnym

krokiem jest wymnożenie widma częstotliwościowego ramek sygnału przez bank filtrów

trójkątnych znajdujących się na skali melowej (która symuluje rozdzielczość

częstotliwościową ucha ludzkiego), wyciągnięciu logarytmu energii z każdego

otrzymanego pasma oraz wykonaniu na powstałych współczynnikach transformacji

dekorelującej DCT (ang. Discrete Cosine Transform). 12 pierwszych współczynników

cepstralnych tworzy wyjściowy wektor MFCC. W celu zachowania informacji o

temporalnych zmianach sygnału z otrzymanej sekwencji wektorów MFCC oblicza się

jeszcze pochodne pierwszego i drugiego rzędu, tworząc ostateczny ciąg wektorów

Page 13: Analiza metod głębokiego uczenia maszynowego do modelowania

Wprowadzenie w problematykę

- 13 -

obserwacji o 39 elementach. Ogólny przebieg parametryzacji przedstawiono na

poniższym rysunku.

Rys. 2 Przebieg parametryzacji MFCC [30]

1.1.3 Model akustyczny

Modele akustyczne służą do znalezienia prawdopodobieństwa P(O|W), czyli

prawdopodobieństwa wystąpienia danej sekwencji wektorów obserwacji (cech) O dla

określonego zdania W. W aktualnie rozwijanych systemach rozpoznawania mowy

zadanie to jest realizowane przez Ukryte Modele Markowa (ang. Hidden Markov

Models), w których prawdopodobieństwo obserwacji każdego stanu emitującego jest

modelowane przez miksturę gaussowską (ang. Gaussian Mixture Model). W niniejszym

podrozdziale zostanie omówiony ten typ modelowania.

W skrócie, Ukryty Model Markowa jest generatorem sekwencji pewnych wektorów

obserwacji. Jest to automat skończenie stanowy, który zmienia swój stan w każdej

kolejnej jednostce czasu i jeśli wejściowy stan jest stanem emitującym to z określonym

prawdopodobieństwem, generowany jest wektor obserwacji. Co więcej przejście między

dwoma stanami również realizuje się z określonym prawdopodobieństwem. Ukryty

Model Markowa jest w pełni scharakteryzowany przez następujące parametry:

Page 14: Analiza metod głębokiego uczenia maszynowego do modelowania

Wprowadzenie w problematykę

- 14 -

𝑄 = 𝑞1, 𝑞2, … 𝑞𝑁 - zbiór stanów,

𝐴 = 𝑎01, 𝑎02, … , 𝑎𝑛1, … , 𝑎𝑛𝑚 - macierz przejść, w której element 𝑎𝑖𝑗 jest

prawdopodobieństwem przejścia ze stanu i do stanu j,

𝑂 = 𝑜1, 𝑜2, … , 𝑜𝑁 - zbiór obserwacji,

𝐵 = 𝑏𝑖(𝑜𝑡) - zbiór prawdopodobieństw emisji obserwacji t przez stan emitujący i,

𝑞0, 𝑞𝑒𝑛𝑑 - stany nieemitujące obserwacji: początkowy i końcowy.

Każdy z tych parametrów ma swój odpowiednik w zadaniu rozpoznawania mowy.

Najczęściej wykorzystywaną topologią Ukrytych Modeli Markova jest model Bakisa

składający się z pięciu stanów (trzech emitujących), a przejścia między stanami

dozwolone są tylko w kierunku końcowego stanu (ang. left-to-right topology) oraz w

obrębie tego samego stanu (ang. self-loops). Trzy stany emitujące reprezentują

pojedynczy fonem mowy. Zbiór obserwacji O składa się w wektorów cech

wyekstrahowanych z sygnału mowy (MFCC).

Rys. 3 Topologia modelu Bakisa z trzema stanami emitującymi [30]

Do treningu Ukrytych Modeli Markova jak i do dekodowania wyrażeń za ich pomocą

musimy zdefiniować funkcję B, która będzie wyznaczać prawdopodobieństwo emisji

określonego wektora cech O przez jeden ze stanów z Q. W początkowych

Page 15: Analiza metod głębokiego uczenia maszynowego do modelowania

Wprowadzenie w problematykę

- 15 -

implementacjach systemów ASR wykorzystywano w tych celu algorytm kwantyzacji

wektorowej (ang. Vector Quantization). Algorytm ten mimo swojej prostoty okazał się

być niewystarczający do modelowania ogromnej złożoności sygnału mowy.

Współcześnie do estymacji prawdopodobieństwa obserwacji wykorzystuje się funkcje

gęstości prawdopodobieństwa, z których najbardziej efektywne są mikstury gaussowskie

(ang. Gaussian Mixture Models) będące ważoną sumą pojedynczych gaussianów.

Pojedynczy, jednowymiarowy gaussian opisany jest wzorem

𝑓(𝑥|𝜇, 𝜎) =

1

√2𝜋𝜎2exp (−

(𝑥−𝜇)2

2𝜎2),

(1.6)

gdzie µ oznacza średnią gaussiana a σ2 jego wariancję.

Estymacja prawdopodobieństwa emisji t-tej obserwacji przez j-ty stan modelu

Markowa wykorzystując jednowymiarowy gaussian przedstawia się następująco

𝑏𝑗(𝑜𝑡) =

1

√2𝜋𝜎2exp (−

(𝑜𝑡−𝜇)2

2𝜎2).

(1.7)

Wektor obserwacji w przypadku rozpoznawania mowy składa się z 39 elementów dlatego

do estymacji prawdopodobieństwa należy wykorzystać wielowymiarowe gaussiany. Przy

założeniu, że poszczególne elementy wektora cech są od siebie niezależne (wektor jest

zdekorelowany) możemy do estymacji prawdopodobieństwa wykorzystać gaussiany z

diagonalną macierzą kowariancji i tego typu macierz wykorzystuje się w praktyce. Ma to

duże znaczenie we współczesnych systemat ASR z dwóch powodów. Po pierwsze,

zastosowanie pełnej macierzy kowariancji w znaczącym stopniu zwiększyłoby liczbę

obliczeń, spowalniając cały system. Po drugie, do dobrego wyestymowania parametrów

modeli z pełną macierzą kowariancji potrzebna byłaby bardzo duża ilość danych. Aby

wyestymować prawdopodobieństwo obserwacji będącej D-wymiarowym wektorem cech

używając D-wymiarowego gaussiana z diagonalną macierzą kowariancji

wykorzystujemy zależność

𝑏𝑗(𝑜𝑡) = ∏

1

√2𝜋𝜎𝑗𝑑2

exp (−1

2

(𝑜𝑡𝑑−𝜇𝑗𝑑)2

𝜎𝑗𝑑2 )𝐷

𝑑=1 . (1.8)

W rzeczywistości modelowanie wektora cech pojedynczym wielowymiarowym

gaussianem byłoby zbyt dużym uproszczeniem (poszczególne elementy wektora cech nie

muszą mieć rozkładu normalnego). Aby poprawnie modelować obserwacje akustyczne

należy wykorzystać ważoną sumę wielowymiarowych gaussianów. Taka suma

Page 16: Analiza metod głębokiego uczenia maszynowego do modelowania

Wprowadzenie w problematykę

- 16 -

gaussianów nazywa się miksturą gaussowską (ang. Gaussian Mixture Models) a

estymacja prawdopodobieństwa obserwacji realizowana jest przez następującą zależność

𝑏𝑗(𝑜𝑡) = ∑ 𝑐𝑗𝑚1

√2𝜋|𝛴𝑗𝑚|exp [(𝑥 − 𝜇𝑗𝑚)

𝑇𝛴𝑗𝑚

−1(𝑜𝑡 − 𝜇𝑗𝑚)]𝑀𝑚=1 .

(1.9)

1.1.4 Model językowy

W systemie automatycznego rozpoznawania niezbędne są dwa komponenty

odpowiedzialne za modelowanie języka: leksykon oraz model językowy. Leksykon

zawiera informacje o wielowariantowej transkrypcji fonetycznej każdego słowa, które

może być rozpoznane przez system ASR. Transkrypcja fonetyczna realizowana jest w

oparciu o wybrany alfabet fonetyczny, który zależny jest od analizowanego języka.

Istnieje wiele międzynarodowych alfabetów fonetycznych takich jak International

Phonetic Alphabet czy X-SAMPA, które wykorzystują ujednolicone symbole do

reprezentacji poszczególnych części mowy.

Kluczowym elementem systemu ASR jest model językowy. Odpowiada on za

wyliczenie prawdopodobieństwa P(W), czyli prawdopodobieństwa wystąpienia

określonej sekwencji słów (zdania) dla danego języka. Najpopularniejsze modele

językowe wykorzystywane w rozpoznawaniu mowy to N-gramowe modele statystyczne.

Estymacja parametrów takiego modelu polega na gromadzeniu statystyk dotyczących

częstości występowania sekwencji słów (pojedynczych słów dla unigramów, par słów dla

bigramów itd.) w określonych korpusach treningowych. W ogólnym przypadku

estymacja MLE (ang. Maximum Likelihood Estimation) parametrów modelu N-

gramowego opisana jest zależnością

𝑃(𝑤𝑚|𝑤𝑛−𝑁+1𝑛−1 ) =

𝐶(𝑤𝑛−𝑁+1𝑛−1 𝑤𝑛)

𝐶(𝑤𝑛−𝑁+1𝑛−1 )

, (1.10)

gdzie funkcja C(xy) oznacza częstość występowania w korpusie uczącym ciągu xy.

Systemy ASR do rozpoznawania mowy swobodnej korzystają najczęściej z

trigramowych modeli językowych. Do budowania większych modeli potrzebna jest

bardzo duża ilość danych, a modele takie przyjmują zbyt duże rozmiary, aby mogły być

wykorzystywane w praktycznych implementacjach. Modele N-gramowe można również

dostrajać do poszczególnych domen, w których ma działać system ASR (np. rejestracja

rozpraw sądowych).

Page 17: Analiza metod głębokiego uczenia maszynowego do modelowania

Wprowadzenie w problematykę

- 17 -

Oprócz modeli N-gramowych w rozpoznawaniu mowy można również

wykorzystywać modele oparte o gramatyki regułowe. Są to zacznie prostsze modele,

które bezpośrednio definiują reguły według których mogą łączyć się w zdania słowa

zawężając w ten sposób dostępne słownictwo i złożoność modelu. Gramatyki regułowe

są wykorzystywane najczęściej w aplikacjach mobilnych, w prostych systemach

dialogowych lub w systemach służących do głosowej kontroli urządzeń.

1.2 Głębokie Sieci Neuronowe w kontekście modelowania akustycznego

mowy

1.2.1 Architektura głębokiej sieci neuronowej

Głęboka sieć neuronowa (ang. Deep Neural Network) to wielowarstwowy perceptron

MLP (ang. Multi-Layer Perceptron) z kilkoma ukrytymi warstwami [10]. Sieć tego typu

opisana jest równaniem

𝑣𝑙 = 𝑓(𝑧𝑙) = 𝑓(𝑊𝑙𝑣𝑙−1 + 𝑏𝑙), (1.11)

dla (0 < l < 1), gdzie z to wektor pobudzenia, v to wektor aktywacji, W to macierz wag

poszczególnych neuronów, b to wektor biasu, l to numer warstwy sieci. Przykładowa

topologia głębokiej sieci neuronowej z trzema warstwami ukrytymi przedstawiona jest

na poniższym rysunku.

Rys. 4 Przykładowa architektura głębokiej sieci neuronowej z trzema ukrytymi

warstwami [32]

Page 18: Analiza metod głębokiego uczenia maszynowego do modelowania

Wprowadzenie w problematykę

- 18 -

W większości przypadków funkcja aktywacji f(.) jest funkcją sigmoidalną

𝜎(𝑧) =1

1+𝑒−𝑧 , (1.12)

której wartości wyjściowe zawierają się w przedziale (0,1).

Warstwa wyjściowa sieci jest dobierana ze względu na rodzaj rozwiązywanego

problemu. W kontekście przetwarzania mowy jest to z reguły problem klasyfikacji. Dla

tego typu problemu każdy neuron wyjściowej warstwy sieci reprezentuje pewną klasę

i∈{1,…,C}, gdzie C = NL to całkowita ilość klas. Wartość i-tego wyjściowego neuronu,

oznaczaną jako Pdnn(i|o), jest prawdopodobieństwem z jakim wektor wejściowy o

(podawany na wejściową warstwę sieci) przynależy do i-tej klasy. Aby wartości

neuronów wyjściowych spełniały wymogi rozkładu prawdopodobieństwa muszą być

znormalizowane funkcją softmax

𝑣𝑖

𝐿 = 𝑃𝑑𝑛𝑛(𝑖|𝑜) = 𝑠𝑜𝑓𝑡𝑚𝑎𝑥𝑖(𝑧𝐿) =𝑒𝑧𝑖

𝐿

∑ 𝑒𝑧𝑗

𝐿𝐶𝑗=1

, (1.13)

gdzie 𝑧𝑖𝐿 jest i-tym elementem wektora pobudzenia 𝑧𝐿.

Parametry głębokiej sieci neuronowej {W,b} (macierz wag oraz wektor biasu)

estymowane są podczas procedury treningu. Trening zawsze charakteryzuje się pewnym

kryterium treningu oraz algorytmem uczącym i jest wykonywany dla próbek trenujących

𝑆 = {(𝑜𝑚, 𝑦𝑚)|0 ≤ 𝑚 < 𝑀}, gdzie M jest liczbą wszystkich próbek, 𝑜𝑚 jest m-tym

wejściowym wektorem obserwacji a 𝑦𝑚 jest pożądanym wektorem wyjściowym.

Kryterium treningu stosowane w problemie klasyfikacji to kryterium entropii

krzyżowej CE (ang. cross-entropy) opisane zależnością

𝐽𝐶𝐸(𝑊, 𝑏; 𝑆) =1

𝑀∑ 𝐽𝐶𝐸(𝑊, 𝑏; 𝑜𝑚, 𝑦𝑚)𝑀

𝑚=1 , (1.14)

w którym

𝐽𝐶𝐸(𝑊, 𝑏; 𝑜, 𝑦) = − ∑ 𝑦𝑖𝑙𝑜𝑔𝑣𝑖𝐿𝐶

𝑖=1 , (1.15)

gdzie 𝑦𝑖 = 𝑃𝑒𝑚𝑝(𝑖|𝑜) jest zaobserwowanym prawdopodobieństwem, że wektor

obserwacji o należy do klasy i, a 𝑣𝑖𝐿 = 𝑃𝑑𝑛𝑛(𝑖|𝑜) to samo prawdopodobieństwo

wyestymowane z sieci neuronowej. W większości badanych przypadków (także w

klasyfikacji ramek MFCC do określonego fonu) wektor obserwacji przynależy tylko

Page 19: Analiza metod głębokiego uczenia maszynowego do modelowania

Wprowadzenie w problematykę

- 19 -

do jednej klasy, czyli 𝑦𝑖 = 1 (jeśli o należy do i-tej klasy) a równanie uprasza się do

następującej postaci

𝐽𝑁𝐿𝐿(𝑊, 𝑏; 𝑜, 𝑦) = −𝑙𝑜𝑔𝑣𝑐𝐿, (1.16)

gdzie NLL oznacza ujemny logarytm prawdopodobieństwa (ang. negative log

likelihood).

Dysponując zgromadzonym zbiorem próbek trenujących oraz ustaliwszy odpowiednie

dla danego problemu kryterium treningu parametry głębokiej sieci neuronowej mogą być

wyestymowane wykorzystując algorytm wstecznej propagacji błędów BP [ang.

backpropagation algorithm] [21]. Algorytm ten wykorzystywany jest w uczeniu

nadzorowanym wielowarstwowych sieci neuronowych i opisuje sposób w jaki powinny

być modyfikowane parametry poszczególnych warstw tej sieci w każdej iteracji treningu.

Cechą szczególną tego algorytmu jest fakt, że błąd klasyfikacji jest przesyłany między

kolejnymi warstwami (zaczynając od wyjściowej i kończąc na wejściowej) i służy on

bezpośrednio do modyfikowania parametrów każdej kolejnej warstwy. Pełne

wyprowadzenie tego algorytmu dla przedstawionej wcześniej topologii i kryterium

treningu przedstawione jest w książce Dong Yu [32].Poniżej przedstawiono końcowe

formuły pozwalające wykorzystać algorytm w procedurze treningowej. Parametry

poszczególnych warstw modyfikowane są w oparciu o zależności

𝑊𝑡+1𝑙 ← 𝑊𝑡

𝑙 − 𝜀∆𝑊𝑡𝑙 (1.17)

i

𝑏𝑡+1𝑙 ← 𝑏𝑡

𝑙 − 𝜀∆𝑏𝑡𝑙 , (1.18)

gdzie 𝑊𝑡𝑙 i 𝑏𝑡

𝑙 są odpowiednio macierzą wag i wektorem biasu warstwy l po t-tej iteracji,

∆𝑊𝑡𝑙 =

1

𝑀𝑏∑ ∇𝑊𝑡

𝑙

𝑀𝑏

𝑚=1

𝐽(𝑊, 𝑏; 𝑜𝑚, 𝑦𝑚)

(1.19)

i

∆𝑏𝑡𝑙 =

1

𝑀𝑏∑ ∇𝑏𝑡

𝑙

𝑀𝑏

𝑚=1

𝐽(𝑊, 𝑏; 𝑜𝑚, 𝑦𝑚)

(1.20)

Page 20: Analiza metod głębokiego uczenia maszynowego do modelowania

Wprowadzenie w problematykę

- 20 -

są odpowiednio średnim gradientem macierzy wag i średnim gradientem wektora

biasu w t-tei iteracji wyznaczonymi na podstawie 𝑀𝑏 próbek treningowych (ang. batch

size), ε jest współczynnikiem uczenia (ang. learning rate) a ∇𝑥𝑙 jest gradientem kryterium

treningu J liczonym po x. Dla kryterium entropii krzyżowej gradienty wynoszą

odpowiednio

∇𝑊𝑡𝑙𝐽𝐶𝐸(𝑊, 𝑏; 𝑜, 𝑦) = (𝑣𝑡

𝐿 − 𝑦)(𝑣𝑡𝐿−1)𝑇, (1.21)

∇𝑏𝑡𝑙𝐽𝐶𝐸(𝑊, 𝑏; 𝑜, 𝑦) = (𝑣𝑡

𝐿 − 𝑦). (1.22)

Trening głębokiej sieci neuronowej, choć teoretycznie wydaje się być prostą

implementacją odpowiednich algorytmów, jest zadaniem wymagającym. Aby efektywnie

wytrenować głęboką sieć neuronową należy zmierzyć się z wieloma praktycznymi

problemami takimi jak: wstępne przetworzenie danych wejściowych, inicjalizacja

modelu sieci neuronowej (początkowe wartości jej parametrów), uniknięcie

przetrenowania sieci (zbytniego dopasowania się do danych uczących), randomizacja

próbek wejściowych, dostrojenie parametru decydującego o szybkości uczenia się sieci

(ang. learning-rate) i wiele innych. Prawidłowe zrealizowanie tego zadania wymaga

podjęcia wielu decyzji, które w znaczący sposób wpływają na końcowy rezultat.

1.2.2 Hybryda DNN-HMM

Pierwsze próby polegające na stworzeniu modelu akustycznego będącego kombinacją

modelu głębokiej sieci neuronowej i Ukrytych Modeli Markowa, który zastąpiłby

klasyczną kombinację GMM-HMM, miały miejsce już w latach 80tych. Zaproponowano

wiele różnych architektur oraz algorytmów trenujących [25] jednak nie dawały one

wyraźnie lepszych rezultatów niż klasyczne podejście, a ogromna złożoność

obliczeniowa tego typu rozwiązań nie pozwalała na efektywne przeprowadzanie

eksperymentów w tamtych czasach. Jednym z podejść zapoczątkowanych w tamtych

czasach było wykorzystanie głębokiej sieci neuronowej jako estymatora

prawdopodobieństw obserwacji dla stanów modelu HMM. Przykład takiej architektury

zaprezentowano na rysunku 5.

Page 21: Analiza metod głębokiego uczenia maszynowego do modelowania

Wprowadzenie w problematykę

- 21 -

Rys. 5 Architektura hybrydy DNN-HMM [32]

Pierwsze modele akustyczne oparte o tego typu hybrydę wykorzystywały głoski

niezależne od kontekstu (tzw. monofony) jako zbiór klas reprezentowanych przez

neurony wyjściowe sieci. Dodatkowo, głęboka sieć neuronowa składała się tylko z dwóch

warstw ukrytych [15]. W niektórych rodzajach eksperymentów sieci te wgrywały z

klasycznymi modelami GMM-HMM, ale rozwinięcie ich możliwości nie było możliwe

ze względów opisanych na początku podrozdziału.

Ostatnie badania [3] pokazały, że zmodyfikowanie topologii sieci poprzez

zwiększenie ilości głębokich warstw oraz wykorzystanie do klasyfikacji zbioru głosek

zależnych od najbliższych sąsiednich głosek (tzw. trifony) znacząco poprawiły

skuteczność rozpoznawania mowy. Co więcej, rozszerzenie wejściowej obserwacji do

kilku sąsiadujących ze sobą wektorów cech również pozytywnie wpływa na dokładność

Page 22: Analiza metod głębokiego uczenia maszynowego do modelowania

Wprowadzenie w problematykę

- 22 -

modelowania. Aktualnie dostępny sprzęt w postaci zdecydowanie szybszych jednostek

obliczeniowych (zarówno CPU jak i GPU) pozwala na wykonanie wielu optymalizacji i

testowanie nowych pomysłów w krótszym, a przede wszystkim sensowniejszym czasie

niż w przeszłości. Tego typu architektura sieci zostanie przetestowana w niniejszej pracy.

1.2.3 Bottleneck Features (BNF)

Innym pomysłem zastosowania głębokich sieci neuronowych do modelowania

akustycznego mowy jest wykorzystanie ich jako kolejnego modułu parametryzującego

sygnał akustyczny. Metoda ta, zwana tandemową, wykorzystuje ukryte warstwy sieci

DNN jako kolejne transformacje, którym podlega wektor cech wejściowych a ich rezultat

podawany jest jako wejście do modułu GMM-HMM, który trenowany jest na nowych

parametrach w klasyczny sposób. Pierwszy raz pomysł ten pojawił się w pracy

Hermanskiego [8] i polegał na wykorzystaniu wartości neuronów wyjściowych kilku

głębokich sieci neuronowych, które zostały wytrenowane do klasyfikacji monofonów.

Idea ta miała swoją wadę w postaci dużej wymiarowości nowych wektorów cech, na

których trenowano później model GMM-HMM.

Rys. 6 Przykładowa architektura głębokiej sieci neuronowej z warstwą typu

bottleneck zlokalizowaną przed warstwą wyjściową [32]

Page 23: Analiza metod głębokiego uczenia maszynowego do modelowania

Wprowadzenie w problematykę

- 23 -

Pomysł ten został nieco zmodyfikowany przez Grezla [7], który zaproponował by

współczynniki nowych wektorów cech pochodziły z jednej z ukrytych warstw sieci

neuronowej, w której liczba neuronów mogłaby zostać zmniejszona w stosunku do liczby

neuronów warstw pozostałych. Warstwa ta została nazwana ‘wąskim gardłem’ sieci (ang.

bottleneck), a nowe współczynniki, które zostały z niej wyekstrahowane przyjęły się pod

nazwą bottleneck features (BNF). Przykładową topologię takiej sieci zaprezentowano na

rysunku powyżej. Grezl wyjaśnia, że powstałe w miejscu warstwy bottleneck utrudnienie

wymusza na sieci redukcję wymiarowości informacji istotnych do prawidłowej

klasyfikacji fonetycznej. Zauważono, że modele GMM-HMM wytrenowane na

współczynnikach BNF cechują się większą odpornością na zmienność warunków

akustycznych, w których pracuje system ASR oraz na różnorodność mówców. W

niniejszej pracy postanowiono przeanalizować ten typ modelowania.

Page 24: Analiza metod głębokiego uczenia maszynowego do modelowania

Przygotowanie środowiska programistycznego oraz danych niezbędnych do przeprowadzenia

badań

- 24 -

Rozdział 2

Przygotowanie środowiska programistycznego oraz danych

niezbędnych do przeprowadzenia badań

W niniejszym rozdziale opisane zostaną najważniejsze narzędzia programistyczne

wykorzystane do utworzenia systemu automatycznego rozpoznawania mowy oraz

przeprowadzenia badań będących tematem pracy. Dodatkowo, scharakteryzowane

zostaną korpusy nagrań mowy wykorzystane w eksperymentach wraz ze wszystkimi

operacjami na nich wykonanymi (takimi jak wydzielenie podzbiorów treningowych i

testowych, zaszumienie korpusów testowych etc.).

2.1 Wykorzystywane oprogramowanie

2.1.1 Kaldi – zestaw narzędzi do automatycznego rozpoznawania mowy

Obecnie, na rynku dostępnych jest wiele zestawów narzędzi (ang. toolkits)

pozwalających zbudować system automatycznego rozpoznawania mowy. Są to zarówno

rozwiązania komercyjne (AT&T Watson, Microsoft Speech Server, Google Speech API,

Nuance Recognizer) jak i darmowe (Hidden Markov Model Toolkit HTK, Julius, Sphinx-

4, Kaldi i wiele innych). Każde z tych środowisk oferuje podobne możliwości, które

bardzo często różnią się szczegółami implementacyjnymi o różnym stopniu złożoności.

Ciekawym przykładem jest również istniejący na polskim rynku system rozpoznawania

mowy polskiej SARMATA 2.0 [34] wykorzystujący rozwiązania obecne zarówno w HTK

jak i w Kaldi, lecz ze szczególnym uwzględnieniem złożoności języka polskiego (jego

niepozycyjność oraz występowanie wielu wysokoczęstotliwościowych głosek). Opisanie

każdego z nich z osobna stanowi dobry materiał na osobną pracę.

Spośród wszystkich dostępnych środowisk największym zainteresowaniem i

popularnością odznacza się w ostatnich latach Kaldi [17]. Jest to zestaw narzędzi

napisany w języku C++ przez szerokie grono specjalistów z dziedziny przetwarzania

mowy. Jego początki sięgają roku 2009 i od tamtego czasu jest cały czas aktywnie

rozwijany. Kaldi cechuje się najlepszą skutecznością wytrenowanych z jego pomocą

modeli akustycznych spośród wszystkich darmowych narzędzi [6]. Jest w dużej mierze

Page 25: Analiza metod głębokiego uczenia maszynowego do modelowania

Przygotowanie środowiska programistycznego oraz danych niezbędnych do przeprowadzenia

badań

- 25 -

oparty na teorii automatów skończonych (ang. finite state machines), oferuje wszystkie

najpopularniejsze metody wykorzystywane w rozpoznawaniu mowy, a w ostatnim czasie

został również wzbogacony o pierwsze implementacje sieci neuronowych. Te czynniki

zdecydowały o tym, że Kaldi został wytypowany jako podłoże programistyczne

opisanych w tej pracy eksperymentów.

Aby zacząć pracę z narzędziami Kaldi należy zaopatrzyć się w dowolny unixowy

system operacyjny (może to być również Windows ze środowiskiem Cygwin) oraz

dysponować aktualną wersją kompilatora C/C++ (GCC/G++). Repozytorium SVN z

kodem źródłowym Kaldiego jest swobodnie dostępne. Po pobraniu, kody źródłowe

należy samodzielnie skompilować. Procedury związane z procesem kompilacji są

szczegółowo wyjaśnione w dokumentacji dostarczonej wraz z oprogramowaniem.

Oprócz samych plików wykonywalnych Kaldiego, do zbudowania systemu

automatycznego rozpoznawania mowy potrzebne są jeszcze dodatkowe składniki, które

zostaną przedstawione w poniższych podrozdziałach. W niniejszej pracy wykorzystano

wersję 5042 repozytorium Kaldiego datowaną na 1 maja 2015r.

2.1.2 ATLAS – biblioteki numeryczne

ATLAS (ang. Automatically Tuned Linear Algebra Software) jest biblioteką

programistyczną zawierającą zoptymalizowane metody z bibliotek BLAS (ang. Basic

Linear Algebra Subprograms) oraz LAPACK (ang. Linear Algebra Package) służące do

wykonywania podstawowych operacji algebraicznych na wektorach i macierzach [1].

Interesującą cechą tego pakietu jest fakt, że automatyczna optymalizacja tych metod

następuje podczas kompilacji biblioteki na konkretnej platformie sprzętowej w oparciu o

jej parametry. W wyniku tego procesu otrzymujemy bibliotekę ‘dostrojoną’ do

konkretnego urządzenia i pozwalającą na efektywne wykonywanie operacji

algebraicznych. Ta własność jest bardzo istotna z perspektywy narzędzi Kaldi gdzie

operacje algebraiczne pojawiają się praktycznie na każdym kroku. Dzięki bibliotece

ATLAS można znacząco skrócić czas potrzebny do wytrenowania modeli akustycznych

i ich późniejszej ewaluacji. Kompilacja biblioteki ATLAS jest czasochłonna (może zająć

nawet kilkanaście godzin) i czasami sprawia wiele kłopotów (należy upewnić się, że w

momencie kompilacji wyłączona jest operacja dynamicznego skalowania częstotliwości

procesora (ang. CPU throttling), która zaburza proces optymalizacji). Bibliotekę ATLAS

skompilowano w wersji 3.8.3.

Page 26: Analiza metod głębokiego uczenia maszynowego do modelowania

Przygotowanie środowiska programistycznego oraz danych niezbędnych do przeprowadzenia

badań

- 26 -

2.1.3 OpenFST – zestaw narzędzi do modelowania automatów skończonych

Biblioteki OpenFST stanowią rdzeń systemu ASR opartego na Kaldi. Służą one do

budowania, kompilacji, optymalizacji oraz przeszukiwania ważonych automatów

skończenie stanowych [16]. Kaldi na każdym kroku korzysta z dostarczonych przez

OpenFST funkcjonalności (przede wszystkim budowa kompozytu HCLG, który

wykorzystywany jest przy dekodowaniu nagrań). OpenFST to biblioteki napisane w

języku C++ i podobnie jak w przypadku Kaldi – należy je samodzielnie skompilować.

Pliki wykonywalne OpenFST są automatycznie wywoływane przez skrypty Kaldi – aby

móc z nich korzystać należy ich lokalizację dodać do zmiennej środowiskowej PATH

systemu Ubuntu. Używana wersja bibliotek OpenFST to wersja 1.3.4 z 2 listopada 2013r.

2.1.4 CUDA – platforma do obliczeń równoległych

Większość algorytmów zaimplementowanych w Kaldi jest realizowana przez procesor

(CPU). Wspierana jest również wielowątkowość pozwalająca wykonywać obliczenia

równolegle (na kilku lokalnych jednostkach CPU lub wykorzystując architektury

rozproszone). Mimo tego, ogromna złożoność obliczeniowa algorytmów uczących sieci

neuronowe nie pozwala na przeprowadzenie treningów na CPU w sensownym czasie (dla

użytkownika dysponującego przeciętnym sprzętem). Ograniczenia te pozwalają obejść

karty graficzne (GPU) firmy Nvidia będącymi w istocie procesorami wielordzeniowymi.

Liczba takich rdzeni (ang. CUDA Cores) znajdujących się na jednej karcie graficznej

sięga nawet kilku tysięcy. Wykorzystując GPU oraz środowisko programistyczne dla

architektury CUDA (ang. Compute Unified Device Architecture) można wielokrotnie

zredukować czas uczenia się sieci neuronowych [24]. CUDA składa się z własnego

kompilatora opartego na języku C (nvcc), debuggera (cuda-gdb) oraz ogólnego interfejsu

programowania. Jest to środowisko darmowe – żeby jednak z niego skorzystać należy

dysponować własną kartą graficzną. Pełny proces instalowania i konfigurowania

sterowników CUDA jest szeroko opisany w Internecie. Aby móc korzystać z mocy GPU

w Kaldi należy przed procesem kompilacji ustawić odpowiednie parametry w pliku

konfiguracyjnym (część bibliotek, odpowiedzialnych za modelowanie sieci

neuronowych, zostanie skompilowana kompilatorem nvcc). Opisane dalej eksperymenty

zostały przeprowadzone z wykorzystaniem karty GeForce GTX 780 ze sterownikami w

wersji 346.59 oraz środowiskiem CUDA w wersji 7.0.

Page 27: Analiza metod głębokiego uczenia maszynowego do modelowania

Przygotowanie środowiska programistycznego oraz danych niezbędnych do przeprowadzenia

badań

- 27 -

2.1.5 SRILM – zestaw narzędzi do modelowania językowego

Do zbudowania systemu automatycznego rozpoznawania mowy niezbędne jest

utworzenie modeli językowych. W Kaldi najczęściej wykorzystuje się statystyczne

modele językowe (n-gramy), które konwertowane są do postaci automatu skończenie

stanowego (G.fst). W Internecie dostępnych jest wiele narzędzi programistycznych do

modelowania językowego (MITLM, SRILM, KenLM). Największe możliwości oferuje

SRILM (SRI Language Modeling Toolkit) i jest on w zupełności wystarczający do

współpracy z narzędziami Kaldi [23]. Podobnie jak poprzednie pakiety został on napisany

w języku C++ i stanowi zbiór plików wykonywalnych, które należy samodzielnie

skompilować. Użyto wersji 1.7.1.

2.1.6 FaNT – narzędzie do przetwarzania nagrań dźwiękowych

FaNT (Filtering and Noise-adding Tool) to program napisany przez naukowców z

Hochschule Niederrhein University of Applied Sciences [5]. Pozwala on dodawać

dowolny szum o podanym przez użytkownika poziomie SNR (ang. Signal to Noise Ratio)

do nagrań dźwiękowych oraz filtrować sygnał mowy w sposób imitujący działanie sieci

telefonicznej według określonych standardów. Stosunek sygnału do szumu (SNR) jest

obliczany z wykorzystaniem algorytmów detekcji mowy w sygnale audio oraz filtrów

ważonych. Program został napisany w języku C i należy go samodzielnie skompilować.

Wykorzystano program dostępny na stronie producenta w wersji aktualnej na miesiąc

kwiecień 2015r.

2.2 Korpusy mowy polskiej

Korpus mowy jest to zbiór danych zawierających nagrania dźwiękowe mowy wraz z

odpowiadającymi im transkrypcjom (tekstowy zapis wypowiedzianych w nagraniu słów).

Korpusy mowy wykorzystywane są głównie w rozpoznawaniu mowy do trenowania

modeli akustycznych. Przygotowywanie korpusów jest zajęciem czasochłonnym i

kosztownym. W zależności od wymaganej funkcjonalności systemu ASR czas trwania

korpusów powinien wynosić od kilku (dla niewielkiego słownictwa – np. rozpoznawanie

cyfr) po kilkaset, a nawet kilka tysięcy godzin (dla bardzo dużego słownictwa).

Większość korpusów mowy to produkty komercyjne, za których użytkowanie należy

zapłacić znaczące sumy pieniędzy. Dla języka polskiego nie powstał jeszcze korpus

przekraczający 100 godzin nagrań. Wykorzystywane w tej pracy korpusy mowy zostały

Page 28: Analiza metod głębokiego uczenia maszynowego do modelowania

Przygotowanie środowiska programistycznego oraz danych niezbędnych do przeprowadzenia

badań

- 28 -

udostępnione autorowi przez Zespół Przetwarzania Sygnałów Akademii

Górniczo-Hutniczej. Poniżej, zbiory te zostały szczegółowo opisane.

2.2.1 Charakterystyka korpusów

W niniejszej pracy skorzystano z zasobów zawartych w czterech różnych korpusach

mowy:

1. GlobalPhone (PL)

Zbiór GlobalPhone stanowi pokaźną kolekcję korpusów mowy dla 19 języków świata

[22]. Dla każdego z języków zgromadzono nagrania wykonane przez około 100

dorosłych ludzi (kobiety i mężczyźni) czytających zdania pochodzące z różnych

dzienników. Pełny korpus zawiera ok. 300 godzin mowy czytanej. Wykorzystywana

przez autora pracy baza dla języka polskiego składała się z 10130 nagrań (około 25

godzin) pochodzących od 78 mówców. Nagrania zostały wykonane z częstotliwością

próbkowania 16kHz, 16 bitową rozdzielczością, pojedynczym mikrofonem (mono) i

zostały zapisane w formacie WAV (ang. Waveform Audio File Format). Poniżej

przedstawiono przykładowe nagranie pochodzące z tej bazy:

Rys. 7 Nagranie i jego spektrogram z bazy GlobalPhone

2. AGHdigits

Page 29: Analiza metod głębokiego uczenia maszynowego do modelowania

Przygotowanie środowiska programistycznego oraz danych niezbędnych do przeprowadzenia

badań

- 29 -

Korpus składa się z 4463 nagrań wykonanych przez 72 mówców z bardzo szerokiej

grupy społecznej (dorośli, dzieci, starsi). Nagrania zostały wykonane poprzez system

telefoniczny i z tego wiele z nich zawiera różnego rodzaju zakłócenia. Jak sama nazwa

wskazuje wypowiadane w nagraniach kwestie to cyfry (w każdy nagraniu po trzy cyfry,

w losowej kolejności). Parametry audio (częstotliwość próbkowania, rozdzielczość

bitowa, liczba kanałów) są takie same jak w przypadku korpusu GlobalPhone.

3. AGHstreets

Baza zawiera 17042 nagrania pochodzące od 17 dorosłych mówców. Sposób

wykonania nagrań jest taki sam jak w przypadku korpusu AGHdigits a ich ogólna jakość

jest bardzo podobna. Nagrania zawierają wypowiedziane nazwy ulic (jedna nazwa

przypada na jedno nagranie). Parametry audio są takie same jak w poprzednich

przypadkach.

4. AGHvoicelab

AGHVoiceLab to 10537 nagrań 10 różnych mówców. Nagrania zostały wykonane

mikrofonem w zamkniętym pomieszczeniu (niskie tło akustyczne) i składają się z

różnego rodzaju czytanych zdań. Parametry audio są identyczne z parametrami

pozostałych korpusów. Poniżej przykładowe nagranie:

Rys. 8 Nagranie i jego spektrogram z bazy AGHvoicelab

Page 30: Analiza metod głębokiego uczenia maszynowego do modelowania

Przygotowanie środowiska programistycznego oraz danych niezbędnych do przeprowadzenia

badań

- 30 -

Poniżej przedstawiono tabelaryczne zestawienie wszystkich analizowanych korpusów

mowy wraz z uwzględnieniem ich najważniejszych parametrów.

Tabela 1 - Charakterystyka dostępnych korpusów

Korpus Rozmiar [MB] Liczba mówców Liczba nagrań Czas trwania [h] Środowisko

AGHdigits 641 72 4463 5,7 różne AGHstreets 1400 17 17042 12,0 różne

AGHvoicelab 1200 10 10537 10,0 pokój GlobalPhone 2700 99 10130 24,6 pokój

Tabela 2 - Charakterystyka dostępnych korpusów (c.d.)

Korpus Urządzenie Częstotliwość próbk. [Hz] Rozdzielczość [bit] Liczba kanałów

AGHdigits telefon 16000 16 mono

AGHstreets telefon 16000 16 mono

AGHvoicelab mikrofon 16000 16 mono

GlobalPhone mikrofon 16000 16 mono

2.2.2 Wydzielenie podzbiorów korpusów

Jednym z najważniejszych etapów w konstruowaniu prawidłowo funkcjonującego

sytemu ASR jest właściwe i uważne wydzielenie z korpusów mowy podzbiorów

treningowych, deweloperskich oraz ewaluacyjnych, które będą służyć odpowiednio do

trenowania modeli akustycznych i językowych, dostrojenia parametrów dekodera

(przygotowania systemu ASR do pracy w określonych warunkach) oraz ewaluacji

zbudowanego systemu ASR.

Najważniejszą zasadą, którą należy przestrzegać podczas generowania tych

podzbiorów, jest zapewnienie całkowitej rozłączności utworzonych baz. Dla przykładu:

nagrania wchodzące w skład korpusu treningowego nie mogą znaleźć się jednocześnie w

korpusie ewaluacyjnym. Wyniki testów przeprowadzonych na zbiorze ewaluacyjnym

zawierającym treningowe nagrania byłyby przekłamane (nie dostarczałyby one

informacji o ogólnej skuteczności systemu w realnych warunkach pracy, a jedynie o

dopasowaniu się modelu akustycznego do danych treningowych).

Page 31: Analiza metod głębokiego uczenia maszynowego do modelowania

Przygotowanie środowiska programistycznego oraz danych niezbędnych do przeprowadzenia

badań

- 31 -

Co więcej, w korpusie ewaluacyjnym nie powinni się znajdować mówcy, których

nagrania zawarto już w korpusie treningowym. Nie jest to zasada tak bardzo istotna jak

poprzednia, jednakże trzymanie się jej pozwala uzyskać bardziej wiarygodne wyniki

eksperymentów. Nie zawsze udaje się spełnić ten warunek – czasami korpus nagrań

dostępny podczas eksperymentów jest zbyt mało zróżnicowany pod względem ilości

mówców aby można było wydzielić dostateczną ilość danych treningowych,

deweloperskich i testowych spełniających tę regułę.

Niniejszy podział dostępnych korpusów mowy (GlobalPhone, AGHdigits,

AGHstreets, AGHvoicelab) został wykonany z uwzględnieniem powyższych zasad

starając się dodatkowo o to aby w korpusach testowych proporcje między ilością

mówców płci męskiej i żeńskiej były takie same. Poniżej przedstawiono szczegółowe

informacje na temat każdego wydzielonego podzbioru nagrań.

Korpusy ewaluacyjne

Wyselekcjonowanie korpusów rozpoczęto od korpusów ewaluacyjnych z tego

względu, że łatwiej wybrać nagrania spełniające podane wyżej kryteria mając do

dyspozycji pełny zbiór danych. Zdecydowano, że wszystkie korpusy testowe będą trwały

łącznie jedną godzinę i będą składać się z nagrań pochodzących z korpusów

GlobalPhone, AGHstreets i AGHdigits. Sumaryczny czas trwania korpusów

ewaluacyjnych został ustalony na maksymalnie jedną godzinę ze względu na

czasochłonność obliczeń niezbędnych do wykonania testów. Uznano, że jedna godzina

nagrań wystarczy aby przedstawić statystycznie wiarygodną ogólną skuteczność

systemu.

Korpusy AGHstreets i AGHdigits są zbliżone jakościowo, dlatego też mówców

znajdujących się w korpusach ewaluacyjnych wybrano w taki sposób, aby proporcje

między ich liczbą z korpusu GlobalPhone a AGHstreets i AGHdigits były takie same

(20/20). Wybór poszczególnych nagrań zrealizowano przy użyciu skryptu napisanego w

języku bash. Skrypt ten losowo dobierał nagrania spełniające podane kryteria (liczba

mówców, zachowana proporcja między kobietami i mężczyznami) z danego korpusu do

momentu przekroczenia wymaganego czasu trwania wszystkich nagrań. Omawiany

skrypt, jak i również wszystkie kolejne skrypty, dostępne są na płycie CD dołączonej do

pracy. W poniższej tabeli przedstawiono wynikowe korpusy ewaluacyjne wraz z ich

najistotniejszymi cechami.

Page 32: Analiza metod głębokiego uczenia maszynowego do modelowania

Przygotowanie środowiska programistycznego oraz danych niezbędnych do przeprowadzenia

badań

- 32 -

Tabela 3 - Charakterystyka korpusów ewaluacyjnych

Nazwa korpusu ewaluacyjnego Liczba nagrań Liczba mówców Czas trwania [min]

speech-corpus-eval-aghdigits 269 12 20,05

speech-corpus-eval-aghstreets 480 8 20,41

speech-corpus-eval-globalphone 140 20 20,40

Korpus deweloperski

Korpus deweloperski, służący do dostrojenia dekodera systemu ASR, został

wydzielony spośród nagrań utworzonych przez mówców nie znajdujących się w

poprzednio wygenerowanym korpusie ewaluacyjnym. Ich całkowitą liczbę ustalono na

12 zachowując proporcje między kobietami i mężczyznami. Czas trwania tego korpusu

to, tak jak w przypadku korpusu testowego, jedna godzina. Korpus został utworzony

wykorzystując lekko zmodyfikowany skrypt z poprzedniego kroku (modyfikacja opierała

się na odfiltrowaniu z całkowitej puli nagrań tych plików, które już znajdowały się w

korpusie testowym).

Tabela 4 - Charakterystyka korpusu deweloperskiego

Nazwa Korpusu Liczba nagrań Liczba mówców Czas trwania [min]

AGHdigits 251 4 20,50

AGHstreets 500 2 21,26

GlobalPhone 150 6 20,77

speech-corpus-dev 901 12 62,53

Korpus treningowy

Do ostatniego korpusu, korpusu treningowego, dołączono wszystkie pozostałe

nagrania, które nie należały do mówców z korpusów ewaluacyjnych i deweloperskiego.

Dodatkowo dołączono wszystkie nagrania pochodzące z korpusu AGHvoicelab

stanowiących ponad 10 godzin dobrego jakościowo materiału. Sumarycznie, korpus

treningowy składał się z 33323 nagrań mowy pochodzących od 125 mówców z różnych

kategorii wiekowych. Łączny czas trwania korpusu treningowego wynosił ok. 37.5

godziny.

Page 33: Analiza metod głębokiego uczenia maszynowego do modelowania

Przygotowanie środowiska programistycznego oraz danych niezbędnych do przeprowadzenia

badań

- 33 -

Tabela 5 - Charakterystyka korpusu treningowego

Nazwa Korpusu Liczba nagrań Liczba mówców Czas trwania [h]

AGHdigits 3524 56 4,52

AGHstreets 13920 7 9,74

AGHVoicelab 10537 10 10,04

GlobalPhone 5342 52 13,12

speech-corpus-train 33323 125 37,42

2.2.3 Zakłócanie korpusów ewaluacyjnych

Aby przeanalizować odporność analizowanych modeli akustycznych na pracę w

różnych warunkach akustycznych zdecydowano się poddać korpusy ewaluacyjne dwóm

operacjom, których zadaniem było wprowadzenie zakłóceń do oryginalnych nagrań. Było

to zaszumienie nagrań różnego rodzaju próbkami szumu oraz dodanie pogłosu. Poniżej

opisano szczegółowo oba procesy.

Zaszumienie nagrań

Pracę rozpoczęto od zgromadzenia próbek szumów. Próbki zostały wybrane w ten

sposób aby cechowały się różnorodnością warunków akustycznych, w których zostały

nagrane. Wybrano trzy różne środowiska akustyczne, w których system ASR mógłby z

dużym prawdopodobieństwem zostać zastosowany. Są to:

- wnętrze samochodu jadącego z dużą prędkością,

- zatłoczony bar,

- ruchliwe skrzyżowanie dróg.

Wszystkie zgromadzone próbki pochodziły z ogólnodostępnej darmowej bazy

szumów znajdującej się w Internecie (Freesound [33]). Nagrania znajdujące się w tej

bazie zostały wykonane przez bardzo wiele osób z całego świata. Starano się wybrać

próbki o najwyższej jakości. Poniżej przedstawiono wyselekcjonowane szumy:

Page 34: Analiza metod głębokiego uczenia maszynowego do modelowania

Przygotowanie środowiska programistycznego oraz danych niezbędnych do przeprowadzenia

badań

- 34 -

A. Wnętrze jadącego samochodu

Nagranie zostało wykonane cyfrowym rejestratorem dźwięku Marantz PMD620

MKII. Pochodzi ono z wnętrza samochodu (Fiat Punto) poruszającego się z prędkością

około 130km/h po jednej z niemieckich autostrad. Oprócz charakterystycznego

niskoczęstotliwościowego szumu, od czasu do czasu w nagraniu pojawiają się również

słyszalne kliknięcia uruchomionych kierunkowskazów. Nagranie zostało zarejestrowane

dwukanałowo z częstotliwością próbkowania 44100Hz i 16 bitową rozdzielczością. Cała

próbka trwa 2 minuty i 50 sekund. Zarejestrowany sygnał przekonwertowano do

parametrów odpowiadających parametrom nagrań ze zbioru ewaluacyjnego (16kHz,

mono). Poniżej przedstawiono przebieg czasowy i spektrogram losowego fragmentu

szumu. Jak widać na spektrogramie w sygnale dominują niskie częstotliwości

pochodzące z wibracji poruszającego się samochodu.

Rys. 9 Nagranie i jego spektrogram szumu z wnętrza jadącego samochodu

Page 35: Analiza metod głębokiego uczenia maszynowego do modelowania

Przygotowanie środowiska programistycznego oraz danych niezbędnych do przeprowadzenia

badań

- 35 -

Do zaszumienia nagrań wykorzystano opisany wcześniej program FaNT. Przed

zaszumieniem, wszystkie nagrania testowe wraz z próbką szumu należało pozbawić

nagłówka WAV - FaNT obsługuje tylko ‘czyste’ próbki PCM. Miksowanie szumu z

nagraniami testowymi wywołano poleceniem:

filter_add_noise -i <INPUT_LIST> -o <OUTPUT_LIST> -n

<NOISE_PATH> -s <SNR> -r <SEED> -u -e <LOG_PATH>

gdzie:

<INPUT_LIST> - plik ze ścieżkami do nagrań podlegających zaszumieniu

(pozbawionych nagłówka WAV),

<OUTPUT_LIST> - plik ze ścieżkami do zaszumionych nagrań,

<NOISE_PATH> - ścieżka do nagrania szumu,

<SNR> - ustalona wartość poziomu SNR z jaką zostaną zaszumione

nagrania,

<SEED> - zasiew do generatora liczb pseudolosowych, wykorzystywany

przy wybieraniu losowego fragmentu szumu (ustalono stałą wartość zasiewu po to aby

odpowiadające sobie nagrania różniły się tylko poziomem SNR),

<LOG_PATH> - ścieżka do pliku, w którym umieszczone zostaną logi z

przeprowadzonych operacji.

Wszystkie trzy korpusy ewaluacyjne zostały zaszumione z następującymi wartościami

SNR:

SNR=”0.1; 0.5; 1; 1.5; 2; 2.5; 3; 3.5; 4; 5; 6; 7; 8; 9; 11;

13; 15; 17; 20”

B. Ruchliwe skrzyżowanie dróg

Nagranie zostało wykonane rejestratorem dźwięku Sony MZ-N10 MD wraz z

dołączonym mikrofonem ECM-MS907 podczas wieczornego spaceru przez ruchliwe

londyńskie skrzyżowania. Na nagraniu słyszalne są rozmowy przechodniów w kilku

różnych europejskich językach, odgłosy kroków oraz hałas pochodzący z ruchu ulicznego

(przejazdy samochodów, klaksony, itp.). Próbkę zarejestrowano z częstotliwością

próbkowania 44100Hz i 16 bitową rozdzielczością. Szum trwa 7 minut i 53 sekundy.

Nagranie przetworzono w taki sam sposób jak w podpunkcie A a korpusy testowe

Page 36: Analiza metod głębokiego uczenia maszynowego do modelowania

Przygotowanie środowiska programistycznego oraz danych niezbędnych do przeprowadzenia

badań

- 36 -

zaszumiono z takimi samymi poziomami SNR. Poniżej przedstawiono przebieg czasowy

i spektrogram losowego fragmentu nagrania. W nagraniu słyszalny jest fragment

rozmowy dwóch przechodniów. Zauważalne jest to na spektrogramie, gdzie w okolicach

0.6s widoczne są formanty.

Rys. 10 Nagranie i jego spektrogram szumu z ruchliwego skrzyżowania

C. Zatłoczony bar

Ostatni szum pochodzi z kanadyjskiego pubu Logans Pub. Na nagraniu słyszalne są

głośne rozmowy i śmiechy pochodzące od około 50 osób, szczęk butelek i szklanek oraz

odgłosy przesuwanego umeblowania. Większość szumu to szum niestacjonarny. Ścieżkę

dźwiękową zarejestrowano cyfrowym rejestratorem dźwięku iRiver HP 120 z

mikrofonem Sony EMC-719 (44100Hz, 16bit, stereo). Całość trwa 5 minut i 50 sekund.

Nagrania testowe zostały zaszumione w taki sam sposób jak w poprzednich podpunktach.

Poniżej umieszczono przebieg czasowy i spektrogram szumu C. Nagranie jest mocno

zanieczyszczone różnego rodzaju szumami. Na spektrogramie można zaobserwować

dużą niestacjonarność sygnału.

Page 37: Analiza metod głębokiego uczenia maszynowego do modelowania

Przygotowanie środowiska programistycznego oraz danych niezbędnych do przeprowadzenia

badań

- 37 -

Rys. 11 Nagranie i jego spektrogram szumu z zatłoczonego baru

Po wykonaniu wszystkich operacji uzyskano łącznie 171 korpusów ewaluacyjnych

zaszumionych różnymi rodzajami szumów z różnymi poziomami SNR. Korpusy te

zostaną wykorzystane w rozdziale IV. Poniżej przedstawiono kilka wykresów

prezentujących losowo wybrane nagranie z korpusu GlobalPhone zaszumione próbką

pochodzącą z ruchliwego skrzyżowania z różnymi poziomami SNR. Można zauważyć iż

największe zaszumienie zachodzi w niskich częstotliwościach. Poziomy SRN

zaszumienia równe 1.0 i 5.0 wprowadzają bardzo duże zakłócenia do oryginalnego

sygnału co bardzo dobrze widać na dwóch ostatnich spektrogramach (niektóre formanty

przestały być nawet widoczne).

Page 38: Analiza metod głębokiego uczenia maszynowego do modelowania

Przygotowanie środowiska programistycznego oraz danych niezbędnych do przeprowadzenia

badań

- 38 -

Page 39: Analiza metod głębokiego uczenia maszynowego do modelowania

Przygotowanie środowiska programistycznego oraz danych niezbędnych do przeprowadzenia

badań

- 39 -

Rys. 12 Nagranie i spektrogramy nagrania z korpusu GlobalPhone zaszumionego

różnymi poziomami SNR szumem pochodzącym z ruchliwego skrzyżowania

Dodanie pogłosu do nagrań

Jako drugi sposób zakłócenia korpusów ewaluacyjnych wybrano dodanie pogłosu do

nagrań, które symuluje warunki akustyczne pomieszczeń o różnej odpowiedzi

impulsowej, na którą wpływ mają objętość oraz adaptacja akustyczna pomieszczenia. Do

generowania pogłosu wykorzystano darmowe narzędzie sox. Program ten pozwala na

dodanie pogłosu o określonej intensywności (jak głośny ma być pogłos) oraz o

określonym początkowym opóźnieniu, które symuluje parametry akustyczne

pomieszczenia ( <200ms dla małych pomieszczeń). Pogłos dodano do wszystkich nagrań

pochodzących z trzech analizowanych korpusów testowych poleceniem:

sox <INPUT_WAV> <OUTPUT_WAV> reverb <REVERB> 50 100 100 <DELAY>

gdzie:

<INPUT_WAV> - ścieżka do wejściowego nagrania,

<OUTPUT_WAV> - ścieżka do zmodyfikowanego nagrania,

Page 40: Analiza metod głębokiego uczenia maszynowego do modelowania

Przygotowanie środowiska programistycznego oraz danych niezbędnych do przeprowadzenia

badań

- 40 -

<REVERB> - intensywność pogłosu (od 0 do 100%),

<DELAY> - początkowe opóźnienie pogłosu (od 0 do 500ms).

Nowe korpusy wygenerowano dla następujących parametrów:

REVERB=”20; 40; 60; 80; 100”

DELAY=”0; 50; 100; 150; 200; 250; 300; 350; 400; 450; 500”

Łącznie utworzono 165 nowych korpusów ewaluacyjnych. Poniżej umieszczono

wykresy przedstawiające losowe nagranie testowe z pogłosem o intensywności 80% i

różnymi wartościami opóźnienia wstępnego. Opóźnienie wstępne jest wyraźnie widoczne

na spektrogramach. Szczególnie wyraźnie widać jego obecność w niskich

częstotliwościach analizowanych sygnałów. Pogłos pozostawia za sobą ślad w postaci

dużej ilości zakłóceń w niskim paśmie nawet do samego końca nagrania. W przypadku

tak długich wypowiedzi jak nagrania z korpusu GlobalPhone początkowe opóźnienie

pogłosu nie będzie miało tak dużego znaczenia. Stopień zakłócenia sygnałów będzie

podobny. Różnice będą dostrzegalne dla korpusu AGHstreets, w którym większość

nagrań składa się z krótkich pojedynczych słów. Wtedy dla dłuższego opóźnienia pogłosu

oryginalne nagranie może nie zostać zakłócone.

Page 41: Analiza metod głębokiego uczenia maszynowego do modelowania

Przygotowanie środowiska programistycznego oraz danych niezbędnych do przeprowadzenia

badań

- 41 -

Rys. 13 Spektrogramy nagrania z korpusu GlobalPhone z dodanym pogłosem z

różnym opóźnieniem wstępnym

Page 42: Analiza metod głębokiego uczenia maszynowego do modelowania

Trening modeli akustycznych

- 42 -

Rozdział 3

Trening modeli akustycznych

W niniejszym rozdziale zostaną szczegółowo omówione wszystkie czynności

niezbędne do wytrenowania (estymacji parametrów) modeli akustycznych mowy polskiej

w trzech różnych wariantach:

MFCC-GMM-HMM – model referencyjny wytrenowany na

współczynnikach MFCC będący najpopularniejszym sposobem

modelowania akustycznego,

BNF-GMM-HMM – model zbudowany na współczynnikach BNF

wyekstrahowanych z głębokiej sieci neuronowej (wytrenowanej na

współczynnikach MFCC),

FBANK-DNN-HMM – model akustyczny stanowiący hybrydę

głębokiej sieci neuronowej (klasyfikującej podstawowe jednostki

mowy - fonemy) i Ukrytych Modeli Markowa wyestymowany na

współczynnikach FBANK.

3.1 Wygenerowanie informacji językowych

Przed rozpoczęciem treningu akustycznego wymagane jest utworzenie kompozytu

L.fst będącego skompilowanym ważonym automatem skończonym. Kompozyt ten

reprezentuje informacje dotyczące wielowariantowej transkrypcji fonetycznych każdego

słowa znajdującego się w transkrypcjach nagrań treningowych. Automat

wykorzystywany jest podczas wszystkich przedstawionych poniżej treningów modeli

akustycznych. Poza L.fst należy utworzyć jeszcze kilka innych plików, które zawierają

różnego rodzaju informacje językowe o korpusie treningowym i samej procedurze

treningu.

Wszystkie dane tego typu, według standardowej struktury katalogowej

wykorzystywanej w Kaldi, powinny znajdować się w katalogu ‘lang’ (w miejscu gdzie

przechowujemy wszystkie dane trenigowe). Najważniejsze komponenty tego katalogu to:

Page 43: Analiza metod głębokiego uczenia maszynowego do modelowania

Trening modeli akustycznych

- 43 -

phones.txt – lista wszystkich fonemów wybranych do wymodelowania,

silence-phones.txt – lista fonemów reprezentujących ciszę (SIL),

nonsilence-phones.txt – lista fonemów reprezentujących podstawowe

jednostki mowy,

words.txt – słownictwo wykorzystywane podczas treningu (wszystkie słowa

występujące w transkrypcjach nagrań treningowych),

lexicon.txt – transkrypcja fonetyczna wszystkich słów ze słownika wraz z

wielowariantową wymową,

topo – topologia wykorzystywanych ukrytych modeli Markova. W

opisywanych eksperymentach wykorzystano klasyczną topologię nazywaną

modelem Bakisa (odnośnik, rysunek z wprowadzenia), w którym model

reprezentujący pojedynczy fonem składa się z pięciu stanów (dwóch

nieemitujących i trzech emitujących). Fonem ciszy reprezentowany jest przez

model składający się z pięciu stanów emitujących,

L.fst – skompilowany automat skończony reprezentujący wielowariantowe

transkrypcje fonetyczne wszystkich analizwaonych słów wraz z ich

prawdpodobieństwem wystąpienia,

Przygotowanie katalogu lang należy rozpocząć od zgromadzenia wszystkich

transkrypcji analizowanych nagrań (korpus) i odfiltrowaniu z nich wszystkich informacji,

które nie są istotne z punktu generowania transkrypcji fonetycznych czy też

przygotowania modelu językowego (znaki interpunkcyjne, komentarze itp.). Poniżej

przedstawiono fragment korpusu językowego:

dwa z nich mają ponad osiemset metrów długości jeden trzysta

pięćdziesiąt a nowy pięćset metrów

trasy są profesjonalnie utrzymane

ośrodek dysponuje dwoma wysokiej klasy ratrakami i systemem

dośnieżania tras

dla miłośników jednej deski przygotowana została rynna

snowboardowa

ośrodek dysponuje zapleczem wciąż jeszcze skromnym

Po wstępnej filtracji należy podzielić wszystkie zdania na pojedyncze słowa i

posortować otrzymane dane (polecenie sort –u bash). Do wygenerowania transkrypcji

Page 44: Analiza metod głębokiego uczenia maszynowego do modelowania

Trening modeli akustycznych

- 44 -

fonetycznych i do przygotowania pliku lexicon.txt wykorzystano fragment

oprogramowania Sarmata (udostępnionego przez Zespół Przetwarzania Sygnałów)

stosującego swój wewnętrzny słownik fonetyczny. Sarmata pozwolił na wygenerowanie

wielowariantowej transkrypcji fonetycznej, której fragment przedstawiono w poniższym

zestawieniu:

teatrologii t e a t r o l o g i i

teatrowi t e a t r o v i

teatru t e a t r u

teatrze t e a t S

teatrze t e a t S e

teatrzyku t e a t S y k u

techniczna t e x N i 0 n a

techniczne t e x N i 0 n e

technicznego t e x N i 0 n e g o

technicznie t e x N i 0 N e

techniczny t e x N i 0 n y

Dysponując gotowym plikiem lexicon.txt wraz z podziałem fonemów na fonemy ciszy

i mowy (silence-phones.txt, nonsilence-phones.txt) można przejść do kroku utworzenia

kompozytu L.fst. Proces ten jest w pełni zautomatyzowany w Kaldi i aby go rozpocząć

należy wywołać skrypt prepare-lang.sh z katalogu utils. Przykładowe wywołanie tego

skryptu z terminala przedstawione jest poniżej:

./prepare-lang.sh <DICT_DIR> ‘<UNK>’ <LOCAL_LANG_DIR> <OUT_DIR>

gdzie:

<DICT_DIR> - ścieżka do katalogu z plikiem lexicon.txt,

<UNK> - symbol zastępujące nieznane słowa (ang. UNKNOWN), które

mogą pojawić się podczas pracy systemu ASR,

<LOCAL_LANG_DIR> - ścieżka do tymczasowego katalogu,

<OUT_DIR> - ścieżka wyjściowego katalogu, w którym znajdzie się

L.fst.

Automat L.fst jest kompilowany z wykorzystaniem narzędzi OpenFST.

Page 45: Analiza metod głębokiego uczenia maszynowego do modelowania

Trening modeli akustycznych

- 45 -

3.2 Konstrukcja danych treningowych

Oprócz samych nagrań mowy, które będą wykorzystane do estymacji parametrów

modeli akustycznych, Kaldi wymaga również utworzenia kilku plików konfiguracyjnych,

które właściwie zdefiniują korpus treningowy. Pliki te powinny zaleźć się w katalogu

data. Opisano je w poniższym zestawieniu:

text – plik tekstowy zawierający unikalny identyfikator nagrania wraz z

odpowiadającą mu transkrypcją,

wav.scp - plik zawierający ścieżkę do każdego nagrania ze zbioru trenującego,

utt2sp, spk2utt – pliki zawierające informację na temat przynależności nagrań

do określonego mówcy,

feats.scp – ścieżki do plików archiwalnych zawierających wyeksrahowane

cechy nagrań (MFFC, FBANK itp.)

cmvn.scp – ścieżki do plików archiwalnych zawierających statystyki

pozwalające wykonać normalizację nagrań (ang. Cepstral Mean and Variance

Normalization [odnośnik!]).

Każdy z tych plików (poza feats.scp i cmvn.scp) jest niezależny od przeprowadzanego

treningu i powinien być wygenerowany tylko raz poprzez uruchomienie odpowiedniego

skryptu (prepare-data.sh). Pliki te są wykorzystywane podczas wielu etapów treningu

modelu akustycznego i należy zwrócić szczególną uwagę na to aby zostały przygotowane

poprawnie (przede wszystkim należy zapewnić prawidłowe przydzielenie transkrypcji do

nagrana audio). Pliki feats.scp i cmvn.scp są tworzone podczas ekstrakcji cech z nagrań

mowy. W zależności od wybranej metody parametryzacji nagrań będą one wskazywać

na archiwa zawierające współczynniki MFCC lub FBANK. Gdy katalogi lang oraz data

są gotowe, można przystąpić do treningu modeli akustycznych.

3.3 Trening MFCC-GMM-HMM

Pierwszym krokiem na drodze do wytrenowania modelu akustycznego MFCC-GMM-

HMM jest parametryzacja korpusu treningowego. Najczęściej stosowaną metoda

parametryzacji jest ekstrakcja współczynników MFCC (ang. Mel-Frequency Cepstral

Coefficients) z każdego nagrania treningowego. Szczegóły dotyczące tego rodzaju

Page 46: Analiza metod głębokiego uczenia maszynowego do modelowania

Trening modeli akustycznych

- 46 -

parametryzacji dostępne są w artykule [30]. Ekstrakcja cech MFCC jest

zaimplementowana w Kaldi i aby ją przeprowadzić należy utworzyć plik konfiguracyjny

z najważniejszymi parametrami procesu i uruchomić odpowiedni skrypt:

./steps/make_mfcc.sh –nj <NJ> --mfcc-config <MFCC_CONFIG> --cmd

<RUN_CMD> <DATA_DIR> <MFCC_LOG_DIR> <MFCC_DIR>

gdzie:

<NJ> - liczba wyrażająca ilość wątków na które należy podzielić

obliczenia (zależy od dostępnej architektury sprzętowej). W tym wypadku NJ = 4,

<MFCC_CONFIG> - ścieżka do pliku konfiguracyjnego parametryzacji.

<RUN_CMD> - nazwa wybranego skryptu do uruchamiania obliczeń

(domyślnie: RUN_CMD = run.pl),

<DATA_DIR> - ścieżka do katalogu data,

<MFCC_LOG_DIR> - śceżka do katalogu, w którym umieszczone będą

logi obliczeń,

<MFCC_DIR> - ścieżka do wyjściowego katalogu, w którym

umieszczone zostaną zarchiwizowane współczynniki MFCC.

Obliczone współczynniki zostaną umieszczone w plikach mających strukturę

archiwum Kaldi (rozszerzenie .ark). Dostęp do tego rodzaju plików odbywa się poprzez

pliki SCP, które zawierają informację o unikalnym identyfikatorze nagrania oraz ścieżce

do odpowiedniego archiwum. Ilość utworzonych archiwum zależy od ilości wątków, na

które zostały rozbite obliczenia. W tym przypadku współczynniki MFCC obliczone z ok.

37.5h nagrań mowy zajęły 174MB. W poniższej tabeli zamieszono pełną konfigurację

parametryzacji MFCC. Została ona utworzona w oparciu o najlepsze wyniki z

referencyjnych eksperymentów opublikowanych na stronie Kaldi.

--num-ceps=13

--use-energy=false

--energy-floor=0.0

--raw-energy=true

--cepstral-lifter=22.0

--dither=4

Page 47: Analiza metod głębokiego uczenia maszynowego do modelowania

Trening modeli akustycznych

- 47 -

Zauważono, że wykonywanie normalizacji każdego ze współczynników MFCC

względem średniej z całej długości nagrania powoduje usunięcie szumów stacjonarnych

i otrzymanie lepszej skuteczności systemu ASR [27]. Skrypty Kaldi są skonstruowane w

ten sposób, aby domyślnie wykonywać normalizację względem wszystkich nagrań

określonego mówcy. Aby przeprowadzić normalizację dla każdego nagrania osobno,

należy przyjąć, że każde nagranie zostało wypowiedziane przez innego mówcę. W tym

celu należy nadać mu osobny unikalny identyfikator i odpowiednie informacje umieścić

w plikach utt2spk i spk2utt. Uruchomienie normalizacji (a właściwie programu

gromadzącego statystyki dla każdego nagrania) odbywa się poprzez skrypt

compute_cmvn_stats.sh:

./steps/compute_cmvn_stats.sh <DATA_DIR> <CMVN_LOG_DIR>

<CMVN_DIR>

Gdzie:

<DATA_DIR> - ścieżka do katalogu data,

<CMVN_LOG_DIR> ścieżka do katalogu, w którym umieszczone

zostaną logi z obliczeń,

<CMVN_DIR> - ścieżka do wyjściowego katalogu, w którym

umieszczone zostaną zarchiwizowane statystyki dla każdego nagrania.

W poniższej tabeli przedstawiono domyślną konfigurację etapu normalizacji nagrań.

--apply-cmvn=true

--norm-means=true

--norm-vars=false

Dysponując wyliczonymi cechami MFCC oraz statystykami CMVN można rozpocząć

trening modelu akustycznego. Domyślnie w Kaldi taki trening składa się z trzech etapów:

Trening modelu akustycznego monofonów (jednostki mowy bez informacji

kontekstowej),

Pierwszy przebieg treningu modelu akustycznego trifonów,

Drugi przebieg treningu akustycznego trifonów.

Page 48: Analiza metod głębokiego uczenia maszynowego do modelowania

Trening modeli akustycznych

- 48 -

Trening modelu akustycznego monofonów rozpoczyna się od inicjalizacji modelu

wykorzystując informacje wygenerowane w katalogu lang oraz data. Inicjalizacja polega

na zbudowaniu dwóch plików:

0.mdl – szablon modelu akustycznego składający się z macierzy przejść

modelu HMM oraz zainicjalizowanych parametrów wszystkich gaussianów,

tree – kontekstowe drzewo decyzyjne dla fonów, które jednocześnie stanowi

mapowanie między identyfikatorem PDFID (wykorzystywanym w Kaldi) a

konkretnym gaussianem. Kontekstowe drzewo decyzyjne dla monofonów nie

posiada rozgałęzień.

Aby wywołać inicjalizację modelu akustycznego należy wykorzystać program gmm-

init-mono:

gmm-init-mono –train-feats=<FEATS_PIPE> <TOPO_PATH> <FEAT_DIM>

MDL_OUT> <TREE_OUT>

gdzie:

<FEATS_PIPE> - zmienna przechowująca informację na temat

wejściowych parametrów MFCC (w tym przypadku do 13 współczynników MFCC

dołączone są współczynniki delta i delta-delta po czym wykonywana jest normalizacja

CMN),

<TOPO_PATH> – ścieżka do pliku topo, w którym znajdują się

informacje na temat topologii modeli HMM,

<FEAT_DIM> - długość pojedynczego wektora cech (w tym przypadku

równy 39),

<MDL_OUT> - ścieżka do wyjściowego pliku 0.mdl,

<TREE_OUT> - ścieżka do wyjściowego pliku tree

Poniżej przestawiono fragment wygenerowanego kontekstowego drzewa decyzyjnego

dla monofonów. Na rysunku widać fragmenty drzewa dla trzech różnych monofonów:

fonu ciszy, fonu O oraz fonu pochodzącego z wyższej warstwy drzewa (niewidocznej na

rysunku). Fon ciszy modelowany jest modelem HMM o pięciu stanach emitujących, do

których przypisane są gaussiany o numerach 10, 11, 12, 13 i 14. Fon O należy do zwykłej

klasy fonów dlatego jest modelowany przez model HMM o trzech stanach emitujących

Page 49: Analiza metod głębokiego uczenia maszynowego do modelowania

Trening modeli akustycznych

- 49 -

(gaussianami 15 ,16 i 17). Postfiksy _B, _E, _I. _S widoczne przy nazwach fonów

oznaczają odpowiednio fon znajdujący się na początku słowa (ang. word-begin), na

końcu (ang. word-end), wewnątrz (ang. word-inner) oraz fon izolowany (ang. word-

begin-and-end).

Rys. 14 Graf kontekstowego drzewa decyzyjnego dla modeli monofonów

Po zainicjalizowaniu modelu akustycznego należy przejść do kolejnego etapu:

kompilacji treningowych grafów FST. Dla każdego nagrania ze zbioru treningowego

tworzony jest automat skończony, w którym zawarta jest informacja o transkrypcji

fonetycznej słów występujących w nagraniu oraz odpowiadającym im komponentom

modelu HMM. W ten sposób utworzony automat jest następnie wykorzystywany do

estymacji parametrów modelu GMM-HMM. Etap kompilacji grafów treningowych

realizowany jest przez program compile-train-graphs:

compile-train-graphs <TREE_DIR> <MDL_DIR> <LFST_DIR> <TRANS>

<OUT_FSTS>

gdzie:

<TREE_DIR> - ścieżka do kontekstowego drzewa decyzyjnego,

<MDL_DIR> - ścieżka do zainicjalizowanego modelu HMM,

<LFST_DIR> - ścieżka do kompozytu L.fst z transkrypcją fonetyczną

wszystkich słów wykorzystywanych podczas treningu,

Page 50: Analiza metod głębokiego uczenia maszynowego do modelowania

Trening modeli akustycznych

- 50 -

<TRANS> - zmienna przechowująca przekonwertowane transkrypcje

nagrań treningowych. Transkrypcja polega na przypisaniu transkrypcji sekwencji liczb

całkowitych odpowiadającym poszczególnym słowom. Mapa między liczbami

całkowitymi a słowami znajduje się w pliku words.txt z katalogu lang.

<OUT_FSTS> - ścieżka do wyjściowego archiwum zawierającego

skompilowane grafy FST nagrań treningowych.

Kompilacja grafów FST jest procesem podlegającym zrównolegleniu (rozbiciu na

wątki realizowane przez rdzenie CPU). Ilość wątków wyznaczona jest na podstawie

wcześniejszego etapu parametryzacji nagrań. Kompilacja jest procesem czasochłonnym

dlatego wykonywana jest tylko raz, po inicjalizacji modelu akustycznego, a jej rezultaty

przechowywane są na dysku i podczas kolejnych iteracji treningu są one wczytywane do

pamięci RAM.

Gdy grafy FST są skompilowane można przejść do kroku wstępnej segmentacji (ang.

aligning) nagrań. Przez segmentację rozumiemy tutaj przypisanie każdej analizowanej

ramce nagrania (każdemu wektorowi cech MFCC) liczby odpowiadającej monofonowi z

modelu akustycznego. Wstępna segmentacja polega na ‘równomiernym’ przypisaniu

monofonów do ramek każdego nagrania treningowego i wywoływana jest poleceniem:

align-equal-compiled <FSTS> <FEATS_PIPE> <ALIGN_OUT>

gdzie:

<FSTS> - ścieżka do treningowych grafów FST,

<FEATS_PIPE> - zmienna przechowująca informacje na temat

wejściowych parametrów MFCC,

<ALIGN_OUT> - ścieżka do wyjściowego archiwum z segmentacją.

Po segmentacji akumulujemy statystyki dotyczące dopasowania poszczególnych

monofonów w nagraniach do aktualnego modelu akustycznego GMM-HMM, które

później wykorzystamy do jego reestymacji:

gmm-acc-stats-ali <MDL> <FEATS_PIPE> <ALIGN> <STATS_OUT>

gdzie:

<MDL> - ścieżka do zainicjalizowanego modelu GMM-HMM,

Page 51: Analiza metod głębokiego uczenia maszynowego do modelowania

Trening modeli akustycznych

- 51 -

<FEATS_PIPE> - zmienna przechowująca informacje na temat

wejściowych parametrów MFCC,

<ALIGNS> - ścieżka do archiwum z segmentacją nagrań,

<STATS_OUT> - ścieżka do wyjściowego pliku ze zgromadzonymi

statystykami.

Ilość unikalnych ramek dla przeprowadzanego treningu wyniosła 13406400. Po

zgromadzeniu statystyk wykonujemy reestymację modelu GMM-HMM opierając się na

kryterium ML (ang. Maximum Likelihood):

gmm-est –-min-gaussian-occupancy=3 <MLD> <STATS_IN> <MDL_OUT>

gdzie:

--min-gaussian-occupancy – liczba określająca minimalną liczbę

gaussianów przypadającą na każdy monofon (wymagane na początku treningu by

poprawnie modelować rzadko występujące monofony),

<MDL> - ścieżka do wejściowego modelu GMM-HMM,

<STATS> - ścieżka do zgromadzonych statystyk,

<MDL_OUT> - ścieżka do reestymowanego modelu GMM-GMM.

Procedura segmentacji nagrań, zliczania statystyk oraz reestymacji parametrów

modelu akustycznego GMM-HMM monofonów jest wykonywana iteracyjnie. Pełny

trening jest wykonywany przez odpowiedni skrypt (train_mono.sh), który zapewnia

iteracyjne wykonywanie powyższych procesów oraz zwiększanie całkowitej ilości

gaussianów przydzielanych monofonom w każdej iteracji. Poniżej zaprezentowano

wykresy przedstawiające postępy reestymacji modelu akustycznego zachodzące w każdej

iteracji treningu.

Na pierwszy wykresie widać bardzo gwałtowny początkowy przyrost średniego

logarytmu prawdopodobieństwa znormalizowanego względem wszystkich

analizowanych ramek (wektorów cech). Przyrost ten wynika z faktu, że w początkowej

fazie treningu dodawane są kolejne gaussiany powodując lepsze dopasowanie się modeli

fonetycznych do danych treningowych. Począwszy od 8 iteracji liczba gaussianów

(względem wszystkich modeli HMM) pozostaje stała i następuje powolny proces

kolejnych iteracji reestymacji ich parametrów.

Page 52: Analiza metod głębokiego uczenia maszynowego do modelowania

Trening modeli akustycznych

- 52 -

Rys. 15 Średni logarytm prawdopodobieństwa na ramkę dla treningu monofonów

Rys. 16 Przyrost funkcji celu dla treningu monofonów

-108

-107

-106

-105

-104

-103

-102

-101

-100

-99

-98

-97

-96

-95

-94

-93

-92

0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40

Śred

ni l

oga

rytm

pra

wd

op

od

ob

ień

stw

o n

a ra

mkę

Numer iteracji

Średni logarytm prawdopodobieństwa na ramkęw każdej iteracji treningu monofonów

00.05

0.10.15

0.20.25

0.30.35

0.40.45

0.50.55

0.60.65

0.70.75

0.80.85

0.90.95

1

0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40

Prz

yro

st w

arto

ści f

un

kcji

ce

lu

Numer iteracji

Przyrost wartości funkcji celu dla każdej iteracji treningu monofonów

Page 53: Analiza metod głębokiego uczenia maszynowego do modelowania

Trening modeli akustycznych

- 53 -

Celem wytrenowania modelu akustycznego monofonów było otrzymanie na tyle

precyzyjnej segmentacji, aby można było rozpocząć trening trifonów. Przed

przystąpieniem do kolejnego etapu należy wygenerować najnowszą segmentację

(korzystając z modelu pochodzącego z ostatniej iteracji treningu monofonów), która

będzie najbardziej precyzyjna. W tym celu należy wywołać skrypt:

./steps/align_si.sh –nj <NJ> --cmd <CMD> <DATA_DIR> <LANG_DIR>

<MONO_MDL_DIR> <ALIGN_OUT>

gdzie:

<NJ> - liczba wątków, na które zostaną rozbite obliczenia,

<CMD> - nazwa wybranego skryptu do uruchamiania obliczeń

(domyślnie: RUN_CMD = run.pl),

<DATA_DIR> - ścieżka do katalogu data,

<LANG_DIR> - ścieżka do katalogu lang,

<MONO_MDL_DIR> - ścieżka do modelu akustycznego monofonów

pochodzącego z ostatniej iteracji (final.mdl),

<ALIGN_OUT> - ścieżka do wyjściowego archiwum z segmentacją.

Ogólna procedura treningu modelu akustycznego dla trifonów jest zbliżona do

treningu monofonów z tą różnicą, że generacja kontekstowego drzewa decyzyjnego jest

bardziej skomplikowana. Pozostałe etapy takie jak segmentacja wypowiedzi,

akumulowanie statystyk z nagrań i reestymacja modelu pozostają takie same.

Główną słabością monofonowego modelu akustycznego jest to, że parametry

akustyczne określonego fonemu w wypowiedzi silnie zależą od fonemów go

otaczających (najsilniej od tych bezpośrednio przed i po analizowanym fonemie). Z tego

względu trójstanowy model akustyczny GMM-HMM wytrenowany bez informacji

kontekstowej jest mało precyzyjny w realnym działaniu systemu. Aby temu zaradzić,

można wytrenować osobny model akustyczny dla każdego możliwego trifonu, jednak

spowoduje to zbyt dużą ilość modeli do wytrenowania, niemożliwą do osiągnięcia (np.

dla 37 fonemów będzie to 37*37*37=50653 osobnych modeli akustycznych.

Aktualnie używaną metodą budowania modeli trifonowych jest metoda opierająca się

na kontekstowych drzewach decyzyjnych. W Kaldi mechanizmy służące do budowy

kontekstowego drzewa decyzyjnego są wbudowane w skrypt trenujący i sprawują się bez

Page 54: Analiza metod głębokiego uczenia maszynowego do modelowania

Trening modeli akustycznych

- 54 -

zarzutu dla wielu różnych języków. Omówienie wszystkich istotnych szczegółów

dotyczących tego procesu zajęło by zbyt wiele miejsca, dlatego też postanowiono ominąć

ten temat i przedstawić tylko sposób uruchomienia treningu modelu trifonowego.

Szczegóły na ten temat można znaleźć w wielu ogólnodostępnych publikacjach [31].

Skrypt trenujący o którym mowa wywołuje się poleceniem:

./steps/train_deltas.sh <NLEAVES> <NPDFS> <DATA_DIR> <DATA_LANG>

<ALIGN_DIR> <MDL_OUT>

Gdzie:

<NLEAVES>, <PDFS> - parametry określające liczbę liści drzewa

decyzyjnego i maksymalną liczbę gaussianów modelu akustycznego, których liczba

wzrasta z każdą iteracją treningu,

<DATA_DIR> - ścieżka do katalogu data,

<LANG_DIR> - ścieżka do katalogu lang,

<ALIGN_DIR> - ścieżka do archiwum z segmentacją nagrań,

<MDL_OUT> - ścieżka do wyjściowego katalogu, w którym umieszczony

zostanie wytrenowany model akustyczny.

Często praktykowaną metodą treningu modeli trifonych (wykorzystaną również w

niniejszym eksperymencie) jest wygenerowanie segmentacji po pierwszym treningu

trifonów i wykorzystanie tej segmentacji do drugiego treningu (ang. second pass triphone

training). Taki krok pozwala uzyskać dokładniejszy finalny model akustyczny, ponieważ

kontekstowe drzewo decyzyjne jest budowane w oparciu o dokładniejsze dane

wejściowe. Wytrenowany w ten sposób trifonowy model akustyczny jest finalnym

modelem, który będzie wykorzystany w ewaluacji systemu ASR i porównany do modeli

BNF-GMM-HMM i FBANK-DNN-HMM. Poniżej przedstawiono ogólny przebieg

drugiego treningu trifonowych modeli akustycznych wraz z porównaniem do treningu

monofonów. Trening przebiega bardzo podobnie do treningu monofonów z tą różnicą, że

resegmentacja nagrań treningowych występuje co 5 iteracji treningu. Fakt resegmentacji

jest bardzo dobrze widoczny na wykresie z przyrostem wartości funkcji celu. Co pięć

iteracji pojawia się drobny szczyt, który świadczy o szybszej zbieżności funkcji celu.

Wynika to z faktu, że kolejne resegmentacje są coraz bardziej odpowiadają rzeczywistym

rozmieszczeniu fonów w nagraniu. Na ostatnim wykresie widoczne są różnice w treningu

Page 55: Analiza metod głębokiego uczenia maszynowego do modelowania

Trening modeli akustycznych

- 55 -

dwóch modeli. Widoczne jest lepsze dopasowanie się do nagrań treningowych przez

model trifonowy co objawia się niższym logarytmem prawdopodobieństwa (a w

rzeczywistości wyższym znormalizowanym prawdopodobieństwem).

Rys. 17 Średni logarytm prawdopodobieństwa na ramkę dla treningu trifonów

(drugi przebieg treningu)

-96

-95.5

-95

-94.5

-94

-93.5

-93

-92.5

-92

-91.5

-91

-90.5

-90

-89.5

-89

0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34

Śred

ni l

oga

rytm

pra

wd

op

od

ob

ień

stw

o n

a ra

mkę

Numer iteracji

Średni logarytm prawdopodobieństwo na ramkęw każdej iteracji treningu trifonów (drugi przebieg)

Page 56: Analiza metod głębokiego uczenia maszynowego do modelowania

Trening modeli akustycznych

- 56 -

Rys. 18 Przyrost funkcji celu dla treningu monofonów (drugiego przebiegu)

Rys. 19 Porównanie ewolucji treningów monofonów i trifonów

00.05

0.10.15

0.20.25

0.30.35

0.40.45

0.50.55

0.60.65

0.70.75

0.80.85

0.90.95

1

0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34

Prz

yro

st w

arto

ści f

un

kcji

ce

lu

Numer iteracji

Przyrost wartości funkcji celu dla każdej iteracji treningu trifonów (drugi przebieg)

-108-107-106-105-104-103-102-101-100

-99-98-97-96-95-94-93-92-91-90-89

0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40

Śred

nie

log-

pra

wd

op

od

ob

ień

stw

o n

a ra

mkę

Numer iteracji

Porównanie ewolucji treningu monofonówi trifonów (z drugiego przebiegu)

"monofony" "trifony (drugi przebieg)

Page 57: Analiza metod głębokiego uczenia maszynowego do modelowania

Trening modeli akustycznych

- 57 -

3.4 Trening BNF-GMM-HMM

Drugim, z przeznaczonych do analizy modeli akustycznych, będzie model oparty o

klasyczny model GMM-HMM, lecz wytrenowany nie na współczynnikach MFCC a na

współczynnikach BNF (ang. Bottleneck Features) wyekstrahowanych z przewężenia

wielowarstwowej (głębokiej) sieci neuronowej. Jest to pierwszy z analizowanych modeli

akustycznych, w którym pojawiają się metody głębokiego uczenia maszynowego.

Wspomniana głęboka sieć neuronowa zostanie wytrenowana na współczynnikach MFCC

a kryterium treningu sieci będzie klasyfikacja każdej ramki analizowanego nagrania

(wraz z ramkami kontekstowymi) do określonego fonemu mowy. W niniejszym

podrozdziale zostanie szczegółowo opisany tego typu trening.

Do wytrenowania sieci DNN-BNF wykorzystano zbiór narzędzi z Kaldi

zaimplementowanych przez Daniela Povey znajdujących się w katalogach nnet2 oraz

nnet2bin. Te podprogramy wykorzystują do treningu algorytm SGD (ang. Stochastic

Gradient Descent [10] oraz umożliwiają zrównoleglanie obliczeń na kilka różnych

jednostek GPU. Do uruchomienia treningu DNN (ang. Deep Neural Network) niezbędne

jest wygenerowanie segmentacji nagrań treningowych wykorzystując któryś ze wcześniej

wytrenowanych modeli akustycznych (w tym eksperymencie wykorzystano model z

drugiego przebiegu treningu trifonów).

Pierwszym etapem treningu jest przygotowanie danych wejściowych. Zdecydowano,

że na wejście sieci będzie podawane 11 wektorów cech dających w sumie 143

współczynniki MFCC (13 elementowy główny wektor MFCC + 5 wektorów

kontekstowych). Taka konfiguracja została wytypowana opierając się na

przeprowadzonych wcześniej eksperymentach, które dawały najlepsze rezultaty. Przed

podaniem tych współczynników na wejście sieci neuronowej należy je najpierw

zdekorelować. W Kaldi, dekorelacja współczynników wejściowych realizowana jest

przez transformację LDA (ang. Linear Discriminant Analysis), która nie redukuje

wymiarowości wejściowego wektora cech [20]. Wykonuje się ją uruchamiając skrypt

./steps/nnet2/get_lda.sh <DATA_DIR> <LANG_DIR> <ALI_DIR>

<OUT_DIR>

gdzie:

<DATA_DIR> - ścieżka do katalogu data,

<LANG_DIR> - ścieżka do katalogu lang,

Page 58: Analiza metod głębokiego uczenia maszynowego do modelowania

Trening modeli akustycznych

- 58 -

<ALI_DIR> - ścieżka do archiwum z segmentacją,

<OUT_DIR> - ścieżka do wyjściowego katalogu, w którym umieszczona

zostanie wygenerowana macierz transformacji LDA (lda.mat).

Po wygenerowaniu macierzy LDA można przejść do kolejnego kroku, którym jest

randomizowanie kolejności, w której kolejne ramki będą podawane na wejście sieci

podczas estymacji jej parametrów. Randomizacja jest procedurą niezbędną do

poprawnego przeprowadzenia treningu SGD. Wykonuje się ją wywołując skrypt

./steps/nnet2/get_egs.sh –samples-per-iter <SMP_PER_ITER>

<DATA_DIR> <LANG_DIR> <ALI_DIR> <OUT_DIR>

gdzie:

<SMP_PER_ITER> - liczba przypadków treningowych przypadających

na jedną iteracją treningu (w tym wypadku wynosi ona 40000).,

<DATA_DIR> <LANG_DIR> <ALI_DIR> - tak jak poprzednio,

<OUT_DIR> - ścieżka do wyjściowego katalogu, w którym umieszczone

zostaną pliki z losowo wybraną kolejnością nagrań treningowych oraz walidacyjnych.

Gdy dane wejściowe są gotowe można zainicjalizować głęboką sieć neuronową.

Inicjalizacja sieci jest procesem, w którym przygotowywany jest obiekt zawierający

wszystkie informacje o trenowanej sieci. Inicjalizacja odbywa się ‘warstwowo’, to

znaczy, że na początku treningu tworzona jest tylko pierwsza warstwa głębokiej sieci

neuronowej (kolejne warstwy dodawane są wraz z kolejnymi iteracjami treningu).

Inicjalizację uruchamiamy uruchamiając program

nnet-am-init <TREE_DIR> <TOPO_DIR> <NNET_CONFIG>

gdzie:

<TREE_DIR>, <TOPO_DIR> - ścieżki do kontekstowego drzewa

decyzyjnego oraz pliku z topologią modelu GMM-HMM, którym wykonana została

segmentacja (potrzebujemy informacji o liczbie liści drzewa decyzyjnego, czyli liczbie

trifonów, które będą stanowiły węzły ostatniej warstwy sieci),

<NNET_CONFIG> - ścieżka do pliku konfiguracyjnego sieci

zawierającego jej wszystkie najważniejsze parametry. Poniżej przedstawiono plik

Page 59: Analiza metod głębokiego uczenia maszynowego do modelowania

Trening modeli akustycznych

- 59 -

konfiguracyjny wykorzystany w omawianym treningu oraz opisano jest wszystkie

komponenty. Ten plik jest niezbędny do zrekonstruowania otrzymanych wyników.

SpliceComponent input-dim=13 left-context=5 right-context=5

const-component-dim=0

FixedAffineComponent matrix=trained-ams/speech-corpus-train-

agh/dnn2-bnf/4_2000_42_400/lda.mat

AffineComponentPreconditionedOnline input-dim=143 output-

dim=2000 alpha=4.0 num-samples-history=2000 update-period=4 rank-

in=20 rank-out=80 max-change-per-sample=0.075 learning-rate=0.02

param-stddev=0.0223606797749979 bias-stddev=0.5

PnormComponent input-dim=2000 output-dim=400 p=2

NormalizeComponent dim=400

AffineComponentPreconditionedOnline input-dim=400 output-

dim=2925 alpha=4.0 num-samples-history=2000 update-period=4 rank-

in=20 rank-out=80 max-change-per-sample=0.075 learning-rate=0.02

param-stddev=0 bias-stddev=0

SoftmaxComponent dim=2925

Plik konfiguracyjny głębokiej sieci neuronowej zawiera informacje o następujących

składowych:

SpliceComponent – komponent ‘sklejający’ ze sobą środkowąy wektor cech i

jego kontekstowe wektory z danego nagrania,

FixedAfficeComponent – komponent realizujący omówioną wcześniej

dekorelującą transformację LDA nie zmniejszając wymiarowości

wejściowego wektora,

AffineComponentPreconditionedOnline – komponent zawierający macierz

wag i wektor biasu węzłów danej warstwy sieci,

PnormComponent – komponent sieci zawierający nieliniowości (funkcje

aktywacji) węzłów określonej warstwy. W tym przypadku jest to funkcja p-

norm,

NormalizeComponent – komponent stabilizujący trening sieci,

Page 60: Analiza metod głębokiego uczenia maszynowego do modelowania

Trening modeli akustycznych

- 60 -

SoftmaxComponent – ostatni komponent sieci generujący na wyjściu

znormalizowane prawdopodobieństwa przynależności danego wektora

wejściowego do któregoś z trifonów.

Kolejne ukryte warstwy są inicjalizowane według pliku konfiguracyjnego

hidden.config, natomiast jedna z ukrytych warstw stanowi przewężenie sieci

(inicjalizowane według bnf.config), z którego to przewężenia ekstrahowane będą

współczynniki BNF po zakończeniu treningu SGD. Pliki konfiguracyjne opisujące oba

rodzaje warstw ukrytych przedstawione są poniżej.

hidden.config

AffineComponentPreconditionedOnline input-dim=400 output-

dim=2000 alpha=4.0 num-samples-history=2000 update-period=4 rank-

in=20 rank-out=80 max-change-per-sample=0.075 learning-rate=0.02

param-stddev=0.0223606797749979 bias-stddev=0.5

PnormComponent input-dim=2000 output-dim=400 p=2

NormalizeComponent dim=400

bnf.config

AffineComponentPreconditionedOnline input-dim=400 output-

dim=420 alpha=4.0 num-samples-history=2000 update-period=4 rank-

in=20 rank-out=80 max-change-per-sample=0.075 learning-rate=0.02

param-stddev=0.0487950036474267 bias-stddev=0.5

PnormComponent input-dim=420 output-dim=42 p=2

NormalizeComponent dim=42

AffineComponentPreconditionedOnline input-dim=42 output-

dim=2000 alpha=4.0 num-samples-history=2000 update-period=4 rank-

in=20 rank-out=80 max-change-per-sample=0.075 learning-rate=0.02

param-stddev=0.0223606797749979 bias-stddev=0.5

PnormComponent input-dim=2000 output-dim=400 p=2

NormalizeComponent dim=400

Procedura treningu DNN-BNF jest procedurą iteracyjną, w której wyróżnia się dwa

główne przebiegi nazwane epokami i iteracjami. Na każdą epokę treningu przypada

Page 61: Analiza metod głębokiego uczenia maszynowego do modelowania

Trening modeli akustycznych

- 61 -

określona ilość iteracji (w tym przypadku 42). Jedna epoka stanowi jedno pełne przejście

przez wszystkie dane treningowe algorytmem wstecznej propagacji błędu z określonym

współczynnikiem uczenia (ang. learning rate). Jedna iteracja to wystąpienie określonej

liczby próbek wejściowych (w tym przypadku na jedną iterację przypada 40000 próbek

uczących). Przez pierwsze 15 epok współczynnik uczenia sieci jest stopniowo

zmniejszany aż do osiągnięcia wartości końcowej. Następnie przez 5 ostatnich epok sieć

uczona jest stałym współczynnikiem uczenia. Omawiany trening został zapoczątkowany

współczynnikiem uczenia równym 0,04, który malał aż do osiągnięcia wartości 0,004.

Wartość współczynnika uczenia sieci dobiera się eksperymentalnie. Iteracyjną procedurę

treningu DNN-BNF wywołano skryptem:

./steps/nnet2/train_pnorm_bottleneck_fast.sh --samples-per-

iter 40000 --minibatch-size 512 --initial-learning-rate 0.02 --

final-learning-rate 0.004 --pnorm-input-dim 2000 --pnorm-output-

dim 400 --bottleneck-dim 42 –splice-width 5 <DATA_DIR> <LANG_DIR>

<ALIGN_DIR> <OUT_DIR>

Wszystkie występujące w komendzie parametry zostały wcześniej omówione.

Każda kolejna iteracja treningu rozpoczyna się od obliczenia pewnych

współczynników służących do diagnozowania przebiegu treningu. Pozwalają one ocenić

skuteczność uczenia się sieci przy ustalonych parametrach treningu. Głównym

obliczanym wskaźnikiem w przypadku treningu DNN-BNF jest entropia krzyżowa (ang.

cross-entropy) opisana we wprowadzeniu. Stanowi ona pewną miarę poprawnego

klasyfikowania trifonów przez trenowaną głęboką sieć neuronową. Poniżej przestawiono

wykresy entropii krzyżowej obliczonej dla zbiorów treningowego i walidacyjnego dla

każdej iteracji treningu. Wykresy dobrze obrazują ewolucję treningu sieci neuronowej.

W początkowej fazie treningu widzimy gwałtowny spadek entropii krzyżowej liczonej

zarówno na korpusie treningowym i walidacyjnym. Potem następuje powolne

‘dotrenowanie’ sieci lecz już bez wyraźnego wzrostu skuteczności na korpusie

walidacyjnym.

Page 62: Analiza metod głębokiego uczenia maszynowego do modelowania

Trening modeli akustycznych

- 62 -

Rys. 20 Zmiana entropii krzyżowej w każdej iteracji treningu DNN-BNF

Rys. 21 Zmiana parametru frame-accuracy w każdej iteracji treningu DNN-BNF

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

0 100 200 300 400 500 600 700 800

Entr

op

ia k

rzyż

ow

a

Numer iteracji

Wartość entropii krzyżowej dla każdejiteracji treningu DNN-BNF

"korpus treningowy" "korpus walidacyjny"

0.4

0.45

0.5

0.55

0.6

0.65

0.7

0.75

0.8

0 100 200 300 400 500 600 700 800

fram

e-a

ccu

racy

Numer iteracji

Wartość parametru frame-accuracy dla każdejiteracji treningu DNN-BNF

"korpus treningowy" "korpus walidacyjny"

Page 63: Analiza metod głębokiego uczenia maszynowego do modelowania

Trening modeli akustycznych

- 63 -

Po wytrenowaniu sieci DNN-BNF możemy przejść do wyekstrahowania

współczynników BNF z nagrań korpusu treningowego. Ekstrakcja polega na podawaniu

kolejnych sparametryzowanych ramek (wraz z ramkami kontekstowymi) treningowych

nagrań na wejście sieci, wymnożeniu ich przez wszystkie warstwy sieci neuronowej, aż

do warstwy z przewężeniem i zapisaniu otrzymanych wartości węzłów przewężenia na

dysk. Proces ten realizowany jest przez skrypt

./steps/nnet2/dump_bottleneck_features.sh --nj 4 <DATA_DIR>

<DNN_BNF_DIR> <OUT_BNF_DIR> <BNF_LOG_DIR>

gdzie:

<DATA_DIR> - ścieżka do katalogu data,

<DNN_BNF_DIR> - ścieżka do katalogu z wytrenowaną siecią DNN-

BNF

<OUT_BNF_DIR> - ścieżka do wyjściowego katalogu, w którym

umieszczone zostaną archiwum z współczynnikami BNF,

<BNF_LOG_DIR> - ścieżka do wyjściowego katalogu, w którym

umieszczone zostaną logi z obliczeń.

Na wygenerowanych współczynnikach BNF zbudowano trifonowy model akustyczny.

Przebieg obliczeń i sposób wywoływania procedur jest dokładnie taki sam jak w

przypadku poprzednio opisanego treningu. Należy tylko zwrócić uwagę na to, by plik

feats.scp z katalogu data wskazywał teraz na archiwum ze współczynnikami BNF. W ten

sposób utworzony trifonowy model akustyczny jest drugim z analizowanych modeli i

zostanie poddany ewaluacji w kolejnym rozdziale. Poniżej przedstawiono wykresy

obrazujące proces treningu trifonowego modelu akustycznego. Wykresy są bardzo

podobne do tych z poprzedniego podrozdziału. Również tutaj można zaobserwować

chwilowe skoki przyrostu wartości funkcji celu wynikające z resegmentacji nagrań

treningowych.

Page 64: Analiza metod głębokiego uczenia maszynowego do modelowania

Trening modeli akustycznych

- 64 -

Rys. 22 Średni logarytm prawdopodobieństwa na ramkę dla treningu BNF-GMM

Rys. 23 Przyrost funkcji celu dla treningu BNF-GMM

-162

-161.5

-161

-160.5

-160

-159.5

-159

-158.5

-158

-157.5

-157

-156.5

-156

-155.5

-155

-154.5

-154

0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34

Śred

ni l

oga

rytm

pra

wd

op

od

ob

ień

stw

o n

a ra

mkę

Numer iteracji

Średni logarytm prawdopodobieństwa na ramkęw każdej iteracji treningu trifonów

00.05

0.10.15

0.20.25

0.30.35

0.40.45

0.50.55

0.60.65

0.70.75

0.80.85

0.90.95

1

0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34

Prz

yro

st w

arto

ści f

un

kcji

ce

lu

Numer iteracji

Przyrost wartości funkcji celu dla każdej iteracji treningu trifonów

Page 65: Analiza metod głębokiego uczenia maszynowego do modelowania

Trening modeli akustycznych

- 65 -

3.5 Trening FBANK-DNN-HMM

Ostatnim z analizowanych modeli akustycznych jest model hybrydowy DNN-HMM

wytrenowany na współczynnikach FBANK (ang. Mel Filter Banks). Narzędzia

wykorzystane w tym treningu pochodzą z implementacji Karela Vesely i znajdują się w

katalogach nnet i nnetbin. Najistotniejsza różnica w treningu tych sieci neuronowych a

tych z poprzedniego rozdziału polega na wykorzystaniu idei pre-treningu RBM (ang.

Restricted Boltzmann Machines) w pierwszej fazie treningu [10]. Obliczenia

wykonywane przez podprogramy z tego pakietu można wykonywać tylko na jednej

karcie GPU jednocześnie.

Przed przystąpieniem do właściwego treningu należy najpierw sparametryzować

nagrania treningowe wykorzystując melowe banki filtrów. Melowe banki filtrów nie są

wykorzystywane do modelowania GMM-HMM z tego względu, że są one ze sobą ściśle

skorelowane, co znacznie utrudnia proces ich modelowania za pomocą diagonalnych

gaussianów. Problem ten nie występuję dla sieci DNN i co więcej, eksperymenty

opisywane w wielu publikacjach wskazują na wyższość parametryzacji FBANK nad

MFCC. Aby obliczyć wymagane współczynniki należy uruchomić skrypt

./steps/make_fbank.sh --nj 4 --fbank-config <FBANK_CONFIG> --

cmd <CMD> <DATA_DIR> <FBANK_LOG_DIR> <FBANK_OUT_DIR>

gdzie:

FBANK_CONFIG - ścieżka do pliku konfiguracyjnego zawierającego

najważniejsze informacje o parametryzacji (pełny plik fbank.conf przedstawiony jest

poniżej),

<CMD> - wybór skryptu uruchamiającego obliczenia (CMD=run.pl),

<DATA_DIR> - ścieżka do katalogu data,

<FBANK_LOG_DIR> - ścieżka do wyjściowego katalogu, w którym

umieszczone zostaną logi z obliczeń,

<FBANK_OUT_DIR> - ścieżka do wyjściowego katalogu, w którym

umieszczone zostaną archiwum z wygenerowanymi współczynnikami FBANK.

Page 66: Analiza metod głębokiego uczenia maszynowego do modelowania

Trening modeli akustycznych

- 66 -

Współczynniki FBANK możemy poddać normalizacji, tak samo jak w przypadku

MFCC. Sposób normalizowania nagrań jest identyczny jak w przypadku opisanym w

podpunkcie 3.1 i nie będzie on tutaj powtarzany.

Ważnym krokiem jest manualne wydzielenie zbioru do walidacji ze zbioru

treningowego. Krok ten nie jest automatycznie wykonywany w przypadku narzędzi nnet

i nnetbin. Odpowiedni skrypt, napisany w języku bash, znajduje się na dołączonej płycie

CD. Wydzielony podzbiór walidacyjny składał się z ok. 10% wszystkich nagrań

treningowych z dodatkowym zastrzeżeniem, że proporcje między nagraniami

pochodzącymi z różnych źródeł (Globalphone, AGHstreets itp) zostały zachowane.

Skrypt można uruchomić poleceniem

./local/generate-dnn-subsets.sh <DATA_DIR> <TRAIN_OUT_DIR>

<DEV_OUT_DIR>

Podobnie jak w przypadku treningu DNN-BNF kolejność nagrań w zbiorze

treningowym i walidacyjnym musi zostać zrandomizowana (skryptem

utils/shuffle_list.pl). Po randomizacji należy utworzyć plik konfiguracyjny

(final.feature_transform), w którym zawarte będą informacje na temat kontekstowych

ramek wchodzących na wejście sieci. W tym przypadku wykorzystano takie samo okno

kontekstowe jak w treningu DNN-BNF (5 wektorów FBANK w obu kierunkach). Plik

ten wykorzystywany jest przez oprogramowanie do ‘sklejania’ ramek wewnątrz pamięci

GPU. Poniżej przedstawiono jego zawartość:

<Nnet>

<Splice> 451 41

[ -5 -4 -3 -2 -1 0 1 2 3 4 5 ]

</Nnet>

Pretrening rozpoczyna się od inicjalizacji pierwsze ukrytej warstwy, która w

odróżnieniu od pozostałych warstw składających się z jednostek typu Bernoulli-

Bernoulli, składa się z jednostek typu Gaussian-Bernoulli. Sieć inicjalizujemy

poleceniem

nnet-initialize <RBM_PROTO> <RBM_INIT>

gdzie:

<RBM_PROTO> - ścieżka do pliku z topologią ukrytej warstwy,

Page 67: Analiza metod głębokiego uczenia maszynowego do modelowania

Trening modeli akustycznych

- 67 -

<RBM_INIT> - ścieżka do wyjściowego pliku z zainicjalizowaną siecią.

W kolejnych epokach treningu inicjalizowane są następne warstwy sieci. Wykonuje

się to tym samym poleceniem, lecz z innym plikiem konfiguracyjnym. Aby umożliwić

odtworzenie prezentowanych wyników na innym urządzeniu, zamieszczono poniżej

wszystkie pliki konfiguracyjne wykorzystane do zainicjalizowania każdej warstwy sieci.

<NnetProto>

<Rbm> <InputDim> 451 <OutputDim> 2000 <VisibleType> gauss

<HiddenType> bern <ParamStddev> 0.1

</NnetProto>

<NnetProto>

<Rbm> <InputDim> 2000 <OutputDim> 2000 <VisibleType> bern

<HiddenType> bern <ParamStddev> 0.1 <VisibleBiasCmvnFilename>

trained-ams/speech-corpus-train-agh/dnn/pretrain_5_2000_5/[2-

5].cmvn

</NnetProto>

Po inicjalizacji każdej warstwy wykonywane są dwa kolejne podprogramy. Pierwszy

z nich (nnet-forward) służy do ‘przepuszczenia’ danych wejściowych przez poprzednio

wytrenowane warstwy otrzymując w ten sposób przetransformowane cechy, które

zostaną wykorzystane w pre-treningu kolejnej epoki. Sam pre-trening jest treningiem bez

nadzoru (ang. unsupervised) i oparty jest o algorytm CD-1 (ang. Contrastive Divergence

with 1-step of Markov Chain Monte Carlo sampling). Szczegóły dotyczące tego

algorymtu można znaleźć w publikacji Geoffa Hintona [9]. Obliczenia wykonywane są

przez podprogram rbm-train-cd1-frmshuff. Wywoływanie opisanych podprogramów

obudowane jest odpowiednim skryptem w Kaldi. Sposób w jaki go uruchomiono

przedstawiony jest poniżej.

./steps/nnet/pretrain_dbn.sh --nn-depth 5 --hid-dim 2000 --rbm-

iter 5 --splice 5 <DATA_DIR> <PRETRAIN_OUT_DIR>

Omawiany pre-trening składał się z 5 epok (po jednej epoce dla każdej ukrytej

warstwy). W każdej epoce wykonało się 5 iteracji (oprócz pierwszej epoki, gdzie ilość

iteracji została zwiększona dwukrotnie ze względu na wykorzystanie innego rodzaju

jednostek sieci (gaussian-bernoulli)). Ukryte warstwy składały się z 2000 węzłów. Te

Page 68: Analiza metod głębokiego uczenia maszynowego do modelowania

Trening modeli akustycznych

- 68 -

parametry treningu zostały dobrane na podstawie wcześniej wykonanych eksperymentów

oraz kilku wskazówek zawartych w dokumentach Kaldi. Kompletny czas treningu

wszystkich 5 ukrytych warstw z wykorzystaniem jednej karty GPU wyniósł około 5,28

godziny.

Ostatnim etapem całego treningu jest poddanie sieci składającej się z pięciu ukrytych

warstw RBM i kolejnej, wyjściowej warstwy procedurze uczenia z nadzorem (ang.

supervised), w którym kryterium uczenia jest takie samo jak w podpunkcie 3.4

(klasyfikacja każdej ramki do określonego trifonu) i realizowane jest przez omówiony

wcześniej algorytm SGD. Domyślnie funkcjami aktywacji węzłów ostatniej warstwy są

funkcje sigmoidalne. Współczynnik uczenia ustawiony został na wartość 0.008. Trening

z nadzorem realizowany jest przez program nnet-train-frm-shuff. Obliczenia

uruchomiono wywołując następujący skrypt

./steps/nnet/train.sh --feature-transform <FEAT_T_DIR> --dbn

<DBN_DIR> --hid-layers 0 --learn-rate 0.008 --splice 5

Gdzie:

<FEAT_T_DIR> - ścieżka do pliku konfiguracyjnego

final.feature_transform utworzonego podczas pre-treningu RBM,

<DBN_DIR> - ścieżka do pliku z wytrenowanymi ukrytymi warstwami

RBM.

Trening kończy się w momencie gdy przyrost funkcji kosztu (entropii krzyżowej)

obliczonej na korpusie deweloperskim osiągnie pewną ustaloną minimalną wartość

(mechanizmy zatrzymujące trening wbudowane są w skrypt train.sh). Gdy trening się

zakończy, generowana jest końcowa postać głębokiej sieci neuronowej (final.nnet). Tak

wytrenowana sieć tworzy razem z modelem HMM hybrydę DNN-HMM. Sieć dla każdej

analizowanej ramki dostarcza pseudo-prawdopodobieństwo każdej obserwacji stanów

emitujących modelu HMM. Jest to ostatni wytrenowany model akustyczny. Poniżej

przedstawiono wykres obrazujący postępy ostatniego treningu. Podobnie jak w

poprzednim treningu zaczyna się on od gwałtownego przyrostu funkcji celu. Kolejne

iteracje są już tylko powolną reestymacją parametrów sieci dopasowującą ją do danych

treningowych. W siódmej iteracji zwiększono wartość współczynnika uczenia sieci, aby

zapewnić szybszą zbieżność - ślad po tej operacji widoczny jest na obu wykresach (wzrost

parametru frame_accuracy oraz spadek entropii krzyżowej).

Page 69: Analiza metod głębokiego uczenia maszynowego do modelowania

Trening modeli akustycznych

- 69 -

Rys. 24 Zmiana frame-accuracy w każdej iteracji treningu FBANK-DNN-HMM

Rys. 25 Zmiana entropii krzyżowej w każdej iteracji treningu FBANK-DNN-HMM

0.4

0.45

0.5

0.55

0.6

0.65

0.7

0.75

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18

fram

e-a

ccu

racy

Numer iteracji

Wartość parametru frame-accuracy dla każdejiteracji treningu FBANK-DNN-HMM

"korpus treningowy" "korpus walidacyjny"

0.4

0.6

0.8

1

1.2

1.4

1.6

1.8

2

2.2

2.4

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18

Entr

op

ia k

rzyż

ow

a

Numer iteracji

Wartość entropii krzyżowej dla każdejiteracji treningu FBANK-DNN-HMM

"korpus treningowy" "korpus walidacyjny"

Page 70: Analiza metod głębokiego uczenia maszynowego do modelowania

Ewaluacja oraz analiza porównawcza wyników

- 70 -

Rozdział 4

Ewaluacja oraz analiza porównawcza wyników

Niniejszy rozdział stanowi najważniejszą, weryfikacyjną część pracy dyplomowej.

Przedstawiono w nim wyniki ewaluacji systemów ASR zbudowanych z wytrenowanych

wcześniej modeli akustycznych. Dokonano analizy porównawczej wyników zarówno

pod kątem skuteczności systemów jak i ich odporności na różnego rodzaju zakłócenia.

Podrozdziały dotyczące ewaluacji poprzedza opis analizowanych metryk, trening modelu

językowego oraz szczegóły dotyczące kompilacji grafów dekodujących (HCLG.fst).

4.1 Opis analizowanych metryk

Word Error Rate / Word Recognition Rate (WER / WRR)

Jest to jedna z najpopularniejszych metryk służących do mierzenia skuteczności

systemów ASR [26]. WRR i WER są ze sobą powiązane zależnością WRR = 1 - WRR i

opierają się na metryce edycyjnej Levenshteina dla słów. Aby wyznaczyć parametr

WER/WRR należy porównać ze sobą transkrypcję nagrań pochodzących z dekodera

(hipotezy dekodera) z transkrypcjami oryginalnymi (referencjami) według następujących

zasad

𝑊𝐸𝑅 =

𝑆 + 𝐷 + 𝐼

𝑁

(4.1)

lub analogicznie

𝑊𝑅𝑅 =𝑁−𝑆−𝐷−𝐼

𝑁 , (4.2)

gdzie:

S - liczba podstawionych słów względem referencji,

D - liczba usuniętych słów względem referencji,

I - liczba wstawionych słów względem referencji,

N - całkowita liczba słów w referencji.

Page 71: Analiza metod głębokiego uczenia maszynowego do modelowania

Ewaluacja oraz analiza porównawcza wyników

- 71 -

Tę metrykę najczęściej wykorzystuje się podczas ewaluacji systemów LVCSR (ang.

Large Vocabulary Continuous Speech Recognition), gdzie mamy do czynienia z długimi

i zróżnicowanymi transkrypcjami. W niniejszych ewaluacjach skuteczność podawana

będzie procentowym parametrem WRR (%WRR = WRR * 100%).

Sentence Error Rate / Sentence Recognition Rate (SER/SRR)

Druga najpopularniejsza metryka będąca stosunkiem liczby poprawnie

zdekodowanych zdań (hipoteza dekodera jest identyczna z oryginalną transkrypcją) do

liczby wszystkich testowanych zdań:

𝑆𝐸𝑅 =

𝑃

𝑁

(4.3)

lub analogicznie

𝑆𝑅𝑅 = 𝑁−𝑃

𝑁. (4.4)

gdzie:

P - liczba poprawnie zdekodowanych wypowiedzi,

N - liczba wszystkich analizowanych wypowiedzi.

SER/SRR wykorzystywany jest najczęściej do ewaluacji systemów ASR, których

zadaniem jest rozpoznawanie określonych komend. Bardzo ważne jest wtedy by

komenda była poprawnie rozpoznana w całości, ponieważ często wynik rozpoznania jest

przekazywany w systemie dalej do kolejnych modułów całego systemu (np. Kontrola

urządzeń głosem). W niniejszych ewaluacjach skuteczność podawana będzie

procentowym parametrem SRR (%SRR = SRR * 100%).

Real-Time Factor (RTF)

Jest to parametr określający szybkość działania dekodera. Obliczany jest jako stosunek

czasu trwania procesu dekodowania pojedynczej wypowiedzi do czasu trwania tej

wypowiedzi:

𝑅𝑇𝐹 = 𝐷𝑇

𝑈𝑇, (4.5)

Page 72: Analiza metod głębokiego uczenia maszynowego do modelowania

Ewaluacja oraz analiza porównawcza wyników

- 72 -

gdzie:

DT - czas trwania procesu dekodowania wypowiedzi,

UT - czas trwania dekodowanej wypowiedzi.

RTF jest zazwyczaj uśredniany ze wszystkich przeanalizowanych nagrań i jest

podawany jako jedna liczba. RTF jest kluczowym parametrem w komercyjnych

rozwiązaniach korzystających z systemów ASR. Zbyt długi czas pracy dekodera może

spowodować całkowitą niezdolność systemu do interakcji z człowiekiem (zbyt długi czas

oczekiwania na odpowiedź systemu może skutecznie zniechęcić użytkowników).

Przyjęło się, że systemy ASR odznaczające się parametrem RTF mniejszym lub równym

0.4 są wystarczające do interakcji z użytkownikiem. W niniejszych ewaluacjach parametr

RTF pozwoli określić, który z analizowanych modeli akustycznych mógłby być

wykorzystany w realnych implementacjach.

4.2 Kompilacja grafów dekodujących

Przed utworzeniem grafów dekodujących niezbędne jest wytrenowanie modelu

językowego mającego postać automatu G.fst. G.fst może być zarówno statystycznym

modelem językowym (n-gram) jak i gramatyką regułową. Ze względu na różnorodność

korpusów testowych zdecydowano, że model językowy, który będzie wykorzystany w

ewaluacji, będzie statystycznym modelem bigramowym wytrenowanym na wszystkich

dostępnych transkrypcjach języka polskiego. Transkrypcje te pochodzą ze wszystkich

korpusów opisanych w podrozdziale 2.2. Ich łączna liczba wynosi 44445 a liczba

unikalnych słów, które w nich występują wynosi 24909.

Do wytrenowania wymaganego bigramu można wykorzystać dowolny toolkit do

modelowania językowego (w tym przypadku wykorzystano SRILM). Po zgromadzeniu

w jednym pliku wszystkich transkrypcji wywołano polecenie trenujące model:

ngram-count –order <ORDER> –text <CORPUS_PATH> -lm <LM_NAME>

gdzie:

ORDER – liczba określająca rząd modelu n-gramowego (2 oznaczać

będzie bigramowy model językowy),

CORPUS_PATH – ścieżka do pliku z transkrypcjami,

LM_NAME – nazwa wyjściowego modelu językowego.

Page 73: Analiza metod głębokiego uczenia maszynowego do modelowania

Ewaluacja oraz analiza porównawcza wyników

- 73 -

Utworzony model językowy składa się z 24909 unigramów, 75614 bigramów a jego

dyskowy rozmiar to 2.1MB. Jest to stosunkowo niewielki model językowy i nie można

go zaliczyć do kategorii LVCSR, jednak do wykonania testów porównawczych jest

całkowicie wystarczający.

Kaldi umożliwia bezpośrednią konwersję n-gramowego modelu językowego do

formatu FST. Aby tego dokonać należy wywołać skrypt generate-g.sh z dołączonej płyty

CD. Skrypt ten wykorzystuje program arpa2fst oraz fstcompile do konwersji i kompilacji

G.fst. Automat ten należy umieścić w nowym katalogu lang, w którym dodatkowo należy

utworzyć wszystkie pozostałe pliki takie jak (L.fst, phones.txt, itp.). Dokładny sposób

konstruowania katalogu lang został opisany w podrozdziale 3.1. Mając gotowy katalog

lang można przystąpić do kompilacji grafów dekodujących.

Każdy z grafów dekodujących w Kaldi (HCLG.fst) jest zbudowany z czterech

głównych komponentów:

G.fst - komponent reprezentujący gramatykę regułową lub statystyczny model

językowy,

L.fst - komponent reprezentujący wielowariantową transkrypcję fonetyczną

wszystkich słów zawartych w G.fst (mapowanie między fonemami a słowami),

C,fst - komponent reprezentujący mapowanie między fonemami

kontekstowymi (trifonami) a docelowymi fonami,

H.fst - komponent reprezentujący topologię wytrenowanego modelu HMM

(mapowanie między obserwacjami stanów modelu a fonemami

kontekstowymi).

Automaty H.fst i C.fst są tworzone podczas treningu modelu akustycznego, natomiast

L.fst i G.fst zależą od modelu językowego. Kompilacja ostatecznego kompozytu

HCLG.fst jest procesem skomplikowanym i składa się z wielu etapów wykorzystujących

podstawowe operacje na automatach skończonych takie jak determinizacja,

minimalizacja i eliminacja przejść typu epsilon [14], które zostały zaimplementowane w

zestawie narzędzi OpenFST. Wykonujemy ją uruchamiając skrypt

./utils/mkgraph.sh <LANG_DIR> <AM_DIR>

Page 74: Analiza metod głębokiego uczenia maszynowego do modelowania

Ewaluacja oraz analiza porównawcza wyników

- 74 -

gdzie:

<LANG_DIR> - ścieżka do katalogu lang, w którym znajdują się

automaty G.fst oraz L.fst,

<AM_DIR> - ścieżka do katalogu, w którym znajduje się wytrenowany

model akustyczny.

Dla każdego wytrenowanego modelu akustycznego utworzono osobny graf

dekodujący HCLG.fst, który później został wykorzystany do dostrojenia konfiguracji

dekodera oraz ewaluacji systemu.

4.3 Dostrojenie konfiguracji dekodera

Przed przystąpieniem do ewaluacji systemu ASR należy dostroić konfigurację

dekodera, która zależy od modeli wykorzystywanych podczas dekodowania (akustyczny

i językowy) oraz od samych warunków testów, które powinien odwzorować korpus

deweloperski. Strojeniu podlegają zazwyczaj dwa parametry:

beam - jest to szerokość wiązki z jaką przeszukiwany jest graf dekodujący

(wpływa proporcjonalnie na skuteczność systemu i odwrotnie proporcjonalnie

na szybkość dekodowania),

acwt - współczynnik skalujący wpływ kosztu modelu akustycznego na koszt

całej hipotezy (jego wpływ zależy od konkretnego modelu akustycznego).

Oba parametry dostraja się wykonując kilkanaście ewaluacji dla różnych konfiguracji

tych parametrów szukając najbardziej optymalnej pary. W niniejszej procedurze

przeszukiwano oba parametry w następujących zakresach:

beam=”5; 7; 9; 11; 13; 15; 17; 19”

acwt=”0.040; 0.050; 0.060; 0.070; 0.080; 0.090”

Dla każdej pary parametrów wyznaczono WRR[%] SRR[%] oraz RTF. Jako kryterium

doboru najbardziej optymalnej pary ustalono najwyższą skuteczność systemu (mierzoną

metryką WRR[%]) przy współczynniku RTF nie przekraczającego 0.4. Ustalone w ten

sposób parametry wykorzystywane są we właściwych ewaluacjach systemu ASR. Wyniki

testów przedstawione dla wszystkich analizowanych modeli przedstawione są poniżej.

Page 75: Analiza metod głębokiego uczenia maszynowego do modelowania

Ewaluacja oraz analiza porównawcza wyników

- 75 -

acwt beam 5 7 9 11 13 15 17 19

0,04

WRR [%] 68,9 79,7 88,1 90,6 91,5 91,6 91,6 91,7

SRR [%] 71,9 78,5 82,8 83,9 84,7 84,7 84,7 84,8

RTF 0,077 0,094 0,168 0,331 0,563 0,908 1,231 1,315

0,05

WRR [%] 75,9 83,5 89,2 91,5 91,9 92,2 92,2 92,2

SRR [%] 73,9 78,1 82,2 83,7 84,2 84,9 84,9 84,9

RTF 0,074 0,083 0,130 0,246 0,436 0,669 1,019 1,211

0,06

WRR [%] 78,5 85,7 89,2 91,2 91,7 91,9 92,3 92,3

SRR [%] 74,5 78 81,2 83,1 83,9 84,4 85 85

RTF 0,070 0,079 0,107 0,192 0,334 0,556 0,824 1,177

0,07

WRR [%] 79,7 85 88,7 90,5 91,5 91,8 91,9 92,3

SRR [%] 74 77,4 80,4 82,5 83,4 84,1 84,2 84,8

RTF 0,069 0,074 0,095 0,158 0,277 0,466 0,677 0,973

0,08

WRR [%] 80,7 85 88 89,9 91,1 91,5 91,7 91,7

SRR [%] 73,6 76 78,9 81,5 82,9 83,5 84 84

RTF 0,068 0,070 0,086 0,134 0,229 0,378 0,561 0,820

0,09

WRR [%] 80,3 83,5 86,4 88,8 89,8 90,7 91,1 91,2

SRR [%] 71,9 73,7 76,1 79,8 81,1 82,8 83,4 83,8

RTF 0,067 0,068 0,080 0,118 0,192 0,319 0,501 0,700

Rys. 26 Dostrojenie konfiguracji dekodera dla modelu MFCC-GMM-HMM

85

86

87

88

89

90

91

92

93

94

95

0.000 0.100 0.200 0.300 0.400 0.500 0.600 0.700 0.800 0.900 1.000

Wo

rd R

eco

gnit

ion

Rat

e [%

]

Real-time Factor

Dostrojenie konfiguracji dekodera dla modeluMFCC-GMM-HMM

"acwt_0.040" "acwt_0.050" "acwt_0.060" "acwt_0.070"

"acwt_0.080" "acwt_0.090" "RTF_MAX"

Page 76: Analiza metod głębokiego uczenia maszynowego do modelowania

Ewaluacja oraz analiza porównawcza wyników

- 76 -

Dla modelu MFCC-GMM-HMM najbardziej optymalna para parametrów to beam=13

i acwt=0.060.

acwt beam 5 7 9 11 13 15 17 19

0,04

WRR [%] 85,3 88,1 90,6 91,7 92 92,2 92,3 92,4

SRR [%] 79,4 82,2 84,2 85,8 86,3 86,2 86,5 86,7

RTF 0,068 0,073 0,097 0,191 0,325 0,508 0,843 1,092

0,05

WRR [%] 85,2 87,2 89,6 91,2 91,5 91,9 92 92,1

SRR [%] 79,1 81,5 83,8 85,1 85,8 86,1 86,3 86,3

RTF 0,064 0,068 0,086 0,144 0,249 0,367 0,605 0,913

0,06

WRR [%] 84,3 86,1 87,8 89,7 91 91,5 91,8 92

SRR [%] 78,8 79,7 81,7 83,5 85,3 85,8 86,1 86,3

RTF 0,061 0,063 0,076 0,113 0,208 0,276 0,439 0,762

0,07

WRR [%] 83,9 84,5 86,7 88,3 89,6 90,6 91,3 91,6

SRR [%] 78,2 78,8 80,6 82,2 83,4 85 85,6 85,9

RTF 0,059 0,060 0,063 0,083 0,129 0,215 0,336 0,498

0,08

WRR [%] 83 83,3 84,7 86,8 88,2 89,8 90,5 91

SRR [%] 77,5 77,7 79,1 80,7 82,2 83,8 84,7 85

RTF 0,060 0,062 0,068 0,084 0,118 0,167 0,269 0,403

0,09

WRR [%] 81 81 82,5 84,7 86,7 88 89,2 89,9

SRR [%] 76,2 76,4 77,7 79,1 81,2 81,7 83 83,8

RTF 0,059 0,058 0,071 0,076 0,096 0,139 0,216 0,325

Rys. 27 Dostrojenie konfiguracji dekodera dla modelu BNF-GMM-HMM

85

86

87

88

89

90

91

92

93

94

95

0.000 0.100 0.200 0.300 0.400 0.500 0.600 0.700 0.800 0.900 1.000

Wo

rd R

eco

gnit

ion

Rat

e [%

]

Real-time Factor

Dostrojenie konfiguracji dekodera dla modeluBNF-GMM-HMM

"acwt_0.040" "acwt_0.050" "acwt_0.060" "acwt_0.070"

"acwt_0.080" "acwt_0.090" "RTF_MAX"

Page 77: Analiza metod głębokiego uczenia maszynowego do modelowania

Ewaluacja oraz analiza porównawcza wyników

- 77 -

Dla modelu BNF-GMM-HMM najbardziej optymalna para parametrów to beam=13 i

acwt=0.040.

acwt beam 5 7 9 11 13 15 17 19

0,04

WRR [%] 60 76,7 86,5 91,7 92,8 92,8 92,8 92,8

SRR [%] 71,6 81 85,9 87,2 88 88 88 88

RTF 0,044 0,045 0,100 0,260 0,595 0,823 1,015 1,021

0,05

WRR [%] 73,1 84,9 90,7 93,3 93,7 93,9 93,9 93,9

SRR [%] 74,1 82,7 86,2 87,6 87,9 88,3 88,3 88,3

RTF 0,036 0,038 0,075 0,180 0,469 0,695 0,827 1,004

0,06

WRR [%] 80,2 88,5 92,4 93,4 93,8 94,1 94,1 94,1

SRR [%] 76,1 83,2 86,2 87,5 88,1 88,6 88,7 88,7

RTF 0,032 0,034 0,056 0,131 0,318 0,591 0,753 0,839

0,07

WRR [%] 84,3 89,8 92,3 93,3 93,4 93,8 94 94

SRR [%] 78,6 82,9 86 87,2 87,6 88,1 88,5 88,6

RTF 0,029 0,032 0,047 0,098 0,231 0,464 0,652 0,795

0,08

WRR [%] 85,4 89,8 92 93 93,5 93,7 93,9 94,1

SRR [%] 79,7 82,6 85,6 86,3 87,2 87,7 87,9 88,3

RTF 0,028 0,029 0,040 0,078 0,178 0,401 0,597 0,688

0,09

WRR [%] 86 89,4 91,4 92,4 93,3 93,5 93,7 93,8

SRR [%] 79,2 82,1 84,4 85,9 87 87,3 87,9 87,9

RTF 0,028 0,029 0,036 0,065 0,141 0,322 0,526 0,668

Rys. 28 Dostrojenie konfiguracji dekodera dla modelu FBANK-DNN-HMM

85

86

87

88

89

90

91

92

93

94

95

0.000 0.100 0.200 0.300 0.400 0.500 0.600 0.700 0.800 0.900 1.000

Wo

rd R

eco

gnit

ion

Rat

e [%

]

Real-time Factor

Dostrojenie konfiguracji dekodera dla modeluFBANK-DNN-HMM

"acwt_0.040" "acwt_0.050" "acwt_0.060" "acwt_0.070"

"acwt_0.080" "acwt_0.090" "RTF_MAX"

Page 78: Analiza metod głębokiego uczenia maszynowego do modelowania

Ewaluacja oraz analiza porównawcza wyników

- 78 -

Dla modelu FBANK-DNN-HMM najbardziej optymalna para parametrów to

beam=13 i acwt=0.060. Poniżej przedstawiono osiągi dekoderów dla każdego

analizowanego modelu akustycznego z ich optymalną konfiguracją. Model FBANK-

DNN-HMM wyraźnie dominuje zarówno pod kątem skuteczności systemu jak i

szybkości działania.

model beam 5 7 9 11 13 15 17 19

MFCC-GMM-HMM

WRR [%] 78,5 85,7 89,2 91,2 91,7 91,9 92,3 92,3

SRR [%] 74,5 78 81,2 83,1 83,9 84,4 85 85

RTF 0,070 0,079 0,107 0,192 0,334 0,556 0,824 1,177

BNF-GMM-HMM

WRR [%] 85,3 88,1 90,6 91,7 92 92,2 92,3 92,4

SRR [%] 79,4 82,2 84,2 85,8 86,3 86,2 86,5 86,7

RTF 0,068 0,073 0,097 0,191 0,325 0,508 0,843 1,092

FBANK-DNN-HMM

WRR [%] 80,2 88,5 92,4 93,4 93,8 94,1 94,1 94,1

SRR [%] 76,1 83,2 86,2 87,5 88,1 88,6 88,7 88,7

RTF 0,032 0,034 0,056 0,131 0,318 0,591 0,753 0,839

Rys. 29 Porównanie osiągów dekoderów dostrojonych do analizowanych modeli

akustycznych

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

0.000 0.100 0.200 0.300 0.400 0.500 0.600 0.700 0.800

Wo

rd R

eco

gnit

ion

Rat

e [%

]

Real-time Factor

Porównanie osiągów dekoderów dostrojonych do analizowanych modeli akustycznych

"MFCC-GMM-HMM" "BNF-GMM-HMM"

"FBANK-DNN-HMM" "RTF_MAX"

Page 79: Analiza metod głębokiego uczenia maszynowego do modelowania

Ewaluacja oraz analiza porównawcza wyników

- 79 -

4.4 Porównanie skuteczności modeli akustycznych

Dekodery z analizowanymi modelami akustycznymi i dostrojoną konfiguracją

uruchomiono na korpusach ewaluacyjnych. Wywołanie procedury ewaluacyjnej odbywa

się poprzez uruchomienie skryptu

./steps/decode.sh --nj <NJOBS> --beam <BEAM> --acwt <ACWT>

<GRAPH_DIR> <TEST_DIR> <DECODE_DIR>

gdzie:

NJOBS - ilość wątków, na które zostanie rozdzielony process

dekodowania,

<BEAM> - szerokość wiązki dekodera,

<ACWT> - skala akustyczna,

<GRAPH_DIR> - ścieżka do katalogu ze skompilowanym grafem

dekodującym,

<TEST_DIR> - ścieżka do katalogu z korpusem ewaluacyjnym,

<DECODE_DIR> - ścieżka do wyjściowego katalogu, w którym zostanie

umieszczony wynik ewaluacji.

W poniższych tabelach przedstawiono rezultaty ewaluacji w postaci trzech

wykorzystywanych metryk (WRR[%], SRR[%] oraz RTF) dla każdego korpusu

testowego oraz wyniki uśrednione. Oba modele wytrenowane z wykorzystaniem metod

głębokich sieci neuronowych okazały się lepsze zarówno pod względem skuteczności jak

i szybkości działania. Model FBANK-DNN-HMM okazał się być modelem o najwyższej

skuteczności (+4.2%WRR względem MFCC-GMM-HMM i +1.3%WRR względem

BNF-GMM-HMM) natomiast dekoder wykorzystujący model BNF-GMM-HMM działał

najszybciej (-0.081RTF względem MFCC-GMM-HMM i -0.073 względem FBANK-

DNN-HMM). Warto zauważyć, że model FBANK-DNN-HMM osiągnął najlepsze

rezultaty na każdym badanym korpusie testowym. Potwierdzono w ten sposób, że

systemy ASR oparte o metody głębokiego uczenia maszynowego dają lepsze rezultaty

niż systemy oparte o modele GMM-HMM.

Page 80: Analiza metod głębokiego uczenia maszynowego do modelowania

Ewaluacja oraz analiza porównawcza wyników

- 80 -

Tabela 6 - Wyniki ewaluacji analizowanych modeli na korpusach testowych

model aghdigits aghstreets globalphone

WRR [%] SRR [%] RTF WRR [%] SRR [%] RTF WRR [%] SRR [%] RTF

MFCC-GMM-HMM 92.8 81.2 0.271 81.0 82.9 0.376 91.5 70.7 0.583

BNF-GMM-HMM 94.9 86.6 0.254 90.0 88.9 0.402 88.9 66.4 0.332

FBANK-DNN-HMM 92.9 81.4 0.244 92.1 91.9 0.450 92.7 73.6 0.511

Tabela 7 - Wyniki ewaluacji ogółem

model ogółem

WRR [%] SRR [%] RTF

MFCC-GMM-HMM 88.4 78.3 0.410

BNF-GMM-HMM 91.3 80.6 0.329

FBANK-DNN-HMM 92.6 82.3 0.402

4.5 Porównanie odporności modeli akustycznych na zakłócenia

W poniższym podrozdziale zaprezentowano wyniki ewaluacji na zakłóconych

wcześniej korpusach ewaluacyjnych. W pierwszej kolejności zdekodowane zostały

korpusy zaszumione różnymi szumami z różnymi poziomami SNR. Druga seria

dekodowań dotyczyła korpusów z dodanym pogłosem.

4.5.1 Odporność na zaszumienie

Poniższe wykresy zawierają rezultaty testów wykonanych na korpusach

zaszumionych szumem samochodowym, ulicznym oraz barowym. Wyniki podzielono na

trzy serie. W każdej z nich analizowano wszystkie modele akustyczne na pojedynczym

korpusie ewaluacyjnym (zaszumionym wszystkimi rodzajami szumów). Wykresy

obrazują różnice w osiągach modeli akustycznych. Szczegółowe rezultaty ewaluacji w

postaci tabel zostały przeniesione do załącznika w celu zwiększenia czytelności i

przejrzystości głównego tekstu.

Page 81: Analiza metod głębokiego uczenia maszynowego do modelowania

Ewaluacja oraz analiza porównawcza wyników

- 81 -

AGHdigits

Rys. 30 Wpływ zaszumienia korpusu AGHdigits szumem samochodowym

Rys. 31 Wpływ zaszumienia korpusu AGHdigits szumem samochodowym

0.000

0.200

0.400

0.600

0.800

1.000

1.200

1.400

20253035404550556065707580859095

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Rea

l-ti

me

Fact

or

Wo

rd R

eco

gnit

ion

Rat

e [%

]

SNR [dB]

Wpływ zaszumienia korpusu AGHdigitsszumem samochodowym na skuteczność

różnych modeli akustycznych

MFCC-GMM-HMM BNF-GMM-HMM FBANK-DNN-HMM

RTF-MFCC-GMM-HMM RTF-BNF-GMM-HMM "RTF-FBANK-DNN-HMM"

0

10

20

30

40

50

60

70

80

90

100

0.000 0.100 0.200 0.300 0.400 0.500 0.600Wo

rd R

eco

gnit

ion

Rat

e [%

]

Real-time Factor

Wpływ zaszumienia korpusu AGHdigitsszumem samochodowym na skuteczność

różnych modeli akustycznych

"MFCC-GMM-HMM" "BNF-GMM-HMM" "FBANK-DNN-HMM"

Page 82: Analiza metod głębokiego uczenia maszynowego do modelowania

Ewaluacja oraz analiza porównawcza wyników

- 82 -

Rys. 32 Wpływ zaszumienia korpusu AGHdigits szumem ulicznym

Rys. 33 Wpływ zaszumienia korpusu AGHdigits szumem ulicznym

0.000

0.200

0.400

0.600

0.800

1.000

1.200

1.400

5101520253035404550556065707580859095

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Rea

l-ti

me

Fact

or

Wo

rd R

eco

gnit

ion

Rat

e [%

]

SNR [dB]

Wpływ zaszumienia korpusu AGHdigitsszumem ulicznym na skuteczność

różnych modeli akustycznych

MFCC-GMM-HMM BNF-GMM-HMM FBANK-DNN-HMM

RTF-MFCC-GMM-HMM RTF-BNF-GMM-HMM "RTF-FBANK-DNN-HMM"

0

10

20

30

40

50

60

70

80

90

100

0.000 0.100 0.200 0.300 0.400 0.500 0.600 0.700 0.800 0.900 1.000Wo

rd R

eco

gnit

ion

Rat

e [%

]

Real-time Factor

Wpływ zaszumienia korpusu AGHdigitsszumem ulicznym na skuteczność

różnych modeli akustycznych

"MFCC-GMM-HMM" "BNF-GMM-HMM" "FBANK-DNN-HMM"

Page 83: Analiza metod głębokiego uczenia maszynowego do modelowania

Ewaluacja oraz analiza porównawcza wyników

- 83 -

Rys. 34 Wpływ zaszumienia korpusu AGHdigits szumem barowym

Rys. 35 Wpływ zaszumienia korpusu AGHdigits szumem barowym

0.000

0.200

0.400

0.600

0.800

1.000

1.200

1.400

5101520253035404550556065707580859095

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Rea

l-ti

me

Fact

or

Wo

rd R

eco

gnit

ion

Rat

e [%

]

SNR [dB]

Wpływ zaszumienia korpusu AGHdigitsszumem barowym na skuteczność

różnych modeli akustycznych

MFCC-GMM-HMM BNF-GMM-HMM FBANK-DNN-HMM

RTF-MFCC-GMM-HMM RTF-BNF-GMM-HMM "RTF-FBANK-DNN-HMM"

0

10

20

30

40

50

60

70

80

90

0.000 0.200 0.400 0.600 0.800 1.000 1.200 1.400Wo

rd R

eco

gnit

ion

Rat

e [%

]

Real-time Factor

Wpływ zaszumienia korpusu AGHdigitsszumem barowym na skuteczność

różnych modeli akustycznych

"MFCC-GMM-HMM" "BNF-GMM-HMM" "FBANK-DNN-HMM"

Page 84: Analiza metod głębokiego uczenia maszynowego do modelowania

Ewaluacja oraz analiza porównawcza wyników

- 84 -

Pierwsza seria testów, przeprowadzona na korpusie AGHdigits, nie wskazała

jednoznacznie jednego dominującego modelu. Różnice w osiągach poszczególnych

modeli akustycznych zależą przede wszystkim od rodzaju szumu. Szybkość spadku

skuteczności spowodowanego coraz mniejszym odstępem sygnału od szumu (SNR) jest

dla wszystkich przypadków podobny. Fluktuacje wartości RTF widoczne na wykresie z

szumem barowym spowodowane są zmiennym obciążeniem maszyny, na której

wykonywane były obliczenia. Efektywność modeli akustycznych jest we wszystkich

przypadkach zbliżona, aczkolwiek modelem najlepszym dla danego szumu jest zawsze

jeden z dwóch modeli opartych o sieci neuronowe (pod kątem skuteczności), a

najszybszym jest model MFCC-GMM-HMM. Szumem, który okazał się być najbardziej

wymagającym jest szum barowy. Jest to logiczne z tego względu, że szum ten wprowadza

duże zakłócenia we wszystkich analizowanych pasmach częstotliwości podczas gdy

szum samochodowy zniekształca głównie niskie częstotliwości.

AGHstreets

Rys. 36 Wpływ zaszumienia korpusu AGHstreets szumem samochodowym

0.000

0.200

0.400

0.600

0.800

1.000

1.200

1.400

05

101520253035404550556065707580859095

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Rea

l-ti

me

Fact

or

Wo

rd R

eco

gnit

ion

Rat

e [%

]

SNR [dB]

Wpływ zaszumienia korpusu AGHstreetsszumem samochodowym na skuteczność

różnych modeli akustycznych

MFCC-GMM-HMM BNF-GMM-HMM FBANK-DNN-HMM

RTF-MFCC-GMM-HMM RTF-BNF-GMM-HMM "RTF-FBANK-DNN-HMM"

Page 85: Analiza metod głębokiego uczenia maszynowego do modelowania

Ewaluacja oraz analiza porównawcza wyników

- 85 -

Rys. 37 Wpływ zaszumienia korpusu AGHstreets szumem samochodowym

Rys. 38 Wpływ zaszumienia korpusu AGHstreets szumem ulicznym

-10

0

10

20

30

40

50

60

70

80

90

0.400 0.500 0.600 0.700 0.800 0.900 1.000 1.100Wo

rd R

eco

gnit

ion

Rat

e [%

]

Real-time Factor

Wpływ zaszumienia korpusu AGHstreetsszumem samochodowym na skuteczność

różnych modeli akustycznych

"MFCC-GMM-HMM" "BNF-GMM-HMM" "FBANK-DNN-HMM"

0.000

0.200

0.400

0.600

0.800

1.000

1.200

1.400

05

101520253035404550556065707580859095

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Rea

l-ti

me

Fact

or

Wo

rd R

eco

gnit

ion

Rat

e [%

]

SNR [dB]

Wpływ zaszumienia korpusu AGHstreetsszumem ulicznym na skuteczność

różnych modeli akustycznych

MFCC-GMM-HMM BNF-GMM-HMM FBANK-DNN-HMM

RTF-MFCC-GMM-HMM RTF-BNF-GMM-HMM "RTF-FBANK-DNN-HMM"

Page 86: Analiza metod głębokiego uczenia maszynowego do modelowania

Ewaluacja oraz analiza porównawcza wyników

- 86 -

Rys. 39 Wpływ zaszumienia korpusu AGHstreets szumem ulicznym

Rys. 40 Wpływ zaszumienia korpusu AGHstreets szumem barowym

-10

0

10

20

30

40

50

60

70

80

90

0.400 0.500 0.600 0.700 0.800 0.900 1.000 1.100Wo

rd R

eco

gnit

ion

Rat

e [%

]

Real-time Factor

Wpływ zaszumienia korpusu AGHstreetsszumem ulicznym na skuteczność

różnych modeli akustycznych

"MFCC-GMM-HMM" "BNF-GMM-HMM" "FBANK-DNN-HMM"

0.000

0.200

0.400

0.600

0.800

1.000

1.200

1.400

05

101520253035404550556065707580859095

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Rea

l-ti

me

Fact

or

Wo

rd R

eco

gnit

ion

Rat

e [%

]

SNR [dB]

Wpływ zaszumienia korpusu AGHstreetsszumem barowym na skuteczność

różnych modeli akustycznych

MFCC-GMM-HMM BNF-GMM-HMM FBANK-DNN-HMM

RTF-MFCC-GMM-HMM RTF-BNF-GMM-HMM "RTF-FBANK-DNN-HMM"

Page 87: Analiza metod głębokiego uczenia maszynowego do modelowania

Ewaluacja oraz analiza porównawcza wyników

- 87 -

Rys. 41 Wpływ zaszumienia korpusu AGHstreets szumem barowym

Zaszumiony korpus AGHstreet okazał się być najtrudniejszym środowiskiem dla

analizowanych modeli akustycznych. Może to wynikać z tego faktu, iż jest on

stosunkowo niższej jakości niż dwa pozostałe korpusy (kanał telefoniczny + wiele

oryginalnych zakłóceń). Różnice w sprawności poszczególnych systemów są tutaj

znacznie wyraźniejsze. Model MFCC-GMM-HMM w każdym z przypadków był

modelem o najwyższym współczynniku RTF i najsłabszej skuteczności, czyli był

modelem sprawującym się najgorzej. W przypadku szumu samochodowego ten model

nie osiągnął poziomu WRR wyższego niż 20%. Model FBANK-DNN-HMM poradził

sobie w przypadkach szumu ulicznego i barowego najlepiej. Dla szumu samochodowego

spadek skuteczności wraz ze spadkiem SNR był najmniejszy dla modelu BNF-GMM-

HMM.

-10

0

10

20

30

40

50

60

70

80

90

0.400 0.500 0.600 0.700 0.800 0.900 1.000 1.100Wo

rd R

eco

gnit

ion

Rat

e [%

]

Real-time Factor

Wpływ zaszumienia korpusu AGHstreetsszumem barowym na skuteczność

różnych modeli akustycznych

"MFCC-GMM-HMM" "BNF-GMM-HMM" "FBANK-DNN-HMM"

Page 88: Analiza metod głębokiego uczenia maszynowego do modelowania

Ewaluacja oraz analiza porównawcza wyników

- 88 -

GlobalPhone

Rys. 42 Wpływ zaszumienia korpusu GlobalPhone szumem samochodowym

Rys. 43 Wpływ zaszumienia korpusu GlobalPhone szumem samochodowym

0.000

0.500

1.000

1.500

2.000

2.500

101520253035404550556065707580859095

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Rea

l-ti

me

Fact

or

Wo

rd R

eco

gnit

ion

Rat

e [%

]

SNR [dB]

Wpływ zaszumienia korpusu GlobalPhoneszumem samochodowym na skuteczność

różnych modeli akustycznych

MFCC-GMM-HMM BNF-GMM-HMM FBANK-DNN-HMM

RTF-MFCC-GMM-HMM RTF-BNF-GMM-HMM "RTF-FBANK-DNN-HMM"

0

10

20

30

40

50

60

70

80

90

100

0.400 0.900 1.400 1.900 2.400Wo

rd R

eco

gnit

ion

Rat

e [%

]

Real-time Factor

Wpływ zaszumienia korpusu GlobalPhoneszumem samochodowym na skuteczność

różnych modeli akustycznych

"MFCC-GMM-HMM" "BNF-GMM-HMM" "FBANK-DNN-HMM"

Page 89: Analiza metod głębokiego uczenia maszynowego do modelowania

Ewaluacja oraz analiza porównawcza wyników

- 89 -

Rys. 44 Wpływ zaszumienia korpusu GlobalPhone szumem ulicznym

Rys. 45 Wpływ zaszumienia korpusu GlobalPhone szumem ulicznym

0.000

0.500

1.000

1.500

2.000

2.500

101520253035404550556065707580859095

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Rea

l-ti

me

Fact

or

Wo

rd R

eco

gnit

ion

Rat

e [%

]

SNR [dB]

Wpływ zaszumienia korpusu GlobalPhoneszumem ulicznym na skuteczność

różnych modeli akustycznych

MFCC-GMM-HMM BNF-GMM-HMM FBANK-DNN-HMM

RTF-MFCC-GMM-HMM RTF-BNF-GMM-HMM "RTF-FBANK-DNN-HMM"

0

10

20

30

40

50

60

70

80

90

100

0.400 0.600 0.800 1.000 1.200 1.400 1.600 1.800 2.000 2.200 2.400Wo

rd R

eco

gnit

ion

Rat

e [%

]

Real-time Factor

Wpływ zaszumienia korpusu GlobalPhoneszumem ulicznym na skuteczność

różnych modeli akustycznych

"MFCC-GMM-HMM" "BNF-GMM-HMM" "FBANK-DNN-HMM"

Page 90: Analiza metod głębokiego uczenia maszynowego do modelowania

Ewaluacja oraz analiza porównawcza wyników

- 90 -

Rys. 46 Wpływ zaszumienia korpusu GlobalPhone szumem barowym

Rys. 47 Wpływ zaszumienia korpusu GlobalPhone szumem barowym

0.000

0.500

1.000

1.500

2.000

2.500

101520253035404550556065707580859095

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Rea

l-ti

me

Fact

or

Wo

rd R

eco

gnit

ion

Rat

e [%

]

SNR [dB]

Wpływ zaszumienia korpusu GlobalPhoneszumem barowym na skuteczność

różnych modeli akustycznych

MFCC-GMM-HMM BNF-GMM-HMM FBANK-DNN-HMM

RTF-MFCC-GMM-HMM RTF-BNF-GMM-HMM "RTF-FBANK-DNN-HMM"

0

10

20

30

40

50

60

70

80

90

100

0.400 0.600 0.800 1.000 1.200 1.400 1.600 1.800 2.000 2.200 2.400Wo

rd R

eco

gnit

ion

Rat

e [%

]

Real-time Factor

Wpływ zaszumienia korpusu GlobalPhoneszumem barowym na skuteczność

różnych modeli akustycznych

"MFCC-GMM-HMM" "BNF-GMM-HMM" "FBANK-DNN-HMM"

Page 91: Analiza metod głębokiego uczenia maszynowego do modelowania

Ewaluacja oraz analiza porównawcza wyników

- 91 -

Dla korpusu GlobalPhone (z najbardziej złożonym słownictwem) modele oparte o

sieci neuronowe okazały się w każdym przypadku bardziej efektywne. Model FBANK-

DNN-HMM cechował się najwyższą skutecznością i jej najwolniejszym spadkiem wraz

ze spadkiem SNR we wszystkich analizowanych przypadkach. Drugi w kolejności był

zawsze model BNF-GMM-HMM. W każdym przypadku charakterystyki skuteczności są

do siebie zbliżone.

Podsumowując wyniki zamieszczone w tym podrozdziale można stwierdzić, że

głębokie sieci neuronowe zastosowane do wytrenowania modelu FBANK-DNN-HMM i

BNF-GMM-HMM (poprzez wyodrębnienie współczynników BNF) wzmocniły

odporność systemów ASR opartych o te modele. W większości analizowanych

przypadków najlepszym modelem okazał się model FBANK-DNN-HMM.

4.5.2 Odporność na pogłos

Poniżej zamieszczono rezultaty ewaluacji (tabele w załączniku) przeprowadzonych na

korpusach z dodanym pogłosem o różnym stopniu intensywności i początkowym

opóźnieniu. Podobnie jak wcześniej, wyniki składają się z trzech serii zależnych od

analizowanego korpusu testowego.

AGHdigits

Rys. 48 Wpływ dodanego pogłosu (20%) korpusu AGHdigits

0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

0.4

0.45

60

65

70

75

80

85

90

95

0 50 100 150 200 250 300 350 400 450 500

Rea

l-ti

me

Fact

or

Wo

rd R

eco

gnit

ion

Rat

e [%

]

Początkowe opóźnienie pogłosu [ms]

Wpływ dodania pogłosu o intensywności 20% do korpusu AGHdigits na skuteczność

różnych modeli akustycznych

MFCC-GMM-HMM BNF-GMM-HMM FBANK-DNN-HMM

RTF-MFCC-GMM-HMM RTF-BNF-GMM-HMM "RTF-FBANK-DNN-HMM"

Page 92: Analiza metod głębokiego uczenia maszynowego do modelowania

Ewaluacja oraz analiza porównawcza wyników

- 92 -

Rys. 49 Wpływ dodanego pogłosu (20%) korpusu AGHdigits

Rys. 50 Wpływ dodanego pogłosu (60%) korpusu AGHdigits

50

55

60

65

70

75

80

85

90

95

100

0.2 0.22 0.24 0.26 0.28 0.3 0.32 0.34 0.36 0.38 0.4

Wo

rd R

eco

gnit

ion

Rat

e [%

]

Real-time Factor

Wpływ dodania pogłosu o intensywności 20% do korpusu AGHdigits na skuteczność

różnych modeli akustycznych

"MFCC-GMM-HMM" "BNF-GMM-HMM" "FBANK-DNN-HMM"

0.2

0.25

0.3

0.35

0.4

0.45

60

65

70

75

80

85

90

95

0 50 100 150 200 250 300 350 400 450 500

Rea

l-ti

me

Fact

or

Wo

rd R

eco

gnit

ion

Rat

e [%

]

Początkowe opóźnienie pogłosu [ms]

Wpływ dodania pogłosu o intensywności 60% do korpusu AGHdigits na skuteczność

różnych modeli akustycznych

MFCC-GMM-HMM "BNF-GMM-HMM" FBANK-DNN-HMM

RTF-MFCC-GMM-HMM RTF-BNF-GMM-HMM "RTF-FBANK-DNN-HMM"

Page 93: Analiza metod głębokiego uczenia maszynowego do modelowania

Ewaluacja oraz analiza porównawcza wyników

- 93 -

Rys. 51 Wpływ dodanego pogłosu (60%) korpusu AGHdigits

Rys. 52 Wpływ dodanego pogłosu (100%) korpusu AGHdigits

50

55

60

65

70

75

80

85

90

95

100

0.2 0.22 0.24 0.26 0.28 0.3 0.32 0.34 0.36 0.38 0.4

Wo

rd R

eco

gnit

ion

Rat

e [%

]

Real-time Factor

Wpływ dodania pogłosu o intensywności 60% do korpusu AGHdigits na skuteczność

różnych modeli akustycznych

"MFCC-GMM-HMM" "BNF-GMM-HMM" "FBANK-DNN-HMM"

0.2

0.25

0.3

0.35

0.4

0.45

60

65

70

75

80

85

90

95

0 50 100 150 200 250 300 350 400 450 500

Rea

l-ti

me

Fact

or

Wo

rd R

eco

gnit

ion

Rat

e [%

]

Początkowe opóźnienie pogłosu [ms]

Wpływ dodania pogłosu o intensywności 100% do korpusu AGHdigits na skuteczność

różnych modeli akustycznych

MFCC-GMM-HMM BNF-GMM-HMM FBANK-DNN-HMM

RTF-MFCC-GMM-HMM RTF-BNF-GMM-HMM RTF-FBANK-DNN-HMM

Page 94: Analiza metod głębokiego uczenia maszynowego do modelowania

Ewaluacja oraz analiza porównawcza wyników

- 94 -

Rys. 53 Wpływ dodanego pogłosu (100%) korpusu AGHdigits

Zgodnie z oczekiwaniami, skuteczność wszystkich modeli akustycznych spada wraz

ze wzrostem intensywności pogłosu i zjawisko to pojawia się również w późniejszych

seriach ewaluacji. W tej serii modelem o najwyższej efektywności jest zdecydowanie

model BNF-DNN-HMM. W porównaniu do pozostałych modeli spadek jego osiągów

jest niski nawet dla dużej intensywności pogłosu. Wyniki te wskazują na fakt, że

ekstrakcja współczynników BNF wpływa pozytywnie na odporność modelu

akustycznego na ten rodzaj zakłócenia. Dla najwyższej intensywności szumu model

FBANK-DNN-HMM jest najsłabszy natomiast w pozostałych przypadkach efektywność

tego modeli i modelu MFCC-GMM-HMM jest porównywalnie słaba. Dla korpusu

AGHdigits można w niektórych przypadkach zauważyć niewielki wzrost skuteczności

modeli dla początkowego późnienia 450 i 500ms w porównaniu do krótszych opóźnień.

Wynika on z tego, że takie opóźnienie pogłosu nie wpływa na pierwszą z wypowiadanych

liczb i jest ona z reguły rozpoznawana poprawnie.

50

55

60

65

70

75

80

85

90

95

100

0.2 0.22 0.24 0.26 0.28 0.3 0.32 0.34 0.36 0.38 0.4

Wo

rd R

eco

gnit

ion

Rat

e [%

]

Real-time Factor

Wpływ dodania pogłosu o intensywności 100% do korpusu AGHdigits na skuteczność

różnych modeli akustycznych

"MFCC-GMM-HMM" "BNF-GMM-HMM" "FBANK-DNN-HMM"

Page 95: Analiza metod głębokiego uczenia maszynowego do modelowania

Ewaluacja oraz analiza porównawcza wyników

- 95 -

AGHstreets

Rys. 54 Wpływ dodanego pogłosu (20%) korpusu AGHstreets

Rys. 55 Wpływ dodanego pogłosu (20%) korpusu AGHstreets

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

101520253035404550556065707580859095

0 50 100 150 200 250 300 350 400 450 500

Rea

l-ti

me

Fact

or

Wo

rd R

eco

gnit

ion

Rat

e [%

]

Początkowe opóźnienie pogłosu [ms]

Wpływ dodania pogłosu o intensywności 20% do korpusu AGHstreets na skuteczność

różnych modeli akustycznych

MFCC-GMM-HMM BNF-GMM-HMM FBANK-DNN-HMM

RTF-MFCC-GMM-HMM RTF-BNF-GMM-HMM RTF-FBANK-DNN-HMM

20

30

40

50

60

70

80

90

0.4 0.5 0.6 0.7 0.8 0.9 1

Wo

rd R

eco

gnit

ion

Rat

e [%

]

Real-time Factor

Wpływ dodania pogłosu o intensywności 20% do korpusu AGHstreets na skuteczność

różnych modeli akustycznych

"MFCC-GMM-HMM" "BNF-GMM-HMM" "FBANK-DNN-HMM"

Page 96: Analiza metod głębokiego uczenia maszynowego do modelowania

Ewaluacja oraz analiza porównawcza wyników

- 96 -

Rys. 56 Wpływ dodanego pogłosu (60%) korpusu AGHstreets

Rys. 57 Wpływ dodanego pogłosu (60%) korpusu AGHstreets

0.3

0.4

0.5

0.6

0.7

0.8

0.9

101520253035404550556065707580859095

0 50 100 150 200 250 300 350 400 450 500

Rea

l-ti

me

Fact

or

Wo

rd R

eco

gnit

ion

Rat

e [%

]

Początkowe opóźnienie pogłosu [ms]

Wpływ dodania pogłosu o intensywności 60% do korpusu AGHstreets na skuteczność

różnych modeli akustycznych

MFCC-GMM-HMM BNF-GMM-HMM FBANK-DNN-HMM

RTF-MFCC-GMM-HMM RTF-BNF-GMM-HMM RTF-FBANK-DNN-HMM

20

30

40

50

60

70

80

90

0.4 0.5 0.6 0.7 0.8 0.9 1

Wo

rd R

eco

gnit

ion

Rat

e [%

]

Real-time Factor

Wpływ dodania pogłosu o intensywności 60% do korpusu AGHstreets na skuteczność

różnych modeli akustycznych

"MFCC-GMM-HMM" "BNF-GMM-HMM" "FBANK-DNN-HMM"

Page 97: Analiza metod głębokiego uczenia maszynowego do modelowania

Ewaluacja oraz analiza porównawcza wyników

- 97 -

Rys. 58 Wpływ dodanego pogłosu (100%) korpusu AGHstreets

Rys. 59 Wpływ dodanego pogłosu (100%) korpusu AGHstreets

0.4

0.5

0.6

0.7

0.8

0.9

1015202530354045505560657075

0 50 100 150 200 250 300 350 400 450 500

Rea

l-ti

me

Fact

or

Wo

rd R

eco

gnit

ion

Rat

e [%

]

Początkowe opóźnienie pogłosu [ms]

Wpływ dodania pogłosu o intensywności 100% do korpusu AGHstreets na skuteczność

różnych modeli akustycznych

MFCC-GMM-HMM BNF-GMM-HMM FBANK-DNN-HMM

RTF-MFCC-GMM-HMM RTF-BNF-GMM-HMM RTF-FBANK-DNN-HMM

20

30

40

50

60

70

80

90

0.4 0.5 0.6 0.7 0.8 0.9 1

Wo

rd R

eco

gnit

ion

Rat

e [%

]

Real-time Factor

Wpływ dodania pogłosu o intensywności 100% do korpusu AGHstreets na skuteczność

różnych modeli akustycznych

"MFCC-GMM-HMM" "BNF-GMM-HMM" "FBANK-DNN-HMM"

Page 98: Analiza metod głębokiego uczenia maszynowego do modelowania

Ewaluacja oraz analiza porównawcza wyników

- 98 -

Ciekawym zjawiskiem, zaobserwowanym podczas ewaluacji na korpusie AGHstreets,

jest ogólny wzrost skuteczności od pewnej wartości początkowego opóźnienia pogłosu.

Jest to o wiele silniejsze zjawisko niż w przypadku korpusu AGHdigits. Podobnie jak w

poprzedniej serii ewaluacji, wynika ono z tego, że dodawany pogłos przestaje w końcu

wpływać bezpośrednio na oryginalną wypowiedź (w przypadku tego korpusu składa się

ona zazwyczaj tylko z jednego słowa) przez co jest ona pozbawiona zakłóceń. Zjawisko

to występuje dla każdego analizowanego modelu akustycznego i jest najbardziej

widoczne dla największej intensywności pogłosu (wraz ze wzrostem skuteczności maleje

również czas potrzebny na zdekodowanie wypowiedzi). Podobnie jak wcześniej, model

BNF-GMM-HMM cechuje się najwyższą skutecznością, która wyraźnie odstaje od

pozostałych modeli, a pozostałe modele pracują na podobnym poziomie. Co ciekawe we

wszystkich analizowanych przypadkach model FBANK-DNN-HMM był modelem

najszybszym.

GlobalPhone

Rys. 60 Wpływ dodanego pogłosu (20%) korpusu GlobalPhone

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

1.8

2

50

55

60

65

70

75

80

85

90

95

0 50 100 150 200 250 300 350 400 450 500

Rea

l-ti

me

Fact

or

Wo

rd R

eco

gnit

ion

Rat

e [%

]

Początkowe opóźnienie pogłosu [ms]

Wpływ dodania pogłosu o intensywności 20% do korpusu GlobalPhone na skuteczność

różnych modeli akustycznych

MFCC-GMM-HMM BNF-GMM-HMM FBANK-DNN-HMM

RTF-MFCC-GMM-HMM RTF-BNF-GMM-HMM RTF-FBANK-DNN-HMM

Page 99: Analiza metod głębokiego uczenia maszynowego do modelowania

Ewaluacja oraz analiza porównawcza wyników

- 99 -

Rys. 61 Wpływ dodanego pogłosu (20%) korpusu GlobalPhone

Rys. 62 Wpływ dodanego pogłosu (60%) korpusu AGHstreets

45

50

55

60

65

70

75

80

85

90

95

0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2

Wo

rd R

eco

gnit

ion

Rat

e [%

]

Real-time Factor

Wpływ dodania pogłosu o intensywności 20% do korpusu GlobalPhone na skuteczność

różnych modeli akustycznych

"MFCC-GMM-HMM" "BNF-GMM-HMM" "FBANK-DNN-HMM"

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

1.8

2

50

55

60

65

70

75

80

85

90

95

0 50 100 150 200 250 300 350 400 450 500

Rea

l-ti

me

Fact

or

Wo

rd R

eco

gnit

ion

Rat

e [%

]

Początkowe opóźnienie pogłosu [ms]

Wpływ dodania pogłosu o intensywności 60% do korpusu GlobalPhone na skuteczność

różnych modeli akustycznych

MFCC-GMM-HMM BNF-GMM-HMM FBANK-DNN-HMM

RTF-MFCC-GMM-HMM RTF-BNF-GMM-HMM RTF-FBANK-DNN-HMM

Page 100: Analiza metod głębokiego uczenia maszynowego do modelowania

Ewaluacja oraz analiza porównawcza wyników

- 100 -

Rys. 63 Wpływ dodanego pogłosu (60%) korpusu AGHstreets

Rys. 64 Wpływ dodanego pogłosu (100%) korpusu AGHstreets

45

50

55

60

65

70

75

80

85

90

95

0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2

Wo

rd R

eco

gnit

ion

Rat

e [

%]

Real-time Factor

Wpływ dodania pogłosu o intensywności 60% do korpusu GlobalPhone na skuteczność

różnych modeli akustycznych

"MFCC-GMM-HMM" "BNF-GMM-HMM" "FBANK-DNN-HMM"

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

1.8

2

50

55

60

65

70

75

80

85

90

95

0 50 100 150 200 250 300 350 400 450 500

Rea

l-ti

me

Fact

or

Wo

rd R

eco

gnit

on

Rat

e [%

]

Początkowe opóźnienie pogłosu [ms]

Wpływ dodania pogłosu o intensywności 100% do korpusu GlobalPhone na skuteczność

różnych modeli akustycznych

MFCC-GMM-HMM BNF-GMM-HMM FBANK-DNN-HMM

RTF-MFCC-GMM-HMM RTF-BNF-GMM-HMM RTF-FBANK-DNN-HMM

Page 101: Analiza metod głębokiego uczenia maszynowego do modelowania

Ewaluacja oraz analiza porównawcza wyników

- 101 -

Rys. 65 Wpływ dodanego pogłosu (100%) korpusu AGHstreets

W przypadku korpusu GlobalPhone, opisywane wcześniej zjawisko wzrostu

skuteczność wraz ze zwiększaniem początkowego opóźnienia już nie występuje,

ponieważ nagrania te składają się z długich wypowiedzi i pogłos zawsze zakłóca

oryginalną wypowiedź. W tym przypadku model FBANK-DNN-HMM osiąga najlepsze

rezultaty (podobnie jak we wszystkich poprzednich ewaluacjach na korpusie

GlobalPhone). Może to wynikać z faktu, że korpus GlobalPhone jest najbardziej

zróżnicowany fonetycznie przez co wymaga bardzo dokładnego modelu akustycznego.

Szybkość dekodowania utrzymuje się na podobnym poziomie bez względu na wartość

opóźnienia i zdecydowanie maleje wraz ze wzrostem intensywności pogłosu.

Podsumowując eksperymenty z pogłosem dodawanym do korpusów ewaluacyjnych

można jednoznacznie stwierdzić, że współczynniki bottleneck wyekstrahowane z

przewężenia głębokiej sieci neuronowej pozwalają w znacznym stopniu zredukować

negatywny wpływ tego rodzaju zakłócenia. Po raz kolejny stwierdzono wyższość modeli

opartych o głębokie sieci neuronowe.

45

50

55

60

65

70

75

80

85

90

95

0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2

Wo

rd R

eco

gnit

ion

Rat

e [%

]

Real-time Factor

Wpływ dodania pogłosu o intensywności 100% do korpusu GlobalPhone na skuteczność

różnych modeli akustycznych

"MFCC-GMM-HMM" "BNF-GMM-HMM" "FBANK-DNN-HMM"

Page 102: Analiza metod głębokiego uczenia maszynowego do modelowania

Podsumowanie

- 102 -

Podsumowanie

Badania przeprowadzone w niniejszej pracy dyplomowej ukazały pozytywny wpływ

zastosowania metod głębokiego uczenia maszynowego do modelowania akustycznego na

ogólną efektywność systemów automatycznego rozpoznawania mowy. Wpływ ten,

stwierdzony przez innych naukowców dla wielu różnych języków, zaobserwowano

również dla języka polskiego. Poza tym faktem, stwierdzono również zwiększenie

odporności tego typu modelowania na różnego rodzaju zakłócenia mowy (zaszumienie

oraz dodanie pogłosu), szczególnie wyraźne w przypadku ekstrakcji współczynników

BNF i pogłosu.

Pytanie o wybór właściwego sposobu modelowania akustycznego mowy jest nadal

pytaniem, na które nie da się postawić jednoznacznej odpowiedzi. Omówione

eksperymenty pokazały, że problem ten zależy od wielu czynników takich jak środowisko

akustyczne, w którym pracuje system rozpoznawania mowy, czy też możliwość

zaistnienia określonego rodzaju zakłóceń w przetwarzanych nagraniach. Niemal zawsze

jest to problem, w którym należy znaleźć ‘złoty środek’ poprzez dużą liczbę dobrze

przemyślanych analiz.

Sprawą otwartą pozostaje również wpływ poszczególnych elementów topologii

głębokich sieci neuronowych na skuteczność i odporność modeli akustycznych. W

niniejszej pracy przyjęto ogólnie uznane i sprawdzone parametry topologii (takie jak ilość

ukrytych warstw sieci czy też ilość neuronów w warstwach ukrytych i w jej

przewężeniu), lecz warto mieć na uwadze, że dla każdego zestawu danych można znaleźć

inne optymalne rozwiązanie. Badanie te mogą stanowić dobry punkt startowych do

dalszych prac związanych z tym tematem.

W pracy wykorzystano tylko niewielki fragment wiedzy pochodzącej z aktualnych

badań nad systemami automatycznego rozpoznawania mowy. Nie poruszono tutaj równie

interesujących tematów takich jak inne metody modelowania akustycznego

wykorzystujące konwolucyjne i rekurencyjne sieci neuronowe [32], czy też inne sposoby

uodparniania modeli akustycznych na szum np. poprzez trening MCT (ang. Multi-

Condition Training). Pozytywne rezultaty przeprowadzonych w pracy eksperymentów

zachęcają do dalszego zgłębiania wiedzy w tej dziedziny nauki.

Page 103: Analiza metod głębokiego uczenia maszynowego do modelowania

Bibliografia

- 103 -

Bibliografia

[1] Automatically Tuned Linear Algebra Software (ATLAS), http://math-

atlas.sourceforge.net/

[2] Chen F., Jokinen K., Speech Technology: Theory and Applications, Springer, 2010

[3] Dahl G., Yu D., Deng L., Accero A., Context-Dependent Pre-Trained Deep

Neural Networks for Large-Vocabulary Speech Recognition, IEEE Transactions on

Audio, Speech and Language Processing, Volume 20, No. 1, 2012

[4] Davis K., Biddulph R., Balashek S., Automatic Recognition of Spoken Digits, The

Journal of the Acoustical Society of America, Volume 24, Number 6, 1952

[5] FaNT Toolkit, http://dnt.kr.hs-niederrhein.de/

[6] Gaida C., Lange P., Petrick R., Proba P., Malatawy A., Suendermann-Oeft D.,

Comparing Open-Source Speech Recognition Toolkits

[7] Grezl F., Fousek P., Optimizing bottle-neck features for LVCSR, IEEE

International Conference on Acoustics, Speech and Signal Processing, Las Vegas,

Nevada, 2008

[8] Hermansky H., Ellis D., Sharma S., Tandem Connectionist Feature Extraction for

Conventional HMM Systems, International Conference on Acoustics, Speech and

Signal Processing, Istanbul, 2000

[9] Hinton G., A Practical Guide to Training Restricted Boltzmann Machines, Lecture

Notes in Computer Science, Volume 7700, 2012

[10] Hinton G., Deng L., Yu D., Dahl G., Mohammed A., Jaitly N., et al., Deep Neural

Networks for Acoustic Modeling in Speech Recognition, Signal Processing

Magazine, 2012

[11] Jelinek F., Bahl L., Mercer R., Design of a Linguistic Statistical Decoder for the

Recognition of Continuous Speech, Transactions on Information Theory IEEE,

Volume 21 Issue 3, 1975

[12] Jurafsky D., Martin J., Speech and Language Processing: An Introduction to

Natural Language Processing, Computational Linguistics and Speech

Recognition, Pearson Prentice Hall, 2009

[13] Kaldi Toolkit, http://kaldi.sourceforge.net/

[14] Mohri M., Pereira F., Riley M., Weighted Finite-State Transducers in Speech

Recognition, Computer Speech and Language, Volume 16, Issue 1, 2002

Page 104: Analiza metod głębokiego uczenia maszynowego do modelowania

Bibliografia

- 104 -

[15] Morgan N., Bourlard H., Continuous Speech Recognition using Multilayer

Perceptrons with Hidden Markov Models, International Conference on Acoustics,

Speech and Signal Processing, Albuquerque, NM, 1990

[16] OpenFST Toolkit, http://www.openfst.org/twiki/bin/view/FST/WebHome/

[17] Povey D., Ghoshal A., Boulianne G., Burget L., Glembek O., Goel N., et al, The

Kaldi Speech Recognition Toolkit

[18] Rabiner L, Juang B., Fundamentals of Speech Recognition, Prentice-Hall

International, USA. 1993

[19] Rabiner L., Juang B., Automatic Speech Recognition - A Brief History of the

Technology Development, Georgia Institute of Technology, Atlanta

[20] Rath S., Povey D., Vesely K., Cernocky J., Improved Feature Processing for Deep

Neural Networks, INTERSPEECH, 2013

[21] Rumelhart D., Hinton G., Williams R., Learning representations by back-

propagating errors, Nature, Volume 323, 1986

[22] Schultz T., GlobalPhone: A Multilingual Speech and Text Database Developed at

Karlsruhe University, Proceedings of the International Conference of Spoken

Language Processing, 2002

[23] SRILM Toolkit, http://www.speech.sri.com/projects/srilm/

[24] Środowisko CUDA, https://developer.nvidia.com/cuda-zone/

[25] Trentin E., Gori M., A Survey of Hybrid ANN/HMM models for automatic speech

recognition, Neurocomputing, Volume 37, Issues-14, 2001

[26] Wang Y., Acero A., Chelba C., Is Word Error Rate a Good Indicator for Spoken

Language Understanding Accuracy, IEEE Workshop on Automatic Speech

Recognition and Understanding, US Virgin Islands, 2003

[27] Westphal M., The Use of Cepstral Means in Conversational Speech Recognition,

EUROSPEECH, 1997

[28] Wilpon J., Rabiner L., Lee C., Goldman E., Automatic Recognition of Keywords in

Unconstrained Speech Using Hidden Markov Models, IEEE Transactions on

Acoustic Speech and Signal Processing, Volume 38, No. 11, 1990

[29] Young S., Evermann G., Gales M., Hain T., Kershaw D., Liu X., et al., The HTK

Book, Cambridge University Engineering Department, Cambridge, 2009

[30] Young S., Large Vocabulary Continuous Speech Recognition: a Review, Signal

Processing Magazine, IEEE Volume 13, Issue 5, 1996

[31] Young S., Odell J., Woodland P., Tree-based State Tying for High Accuracy

Page 105: Analiza metod głębokiego uczenia maszynowego do modelowania

Bibliografia

- 105 -

Acoustic Modelling, Proceedings of the Workshop on Human Language

Technology, 1994

[32] Yu D., Deng L., Automatic Speech Recognition: A Deep Learning Approach,

Springer, 2015

[33] Zbiór darmowych nagrań FreeSound, https://freesound.org/

[34] Ziółko B., Jadczyk T., Skurzok D., Żelasko P., Gałka J., Pędzimąż T., et al.,

SARMATA 2.0 Automatic Polish Language Speech Recognition System,

INTERSPEECH, 2015 (w druku)

[35] Ziółko B., Ziółko M., Przetwarzanie Mowy, Wydawnictwa AGH, Kraków, 2011

Page 106: Analiza metod głębokiego uczenia maszynowego do modelowania

Spis ilustracji

- 106 -

Spis ilustracji

RYS. 1 PRZYKŁAD PARAMETRYZACJI MFCC ...................................................................... 12

RYS. 2 PRZEBIEG PARAMETRYZACJI MFCC [30] ................................................................ 13

RYS. 3 TOPOLOGIA MODELU BAKISA Z TRZEMA STANAMI EMITUJĄCYMI [30] ..... 14

RYS. 4 PRZYKŁADOWA ARCHITEKTURA GŁĘBOKIEJ SIECI NEURONOWEJ Z

TRZEMA UKRYTYMI WARSTWAMI [32] ....................................................................................... 17

RYS. 5 ARCHITEKTURA HYBRYDY DNN-HMM [32] ............................................................. 21

RYS. 6 PRZYKŁADOWA ARCHITEKTURA GŁĘBOKIEJ SIECI NEURONOWEJ Z

WARSTWĄ TYPU BOTTLENECK ZLOKALIZOWANĄ PRZED WARSTWĄ WYJŚCIOWĄ

[32] 22

RYS. 7 NAGRANIE I JEGO SPEKTROGRAM Z BAZY GLOBALPHONE ............................ 28

RYS. 8 NAGRANIE I JEGO SPEKTROGRAM Z BAZY AGHVOICELAB ............................. 29

RYS. 9 NAGRANIE I JEGO SPEKTROGRAM SZUMU Z WNĘTRZA JADĄCEGO

SAMOCHODU ........................................................................................................................................ 34

RYS. 10 NAGRANIE I JEGO SPEKTROGRAM SZUMU Z RUCHLIWEGO

SKRZYŻOWANIA .................................................................................................................................. 36

RYS. 11 NAGRANIE I JEGO SPEKTROGRAM SZUMU Z ZATŁOCZONEGO BARU ......... 37

RYS. 12 NAGRANIE I SPEKTROGRAMY NAGRANIA Z KORPUSU GLOBALPHONE

ZASZUMIONEGO RÓŻNYMI POZIOMAMI SNR SZUMEM POCHODZĄCYM Z

RUCHLIWEGO SKRZYŻOWANIA .................................................................................................... 39

RYS. 13 SPEKTROGRAMY NAGRANIA Z KORPUSU GLOBALPHONE Z DODANYM

POGŁOSEM Z RÓŻNYM OPÓŹNIENIEM WSTĘPNYM ............................................................... 41

RYS. 14 GRAF KONTEKSTOWEGO DRZEWA DECYZYJNEGO DLA MODELI

MONOFONÓW ....................................................................................................................................... 49

RYS. 15 ŚREDNI LOGARYTM PRAWDOPODOBIEŃSTWA NA RAMKĘ DLA TRENINGU

MONOFONÓW ....................................................................................................................................... 52

RYS. 16 PRZYROST FUNKCJI CELU DLA TRENINGU MONOFONÓW ............................... 52

RYS. 17 ŚREDNI LOGARYTM PRAWDOPODOBIEŃSTWA NA RAMKĘ DLA TRENINGU

TRIFONÓW (DRUGI PRZEBIEG TRENINGU) ................................................................................ 55

RYS. 18 PRZYROST FUNKCJI CELU DLA TRENINGU MONOFONÓW (DRUGIEGO

PRZEBIEGU) .......................................................................................................................................... 56

Page 107: Analiza metod głębokiego uczenia maszynowego do modelowania

Spis ilustracji

- 107 -

RYS. 19 PORÓWNANIE EWOLUCJI TRENINGÓW MONOFONÓW I TRIFONÓW ........... 56

RYS. 20 ZMIANA ENTROPII KRZYŻOWEJ W KAŻDEJ ITERACJI TRENINGU DNN-BNF

62

RYS. 21 ZMIANA PARAMETRU FRAME-ACCURACY W KAŻDEJ ITERACJI TRENINGU

DNN-BNF 62

RYS. 22 ŚREDNI LOGARYTM PRAWDOPODOBIEŃSTWA NA RAMKĘ DLA TRENINGU

BNF-GMM ............................................................................................................................................... 64

RYS. 23 PRZYROST FUNKCJI CELU DLA TRENINGU BNF-GMM ....................................... 64

RYS. 24 ZMIANA FRAME-ACCURACY W KAŻDEJ ITERACJI TRENINGU FBANK-DNN-

HMM 69

RYS. 25 ZMIANA ENTROPII KRZYŻOWEJ W KAŻDEJ ITERACJI TRENINGU FBANK-

DNN-HMM ............................................................................................................................................... 69

RYS. 26 DOSTROJENIE KONFIGURACJI DEKODERA DLA MODELU MFCC-GMM-HMM

75

RYS. 27 DOSTROJENIE KONFIGURACJI DEKODERA DLA MODELU BNF-GMM-HMM 76

RYS. 28 DOSTROJENIE KONFIGURACJI DEKODERA DLA MODELU FBANK-DNN-HMM

77

RYS. 29 PORÓWNANIE OSIĄGÓW DEKODERÓW DOSTROJONYCH DO

ANALIZOWANYCH MODELI AKUSTYCZNYCH .......................................................................... 78

RYS. 30 WPŁYW ZASZUMIENIA KORPUSU AGHDIGITS SZUMEM SAMOCHODOWYM

81

RYS. 31 WPŁYW ZASZUMIENIA KORPUSU AGHDIGITS SZUMEM SAMOCHODOWYM

81

RYS. 32 WPŁYW ZASZUMIENIA KORPUSU AGHDIGITS SZUMEM ULICZNYM ............. 82

RYS. 33 WPŁYW ZASZUMIENIA KORPUSU AGHDIGITS SZUMEM ULICZNYM ............. 82

RYS. 34 WPŁYW ZASZUMIENIA KORPUSU AGHDIGITS SZUMEM BAROWYM ............. 83

RYS. 35 WPŁYW ZASZUMIENIA KORPUSU AGHDIGITS SZUMEM BAROWYM ............. 83

RYS. 36 WPŁYW ZASZUMIENIA KORPUSU AGHSTREETS SZUMEM

SAMOCHODOWYM .............................................................................................................................. 84

RYS. 37 WPŁYW ZASZUMIENIA KORPUSU AGHSTREETS SZUMEM

SAMOCHODOWYM .............................................................................................................................. 85

RYS. 38 WPŁYW ZASZUMIENIA KORPUSU AGHSTREETS SZUMEM ULICZNYM ......... 85

RYS. 39 WPŁYW ZASZUMIENIA KORPUSU AGHSTREETS SZUMEM ULICZNYM ......... 86

Page 108: Analiza metod głębokiego uczenia maszynowego do modelowania

Spis ilustracji

- 108 -

RYS. 40 WPŁYW ZASZUMIENIA KORPUSU AGHSTREETS SZUMEM BAROWYM ......... 86

RYS. 41 WPŁYW ZASZUMIENIA KORPUSU AGHSTREETS SZUMEM BAROWYM ......... 87

RYS. 42 WPŁYW ZASZUMIENIA KORPUSU GLOBALPHONE SZUMEM

SAMOCHODOWYM .............................................................................................................................. 88

RYS. 43 WPŁYW ZASZUMIENIA KORPUSU GLOBALPHONE SZUMEM

SAMOCHODOWYM .............................................................................................................................. 88

RYS. 44 WPŁYW ZASZUMIENIA KORPUSU GLOBALPHONE SZUMEM ULICZNYM .... 89

RYS. 45 WPŁYW ZASZUMIENIA KORPUSU GLOBALPHONE SZUMEM ULICZNYM .... 89

RYS. 46 WPŁYW ZASZUMIENIA KORPUSU GLOBALPHONE SZUMEM BAROWYM .... 90

RYS. 47 WPŁYW ZASZUMIENIA KORPUSU GLOBALPHONE SZUMEM BAROWYM .... 90

RYS. 48 WPŁYW DODANEGO POGŁOSU (20%) KORPUSU AGHDIGITS............................ 91

RYS. 49 WPŁYW DODANEGO POGŁOSU (20%) KORPUSU AGHDIGITS............................ 92

RYS. 50 WPŁYW DODANEGO POGŁOSU (60%) KORPUSU AGHDIGITS............................ 92

RYS. 51 WPŁYW DODANEGO POGŁOSU (60%) KORPUSU AGHDIGITS............................ 93

RYS. 52 WPŁYW DODANEGO POGŁOSU (100%) KORPUSU AGHDIGITS .......................... 93

RYS. 53 WPŁYW DODANEGO POGŁOSU (100%) KORPUSU AGHDIGITS .......................... 94

RYS. 54 WPŁYW DODANEGO POGŁOSU (20%) KORPUSU AGHSTREETS ........................ 95

RYS. 55 WPŁYW DODANEGO POGŁOSU (20%) KORPUSU AGHSTREETS ........................ 95

RYS. 56 WPŁYW DODANEGO POGŁOSU (60%) KORPUSU AGHSTREETS ........................ 96

RYS. 57 WPŁYW DODANEGO POGŁOSU (60%) KORPUSU AGHSTREETS ........................ 96

RYS. 58 WPŁYW DODANEGO POGŁOSU (100%) KORPUSU AGHSTREETS ...................... 97

RYS. 59 WPŁYW DODANEGO POGŁOSU (100%) KORPUSU AGHSTREETS ...................... 97

RYS. 60 WPŁYW DODANEGO POGŁOSU (20%) KORPUSU GLOBALPHONE ................... 98

RYS. 61 WPŁYW DODANEGO POGŁOSU (20%) KORPUSU GLOBALPHONE ................... 99

RYS. 62 WPŁYW DODANEGO POGŁOSU (60%) KORPUSU AGHSTREETS ........................ 99

RYS. 63 WPŁYW DODANEGO POGŁOSU (60%) KORPUSU AGHSTREETS ...................... 100

RYS. 64 WPŁYW DODANEGO POGŁOSU (100%) KORPUSU AGHSTREETS .................... 100

RYS. 65 WPŁYW DODANEGO POGŁOSU (100%) KORPUSU AGHSTREETS .................... 101

Page 109: Analiza metod głębokiego uczenia maszynowego do modelowania

Załącznik - wyniki ewaluacji

- 109 -

Załącznik - wyniki ewaluacji

W niniejszym załączniku zamieszczono tabele ze szczegółowymi wynikami

ewaluacji, których umieszczenie w głównym tekście pracy zmniejszyłoby czytelność i

przejrzystość.

Model MFCC-GMM-HMM, korpus AGHdigits, odporność na zaszumienie

SNR [dB] szum samochodowy szum uliczny szum barowy

WRR[%] SRR[%] RTF WRR[%] SRR[%] RTF WRR[%] SRR[%] RTF

0.1 21.9 1.5 0.409 8.2 0.7 0.558 9.9 0 0.599 0.5 23.2 2.2 0.412 9.2 0.7 0.561 10.4 0 0.617 1 24.9 3 0.410 11.2 0.7 0.578 12.8 0.4 0.623

1.5 27.5 4.1 0.415 13 0.7 0.587 14.9 0.7 0.637 2 29.5 5.2 0.415 15 0.7 0.581 16.9 1.9 0.668

2.5 32.8 6.7 0.409 16.7 1.5 0.578 19.1 3 0.671 3 34.9 8.2 0.402 19 3 0.589 22.3 3.7 0.678

3.5 38 10.8 0.404 20.8 3 0.595 23.9 4.8 0.684 4 41 11.5 0.396 23.5 3.3 0.615 25.2 5.9 0.706 5 46.7 18.2 0.397 29.1 6.3 0.616 31.4 8.2 0.713 6 51.5 24.5 0.396 32.3 7.8 0.627 36.6 11.2 0.721 7 57.5 31.6 0.386 38 12.6 0.634 41.5 16.4 0.716 8 62.5 37.5 0.376 45.5 19 0.613 45.7 20.4 0.696 9 67.8 43.5 0.368 50.2 24.9 0.606 49.6 24.5 0.650

11 76.2 51.7 0.343 59.2 34.6 0.581 58.1 33.5 0.592 13 81.8 60.6 0.318 69.1 44.2 0.533 68.2 47.2 0.533 15 86.5 69.1 0.293 78.2 57.6 0.474 76 56.1 0.483 17 89.5 74.3 0.273 84 67.3 0.422 81.7 63.2 0.427 19 90.8 76.6 0.258 88.8 76.2 0.385 85.3 68 0.383

Model BNF-GMM-HMM, korpus AGHdigits, odporność na zaszumienie

SNR [dB] szum samochodowy szum uliczny szum barowy

WRR[%] SRR[%] RTF WRR[%] SRR[%] RTF WRR[%] SRR[%] RTF

0.1 20.7 1.9 0.500 10.9 0.7 0.870 11.8 0.7 1.045 0.5 22.9 2.6 0.498 12.8 0.7 0.859 13.4 1.1 1.032 1 25.4 4.1 0.499 13.8 1.1 0.860 15.4 1.5 1.029

1.5 27.1 4.8 0.494 16 1.9 0.881 17.6 1.9 1.026 2 28.3 5.6 0.482 18.5 1.9 0.854 18.5 1.9 1.100

2.5 30.9 6.3 0.477 20.7 2.2 0.855 20.3 2.2 1.060 3 33.7 7.4 0.472 21.9 3 0.855 22.8 3.7 1.123

3.5 37.3 9.3 0.468 24.8 5.2 0.857 24.9 4.1 1.036 4 40 10.4 0.460 26.4 6.3 0.851 27 6.3 1.010 5 44.5 14.5 0.452 32.2 9.3 0.848 31.8 8.9 0.981 6 51.8 21.2 0.435 37.3 12.6 0.817 36.8 11.2 0.944 7 57.2 26.8 0.413 42.5 16 0.797 40.9 17.5 0.893 8 61.7 31.2 0.400 48.2 19.7 0.777 44.7 21.6 0.840 9 66.5 37.9 0.388 53.2 23.4 0.749 48.3 24.9 0.795

11 74.1 48.3 0.359 64.3 39.4 0.667 58 37.2 0.717 13 78.3 53.9 0.330 70 45.7 0.593 64.4 42.8 0.639 15 83 60.6 0.308 75.3 55 0.528 74 53.5 0.565 17 87 67.7 0.287 80.4 62.5 0.474 81.2 63.2 0.503 19 90.2 75.5 0.273 85.4 70.3 0.425 83.9 66.9 0.446

Page 110: Analiza metod głębokiego uczenia maszynowego do modelowania

Załącznik - wyniki ewaluacji

- 110 -

Model FBANK-DNN-HMM, korpus AGHdigits, odporność na zaszumienie

SNR [dB] szum samochodowy szum uliczny szum barowy

WRR[%] SRR[%] RTF WRR[%] SRR[%] RTF WRR[%] SRR[%] RTF

0.1 24.2 3 0.404 8.8 3 0.785 8.6 0 1.168 0.5 25.5 3.7 0.404 10.3 3.7 0.795 9.5 0 1.182 1 28 4.8 0.400 11.3 4.8 0.807 12 0.4 1.138

1.5 30.1 5.9 0.402 12.1 5.9 0.801 12.6 0.4 1.213 2 33.2 7.1 0.400 13.4 7.1 0.805 13.5 0.4 1.219

2.5 34.2 7.1 0.398 15 7.1 0.813 14.7 0.7 1.247 3 38 10 0.400 16.4 10 0.813 16.6 0.7 1.315

3.5 40.6 12.3 0.390 18.3 12.3 0.814 19.5 0.7 1.075 4 42.8 13 0.388 20.1 13 0.792 22.1 0.7 1.191 5 48.9 18.2 0.383 24.3 18.2 0.818 25.8 2.2 0.939 6 55.4 26.8 0.380 32.3 26.8 0.800 30.2 8.2 0.951 7 60.6 31.6 0.371 39.4 31.6 0.780 36.3 12.6 0.902 8 65.7 37.5 0.360 44.1 37.5 0.746 39.9 17.1 0.853 9 70.3 43.9 0.354 50.2 43.9 0.707 44.9 24.2 0.816

11 78.9 54.6 0.312 59 54.6 0.629 53.3 34.6 0.734 13 84.9 66.9 0.282 68.2 66.9 0.552 62.3 46.5 0.642 15 88.1 71.7 0.255 78.2 71.7 0.481 70.3 54.3 0.575 17 92.1 80.7 0.229 84.9 80.7 0.405 76.2 59.9 0.513 19 92.9 82.5 0.209 87.7 82.5 0.351 82.5 66.5 0.450

Model MFCC-GMM-HMM, korpus AGHstreets, odporność na zaszumienie

SNR [dB] szum samochodowy szum uliczny szum barowy

WRR[%] SRR[%] RTF WRR[%] SRR[%] RTF WRR[%] SRR[%] RTF

0.1 0 0 0.561 0.2 0.2 0.793 -0.2 0 0.912 0.5 0 0 0.561 0 0.2 0.786 -0.2 0.2 0.935 1 0 0 0.565 0 0 0.802 -0.3 0.2 0.940

1.5 0 0 0.568 0.2 0.2 0.811 0 0.4 0.952 2 0 0 0.581 0.3 0.4 0.830 0.2 0.4 0.974

2.5 0 0 0.580 0.2 0.4 0.849 0.5 0.8 0.997 3 0 0.2 0.594 0.3 0.6 0.842 0.8 1 1.002

3.5 -0.2 0.2 0.597 0.5 0.6 0.857 1.3 1.5 1.009 4 -0.2 0.2 0.598 0.5 0.6 0.866 1.9 1.9 1.027 5 -0.2 0.4 0.600 0.5 1 0.896 2.7 3.1 1.044 6 -0.2 0.4 0.620 1.4 1.9 0.937 3.9 4.6 1.024 7 0.5 1 0.616 3.2 4.6 0.936 6.3 6.5 1.022 8 0.8 1.2 0.631 5.4 6.7 0.946 10.3 11.2 1.004 9 0.8 1.7 0.631 9.5 11.7 0.941 14.7 15.4 0.989

11 0.9 2.7 0.633 18 19.2 0.918 24.6 24.8 0.939 13 0 4.8 0.619 29.2 30.4 0.861 35.4 36 0.888 15 1.4 9.4 0.600 44.5 44.6 0.811 45.7 45.4 0.837 17 6.8 16.5 0.582 53.9 54 0.758 54.7 54.4 0.778 19 14.7 24.6 0.572 62.6 62.9 0.731 62.4 62.7 0.730

Page 111: Analiza metod głębokiego uczenia maszynowego do modelowania

Załącznik - wyniki ewaluacji

- 111 -

Model BNF-GMM-HMM, korpus AGHstreets, odporność na zaszumienie

SNR [dB] szum samochodowy szum uliczny szum barowy

WRR[%] SRR[%] RTF WRR[%] SRR[%] RTF WRR[%] SRR[%] RTF

0.1 0.5 0.4 0.484 0.2 0.2 0.568 0 0 0.601 0.5 0.5 0.4 0.494 0.2 0.2 0.570 0.2 0.2 0.605 1 0.6 0.6 0.509 0.2 0.2 0.589 0.3 0.2 0.610

1.5 0.9 0.8 0.532 0.3 0.2 0.602 0.3 0.2 0.628 2 1.7 1.5 0.537 0.3 0.4 0.616 0.3 0.2 0.642

2.5 2.4 1.9 0.546 0.5 0.4 0.636 0.3 0.2 0.672 3 3.6 3.7 0.568 0.5 0.8 0.650 0.3 0.2 0.695

3.5 5.7 5.2 0.579 0.8 1.2 0.654 0.5 0.4 0.722 4 6.8 6.2 0.595 0.9 1.5 0.688 0.5 0.4 0.756 5 10.3 9.4 0.627 1.4 1.7 0.723 2.1 1.9 0.800 6 15.6 15.4 0.649 2.1 2.3 0.760 4.3 4 0.858 7 23.4 22.1 0.662 5.2 6.7 0.814 7 6.7 0.890 8 29.2 28.1 0.655 9.8 10.8 0.828 11.8 12.1 0.888 9 36.7 35.4 0.642 14.8 16 0.848 18.2 17.3 0.896

11 48.7 48.1 0.629 27.6 29 0.850 31.3 32.7 0.871 13 59.2 57.7 0.595 43.1 42.5 0.807 47.7 47.1 0.835 15 65.2 64.2 0.563 61.9 59.6 0.756 58.6 57.3 0.782 17 70.1 69.8 0.532 71.7 69 0.685 67.9 66.9 0.717 19 73.5 74.6 0.515 78.7 76.7 0.640 72.8 71.9 0.674

Model FBANK-DNN-HMM, korpus AGHstreets, odporność na zaszumienie

SNR [dB] szum samochodowy szum uliczny szum barowy

WRR[%] SRR[%] RTF WRR[%] SRR[%] RTF WRR[%] SRR[%] RTF

0.1 0 0 0.439 -0.3 0.4 0.668 -0.6 0.4 0.840 0.5 0 0 0.443 -0.3 0.4 0.677 -0.5 0.6 0.851 1 0 0 0.456 -0.3 0.4 0.691 0.2 1.2 0.865

1.5 0 0 0.464 -0.3 0.4 0.702 0.2 1.7 0.889 2 0.2 0.2 0.474 -0.3 0.4 0.713 0.5 1.9 0.887

2.5 0.2 0.6 0.487 0 0.4 0.728 1.6 3.1 0.893 3 0.2 1 0.502 0.3 0.8 0.746 2.8 4.8 0.908

3.5 0.8 1 0.509 1.1 1.2 0.746 3.6 5.4 0.919 4 0.9 1.7 0.520 1.3 1.5 0.763 5.2 6.9 0.922 5 2.8 3.1 0.539 1.9 2.7 0.812 9.6 10.4 0.924 6 5.2 6.2 0.572 5.1 6.9 0.829 17.4 18.5 0.916 7 6.8 7.7 0.591 9.8 11.5 0.846 26.1 26.5 0.916 8 12 13.7 0.608 14.2 15.6 0.852 33.8 33.7 0.903 9 18.3 20.4 0.617 21.6 23.1 0.844 40.8 40.4 0.872

11 34.6 34.4 0.610 35.7 34.8 0.805 54.8 53.5 0.792 13 47.6 48.3 0.586 48.7 47.3 0.737 67 65.6 0.724 15 60.7 60.6 0.543 59.6 59 0.680 75.5 73.7 0.668 17 70.1 68.1 0.497 67.6 67.3 0.631 80.1 78.3 0.615 19 75.7 74.8 0.455 73.3 73.5 0.578 81.8 80.6 0.575

Page 112: Analiza metod głębokiego uczenia maszynowego do modelowania

Załącznik - wyniki ewaluacji

- 112 -

Model MFCC-GMM-HMM, korpus GlobalPhone, odporność na zaszumienie

SNR [dB] szum samochodowy szum uliczny szum barowy

WRR[%] SRR[%] RTF WRR[%] SRR[%] RTF WRR[%] SRR[%] RTF

0.1 12.7 0.7 1.820 4 0 1.625 3 0 1.722 0.5 14.8 0.7 1.863 5.2 0 1.673 3.5 0 1.746 1 17 0.7 1.846 5.9 0 1.707 4.4 0 1.813

1.5 20 1.4 1.870 6.4 0 1.789 5.6 0 1.863 2 24.9 0.7 1.863 8.1 0 1.794 6.7 0 1.953

2.5 30 1.4 1.774 10 0 1.854 7.9 0 2.033 3 35.5 2.1 1.683 10.9 0 1.908 9.6 0.7 2.053

3.5 41.5 4.3 1.568 13.6 0 1.869 12.3 0.7 2.022 4 45.9 7.9 1.538 16.5 0 1.893 14.3 1.4 2.025 5 54.3 15 1.498 23.1 1.4 1.811 20.8 2.1 1.950 6 62.4 15.7 1.437 31.7 3.6 1.767 28 4.3 1.885 7 70.4 23.6 1.279 40.8 7.1 1.667 36.1 5.7 1.828 8 75.8 28.6 1.149 48.4 7.9 1.583 45.5 8.6 1.744 9 80.4 35.7 1.063 57 12.9 1.454 52.9 13.6 1.613

11 85.5 42.9 0.944 71.4 21.4 1.252 66.7 25 1.396 13 89.2 55.7 0.859 79.1 32.1 1.080 77.3 33.6 1.120 15 90.5 58.6 0.791 84.6 40 0.956 82.4 44.3 0.992 17 91.1 60 0.737 88.2 51.4 0.848 86.3 48.6 0.891 19 91.6 62.9 0.703 90.1 55.7 0.779 89 57.9 0.824

Model BNF-GMM-HMM, korpus GlobalPhone, odporność na zaszumienie

SNR [dB] szum samochodowy szum uliczny szum barowy

WRR[%] SRR[%] RTF WRR[%] SRR[%] RTF WRR[%] SRR[%] RTF

0.1 18.5 2.1 1.812 6.7 0 2.106 4.5 0 2.178 0.5 21.7 2.1 1.767 7.6 0 2.079 5.7 0 2.075 1 25.2 2.1 1.770 9.4 0 2.201 7.1 0 2.053

1.5 29.1 2.1 1.612 10.3 0 1.899 8.4 0 1.896 2 36.3 5 1.516 11.6 0 1.878 9.9 0 1.823

2.5 40.4 8.6 1.408 14.1 0 1.828 12.5 0 1.770 3 44.2 10 1.355 17.3 0 1.873 16.1 0 1.750

3.5 48.2 10 1.307 21.8 0.7 1.899 20.1 0.7 1.681 4 53.5 15 1.262 25.6 0.7 1.653 23 2.1 1.562 5 60.3 20.7 1.308 32.6 1.4 1.504 31.8 3.6 1.427 6 66 24.3 1.126 41.4 5.7 1.396 40.3 6.4 1.278 7 72.6 30 1.041 52 10.7 1.240 47 12.9 1.184 8 75.9 34.3 0.881 60.6 15.7 1.190 55.6 15 1.034 9 78.4 37.1 0.795 66.2 19.3 1.161 61.5 21.4 0.947

11 84.9 49.3 0.689 75.4 28.6 1.161 71.3 30.7 0.800 13 88.2 58.6 0.580 81.1 39.3 0.762 80.2 42.9 0.715 15 88.5 57.9 0.518 84.7 47.9 0.693 84.2 47.9 0.597 17 89.1 63.6 0.473 87.1 53.6 0.580 86.5 49.3 0.535 19 89.1 62.1 0.422 88.3 56.4 0.539 88.3 53.6 0.479

Page 113: Analiza metod głębokiego uczenia maszynowego do modelowania

Załącznik - wyniki ewaluacji

- 113 -

Model FBANK-DNN-HMM, korpus GlobalPhone, odporność na zaszumienie

SNR [dB] szum samochodowy szum uliczny szum barowy

WRR[%] SRR[%] RTF WRR[%] SRR[%] RTF WRR[%] SRR[%] RTF

0.1 31.3 4.3 1.533 10.3 0 1.521 10.4 0 1.819 0.5 36.5 7.1 1.491 11.6 0 1.537 12.3 0 1.760 1 42.6 9.3 1.454 14.1 0 1.554 14.5 0 1.786

1.5 48.4 12.9 1.423 17.4 0 1.571 18.3 1.4 1.785 2 52.2 17.9 1.393 21.8 0 1.558 20.9 3.6 1.749

2.5 55.6 17.9 1.340 25.3 1.4 1.534 25.6 5 1.708 3 58.7 20 1.278 28.9 2.1 1.517 31.7 6.4 1.618

3.5 61.6 21.4 1.246 32 2.1 1.465 34.4 7.9 1.549 4 64.9 22.1 1.176 37.2 5 1.407 38.7 10 1.548 5 70 27.1 1.092 46.1 7.9 1.330 48.2 13.6 1.490 6 75.9 31.4 1.000 56.2 14.3 1.232 56.8 19.3 1.400 7 79.5 37.9 0.948 62.9 18.6 1.150 63.5 22.9 1.321 8 83.8 46.4 0.899 69 22.9 1.107 69.9 29.3 1.215 9 85.7 50 0.846 72.7 28.6 1.019 74.1 34.3 1.108

11 89.6 58.6 0.757 80.8 41.4 0.883 79.5 44.3 0.942 13 90.8 65.7 0.703 87.2 53.6 0.806 84.5 51.4 0.844 15 91.8 67.1 0.655 89.7 60 0.740 88.6 60 0.779 17 92.2 71.4 0.615 91 63.6 0.676 90.7 63.6 0.698 19 92.7 68.6 0.582 92.2 67.1 0.628 91.2 67.1 0.654

Model MFCC-GMM-HMM, korpus AGHdigits, odporność na pogłos

Opóź. pogłosu [ms]

Intensywność pogłosu [%]

20 60 100

WRR[%] SRR[%] RTF WRR[%] SRR[%] RTF WRR[%] SRR[%] RTF

0 90.2 76.2 0.290 81.2 56.5 0.335 68.9 33.5 0.345 50 89.2 75.1 0.306 76.3 49.1 0.376 67.2 32 0.356

100 88.2 71.7 0.334 77 47.2 0.343 67.5 30.5 0.356 150 86.7 67.7 0.340 75 43.5 0.348 65.9 27.1 0.363 200 82.8 59.9 0.355 72.4 39.8 0.354 65.6 28.6 0.363 250 81.2 57.2 0.364 72.9 39 0.351 66.8 29 0.362 300 79.6 53.2 0.347 72 39 0.357 67.9 28.3 0.364 350 80 53.2 0.343 72.7 36.4 0.358 68.6 26.8 0.359 400 79.1 50.2 0.345 72.4 35.3 0.356 70 25.3 0.356 450 79.6 49.4 0.354 73.7 35.3 0.355 71 30.1 0.359 500 77.8 45.7 0.355 73.9 34.9 0.369 73.9 34.9 0.354

Page 114: Analiza metod głębokiego uczenia maszynowego do modelowania

Załącznik - wyniki ewaluacji

- 114 -

Model BNF-GMM-HMM, korpus AGHdigits, odporność na pogłos

Opóź. pogłosu [ms]

Intensywność pogłosu [%]

20 60 100

WRR[%] SRR[%] RTF WRR[%] SRR[%] RTF WRR[%] SRR[%] RTF

0 94.1 84.4 0.284 89 74.3 0.322 77.7 53.5 0.386 50 92.3 81 0.284 86.7 68.4 0.334 75.7 50.6 0.379

100 91.4 79.2 0.292 85.7 67.7 0.353 76.1 49.1 0.387 150 90.8 77.3 0.308 84.3 63.2 0.360 72.9 41.3 0.393 200 90.2 75.8 0.311 84.4 63.6 0.348 75.6 45.4 0.383 250 89.3 72.9 0.301 84.4 62.8 0.349 75.3 44.2 0.381 300 89.3 73.2 0.303 82.8 58 0.355 75.3 43.9 0.384 350 87.1 68.8 0.324 83 58.4 0.342 76.7 47.2 0.382 400 88.4 70.3 0.322 85.3 61.3 0.336 78.2 50.6 0.380 450 88.4 70.3 0.316 85.4 62.8 0.349 78.3 49.4 0.377 500 86.1 65.1 0.333 86.4 64.7 0.360 79.1 49.8 0.381

Model FBANK-DNN-HMM, korpus AGHdigits, odporność na pogłos

Opóź. pogłosu [ms]

Intensywność pogłosu [%]

20 60 100

WRR[%] SRR[%] RTF WRR[%] SRR[%] RTF WRR[%] SRR[%] RTF

0 91.9 79.6 0.258 83.4 63.6 0.309 68.9 39.4 0.328 50 90.1 75.1 0.272 79.8 54.6 0.317 67 36.1 0.334

100 87 69.1 0.287 79.6 53.5 0.323 65.9 30.1 0.334 150 86.5 68 0.293 78.2 52 0.326 63.4 26.4 0.330 200 83.3 61.3 0.299 75 43.1 0.321 63.6 25.3 0.330 250 81.3 56.9 0.300 71.1 37.5 0.317 63.2 25.3 0.323 300 79.1 50.9 0.307 69.5 33.8 0.312 62.8 24.2 0.320 350 78.4 50.6 0.304 73.4 38.3 0.316 63.7 21.9 0.319 400 77 46.1 0.306 72 33.1 0.313 65.2 23 0.325 450 77 44.6 0.310 73.5 33.1 0.312 65.8 21.9 0.318 500 76.7 42.4 0.312 71.7 30.5 0.318 65.9 20.8 0.312

Model MFCC-GMM-HMM, korpus AGHstreets, odporność na pogłos

Opóź. pogłosu [ms]

Intensywność pogłosu [%]

20 60 100

WRR[%] SRR[%] RTF WRR[%] SRR[%] RTF WRR[%] SRR[%] RTF

0 64.6 68.1 0.520 34.3 39.6 0.594 10.3 19 0.628 50 59.6 65 0.534 30.3 36.7 0.611 13.6 21.9 0.644

100 61.3 65 0.576 30.6 38.1 0.630 13.7 23.1 0.650 150 60.7 66 0.582 30.3 38.5 0.640 16 26.9 0.650 200 60.5 65.8 0.582 30.2 40.8 0.637 18.3 31 0.656 250 58.9 64.2 0.590 34.6 44.6 0.642 21.5 35.2 0.667 300 59.1 65 0.585 40.1 49 0.641 32.7 42.9 0.648 350 61.1 66.7 0.605 46.9 55.2 0.651 38.4 49 0.661 400 65.4 70 0.587 51.2 58.3 0.636 47.9 54.6 0.643 450 66.8 70.2 0.601 56.7 62.7 0.656 51 57.1 0.638 500 68.2 71.5 0.586 61.6 66.2 0.631 57.5 62.9 0.648

Page 115: Analiza metod głębokiego uczenia maszynowego do modelowania

Załącznik - wyniki ewaluacji

- 115 -

Model BNF-GMM-HMM, korpus AGHstreets, odporność na pogłos

Opóź. pogłosu [ms]

Intensywność pogłosu [%]

20 60 100

WRR[%] SRR[%] RTF WRR[%] SRR[%] RTF WRR[%] SRR[%] RTF

0 74.6 76 0.537 55.5 55.4 0.651 34 34.8 0.778 50 72.5 72.9 0.527 50.1 51.2 0.650 35.1 36 0.756

100 70.8 72.3 0.574 52 53.1 0.696 36.2 37.3 0.749 150 70.8 72.9 0.566 56.2 56.7 0.634 39.7 40.2 0.752 200 69.7 72.3 0.560 55.5 57.1 0.627 44.5 46.2 0.729 250 70.5 72.7 0.581 59.1 59.8 0.608 49.6 51.7 0.729 300 69 71.5 0.570 62.2 63.5 0.601 52.4 54.2 0.697 350 73.8 75.4 0.532 64.3 65.8 0.621 57.3 58.7 0.816 400 78.5 79.6 0.530 67.1 69 0.608 61.9 64.6 0.882 450 78.3 79.1 0.534 70.1 71.9 0.586 65.7 67.7 0.917 500 78.4 79.2 0.544 71.6 73.3 0.578 69.5 71.3 0.838

Model FBANK-DNN-HMM, korpus AGHstreets, odporność na pogłos

Opóź. pogłosu [ms]

Intensywność pogłosu [%]

20 60 100

WRR[%] SRR[%] RTF WRR[%] SRR[%] RTF WRR[%] SRR[%] RTF

0 83.3 83.5 0.491 49.4 54 0.558 24.3 29.8 0.610 50 73.8 75.6 0.512 41.7 47.1 0.579 20.4 26.5 0.615

100 72.7 74.2 0.525 41.5 46.2 0.584 22.3 28.3 0.618 150 72.4 74 0.527 41.4 46.7 0.576 22.9 30.8 0.610 200 69.8 73.3 0.529 41.5 47.1 0.577 27.6 35.4 0.606 250 70.1 74.4 0.527 42.8 47.9 0.571 28.6 36.3 0.594 300 67.1 72.1 0.535 43 49.6 0.572 29.2 37.5 0.591 350 68.7 72.5 0.534 46.8 52.1 0.574 34.6 41.7 0.581 400 68.1 72.5 0.532 48.7 53.1 0.561 36.8 43.5 0.576 450 70.8 72.7 0.532 51 54.6 0.564 41.1 46 0.568 500 73.3 74.8 0.532 55.5 58.5 0.548 46.1 50.6 0.560

Model MFCC-GMM-HMM, korpus GlobalPhome, odporność na pogłos

Opóź. pogłosu [ms]

Intensywność pogłosu [%]

20 60 100

WRR[%] SRR[%] RTF WRR[%] SRR[%] RTF WRR[%] SRR[%] RTF

0 91.8 62.1 0.786 84.4 42.9 1.169 57.1 15 1.782 50 90.2 58.6 0.834 81.3 33.6 1.206 54.8 12.1 1.832

100 90.2 55.7 0.849 80.4 32.9 1.190 53.7 10.7 1.660 150 89.7 52.9 0.950 80.6 32.9 1.222 53.4 12.1 1.736 200 90.8 56.4 0.890 81.6 40 1.197 53 10 1.807 250 90.1 58.6 0.873 81.9 38.6 1.161 55.1 14.3 1.616 300 89.3 55 0.880 81 37.1 1.255 56.4 14.3 1.505 350 89.1 58.6 0.929 82.5 36.4 1.166 58.5 16.4 1.595 400 89.9 62.1 0.939 82.5 37.1 1.183 57.6 16.4 1.629 450 90.1 58.6 0.897 83 38.6 1.162 57.2 15 1.694 500 89.4 55 0.924 82.3 34.3 1.201 58.1 18.6 1.601

Page 116: Analiza metod głębokiego uczenia maszynowego do modelowania

Załącznik - wyniki ewaluacji

- 116 -

Model BNF-GMM-HMM, korpus GlobalPhome, odporność na pogłos

Opóź. pogłosu [ms]

Intensywność pogłosu [%]

20 60 100

WRR[%] SRR[%] RTF WRR[%] SRR[%] RTF WRR[%] SRR[%] RTF

0 88.8 61.4 0.470 85 45.7 0.685 62.4 13.6 1.016 50 88.5 55.7 0.521 82.3 40.7 0.725 56.6 12.1 1.018

100 88.3 56.4 0.545 81.8 37.9 0.740 54.9 10.7 1.034 150 87.4 49.3 0.548 82.2 38.6 0.742 55 10.7 1.008 200 87.1 52.9 0.555 81.9 37.9 0.730 54.1 9.3 0.992 250 87.3 56.4 0.553 81.4 32.9 0.721 55.9 13.6 1.007 300 87.9 60 0.561 79.9 37.1 0.748 56.1 10 1.008 350 86.7 50.7 0.553 80.3 35.7 0.727 57.6 14.3 1.021 400 88.5 57.1 0.560 81.5 38.6 0.736 56.5 12.9 1.010 450 88.2 56.4 0.558 81.9 39.3 0.725 58 11.4 1.010 500 87.5 55 0.562 81.6 35.7 0.737 55.4 8.6 0.999

Model FBANK-DNN-HMM, korpus GlobalPhome, odporność na pogłos

Opóź. pogłosu [ms]

Intensywność pogłosu [%]

20 60 100

WRR[%] SRR[%] RTF WRR[%] SRR[%] RTF WRR[%] SRR[%] RTF

0 92 68.6 0.618 87.7 54.3 0.825 72 30.7 1.123 50 91 64.3 0.693 84.6 47.1 0.892 69.2 27.9 1.139

100 90.8 66.4 0.710 86.1 50 0.942 69.5 22.1 1.194 150 91.2 65 0.732 85 48.6 1.013 71.3 23.6 1.207 200 90.8 62.1 0.721 85 49.3 0.985 71.4 25.7 1.178 250 90.2 62.9 0.739 86.1 52.1 0.970 72.2 30 1.168 300 90.4 65 0.726 84.7 51.4 0.967 73.7 30.7 1.159 350 90.4 66.4 0.745 85.6 50 0.957 72.1 27.1 1.227 400 91.8 67.1 0.732 87.6 53.6 0.916 73.1 27.1 1.201 450 91.2 66.4 0.746 86.3 53.6 0.886 73.1 27.1 1.177 500 90.5 62.9 0.770 85 48.6 0.913 72.1 25 1.178