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

Podobne dokumenty