POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHANICZNY ENERGETYKI I LOTNICTWA MEL WPROWADZENIE DO SZTUCZNEJ INTELIGENCJI NS 586 Dr inż. Franciszek Dul
15. WNIOSKOWANIE PROBABILISTYCZNE EWOLUCYJNE
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ść.
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: X t zmienne stanu, nieobserwowane, E t zmienne obserwowanle (evidence variables). Zbiór wartości E t = e t 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 m X i wariancja W X nie zależą od czasu. x(t) t W X = const m X = 0
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 X t-2 X t-1 X t X t+1 X t+2 Sieć Bayesa dla procesu Markowa drugiego rzędu X t-2 X t-1 X t X t+1 X t+2 Prawdopodobieństwo warunkowe dla łańcucha Markowa pierwszego rzędu t P( Xt X0: t 1) = P( Xt Xt 1) Ewolucja stanu w procesie Markowa jest opisana całkowicie rozkładem warunkowym P(X t X t-1 ), który jest nazywany modelem przejścia.
15.1. Niepewność i czas Założenie dla procesu Markowa: zmienne obserwowalne E t zależą tylko od stanu bieżącego X t P E X, E ) = P( E X ) ( t 0: t 0: t 1 t t Rozkład warunkowy P(E t X t ) 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, t 0, X1,..., Xt, E0, E1,..., Et ) = P( Xi Xi 1) P( Ei i ) i= 1 P( X X 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 X t. T ij = t t = P( X = j X 1 i) O ii = t t = P( e X i)
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(X t e 1:t ). Predykcja (prognozowanie) Wyznaczenie rozkładu a posteriori stanu przyszłego na podstawie wszystkich obserwacji do chwili bieżącej, P(X t+k e 1:t ), k > 0. Wygładzanie Wyznaczenie rozkładu a posteriori stanu przeszłego na podstawie wszystkich obserwacji do chwili bieżącej, P(X k e 1:t ), 1 k < t. Najbardziej wiarygodne wyjaśnienie Wyznaczenie stanów najbardziej wiarygodnie generujących dane obserwacje, m : t = arg max x P( x1: t e1 : ). t 1 1: t
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).
15.4. Filtracja Kalmana Sieć Bayesa dla filtru Kalmana Część widoczna: obserwacje Z(t), sterowanie U(t). t - t (k 1) Z( t t) U(t) t (k) Z(t) t + t (k+1) Część ukryta: stan X(t), zakłócenia stanu n(q t ), zakłócenia obserwacji w(r t ). H B H F X ( t t) X(t ) X & ( t t) X & (t) w( Rt n( Qt ) ) Modele układu i obserwacji mają postać x ( t) = Fx( t t) + n( Qt ) z t) = Hx( t) + w( R ) ( t + Bu(t)
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 ˆ + B k k = Fk xˆ 1 k 1 k 1 P F + Q k k 1 = Fk Pk 1 k 1 T k k u k k (predykcja stanu) (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. e z H xˆ (aktualizacja błędu pomiaru) k S H + K P k k = k k k k 1 = HkPk k 1 x ˆ + k k = xˆ k k 1 K T k T 1 = Pk k 1H ksk R k k = ( I K khk ) Pk k 1 k e k k (aktualizacja kowariancji błędu pomiaru) (macierz wzmocnienia optymalnego) (aktualizacja estymacji stanu) (aktualizacja kowariancji błędu stanu)
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, V X,V Y ] 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.
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....
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.
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.
15.5. Dynamiczne sieci Bayesa Przykłady dynamicznych sieci Bayesa Do budowy DBN potrzebne są: rozkład prawdopodobieństwa początkowego zmiennej stanu P(X 0 ), model przejścia P(X t X t-1 ), model obserwacji P(E t X t ), 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. Bateria 0 DBN dla zadania wnioskowania o pogodzie MiernikB 1 Bateria 1 V 0 V 1 X 0 X 1 Z 1 Deszcz 0 Deszcz 1 Rt P(Ut ) R 0 P(U 0 ) t 0.70 t f Parasol 1 0.90 0.20
15.5. Dynamiczne sieci Bayesa Wnioskowane ścisłe w dynamicznych sieciach Bayesa Wnioskowanie w DBN prowadzi się poprzez rozwinięcie sieci P(R 0 ) 0.70 Deszcz 0 R -0 P(R0 ) t 0.70 f 0.30 Deszcz 1 R -0 P(R0 ) t f 0.70 0.30 Deszcz 2 R -0 P(R0 ) t f 0.70 0.30 Deszcz 3... R 1 P(U 1 ) t 0.90 f 0.20 R 1 P(U 1 ) t 0.90 f 0.20 R 1 P(U 1 ) t 0.90 f 0.20 Parasol 1 Parasol 2 Parasol 3 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 X 0 (i), i = 1,...N. Przy wystarczającej liczbie N próbek wnioskowanie przybliżone prowadzi do wyników ścisłych, N(x t e 1:t )/N = P(x t e 1:t ).
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.
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.
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) określa model akustyczny opisujący brzmienie zarejestrowanych słów. P(Words) określa model języka prawdopodobieństwo każdej wypowiedzi złożonej ze słów.
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(X 1:t word ) w którym X i jest fonemem w i-tej ramce.
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 ) = 0.1 P( [t ow m aa t ow] tomato ) = 0.1 P( [t ah m ey t ow] tomato ) = 0.4 P([t ah m aa t ow] tomato ) = 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 E t jeżeli wypowiedziany został fonem X t, P(Features Phone) = P(E t X t ). 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).
15.6. Rozpoznawanie mowy Model słowa w połączeniu z modelem fonemu określa wiarygodność słowa izolowanego, P(word e 1:t ) = α P(e 1: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) P( w1... wn ) = P( w1 ) P( w2 w1 )... P( wn w1... wn 1) = P ( w w i i 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. n i 1 1 )
15.6. Rozpoznawanie mowy Model wypowiedzi ma postać ukrytego modelu Markowa: Model wypowiedzi Model języka Model słów Ramki Własności Model fonemów Model wymowy Model trójstanowy Model trójfonemowy
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.
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.
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.
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.