T - MEiL - Politechnika Warszawska
Transkrypt
T - MEiL - Politechnika Warszawska
POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHANICZNY ENERGETYKI I LOTNICTWA MEL WPROWADZENIE DO SZTUCZNEJ INTELIGENCJI NS 586 Dr inż. Franciszek Dul © F.A. Dul 2014 15. WNIOSKOWANIE PROBABILISTYCZNE EWOLUCYJNE © F.A. Dul 2014 Wnioskowanie probabilistyczne ewolucyjne Pokażemy, że agent wnioskujący probabilistycznie może, mimo niepewności, zrozumieć co działo się w przeszłości, właściwie zinterpretować teraźniejszość, a nawet przewidzieć przyszłość. © F.A. Dul 2014 15.1. Niepewność i czas Świat jest niepewny i zmienia się w czasie. Opis probabilistyczny zjawisk zmieniających się w czasie polega na wyznaczeniu w każdej chwili czasu zmiennych losowych, z których pewne są obserwowalne, a inne – nie: • Xt – zmienne stanu, nieobserwowane, • Et – zmienne obserwowanle (evidence variables). Zbiór wartości Et = et w chwili t określa zmienne obserwowalne. Procesy stacjonarne Procesy stacjonarne to takie, w których rozkłady gęstości prawdopodobieństwa zmiennych losowych X nie zmieniają się wraz z czasem. Parametry procesu stacjonarnego, takie jak wartość średnia mX i wariancja WX nie zależą od czasu. x(t) t WX = const mX = 0 © F.A. Dul 2014 15.1. Niepewność i czas Procesy Markowa Założenie Markowa – stan bieżący zależy tylko od skończonej liczby stanów poprzednich. Proces (łańcuch) Markowa pierwszego rzędu – taki w którym stan bieżący zależy tylko od stanu poprzedniego i nie zależy od innych stanów wcześniejszych. Sieć Bayesa dla procesu Markowa pierwszego rzędu Xt-2 Xt-1 Xt Xt+1 Xt+2 Sieć Bayesa dla procesu Markowa drugiego rzędu Xt-2 Xt-1 Xt Xt+1 Xt+2 Prawdopodobieństwo warunkowe dla łańcucha Markowa pierwszego rzędu ∀t P( Xt | X 0:t −1 ) = P ( Xt | Xt −1 ) Ewolucja stanu w procesie Markowa jest opisana całkowicie rozkładem warunkowym P(Xt | Xt-1), który jest nazywany modelem przejścia. © F.A. Dul 2014 15.1. Niepewność i czas Założenie dla procesu Markowa: zmienne obserwowalne Et zależą tylko od stanu bieżącego Xt P (Et | X 0:t , E0:t −1 ) = P (Et | Xt ) Rozkład warunkowy P(Et | Xt) nazywany jest modelem czujników lub modelem obserwacji. Rozkład łączny prawdopodobieństwa zmiennych stanu i obserwowalnych dla procesu Markowa pierwszego rzędu jest iloczynem obu modeli, P ( X 0 , X1 ,..., Xt , E0 , E1 ,..., Et ) = t ∏ P( X i =1 i | Xi −1 ) P (Ei | Xi ) Proces Markowa pierwszego rzędu jest jedynie przybliżeniem procesów rzeczywistych. Ukryte modele Markowa (Hidden Markov Models, HMM) są to modele probabilistyczne w których stan procesu opisuje pojedyńcza dyskretna zmienna losowa Xt. Tij = P ( X t = j | X t −1 = i ) Oii = P (et | X t = i ) © F.A. Dul 2014 15.2. Wnioskowanie w modelach czasowych Główne zadania wnioskowania probabilistycznego w czasie: • Filtracja (monitorowanie) Wyznaczenie stanu wiarygodnego - rozkładu a posteriori stanu bieżącego na podstawie wszystkich obserwacji do chwili bieżącej, P(Xt | e1:t). • Predykcja (prognozowanie) Wyznaczenie rozkładu a posteriori stanu przyszłego na podstawie wszystkich obserwacji do chwili bieżącej, P(Xt+k | e1:t), k > 0. • Wygładzanie Wyznaczenie rozkładu a posteriori stanu przeszłego na podstawie wszystkich obserwacji do chwili bieżącej, P(Xk | e1:t), 1 ≤ k < t. • Najbardziej wiarygodne wyjaśnienie Wyznaczenie stanów najbardziej wiarygodnie generujących dane obserwacje, m1: t = arg max x 1:t P (x1: t | e1:t ) . © F.A. Dul 2014 15.4. Filtracja Kalmana W technice często spotyka się zagadnienia dynamiczne obarczone niepewnością modelu lub obserwacji, np: – wyznaczanie trajektorii ciał niebieskich na podstawie niedokładnych obserwacji; – śledzenie ruchu obiektów przy silnie zakłóconych obserwacjach; – nawigacja pojazdami Program “Apollo” - lot na Księżyc! Rudolph E. Kalman Są to problemy estymacji stanu obiektów (położenia i prędkości) na podstawie zakłóconych (zaszumionch) obserwacji. Do analizy takich dynamicznych zagadnień stochastycznych używa się powszechnie filtracji Kalmana. Filtracja Kalmana jest to wnioskowanie w probabilistycznym modelu dynamicznym złożonym z losowego modelu zjawiska fizycznego i losowego modelu obserwacji (pomiarów). Idea filtracji Kalmana Oszacowanie stanu układu x(t) na podstawie modelu układu, znanego stanu poprzedniego x(t–∆t) oraz aktualnej obserwacji z(t). © F.A. Dul 2014 15.4. Filtracja Kalmana Sieć Bayesa dla filtru Kalmana Część widoczna: • obserwacje Z(t), • sterowanie U(t). Część ukryta: • stan X(t), • zakłócenia stanu n(Qt), • zakłócenia obserwacji w(Rt). t - ∆t (k – 1) Z (t − ∆ t ) U (t ) Z(t ) H B H X (t − ∆ t ) t + ∆t (k+1) t (k) F w (R t ) X(t ) n(Qt ) & (t − ∆t ) X & (t ) X Modele układu i obserwacji mają postać x(t ) = Fx(t − ∆t ) + n(Qt ) + Bu(t) z (t ) = Hx(t ) + w (R t ) © F.A. Dul 2014 15.4. Filtracja Kalmana Filtracja Kalmana składa się z dwóch faz: • predykcji, która polega na wyznaczeniu estymat stanu i macierzy kowariancji błędu na podstawie ich wartości w chwili poprzedniej. xˆ k | k −1 = Fk xˆ k −1| k −1 + B k u k (predykcja stanu) Pk |k −1 = Fk Pk −1| k −1FkT + Q k (predykcja macierzy kowariancji) • aktualizacji, w której wykorzystuje się pomiary w chwili bieżącej do poprawienia estymat uzyskanych w predykcji w celu otrzymania dokładniejszych wartości stanu i macierzy kowariancji błędu. (aktualizacja błędu pomiaru) e k = z k − H k xˆ k | k −1 S k = H k Pk | k −1HTk + R k (aktualizacja kowariancji błędu pomiaru) K k = Pk | k −1HTk S k−1 (macierz wzmocnienia optymalnego) xˆ k | k = xˆ k | k −1 + K k e k (aktualizacja estymacji stanu) Pk | k = (I − K k H k )Pk | k −1 (aktualizacja kowariancji błędu stanu) © F.A. Dul 2014 15.4. Filtracja Kalmana Przykład Zastosowanie filtracji Kalmana do śledzenia ruchu obiektu w płaszczyźnie X-Y. Stan obiektu - X(t) = [ X, Y, VX,VY ]T . Filtracja Filtracja Kalmana zapewnia poprawne śledzenie ruchu. Wariancja błędów pomiaru szybko się stabilizuje. Wygładzanie Filtracja Kalmana zapewnia wygładzenie toru i znaczną redukcję wariancji błędów pomiaru. © F.A. Dul 2014 15.4. Filtracja Kalmana Zastosowania filtracji Kalmana • • • • • • • • • • • • • • • • Nawigacja kosmiczna, lotnicza, lądowa i morska. Systemy nawigacji satelitarnej. Systemy naprowadzania bezwładnościowego. Systemy autopilotów. Układy śledzenia radarowego i sonarowego. Wyznaczanie trajektorii cząstek elementarnych. Numeryczne prognozowanie pogody. Modelowanie cyrkulacji oceanów i atmosfery na podstawie obrazów satelitarnych. Rozpoznawanie obrazów. Równoczesna lokalizacja i tworzenie mapy (eksploracja przez roboty nieznanego środowiska). Sterowanie procesami produkcyjnymi. Nadzór elektrowni atomowych. Modelowanie demografii. Uczenie w logice rozmytej i sieciach neuronowych. Ekonomia, w szczególności makroekonomia, ekonometria. ... © F.A. Dul 2014 15.4. Filtracja Kalmana Ograniczenia klasycznej filtracji Kalmana Mimo swoich niezaprzeczalnych zalet klasyczny filtr Kalmana ma dwa poważne ograniczenia: • model obiektu musi być liniowy, • błędy modelu i pomiarów muszą mieć rozkład normalny Gaussa. Rozszerzony filtr Kalmana (extended Kalman filter) pozwala analizować modele nieliniowe o ile nieliniowości nie są zbyt silne. Ograniczenia filtracji Kalmana można ominąć stosując bardziej ogólne dynamiczne sieci Bayesa. © F.A. Dul 2014 15.5. Dynamiczne sieci Bayesa Dynamiczna sieć Bayesa (dynamic Bayesian network, DBN) służy do reprezentacji dowolnych dynamicznych modeli probabilistycznych. Każdy ukryty model Markowa może być reprezentowany przez dynamiczną sieć Bayesa. Każdy filtr Kalmana może być reprezentowany przez dynamiczną sieć Bayesa, ale nie na odwrót. Dynamczne sieci Bayesa Filtr Kalmana Ukryte modele Markowa Dynamiczna sieć Bayesa może reprezentować zmienne losowe z wieloma maksimami lokalnymi, czego nie można osiągnąć przy pomocy rozkładu Gaussa. © F.A. Dul 2014 15.5. Dynamiczne sieci Bayesa Przykłady dynamicznych sieci Bayesa Do budowy DBN potrzebne są: • rozkład prawdopodobieństwa Bateria0 początkowego zmiennej stanu P(X0), V0 • model przejścia P(Xt | Xt-1), • model obserwacji P(Et | Xt), X0 • topologia sieci. DBN dla ruchu robota w płaszczyźnie X-Y Strażnik tajnych instalacji ukrytych pod ziemią może wnioskować o pogodzie wyłącznie na podstawie obserwacji czy szef przychodzi rano z parasolem, czy też nie. MiernikB1 Bateria1 V1 X1 Z1 Deszcz0 DBN dla zadania wnioskowania o pogodzie Deszcz1 R0 P(U0 ) t 0.70 Rt P(Ut ) t 0.90 f 0.20 Parasol1 © F.A. Dul 2014 15.5. Dynamiczne sieci Bayesa Wnioskowane ścisłe w dynamicznych sieciach Bayesa Wnioskowanie w DBN prowadzi się poprzez rozwinięcie sieci P(R0 ) 0.70 Deszcz0 R-0 P(R0 ) t 0.70 f 0.30 R-0 P(R0 ) t 0.70 f 0.30 R-0 P(R0 ) t 0.70 f 0.30 Deszcz2 Deszcz1 R1 P(U ) t 0.90 f 0.20 R1 P(U ) t 0.90 f 0.20 Parasol1 R1 P(U ) t 0.90 f 0.20 1 1 Parasol2 ... Deszcz3 1 Parasol3 Rozwinięta DBN umożliwia reprezentowanie w zwięzły sposób nawet bardzo złożonych procesów. Wnioskowanie ścisłe w sieci rozwiniętej jest jednak bardzo kosztowne, co praktycznie uniemożliwia użycie metod stosowanych w zwykłych sieciach Bayesa. Do wnioskowania przybliżonego służą algorytmy filtrowania cząstkowego używające zbioru próbek X0(i), i = 1,...N. Przy wystarczającej liczbie N próbek wnioskowanie przybliżone prowadzi do wyników ścisłych, N(xt|e1:t)/N = P(xt|e1:t). © F.A. Dul 2014 15.6. Rozpoznawanie mowy Rozpoznawanie mowy pozwala komputerowi wyposażonemu w urządzenie rejestracji dźwięku interpretować mowę ludzką. Rozpoznawanie mowy pełni ważną rolę w wielu dziedzinach: • interakcja człowieka z systemami komputerowymi, • sterowanie pojazdami – samochodami, samolotami, statkami kosmicznymi,... • obsługa urządzeń gospodarstwa domowego, • automatyczne notowanie. Rozpoznawanie mowy polega na identyfikacji ciągu słów wypowiedzianych przez mówcę na podstawie zarejestrowanego sygnału akustycznego. Następnym, dużo trudniejszym krokiem, jest zrozumienie wypowiedzi. © F.A. Dul 2014 15.6. Rozpoznawanie mowy Mowa naturalna jest bardzo trudna do analizy, gdyż: • ten sam mówca może różnie wypowiadać to samo słowo, • różne słowa mogą brzmieć podobnie, • różni mówcy mogą wymawiać słowo w różny sposób, • tempo, intonacja i głośność mogą zmieniać się nawet w tej samej wypowiedzi, • gdy mówi wiele osób pojawiają się interferencje słów, • w płynnej wypowiedzi słowa zlewają się, • mowa może być zaszumiona, zniekształcona. Rozpoznawanie mowy jest więc zadaniem wnioskowania probabilistycznego. © F.A. Dul 2014 15.6. Rozpoznawanie mowy Sformułowanie probabilistyczne zadania rozpoznawania mowy Ciąg sygnałów akustycznych należy przypisać słowom a następnie wypowiedziom. Words – zmienna losowa opisująca wszystkie możliwe słowa. signal – zarejestrowany ciąg sygnałów akustycznych. Najbardziej prawdopodobną interpretacją słów jest wartość zmiennej Words maksymalizująca P(Words|signal). words _ max_ prob = arg max P (Words | signal ) Z reguły Bayesa P (Words | signal ) = α P (signal | Words ) P (Words ) P(Signal|Words) P(Words) określa model akustyczny opisujący brzmienie zarejestrowanych słów. określa model języka – prawdopodobieństwo każdej wypowiedzi złożonej ze słów. © F.A. Dul 2014 15.6. Rozpoznawanie mowy Fonem (phoneme) jest najmniejszą jednostką mowy rozróżnianą przez użytkowników danego języka. Alfabet języka liczy zwykle 40-50 fonemów, np. International Phonetic Alphabet (IPA), czy ARPAbet (American English): [t] – ten, [ow] – boat, [m] – met, [aa] – cot, ... Słowo „tomato” ma reprezentację fonetyczną [t ow m aa t ow ]. Rejestracja sygnałów analogowych, próbkowanie, ramki. Sygnał analogowy Sygnał próbkowany dyskretny Ramki z własnościami Ramki reprezentują mowę opisując własności sygnału w małych przedziałach czasu (~50-100 próbek): energię dźwięku, formant (barwa dźwieku), itp. Słowo jest określone rozkładem prawdopodobieństwa P(X1:t | word ) w którym Xi jest fonemem w i-tej ramce. © F.A. Dul 2014 15.6. Rozpoznawanie mowy Model słowa - rozkład prawdopodobieństwa dla słowa określony jest przez model wymowy oraz model fonemu. Model wymowy określa rozkład prawdopodobieństwa dla słowa względem fonemów. Słowo może mieć kilka modeli wymowy, np. słowo „tomato”: P( [t ow m ey t ow] |”tomato” ) = P( [t ow m aa t ow] |”tomato” ) = P( [t ah m ey t ow] |”tomato” ) = P([t ah m aa t ow] |”tomato” ) = 0.1 0.1 0.4 0.4 Model fonemów określa fonemy jako odwzorowanie sygnałów akustycznych na ramki poprzez prawdopodobieństwo wystąpienia w sygnale własności Et jeżeli wypowiedziany został fonem Xt , P(Features|Phone) = P(Et |Xt ). Przykład tzw. modelu trójstanowego dla fonemu [m] Modele stanów Onset, Mid i End określające realizację akustyczną fonemu poprzez prawdopodobieństwa trwania stanów (pętle). © F.A. Dul 2014 15.6. Rozpoznawanie mowy Model słowa w połączeniu z modelem fonemu określa wiarygodność słowa izolowanego, P(word | e1:t ) = α P(e1:t | word ) P(word ) Prawdopodobieństwo a priori P(word ) wyznacza się zliczając częstość występowania słowa. Dialog wymaga zrozumienia wypowiedzi ciągłej. Wypowiedź ciągła nie jest jednak prostą sumą ciągu słów – sekwencja najbardziej prawdopodobnych słów nie jest najbardziej prawdopodobną sekwencją słów. Zrozumienie ciągłej wypowiedzi wymaga segmentacji – właściwego podziału łańcucha wypowiedzi na słowa. Model języka określa prawdopodobieństwo łańcucha jako ciągu kolejnych słów (przybliżenie bigram dla dwóch słów) n P (w1...wn ) = P (w1 ) P (w2 | w1 ) ... P (wn | w1...wn −1 ) ≈ ∏i =1 P (wi | wi −1 ) Modele języka określają prawdopodobieństwa wystąpienia ciągu słów, np: P(”It is”) = 0.96, P(”It this”) = 0.001. Prawdopodobieństwa modelu bigram mogą być wyznaczone poprzez zliczanie wystąpień w dużym zbiorze wypowiedzi. © F.A. Dul 2014 15.6. Rozpoznawanie mowy Model wypowiedzi ma postać ukrytego modelu Markowa: Model wypowiedzi Model języka Ramki Własności Model słów Model fonemów Model trójstanowy Model wymowy Model trójfonemowy © F.A. Dul 2014 15.6. Rozpoznawanie mowy Budowa systemów rozpoznawania mowy Jakość systemów rozpoznawania mowy zależy od jakości wszystkich elementów: - modelu języka, - modeli wymowy słów, - modeli fonemów, - algorytmów przetwarzania sygnałów mowy oraz - obszerności słowników wymowy słów. Rozkłady prawdopodobieństw mogą zawierać nawet miliony parametrów definiujących modele sygnałów. Najlepsze rezultaty osiąga się poprzez uczenie modelu. Uczenie polega na dostrajaniu parametrów na podstawie dużej – często ogromnej – liczby wypowiedzi. © F.A. Dul 2014 15.6. Rozpoznawanie mowy Systemy rozpoznawania mowy, rozwijane intensywnie zwłaszcza w ostatniej dekadzie, nie osiągnęły jednak jeszcze zadowalającej skuteczności. Niezawodność systemów rozpoznawania mowy zależy od warunków akustycznych i sposobu wypowiedzi. Wypowiedź jednej osoby, złożona z pojedyńczych słów z niewielkiego słownika, odbywająca się w dobrych warunkach akustycznych, bez dużych zakłóceń, rozpoznawana jest z dokładnością 95-99%. W przypadku dowolnych wypowiedzi wielu osób typowa dokładność rozpoznania wynosi 60-80%, nawet w dobrych warunkach akustycznych. Gdy warunki akustyczne są złe, dokładność jest mniejsza. Niektóre systemy rozpoznawania mowy: • w medycznych systemach diagnostycznych, • w pakiecie Microsft Office, • w telefonii komórkowej, bankowości, itp., • w lotnictwie wojskowym. © F.A. Dul 2014 15.6. Rozpoznawanie mowy Zastosowanie w lotnictwie wojskowym W samolotach myśliwskich (F-16 VISTA, Mirage, Eurofighter Typhoon…) systemy rozpoznawania mowy służą do: • • • • wyboru częstości radiowych i obsługi wyświetlaczy, obsługi systemów FCS i autopilota, trymowania sterów, definiowania parametrów użycia broni. Systemy takie używają ograniczonych słowników z niewielkim zasobem specjalistycznych słów. Najważniejszym wymaganiem dla takich systemów jest osiągnięcie dokładności rozpoznawania wypowiedzi większej niż 95% - w przeciwnym razie piloci nie chcą ich używać. Ustalono, że: • duże przeciążenia (G-force) mają istotny wpływ na dokładność rozpoznawania, • ważne jest uwzględnienie modelu oddychania, • wbrew przewidywaniom, użycie słabego angielskiego nie wpływa znacząco na dokładność rozpoznania mowy. Systemy te pozwalają znacznie zredukować wysiłek pilota, ale nie są jeszcze w pełni dopracowane. © F.A. Dul 2014 Podsumowanie • Zmiany stanu świata w czasie mogą być opisane zmiennymi losowymi zależnymi od czasu. • Modele procesów Markowa pozwalają zwięźle modelować stacjonarne procesy stochastyczne. • Stochastyczny model dynamiczny składa się z modelu przejścia i modelu obserwacji. • Głównymi zadaniami wnioskowania stochastycznego w czasie są: filtracja, predykcja, wygładzanie oraz wyznaczanie najbardziej wiarygodnego wyjaśnienia. • Podstawowymi modelami dynamicznymi są sieci Bayesa oraz ich szczególne przypadki: ukryte modele Markowa oraz filtr Kalmana. • Filtr Kalmana stanowi podstawowe narzędzie wnioskowania stochastycznego dla układów dynamicznych. • Zastosowanie Filtrów Kalmana jest bardzo szerokie: nawigacja, sterowanie, uczenie, rozpoznawanie obrazów,… • Ważnym zadaniem wnioskowania stochastycznego jest rozpoznawanie mowy. © F.A. Dul 2014