Praca dyplomowa magisterska
|
|
- Miłosz Żurek
- 8 lat temu
- Przeglądów:
Transkrypt
1 WYDZIAŁ INŻYNIERII MECHANICZNEJ I ROBOTYKI KATEDRA WIBROAKUSTYKI Praca dyplomowa magisterska Imię i nazwisko Kierunek studiów Temat pracy dyplomowej Opiekun pracy Michał Salasa Inżynieria Akustyczna Analiza metod głębokiego uczenia maszynowego do modelowania mowy polskiej dr inż. Jakub Gałka Kraków, rok 2015
2
3 Spis treści Spis treści WSTĘP... 5 CEL PRACY... 7 ROZDZIAŁ 1 WPROWADZENIE W PROBLEMATYKĘ AUTOMATYCZNE ROZPOZNAWANIE MOWY Założenia systemu ASR Parametryzacja sygnału akustycznego Model akustyczny Model językowy GŁĘBOKIE SIECI NEURONOWE W KONTEKŚCIE MODELOWANIA AKUSTYCZNEGO MOWY Architektura głębokiej sieci neuronowej Hybryda DNN-HMM Bottleneck Features (BNF) ROZDZIAŁ 2 PRZYGOTOWANIE ŚRODOWISKA PROGRAMISTYCZNEGO ORAZ DANYCH NIEZBĘDNYCH DO PRZEPROWADZENIA BADAŃ WYKORZYSTYWANE OPROGRAMOWANIE Kaldi zestaw narzędzi do automatycznego rozpoznawania mowy ATLAS biblioteki numeryczne OpenFST zestaw narzędzi do modelowania automatów skończonych CUDA platforma do obliczeń równoległych SRILM zestaw narzędzi do modelowania językowego FaNT narzędzie do przetwarzania nagrań dźwiękowych KORPUSY MOWY POLSKIEJ Charakterystyka korpusów Wydzielenie podzbiorów korpusów Zakłócanie korpusów ewaluacyjnych ROZDZIAŁ 3 TRENING MODELI AKUSTYCZNYCH WYGENEROWANIE INFORMACJI JĘZYKOWYCH KONSTRUKCJA DANYCH TRENINGOWYCH TRENING MFCC-GMM-HMM TRENING BNF-GMM-HMM TRENING FBANK-DNN-HMM
4 Spis treści ROZDZIAŁ 4 EWALUACJA ORAZ ANALIZA PORÓWNAWCZA WYNIKÓW OPIS ANALIZOWANYCH METRYK KOMPILACJA GRAFÓW DEKODUJĄCYCH DOSTROJENIE KONFIGURACJI DEKODERA PORÓWNANIE SKUTECZNOŚCI MODELI AKUSTYCZNYCH PORÓWNANIE ODPORNOŚCI MODELI AKUSTYCZNYCH NA ZAKŁÓCENIA Odporność na zaszumienie Odporność na pogłos PODSUMOWANIE BIBLIOGRAFIA SPIS ILUSTRACJI ZAŁĄCZNIK - WYNIKI EWALUACJI
5 Spis treści 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
6 Wstęp 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
7 Cel pracy 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
8 Wprowadzenie w problematykę 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
9 Wprowadzenie w problematykę 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ą
10 Wprowadzenie w problematykę 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 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
11 Wprowadzenie w problematykę 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 O = o 1, o 2, o 3,, o t. (1.1) W taki sam sposób możemy zapisać dowolny ciąg W słów wi W = w 1, w 2, w 3,, w t. (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 W = argmax W P(W O). (1.3) Wykorzystując regułę Bayesa P(x y) = P(y x)p(x) P(y) równaniem W = argmax W możemy zastąpić powyższe równanie P(O W)P(W) P(O). (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 W = argmax P(O W)P(W). (1.5) W
12 Wprowadzenie w problematykę 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
13 Wprowadzenie w problematykę obserwacji o 39 elementach. Ogólny przebieg parametryzacji przedstawiono na poniższym rysunku. Rys. 2 Przebieg parametryzacji MFCC [30] 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:
14 Wprowadzenie w problematykę Q = q 1, q 2, q N - zbiór stanów, A = a 01, a 02,, a n1,, a nm - macierz przejść, w której element a ij jest prawdopodobieństwem przejścia ze stanu i do stanu j, O = o 1, o 2,, o N - zbiór obserwacji, B = b i (o t ) - zbiór prawdopodobieństw emisji obserwacji t przez stan emitujący i, q 0, q end - 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
15 Wprowadzenie w problematykę 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 f(x μ, σ) = 1 (x μ)2 exp ( ), (1.6) 2πσ2 2σ 2 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 b j (o t ) = 1 2πσ 2 exp ( (o t μ) 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ść b j (o t ) = 1 exp ( 1 (o td μ jd ) 2 D d=1 2 2 σ2 ). 2πσ jd jd (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
16 Wprowadzenie w problematykę gaussianów nazywa się miksturą gaussowską (ang. Gaussian Mixture Models) a estymacja prawdopodobieństwa obserwacji realizowana jest przez następującą zależność b j (o t ) = M 1 c jm exp [(x μ 2π Σ jm jm) T Σ 1 jm (o t μ jm )] m=1. (1.9) 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ą n 1 P(w m w n N+1 ) = C(w n 1 n N+1 w n ), (1.10) C(wn 1 n N+1 ) 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)
17 Wprowadzenie w problematykę 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 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 v l = f(z l ) = f(w l v l 1 + b l ), (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]
18 Wprowadzenie w problematykę W większości przypadków funkcja aktywacji f(.) jest funkcją sigmoidalną której wartości wyjściowe zawierają się w przedziale (0,1). σ(z) = 1 1+e z, (1.12) 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 v i L = P dnn (i o) = softmax i (z L ) = L ez i C e z j L j=1, (1.13) gdzie z i L jest i-tym elementem wektora pobudzenia z L. 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 S = {(o m, y m ) 0 m < M}, gdzie M jest liczbą wszystkich próbek, o m jest m-tym wejściowym wektorem obserwacji a y m 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ą w którym J CE (W, b; S) = 1 M J M m=1 CE(W, b; o m, y m ), (1.14) C L J CE (W, b; o, y) = i=1 y i logv i, (1.15) gdzie y i = P emp (i o) jest zaobserwowanym prawdopodobieństwem, że wektor obserwacji o należy do klasy i, a v i L = P dnn (i o) 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
19 Wprowadzenie w problematykę do jednej klasy, czyli y i = 1 (jeśli o należy do i-tej klasy) a równanie uprasza się do następującej postaci J NLL (W, b; o, y) = logv c L, (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 i l W t+1 W l l t ε W t (1.17) l b t+1 b l l t ε b t, (1.18) gdzie W t l i b t l są odpowiednio macierzą wag i wektorem biasu warstwy l po t-tej iteracji, M b W l t = 1 l M Wt J(W, b; o m, y m ) b m=1 (1.19) i M b b l t = 1 l M bt J(W, b; o m, y m ) b m=1 (1.20)
20 Wprowadzenie w problematykę są odpowiednio średnim gradientem macierzy wag i średnim gradientem wektora biasu w t-tei iteracji wyznaczonymi na podstawie M b próbek treningowych (ang. batch l size), ε jest współczynnikiem uczenia (ang. learning rate) a x jest gradientem kryterium treningu J liczonym po x. Dla kryterium entropii krzyżowej gradienty wynoszą odpowiednio Wt lj CE (W, b; o, y) = (v L t y)(v L 1 t ) T, (1.21) bt lj CE (W, b; o, y) = (v t L y). (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 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
21 Wprowadzenie w problematykę 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ść
22 Wprowadzenie w problematykę 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 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]
23 Wprowadzenie w problematykę 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
24 Przygotowanie środowiska programistycznego oraz danych niezbędnych do przeprowadzenia badań 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 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
25 Przygotowanie środowiska programistycznego oraz danych niezbędnych do przeprowadzenia badań 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 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
26 Przygotowanie środowiska programistycznego oraz danych niezbędnych do przeprowadzenia badań 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 z 2 listopada 2013r 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 oraz środowiskiem CUDA w wersji
27 Przygotowanie środowiska programistycznego oraz danych niezbędnych do przeprowadzenia badań 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 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
28 Przygotowanie środowiska programistycznego oraz danych niezbędnych do przeprowadzenia badań udostępnione autorowi przez Zespół Przetwarzania Sygnałów Akademii Górniczo-Hutniczej. Poniżej, zbiory te zostały szczegółowo opisane 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 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
29 Przygotowanie środowiska programistycznego oraz danych niezbędnych do przeprowadzenia badań 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 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 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
30 Przygotowanie środowiska programistycznego oraz danych niezbędnych do przeprowadzenia badań 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 ,7 różne AGHstreets ,0 różne AGHvoicelab ,0 pokój GlobalPhone ,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 mono AGHstreets telefon mono AGHvoicelab mikrofon mono GlobalPhone mikrofon mono 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)
31 Przygotowanie środowiska programistycznego oraz danych niezbędnych do przeprowadzenia badań 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
32 Przygotowanie środowiska programistycznego oraz danych niezbędnych do przeprowadzenia badań Tabela 3 - Charakterystyka korpusów ewaluacyjnych Nazwa korpusu ewaluacyjnego Liczba nagrań Liczba mówców Czas trwania [min] speech-corpus-eval-aghdigits ,05 speech-corpus-eval-aghstreets ,41 speech-corpus-eval-globalphone ,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 ,50 AGHstreets ,26 GlobalPhone ,77 speech-corpus-dev ,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 nagrań mowy pochodzących od 125 mówców z różnych kategorii wiekowych. Łączny czas trwania korpusu treningowego wynosił ok godziny
33 Przygotowanie środowiska programistycznego oraz danych niezbędnych do przeprowadzenia badań Tabela 5 - Charakterystyka korpusu treningowego Nazwa Korpusu Liczba nagrań Liczba mówców Czas trwania [h] AGHdigits ,52 AGHstreets ,74 AGHVoicelab ,04 GlobalPhone ,12 speech-corpus-train , 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:
34 Przygotowanie środowiska programistycznego oraz danych niezbędnych do przeprowadzenia badań 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
35 Przygotowanie środowiska programistycznego oraz danych niezbędnych do przeprowadzenia badań 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, nagrania, <SNR> - ustalona wartość poziomu SNR z jaką zostaną zaszumione <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
36 Przygotowanie środowiska programistycznego oraz danych niezbędnych do przeprowadzenia badań 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
37 Przygotowanie środowiska programistycznego oraz danych niezbędnych do przeprowadzenia badań 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)
38 Przygotowanie środowiska programistycznego oraz danych niezbędnych do przeprowadzenia badań
39 Przygotowanie środowiska programistycznego oraz danych niezbędnych do przeprowadzenia badań 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> <DELAY> gdzie: <INPUT_WAV> - ścieżka do wejściowego nagrania, <OUTPUT_WAV> - ścieżka do zmodyfikowanego nagrania,
40 Przygotowanie środowiska programistycznego oraz danych niezbędnych do przeprowadzenia badań <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
Automatyczne rozpoznawanie mowy - wybrane zagadnienia / Ryszard Makowski. Wrocław, Spis treści
Automatyczne rozpoznawanie mowy - wybrane zagadnienia / Ryszard Makowski. Wrocław, 2011 Spis treści Przedmowa 11 Rozdział 1. WPROWADZENIE 13 1.1. Czym jest automatyczne rozpoznawanie mowy 13 1.2. Poziomy
KATEDRA SYSTEMÓW MULTIMEDIALNYCH. Inteligentne systemy decyzyjne. Ćwiczenie nr 12:
KATEDRA SYSTEMÓW MULTIMEDIALNYCH Inteligentne systemy decyzyjne Ćwiczenie nr 12: Rozpoznawanie mowy z wykorzystaniem ukrytych modeli Markowa i pakietu HTK Opracowanie: mgr inż. Kuba Łopatka 1. Wprowadzenie
AKUSTYKA MOWY. Podstawy rozpoznawania mowy część I
AKUSTYKA MOWY Podstawy rozpoznawania mowy część I PLAN WYKŁADU Część I Podstawowe pojęcia z dziedziny rozpoznawania mowy Algorytmy, parametry i podejścia do rozpoznawania mowy Przykłady istniejących bibliotek
Sztuczna Inteligencja Tematy projektów Sieci Neuronowe
PB, 2009 2010 Sztuczna Inteligencja Tematy projektów Sieci Neuronowe Projekt 1 Stwórz projekt implementujący jednokierunkową sztuczną neuronową złożoną z neuronów typu sigmoidalnego z algorytmem uczenia
Metody systemowe i decyzyjne w informatyce
Metody systemowe i decyzyjne w informatyce Laboratorium JAVA Zadanie nr 2 Rozpoznawanie liter autorzy: A. Gonczarek, J.M. Tomczak Cel zadania Celem zadania jest zapoznanie się z problemem klasyfikacji
Optymalizacja ciągła
Optymalizacja ciągła 5. Metoda stochastycznego spadku wzdłuż gradientu Wojciech Kotłowski Instytut Informatyki PP http://www.cs.put.poznan.pl/wkotlowski/ 04.04.2019 1 / 20 Wprowadzenie Minimalizacja różniczkowalnej
S O M SELF-ORGANIZING MAPS. Przemysław Szczepańczyk Łukasz Myszor
S O M SELF-ORGANIZING MAPS Przemysław Szczepańczyk Łukasz Myszor Podstawy teoretyczne Map Samoorganizujących się stworzył prof. Teuvo Kohonen (1982 r.). SOM wywodzi się ze sztucznych sieci neuronowych.
Mechatronika i inteligentne systemy produkcyjne. Modelowanie systemów mechatronicznych Platformy przetwarzania danych
Mechatronika i inteligentne systemy produkcyjne Modelowanie systemów mechatronicznych Platformy przetwarzania danych 1 Sterowanie procesem oparte na jego modelu u 1 (t) System rzeczywisty x(t) y(t) Tworzenie
Podstawy Sztucznej Inteligencji (PSZT)
Podstawy Sztucznej Inteligencji (PSZT) Paweł Wawrzyński Uczenie maszynowe Sztuczne sieci neuronowe Plan na dziś Uczenie maszynowe Problem aproksymacji funkcji Sieci neuronowe PSZT, zima 2013, wykład 12
IMPLEMENTACJA SIECI NEURONOWYCH MLP Z WALIDACJĄ KRZYŻOWĄ
IMPLEMENTACJA SIECI NEURONOWYCH MLP Z WALIDACJĄ KRZYŻOWĄ Celem ćwiczenia jest zapoznanie się ze sposobem działania sieci neuronowych typu MLP (multi-layer perceptron) uczonych nadzorowaną (z nauczycielem,
Optymalizacja systemów
Optymalizacja systemów Laboratorium - problem detekcji twarzy autorzy: A. Gonczarek, J.M. Tomczak, S. Zaręba, P. Klukowski Cel zadania Celem zadania jest zapoznanie się z gradientowymi algorytmami optymalizacji
Automatyczne rozpoznawanie mowy. Autor: mgr inż. Piotr Bratoszewski
Automatyczne rozpoznawanie mowy Autor: mgr inż. Piotr Bratoszewski Rys historyczny 1930-1950 pierwsze systemy Automatycznego rozpoznawania mowy (ang. Automatic Speech Recognition ASR), metody holistyczne;
Rozdział 2: Metoda największej wiarygodności i nieliniowa metoda najmniejszych kwadratów
Rozdział : Metoda największej wiarygodności i nieliniowa metoda najmniejszych kwadratów W tym rozdziale omówione zostaną dwie najpopularniejsze metody estymacji parametrów w ekonometrycznych modelach nieliniowych,
Algorytm wstecznej propagacji błędów dla sieci RBF Michał Bereta
Algorytm wstecznej propagacji błędów dla sieci RBF Michał Bereta www.michalbereta.pl Sieci radialne zawsze posiadają jedną warstwę ukrytą, która składa się z neuronów radialnych. Warstwa wyjściowa składa
Aproksymacja funkcji a regresja symboliczna
Aproksymacja funkcji a regresja symboliczna Problem aproksymacji funkcji polega na tym, że funkcję F(x), znaną lub określoną tablicą wartości, należy zastąpić inną funkcją, f(x), zwaną funkcją aproksymującą
Uczenie sieci typu MLP
Uczenie sieci typu MLP Przypomnienie budowa sieci typu MLP Przypomnienie budowy neuronu Neuron ze skokową funkcją aktywacji jest zły!!! Powszechnie stosuje -> modele z sigmoidalną funkcją aktywacji - współczynnik
Praca dyplomowa magisterska
Praca dyplomowa magisterska Implementacja algorytmów filtracji adaptacyjnej o strukturze transwersalnej na platformie CUDA Dyplomant: Jakub Kołakowski Opiekun pracy: dr inż. Michał Meller Plan prezentacji
1.7. Eksploracja danych: pogłębianie, przeszukiwanie i wyławianie
Wykaz tabel Wykaz rysunków Przedmowa 1. Wprowadzenie 1.1. Wprowadzenie do eksploracji danych 1.2. Natura zbiorów danych 1.3. Rodzaje struktur: modele i wzorce 1.4. Zadania eksploracji danych 1.5. Komponenty
Lingwistyczny system definicyjny wykorzystujący korpusy tekstów oraz zasoby internetowe.
Lingwistyczny system definicyjny wykorzystujący korpusy tekstów oraz zasoby internetowe. Autor: Mariusz Sasko Promotor: dr Adrian Horzyk Plan prezentacji 1. Wstęp 2. Cele pracy 3. Rozwiązanie 3.1. Robot
Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.
Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa. Maja Czoków, Jarosław Piersa, Andrzej Rutkowski Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika 2018-10-15 Projekt
Temat: Sieci neuronowe oraz technologia CUDA
Elbląg, 27.03.2010 Temat: Sieci neuronowe oraz technologia CUDA Przygotował: Mateusz Górny VIII semestr ASiSK Wstęp Sieci neuronowe są to specyficzne struktury danych odzwierciedlające sieć neuronów w
Programowanie i techniki algorytmiczne
Temat 2. Programowanie i techniki algorytmiczne Realizacja podstawy programowej 1) wyjaśnia pojęcie algorytmu, podaje odpowiednie przykłady algorytmów rozwiązywania różnych 2) formułuje ścisły opis prostej
Rozpoznawanie obrazów
Rozpoznawanie obrazów Ćwiczenia lista zadań nr 7 autorzy: A. Gonczarek, J.M. Tomczak Przykładowe problemy Klasyfikacja binarna Dla obrazu x zaproponowano dwie cechy φ(x) = (φ 1 (x) φ 2 (x)) T. Na obrazie
Opisy efektów kształcenia dla modułu
Karta modułu - Technologia mowy 1 / 5 Nazwa modułu: Technologia mowy Rocznik: 2012/2013 Kod: RIA-1-504-s Punkty ECTS: 7 Wydział: Inżynierii Mechanicznej i Robotyki Poziom studiów: Studia I stopnia Specjalność:
Temat: Sztuczne Sieci Neuronowe. Instrukcja do ćwiczeń przedmiotu INŻYNIERIA WIEDZY I SYSTEMY EKSPERTOWE
Temat: Sztuczne Sieci Neuronowe Instrukcja do ćwiczeń przedmiotu INŻYNIERIA WIEDZY I SYSTEMY EKSPERTOWE Dr inż. Barbara Mrzygłód KISiM, WIMiIP, AGH mrzyglod@ agh.edu.pl 1 Wprowadzenie Sztuczne sieci neuronowe
HAŁASU Z UWZGLĘDNIENIEM ZJAWISK O CHARAKTERZE NIELINIOWYM
ZASTOSOWANIE SIECI NEURONOWYCH W SYSTEMACH AKTYWNEJ REDUKCJI HAŁASU Z UWZGLĘDNIENIEM ZJAWISK O CHARAKTERZE NIELINIOWYM WPROWADZENIE Zwalczanie hałasu przy pomocy metod aktywnych redukcji hałasu polega
Spis treści. Przedmowa... XI. Rozdział 1. Pomiar: jednostki miar... 1. Rozdział 2. Pomiar: liczby i obliczenia liczbowe... 16
Spis treści Przedmowa.......................... XI Rozdział 1. Pomiar: jednostki miar................. 1 1.1. Wielkości fizyczne i pozafizyczne.................. 1 1.2. Spójne układy miar. Układ SI i jego
Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.
Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa. Maja Czoków, Jarosław Piersa Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika 2011-10-11 1 Modelowanie funkcji logicznych
Elementy modelowania matematycznego
Elementy modelowania matematycznego Modelowanie algorytmów klasyfikujących. Podejście probabilistyczne. Naiwny klasyfikator bayesowski. Modelowanie danych metodą najbliższych sąsiadów. Jakub Wróblewski
ALGORYTM RANDOM FOREST
SKRYPT PRZYGOTOWANY NA ZAJĘCIA INDUKOWANYCH REGUŁ DECYZYJNYCH PROWADZONYCH PRZEZ PANA PAWŁA WOJTKIEWICZA ALGORYTM RANDOM FOREST Katarzyna Graboś 56397 Aleksandra Mańko 56699 2015-01-26, Warszawa ALGORYTM
P R Z E T W A R Z A N I E S Y G N A Ł Ó W B I O M E T R Y C Z N Y C H
W O J S K O W A A K A D E M I A T E C H N I C Z N A W Y D Z I A Ł E L E K T R O N I K I Drukować dwustronnie P R Z E T W A R Z A N I E S Y G N A Ł Ó W B I O M E T R Y C Z N Y C H Grupa... Data wykonania
Systemy uczące się Lab 4
Systemy uczące się Lab 4 dr Przemysław Juszczuk Katedra Inżynierii Wiedzy, Uniwersytet Ekonomiczny 26 X 2018 Projekt zaliczeniowy Podstawą zaliczenia ćwiczeń jest indywidualne wykonanie projektu uwzględniającego
SYSTEMY UCZĄCE SIĘ WYKŁAD 10. PRZEKSZTAŁCANIE ATRYBUTÓW. Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska.
SYSTEMY UCZĄCE SIĘ WYKŁAD 10. PRZEKSZTAŁCANIE ATRYBUTÓW Częstochowa 2014 Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska INFORMACJE WSTĘPNE Hipotezy do uczenia się lub tworzenia
Opis efektów kształcenia dla programu kształcenia (kierunkowe efekty kształcenia) WIEDZA. rozumie cywilizacyjne znaczenie matematyki i jej zastosowań
TABELA ODNIESIEŃ EFEKTÓW KSZTAŁCENIA OKREŚLONYCH DLA PROGRAMU KSZTAŁCENIA DO EFEKTÓW KSZTAŁCENIA OKREŚLONYCH DLA OBSZARU KSZTAŁCENIA I PROFILU STUDIÓW PROGRAM KSZTAŁCENIA: POZIOM KSZTAŁCENIA: PROFIL KSZTAŁCENIA:
Analiza korespondencji
Analiza korespondencji Kiedy stosujemy? 2 W wielu badaniach mamy do czynienia ze zmiennymi jakościowymi (nominalne i porządkowe) typu np.: płeć, wykształcenie, status palenia. Punktem wyjścia do analizy
Metody systemowe i decyzyjne w informatyce
Metody systemowe i decyzyjne w informatyce Laboratorium MATLAB Zadanie nr 2 Detekcja twarzy autorzy: A. Gonczarek, J.M. Tomczak Cel zadania Celem zadania jest zapoznanie się algorytmem gradientu prostego
Metody Sztucznej Inteligencji II
17 marca 2013 Neuron biologiczny Neuron Jest podstawowym budulcem układu nerwowego. Jest komórką, która jest w stanie odbierać i przekazywać sygnały elektryczne. Neuron działanie Jeżeli wartość sygnału
Omówienie różnych metod rozpoznawania mowy
Omówienie różnych metod rozpoznawania mowy Na podstawie artykułu: Comparative study of automatic speech recognition techniques Beniamin Sawicki Wydział Inżynierii Mechanicznej i Robotyki Inżynieria Akustyczna
Zmienne zależne i niezależne
Analiza kanoniczna Motywacja (1) 2 Często w badaniach spotykamy problemy badawcze, w których szukamy zakresu i kierunku zależności pomiędzy zbiorami zmiennych: { X i Jak oceniać takie 1, X 2,..., X p }
AUTOMATYKA INFORMATYKA
AUTOMATYKA INFORMATYKA Technologie Informacyjne Sieć Semantyczna Przetwarzanie Języka Naturalnego Internet Edytor Serii: Zdzisław Kowalczuk Inteligentne wydobywanie informacji z internetowych serwisów
w analizie wyników badań eksperymentalnych, w problemach modelowania zjawisk fizycznych, w analizie obserwacji statystycznych.
Aproksymacja funkcji a regresja symboliczna Problem aproksymacji funkcji polega na tym, że funkcję F(), znaną lub określoną tablicą wartości, należy zastąpić inną funkcją, f(), zwaną funkcją aproksymującą
Budowa sztucznych sieci neuronowych do prognozowania. Przykład jednostek uczestnictwa otwartego funduszu inwestycyjnego
Budowa sztucznych sieci neuronowych do prognozowania. Przykład jednostek uczestnictwa otwartego funduszu inwestycyjnego Dorota Witkowska Szkoła Główna Gospodarstwa Wiejskiego w Warszawie Wprowadzenie Sztuczne
Fuzja sygnałów i filtry bayesowskie
Fuzja sygnałów i filtry bayesowskie Roboty Manipulacyjne i Mobilne dr inż. Janusz Jakubiak Katedra Cybernetyki i Robotyki Wydział Elektroniki, Politechnika Wrocławska Wrocław, 10.03.2015 Dlaczego potrzebna
Rozpoznawanie mowy za pomocą HTK
Kinga Frydrych Wydział Inżynierii Mechanicznej i Robotyki Inżynieria Akustyczna, rok III, 2013/2014 Sprawozdanie z ćwiczeń laboratoryjnych z Technologii mowy Rozpoznawanie mowy za pomocą HTK 1. Opis gramatyki
Algorytmy decyzyjne będące alternatywą dla sieci neuronowych
Algorytmy decyzyjne będące alternatywą dla sieci neuronowych Piotr Dalka Przykładowe algorytmy decyzyjne Sztuczne sieci neuronowe Algorytm k najbliższych sąsiadów Kaskada klasyfikatorów AdaBoost Naiwny
Międzyplatformowy interfejs systemu FOLANessus wykonany przy użyciu biblioteki Qt4
Uniwersytet Mikołaja Kopernika w Toruniu Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej Agnieszka Holka Nr albumu: 187396 Praca magisterska na kierunku Informatyka
CUDA Median Filter filtr medianowy wykorzystujący bibliotekę CUDA sprawozdanie z projektu
CUDA Median Filter filtr medianowy wykorzystujący bibliotekę CUDA sprawozdanie z projektu inż. Daniel Solarz Wydział Fizyki i Informatyki Stosowanej AGH 1. Cel projektu. Celem projektu było napisanie wtyczki
Programowanie celowe #1
Programowanie celowe #1 Problem programowania celowego (PC) jest przykładem problemu programowania matematycznego nieliniowego, który można skutecznie zlinearyzować, tzn. zapisać (i rozwiązać) jako problem
4 Zasoby językowe Korpusy obcojęzyczne Korpusy języka polskiego Słowniki Sposoby gromadzenia danych...
Spis treści 1 Wstęp 11 1.1 Do kogo adresowana jest ta książka... 12 1.2 Historia badań nad mową i językiem... 12 1.3 Obecne główne trendy badań... 16 1.4 Opis zawartości rozdziałów... 18 2 Wyzwania i możliwe
Podstawy Przetwarzania Sygnałów
Adam Szulc 188250 grupa: pon TN 17:05 Podstawy Przetwarzania Sygnałów Sprawozdanie 6: Filtracja sygnałów. Filtry FIT o skończonej odpowiedzi impulsowej. 1. Cel ćwiczenia. 1) Przeprowadzenie filtracji trzech
Uniwersytet Mikołaja Kopernika. Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej
Uniwersytet Mikołaja Kopernika Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej Marcin HENRYKOWSKI Nr albumu: 158069 Praca magisterska na kierunku Informatyka Archiwizacja
Jednolite zarządzanie użytkownikami systemów Windows i Linux
Uniwersytet Mikołaja Kopernika Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej Paweł Gliwiński Nr albumu: 168470 Praca magisterska na kierunku Informatyka Jednolite
Obrona rozprawy doktorskiej Neuro-genetyczny system komputerowy do prognozowania zmiany indeksu giełdowego
IBS PAN, Warszawa 9 kwietnia 2008 Obrona rozprawy doktorskiej Neuro-genetyczny system komputerowy do prognozowania zmiany indeksu giełdowego mgr inż. Marcin Jaruszewicz promotor: dr hab. inż. Jacek Mańdziuk,
Eksploracja Danych. wykład 4. Sebastian Zając. 10 maja 2017 WMP.SNŚ UKSW. Sebastian Zając (WMP.SNŚ UKSW) Eksploracja Danych 10 maja / 18
Eksploracja Danych wykład 4 Sebastian Zając WMP.SNŚ UKSW 10 maja 2017 Sebastian Zając (WMP.SNŚ UKSW) Eksploracja Danych 10 maja 2017 1 / 18 Klasyfikacja danych Klasyfikacja Najczęściej stosowana (najstarsza)
Podstawy automatycznego rozpoznawania mowy. Autor: mgr inż. Piotr Bratoszewski
Podstawy automatycznego rozpoznawania mowy Autor: mgr inż. Piotr Bratoszewski Rys historyczny 1930-1950 pierwsze systemy Automatycznego rozpoznawania mowy (ang. Automatic Speech Recognition ASR), metody
PRZEWODNIK PO PRZEDMIOCIE
Nazwa przedmiotu: Podstawy Informatyki Basic Informatics Kierunek: Zarządzanie i Inżynieria Produkcji Rodzaj przedmiotu: ogólny Poziom studiów: studia I stopnia forma studiów: studia stacjonarne Rodzaj
Teoria przetwarzania A/C i C/A.
Teoria przetwarzania A/C i C/A. Autor: Bartłomiej Gorczyński Cyfrowe metody przetwarzania sygnałów polegają na przetworzeniu badanego sygnału analogowego w sygnał cyfrowy reprezentowany ciągiem słów binarnych
6.4 Podstawowe metody statystyczne
156 Wstęp do statystyki matematycznej 6.4 Podstawowe metody statystyczne Spóbujemy teraz w dopuszczalnym uproszczeniu przedstawić istotę analizy statystycznej. W szczególności udzielimy odpowiedzi na postawione
Algorytmy klasteryzacji jako metoda dyskretyzacji w algorytmach eksploracji danych. Łukasz Przybyłek, Jakub Niwa Studenckie Koło Naukowe BRAINS
Algorytmy klasteryzacji jako metoda dyskretyzacji w algorytmach eksploracji danych Łukasz Przybyłek, Jakub Niwa Studenckie Koło Naukowe BRAINS Dyskretyzacja - definicja Dyskretyzacja - zamiana atrybutów
Seminarium DSP AGH. Przegląd technik zwiększających wydajność obliczeniową algorytmów weryfikacji mówcy opartych o modelowanie GMM-UBM oraz HMM
Seminarium DSP AGH Przegląd technik zwiększających wydajność obliczeniową algorytmów weryfikacji mówcy opartych o modelowanie GMM-UBM oraz HMM Michał Salasa 06.03.2014, Kraków Przedstawienie problemu Systemy
Ćwiczenie 3,4. Analiza widmowa sygnałów czasowych: sinus, trójkąt, prostokąt, szum biały i szum różowy
Ćwiczenie 3,4. Analiza widmowa sygnałów czasowych: sinus, trójkąt, prostokąt, szum biały i szum różowy Grupa: wtorek 18:3 Tomasz Niedziela I. CZĘŚĆ ĆWICZENIA 1. Cel i przebieg ćwiczenia. Celem ćwiczenia
Statystyczna analiza danych
Statystyczna analiza danych ukryte modele Markowa, zastosowania Anna Gambin Instytut Informatyki Uniwersytet Warszawski plan na dziś Ukryte modele Markowa w praktyce modelowania rodzin białek multiuliniowienia
Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.
Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa. Maja Czoków, Jarosław Piersa Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika 2012-10-10 Projekt pn. Wzmocnienie
ROZPOZNAWANIE SYGNAŁÓW FONICZNYCH
Przetwarzanie dźwięków i obrazów ROZPOZNAWANIE SYGNAŁÓW FONICZNYCH mgr inż. Kuba Łopatka, p. 628 klopatka@sound.eti.pg.gda.pl Plan wykładu 1. Wprowadzenie 2. Zasada rozpoznawania sygnałów 3. Parametryzacja
SZTUCZNA INTELIGENCJA
SZTUCZNA INTELIGENCJA SYSTEMY ROZMYTE Adrian Horzyk Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej Katedra Automatyki i Inżynierii Biomedycznej Laboratorium
Spis treści. Analiza i modelowanie_nowicki, Chomiak_Księga1.indb :03:08
Spis treści Wstęp.............................................................. 7 Część I Podstawy analizy i modelowania systemów 1. Charakterystyka systemów informacyjnych....................... 13 1.1.
Praca dyplomowa. Program do monitorowania i diagnostyki działania sieci CAN. Temat pracy: Temat Gdańsk Autor: Łukasz Olejarz
Temat Gdańsk 30.06.2006 1 Praca dyplomowa Temat pracy: Program do monitorowania i diagnostyki działania sieci CAN. Autor: Łukasz Olejarz Opiekun: dr inż. M. Porzeziński Recenzent: dr inż. J. Zawalich Gdańsk
OpenAI Gym. Adam Szczepaniak, Kamil Walkowiak
OpenAI Gym Adam Szczepaniak, Kamil Walkowiak Plan prezentacji Programowanie agentowe Uczenie przez wzmacnianie i problemy związane z rozwojem algorytmów Charakterystyka OpenAI Gym Biblioteka gym Podsumowanie
Bioinformatyka. Ocena wiarygodności dopasowania sekwencji.
Bioinformatyka Ocena wiarygodności dopasowania sekwencji www.michalbereta.pl Załóżmy, że mamy dwie sekwencje, które chcemy dopasować i dodatkowo ocenić wiarygodność tego dopasowania. Interesujące nas pytanie
Sposoby opisu i modelowania zakłóceń kanałowych
INSTYTUT TELEKOMUNIKACJI ZAKŁAD RADIOKOMUNIKACJI Instrukcja laboratoryjna z przedmiotu Podstawy Telekomunikacji Sposoby opisu i modelowania zakłóceń kanałowych Warszawa 2010r. 1. Cel ćwiczeń: Celem ćwiczeń
Dariusz Brzeziński Instytut Informatyki, Politechnika Poznańska
Dariusz Brzeziński Instytut Informatyki, Politechnika Poznańska Podstawowe architektury sieci neuronowych Generowanie sztucznych danych Jak się nie przemęczyć Korzystanie z istniejących wag Zamrażanie
Spacery losowe generowanie realizacji procesu losowego
Spacery losowe generowanie realizacji procesu losowego Michał Krzemiński Streszczenie Omówimy metodę generowania trajektorii spacerów losowych (błądzenia losowego), tj. szczególnych procesów Markowa z
Zastosowanie sztucznych sieci neuronowych w prognozowaniu szeregów czasowych (prezentacja 2)
Zastosowanie sztucznych sieci neuronowych w prognozowaniu szeregów czasowych (prezentacja 2) Ewa Wołoszko Praca pisana pod kierunkiem Pani dr hab. Małgorzaty Doman Plan tego wystąpienia Teoria Narzędzia
WYKORZYSTANIE SIECI NEURONOWEJ DO BADANIA WPŁYWU WYDOBYCIA NA SEJSMICZNOŚĆ W KOPALNIACH WĘGLA KAMIENNEGO. Stanisław Kowalik (Poland, Gliwice)
WYKORZYSTANIE SIECI NEURONOWEJ DO BADANIA WPŁYWU WYDOBYCIA NA SEJSMICZNOŚĆ W KOPALNIACH WĘGLA KAMIENNEGO Stanisław Kowalik (Poland, Gliwice) 1. Wprowadzenie Wstrząsy podziemne i tąpania występujące w kopalniach
Optymalizacja optymalizacji
7 maja 2008 Wstęp Optymalizacja lokalna Optymalizacja globalna Algorytmy genetyczne Badane czasteczki Wykorzystane oprogramowanie (Algorytm genetyczny) 2 Sieć neuronowa Pochodne met-enkefaliny Optymalizacja
Machine learning Lecture 6
Machine learning Lecture 6 Marcin Wolter IFJ PAN 11 maja 2017 Deep learning Convolution network Zastosowanie do poszukiwań bozonu Higgsa 1 Deep learning Poszczególne warstwy ukryte uczą się rozpoznawania
Informacje i materiały dotyczące wykładu będą publikowane na stronie internetowej wykładowcy, m.in. prezentacje z wykładów
Eksploracja danych Piotr Lipiński Informacje ogólne Informacje i materiały dotyczące wykładu będą publikowane na stronie internetowej wykładowcy, m.in. prezentacje z wykładów UWAGA: prezentacja to nie
Kompresja Kodowanie arytmetyczne. Dariusz Sobczuk
Kompresja Kodowanie arytmetyczne Dariusz Sobczuk Kodowanie arytmetyczne (lata 1960-te) Pierwsze prace w tym kierunku sięgają początków lat 60-tych XX wieku Pierwszy algorytm Eliasa nie został opublikowany
DLA SEKTORA INFORMATYCZNEGO W POLSCE
DLA SEKTORA INFORMATYCZNEGO W POLSCE SRK IT obejmuje kompetencje najważniejsze i specyficzne dla samego IT są: programowanie i zarządzanie systemami informatycznymi. Z rozwiązań IT korzysta się w każdej
Elementy inteligencji obliczeniowej
Elementy inteligencji obliczeniowej Paweł Liskowski Institute of Computing Science, Poznań University of Technology 9 October 2018 1 / 19 Perceptron Perceptron (Rosenblatt, 1957) to najprostsza forma sztucznego
XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery
http://xqtav.sourceforge.net XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery dr hab. Jerzy Tyszkiewicz dr Andrzej Kierzek mgr Jacek Sroka Grzegorz Kaczor praca mgr pod
ROZPOZNAWANIE GRANIC SŁOWA W SYSTEMIE AUTOMATYCZNEGO ROZPOZNAWANIA IZOLOWANYCH SŁÓW
ROZPOZNAWANIE GRANIC SŁOWA W SYSTEMIE AUTOMATYCZNEGO ROZPOZNAWANIA IZOLOWANYCH SŁÓW Maciej Piasecki, Szymon Zyśko Wydziałowy Zakład Informatyki Politechnika Wrocławska Wybrzeże Stanisława Wyspiańskiego
Przykładowe sprawozdanie. Jan Pustelnik
Przykładowe sprawozdanie Jan Pustelnik 30 marca 2007 Rozdział 1 Sformułowanie problemu Tematem pracy jest porównanie wydajności trzech tradycyjnych metod sortowania: InsertionSort, SelectionSort i BubbleSort.
8. Neuron z ciągłą funkcją aktywacji.
8. Neuron z ciągłą funkcją aktywacji. W tym ćwiczeniu zapoznamy się z modelem sztucznego neuronu oraz przykładem jego wykorzystania do rozwiązywanie prostego zadania klasyfikacji. Neuron biologiczny i
Sprawozdanie z laboratoriów HTK!
Inżynieria akustyczna - Technologia mowy 2013 Błażej Chwiećko Sprawozdanie z laboratoriów HTK! 1. Przeznaczenie tworzonego systemu! Celem było stworzenie systemu służącego do sterowania samochodem. Zaimplementowane
<Nazwa firmy> <Nazwa projektu> Specyfikacja dodatkowa. Wersja <1.0>
Wersja [Uwaga: Niniejszy wzór dostarczony jest w celu użytkowania z Unified Process for EDUcation. Tekst zawarty w nawiasach kwadratowych i napisany błękitną kursywą
Analiza danych. http://zajecia.jakubw.pl/ TEMATYKA PRZEDMIOTU
Analiza danych Wstęp Jakub Wróblewski jakubw@pjwstk.edu.pl http://zajecia.jakubw.pl/ TEMATYKA PRZEDMIOTU Różne aspekty analizy danych Reprezentacja graficzna danych Metody statystyczne: estymacja parametrów
Uniwersytet Zielonogórski Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Sterowania i Systemów Informatycznych
Uniwersytet Zielonogórski Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Sterowania i Systemów Informatycznych ELEMENTY SZTUCZNEJ INTELIGENCJI Laboratorium nr 6 SYSTEMY ROZMYTE TYPU MAMDANIEGO
Testowanie modeli predykcyjnych
Testowanie modeli predykcyjnych Wstęp Podczas budowy modelu, którego celem jest przewidywanie pewnych wartości na podstawie zbioru danych uczących poważnym problemem jest ocena jakości uczenia i zdolności
System zarządzający grami programistycznymi Meridius
System zarządzający grami programistycznymi Meridius Instytut Informatyki, Uniwersytet Wrocławski 20 września 2011 Promotor: prof. Krzysztof Loryś Gry komputerowe a programistyczne Gry komputerowe Z punktu
Prof. Stanisław Jankowski
Prof. Stanisław Jankowski Zakład Sztucznej Inteligencji Zespół Statystycznych Systemów Uczących się p. 228 sjank@ise.pw.edu.pl Zakres badań: Sztuczne sieci neuronowe Maszyny wektorów nośnych SVM Maszyny
Transformata Fouriera
Transformata Fouriera Program wykładu 1. Wprowadzenie teoretyczne 2. Algorytm FFT 3. Zastosowanie analizy Fouriera 4. Przykłady programów Wprowadzenie teoretyczne Zespolona transformata Fouriera Jeżeli
Prognozowanie i Symulacje. Wykład I. Matematyczne metody prognozowania
Prognozowanie i Symulacje. Wykład I. e-mail:e.kozlovski@pollub.pl Spis treści Szeregi czasowe 1 Szeregi czasowe 2 3 Szeregi czasowe Definicja 1 Szereg czasowy jest to proces stochastyczny z czasem dyskretnym
Zadania badawcze prowadzone przez Zakład Technik Programowania:
Zadania badawcze prowadzone przez Zakład Technik Programowania: - Opracowanie metod zrównoleglania programów sekwencyjnych o rozszerzonym zakresie stosowalności. - Opracowanie algorytmów obliczenia tranzytywnego
Temat 20. Techniki algorytmiczne
Realizacja podstawy programowej 5. 1) wyjaśnia pojęcie algorytmu, podaje odpowiednie przykłady algorytmów rozwiązywania różnych problemów; 2) formułuje ścisły opis prostej sytuacji problemowej, analizuje
Porównanie generatorów liczb losowych wykorzystywanych w arkuszach kalkulacyjnych
dr Piotr Sulewski POMORSKA AKADEMIA PEDAGOGICZNA W SŁUPSKU KATEDRA INFORMATYKI I STATYSTYKI Porównanie generatorów liczb losowych wykorzystywanych w arkuszach kalkulacyjnych Wprowadzenie Obecnie bardzo
Większe możliwości dzięki LabVIEW 2009: programowanie równoległe, technologie bezprzewodowe i funkcje matematyczne w systemach czasu rzeczywistego
Większe możliwości dzięki LabVIEW 2009: programowanie równoległe, technologie bezprzewodowe i funkcje matematyczne w systemach czasu rzeczywistego Dziś bardziej niż kiedykolwiek narzędzia używane przez
Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat
Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Program, to lista poleceń zapisana w jednym języku programowania zgodnie z obowiązującymi w nim zasadami. Celem programu jest przetwarzanie
PyPy's Approach to Virtual Machine Construction
PyPy's Approach to Virtual Machine Construction Armin Rigo, Samuele Pedroni Prezentacja: Michał Bendowski Czym jest PyPy? Implementacja Pythona w Pythonie - wydajniejsza niż oryginalna implementacja w
Algorytm do rozpoznawania człowieka na podstawie dynamiki użycia klawiatury. Paweł Kobojek, prof. dr hab. inż. Khalid Saeed
Algorytm do rozpoznawania człowieka na podstawie dynamiki użycia klawiatury Paweł Kobojek, prof. dr hab. inż. Khalid Saeed Zakres pracy Przegląd stanu wiedzy w dziedzinie biometrii, ze szczególnym naciskiem