• Nie Znaleziono Wyników

Rozdział 5. Uczenie ortogonalnych sieci neuronowych,

6.2. Znaczenie kontekstu w modelowaniu

W wielu praktycznych zastosowaniach maszyn uczących spotykamy się z ko-niecznością modelowania zjawisk i zależności o złożonym charakterze. Zjawiska te, lub np. rozpoznawane obiekty, opisywane są za pomocą pewnego zestawu

zmiennych, zwanych cechami. Działanie maszyny uczącej możemy rozumieć jako odwzorowanie zbioru cech obiektu w pewną zmienną wyjściową. Zakładamy, że zmienna wyjściowa może być zarówno dyskretna, jak i ciągła. W zależności od jej charakteru, rodzaj zadania wykonywanego przez maszynę uczącą określamy jako decyzyjny (klasyfikacja) lub funkcyjny (regresja, predykcja).

Często mamy do czynienia z sytuacją, gdy modelowane przez nas odwzoro-wanie podstawowych cech obiektu w zmienną wyjściową zmienia się w zależności od pewnych czynników zewnętrznych, czyli od zmiennych innych niż te bezpo-średnio przetwarzane przez maszynę uczącą. Mogą one określać np. bieżący stan rozpoznawanego obiektu czy środowiska, w którym on się znajduje. Właśnie takie wielkości – zmienne towarzyszące – będziemy nazywali kontekstem.

Mówiąc bardziej formalnie, przez kontekst rozumiemy cechy badanego obiek-tu, nie przetwarzane bezpośrednio przez maszynę uczącą, lecz mające wpływ na postać realizowanego przez nią odwzorowania. Z dotychczasowych rozważań wynika już, że zmienne podstawowe są niezbędne do rozwiązania danego proble-mu – działanie maszyny uczącej przetwarzającej tylko cechy podstawowe będzie zadowalające. Natomiast zmienne kontekstowe mają jedynie charakter pomoc-niczy – nie można prawidłowo wykonać zadania wykorzystując tylko zmienne kontekstowe, można natomiast z ich pomocą polepszyć działanie maszyny uczą-cej przetwarzająuczą-cej zmienne podstawowe. Znaczenie cech kontekstowych jest przy tym tak istotne, że zmieniają one sposób przetwarzania cech podstawowych.

Argumentem przemawiającym za koniecznością podziału zmiennych na pod-stawowe i kontekstowe jest również fakt, że zmienne kontekstowe często mają zupełnie inne znaczenie niż zmienne podstawowe. Na przykład, w pewnych zasto-sowaniach zmiennymi podstawowymi mogą być cechy obiektów rozpoznanych na obrazie z kamery przemysłowej, natomiast zmienną kontekstową – jasność obrazu oznaczająca porę dnia bądź zmienna ciągła, której wartość bezpośrednio oznacza porę dnia. W innym przypadku zmiennymi podstawowymi będą kolejne próbki sygnału EKG pacjenta, zmienną kontekstową zaś – jego wiek. Również z powodu tej odmienności znaczeń nie powinniśmy tak po prostu dodawać zmiennych kon-tekstowych do zmiennych podstawowych. Należy raczej modelowaną za pomocą maszyny uczącej zależność (żądanego wyjścia maszyny uczącej od podanych na wejście cech podstawowych) uczynić funkcją cech kontekstowych.

Intuicyjnie nasuwającą się dziedziną zastosowań dla modelowania konteks-towego jest wspomaganie podejmowania decyzji medycznych. Nie mamy tu przy tym na myśli systemów decyzyjnych wyższego poziomu, często złożonych z pod-systemów analizujących różnego rodzaju informacje o stanie pacjenta, podejmują-cych złożone decyzje dotyczące stanu zdrowia czy sugerująpodejmują-cych zalecaną terapię. Modelowanie kontekstowe, o którym mowa w niniejszym rozdziale, zachodzi na

wejscia podstawowe sygnał EKG wejścia danych o pacjencie wyjście

Rysunek 6.1. Model sieci użytej w [13]

niższym poziomie – przetwarzania konkretnych sygnałów pomiarowych czy kla-syfikacji obrazów i wzorców. Może więc znaleźć zastosowanie w specjalizowanych częściach wspomnianych większych systemów decyzyjnych.

Za przykład maszyny uczącej działającej w sposób kontekstowy niech posłuży sieć neuronowa, opisana w [13], analizująca przebieg czasowy sygnału EKG, czyli ciąg próbek sygnału w czasie (poddany pewnej wstępnej obróbce) i na jego pod-stawie sugerująca lekarzowi decyzję o normalnym lub chorobowym charakterze tego sygnału. Jej schemat przedstawiono na rysunku 6.1. Danymi podstawowymi są w tym przypadku kolejne próbki sygnału EKG. Lekarz, którego sposób po-stępowania próbuje naśladować taka sieć, jest w stanie podjąć decyzję o stanie zdrowia pacjenta tylko na podstawie sygnału EKG, nie mając żadnych dodat-kowych informacji. Naturalne jest jednak, że wzorce sygnałów normalnych oraz chorobowych różnią się w zależności od pewnych czynników, np. od wieku pacjen-ta. Lekarz podświadomie używa tej informacji podczas podejmowania decyzji – w zależności od niej zwraca uwagę na różne szczegóły sygnału EKG. Może na przykład pewne zmiany uznać za dopuszczalne u starszego pacjenta, niepokojące zaś u młodszego. Wiek nie jest zmienną podstawową, gdyż nie można podjąć decyzji o stanie pacjenta jedynie na podstawie jego wieku. Jest to zmienna po-mocnicza, której użycie udoskonala decyzję podjętą tylko na podstawie analizy sygnału EKG. Widać przy tym, że z racji odrębnego charakteru wartości zmiennej

wiek nie powinny być przetwarzane w taki sam sposób, jak wartości kolejnych

próbek sygnału EKG. Powinny natomiast w bardziej ogólnym sensie wpływać na sposób przetwarzania próbek sygnału EKG przez sieć.

Jedną z pierwszych prac, w których zwrócono uwagę na możliwość konteks-towego podejścia do tego problemu, była [13]. Użyto w niej sieci neuronowych do klasyfikacji sygnałów EKG w sposób opisany wcześniej. Jak zauważają autorzy, jednym z czynników utrudniających ciągłe monitorowanie tych sygnałów jest nie tylko ich zmienność morfologiczna pomiędzy pacjentami, lecz także zmienność sygnałów w czasie u tego samego pacjenta. Zaproponowany system składał się z neuronowego klasyfikatora sygnałów EKG oraz modułu pacjenta. Sieć neurono-wa działała tylko na próbkach sygnału EKG, nie biorąc pod uneurono-wagę kontekstowych danych o pacjencie, natomiast moduł pacjenta służył jako dodatkowe wejścia mnożące, dostosowujące decyzję sieci do bieżącego stanu konkretnego pacjenta.

W niniejszym rozdziale przestawiono model sieci neuronowej o podobnych założeniach, lecz inaczej modelowanej zależności wag prowadzących do wejść pod-stawowych sieci od kontekstu. Wagi te będą funkcyjnie zależne od wartości wejść kontekstowych. Przeanalizowano również proces kontekstowej klasyfikacji w sie-ciach tradycyjnych oraz kontekstowych.

Inną dziedziną zastosowań modelowania kontekstowego jest identyfikacja sys-temów oraz sterowanie. W tym przypadku motywacja do użycia kontekstowych sieci neuronowych wynika często nie z interpretacji znaczenia poszczególnych wejść systemu, lecz z charakteru modelowanych zależności matematycznych mię-dzy wejściami a wyjściami systemu. Takie podejście do problemu znajdziemy w przykładach sterowania ramieniem robota oraz modelowania tłumika drgań sejsmicznych, przedstawionych w [12] i [14].

Pierwszy z nich był bezpośrednim bodźcem do opracowania modeli konteks-towych sieci neuronowych przedstawionych w niniejszej pracy. Kontekstowy spo-sób rozwiązywania złożonych problemów sterowania wynika z wykorzystania stra-tegii dziel-i-rządź (ang. divide-and-conquer ), polegającej na podziale rozwiązy-wanego problemu na mniejsze podproblemy. W tym przypadku skomplikowana zależność wejście–wyjście modelowanego systemu dzielona jest na prostsze zależ-ności występujące w konkretnych kontekstach, w jakich może się znaleźć system. Pomimo że system uczący musi dodatkowo pamiętać przyporządkowanie podpro-blemów do konkretnych kontekstów, podejście to pozwala uprościć i przyspieszyć rozwiązywanie skomplikowanych zadań. W pracy [14] po raz pierwszy użyto po-jęcia context-sensitive networks, sieci neuronowych czułych na kontekst.

Wspomnianą metodę dziel i rządź zastosowano tu do wyznaczania kinematyki odwrotnej, czyli przekształcania prędkości końcówki ramienia robota we współ-rzędnych kartezjańskich na prędkości kątowe jego ramion. Zależność prędkości ką-towych od prędkości liniowych jest ściśle zależna od bieżącego położenia ramienia robota. Ta dwustopniowa zależność znalazła dokładne odzwierciedlenie w użytym modelu sieci neuronowych. Składał się on z dwóch sieci neuronowych: funkcyjnej

... ...

...

...

...

wyjścia (wagi sieci funkcyjnej)

wejścia (kąty ramion robota)

sie ć kontekstowa wyjścia (prędkości kątowe ramion) wejścia (prędkość końcówki ramienia we wsp. kartezjańskich) sieć funkcyjna

Rysunek 6.2. Model sieci użytej w [14]

oraz kontekstowej. Pierwsza z nich uczy się zależności prędkości kątowych od prędkości liniowych w danym kontekście, jakim jest aktualna pozycja ramienia robota. Druga sieć ustawia wagi pierwszej sieci w zależności od kontekstu.

W tym rozdziale pokażemy, że zaproponowany przez nas model kontekstowych sieci neuronowych pozwoli zintegrować modelowanie podobnych dwuetapowych zależności w jednej sieci: zależność wyjść sieci od wejść – za pomocą wag oraz za-leżność samych wag od kontekstu – za pomocą funkcji bazowych i odpowiadających im współczynników.

6.3. Przetwarzanie intensywnych strumieni danych przez sieci

Powiązane dokumenty