Rozprawa doktorska ZASTOSOWANIE SIECI NEURONOWYCH DO PROGNOZOWANIA DEFORMACJI GÓRNICZYCH. Wojciech Gruszczyński

Podobne dokumenty
tylko nieliniowe, ale wręcz wielowartościowe funkcje. Narzędzie to daje więc olbrzymie możliwości. Dotychczas sztuczne sieci neuronowe skutecznie

PROGNOZOWANIE OSIADAŃ POWIERZCHNI TERENU PRZY UŻYCIU SIECI NEURONOWYCH**

IMPLEMENTACJA SIECI NEURONOWYCH MLP Z WALIDACJĄ KRZYŻOWĄ

Podstawy Sztucznej Inteligencji (PSZT)

Sztuczna Inteligencja Tematy projektów Sieci Neuronowe

Algorytm wstecznej propagacji błędów dla sieci RBF Michał Bereta

Temat: Sztuczne Sieci Neuronowe. Instrukcja do ćwiczeń przedmiotu INŻYNIERIA WIEDZY I SYSTEMY EKSPERTOWE

1. Historia 2. Podstawy neurobiologii 3. Definicje i inne kłamstwa 4. Sztuczny neuron i zasady działania SSN. Agenda

Zastosowania sieci neuronowych

Optymalizacja ciągła

Projekt Sieci neuronowe

Aproksymacja funkcji a regresja symboliczna

Metody Sztucznej Inteligencji II

Sztuczne sieci neuronowe

wiedzy Sieci neuronowe

SIECI RBF (RADIAL BASIS FUNCTIONS)

PRÓBA ZASTOSOWANIA SIECI NEURONOWYCH DO PROGNOZOWANIA OSIADAŃ POWIERZCHNI TERENU POWSTAŁYCH NA SKUTEK EKSPLOATACJI GÓRNICZEJ**

w analizie wyników badań eksperymentalnych, w problemach modelowania zjawisk fizycznych, w analizie obserwacji statystycznych.

1. Wstęp. 2. Sformułowanie problemu

Wstęp do sieci neuronowych, wykład 03 Warstwy RBF, jednostka Adaline.

SYSTEMY UCZĄCE SIĘ WYKŁAD 10. PRZEKSZTAŁCANIE ATRYBUTÓW. Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska.

Uczenie sieci typu MLP

Spis treści. Przedmowa... XI. Rozdział 1. Pomiar: jednostki miar Rozdział 2. Pomiar: liczby i obliczenia liczbowe... 16

Sztuczne Sieci Neuronowe. Wiktor Tracz Katedra Urządzania Lasu, Geomatyki i Ekonomiki Leśnictwa, Wydział Leśny SGGW

Sieć przesyłająca żetony CP (counter propagation)

Inteligentne systemy decyzyjne: Uczenie maszynowe sztuczne sieci neuronowe

Elementy inteligencji obliczeniowej

Wprowadzenie do analizy korelacji i regresji

Prognozowanie deformacji za pomocą sieci neuronowych dla niecek w stanie aspymptotycznym

Modelowanie jako sposób opisu rzeczywistości. Katedra Mikroelektroniki i Technik Informatycznych Politechnika Łódzka

Sztuczne sieci neuronowe

Sieci neuronowe w Statistica. Agnieszka Nowak - Brzezioska

Prognozowanie kierunku ruchu indeksów giełdowych na podstawie danych historycznych.

Systemy uczące się Lab 4

Uczenie sieci radialnych (RBF)

Zagadnienia optymalizacji i aproksymacji. Sieci neuronowe.

Wstęp do teorii sztucznej inteligencji Wykład III. Modele sieci neuronowych.

Podstawy sztucznej inteligencji

Wstęp do sztucznych sieci neuronowych

Definicja perceptronu wielowarstwowego

Rozpoznawanie obrazów

Sieci neuronowe w Statistica

S O M SELF-ORGANIZING MAPS. Przemysław Szczepańczyk Łukasz Myszor

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

Literatura. Sztuczne sieci neuronowe. Przepływ informacji w systemie nerwowym. Budowa i działanie mózgu

Rozdział 2: Metoda największej wiarygodności i nieliniowa metoda najmniejszych kwadratów

Temat: Sieci neuronowe oraz technologia CUDA

8. Neuron z ciągłą funkcją aktywacji.

Analiza składowych głównych. Wprowadzenie

WYKORZYSTANIE SIECI NEURONOWEJ DO BADANIA WPŁYWU WYDOBYCIA NA SEJSMICZNOŚĆ W KOPALNIACH WĘGLA KAMIENNEGO. Stanisław Kowalik (Poland, Gliwice)

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

Algorytmy decyzyjne będące alternatywą dla sieci neuronowych

ZACHODNIOPOMORSKI UNIWERSYTET TECHNOLOGICZNY W SZCZECINIE

ALGORYTMY SZTUCZNEJ INTELIGENCJI

Przykładowe funkcje przejścia używane przy budowie sztucznych neuronów

Wstęp do teorii sztucznej inteligencji Wykład II. Uczenie sztucznych neuronów.

Uczenie sieci neuronowych i bayesowskich

HAŁASU Z UWZGLĘDNIENIEM ZJAWISK O CHARAKTERZE NIELINIOWYM

Metody sztucznej inteligencji Zadanie 3: (1) klasteryzacja samoorganizująca się mapa Kohonena, (2) aproksymacja sieć RBF.

Techniki Optymalizacji: Stochastyczny spadek wzdłuż gradientu I

Budowa sztucznych sieci neuronowych do prognozowania. Przykład jednostek uczestnictwa otwartego funduszu inwestycyjnego

Elementy modelowania matematycznego

Metody systemowe i decyzyjne w informatyce

Ćwiczenia nr 7. TEMATYKA: Krzywe Bézier a

Inteligentna analiza danych

Inteligentne systemy przeciw atakom sieciowym

Obrona rozprawy doktorskiej Neuro-genetyczny system komputerowy do prognozowania zmiany indeksu giełdowego

SZTUCZNA INTELIGENCJA

Wstęp do sieci neuronowych, wykład 9 Sieci rekurencyjne. Autoasocjator Hopfielda

HISTOGRAM. Dr Adam Michczyński - METODY ANALIZY DANYCH POMIAROWYCH Liczba pomiarów - n. Liczba pomiarów - n k 0.5 N = N =

Sieci obliczeniowe poprawny dobór i modelowanie

SIECI REKURENCYJNE SIECI HOPFIELDA

SIECI NEURONOWE Liniowe i nieliniowe sieci neuronowe

Lekcja 5: Sieć Kohonena i sieć ART

Regresja wieloraka Ogólny problem obliczeniowy: dopasowanie linii prostej do zbioru punktów. Najprostszy przypadek - jedna zmienna zależna i jedna

I EKSPLORACJA DANYCH

Sztuczne sieci neuronowe (SNN)

wiedzy Sieci neuronowe (c.d.)

WYKŁAD 9 METODY ZMIENNEJ METRYKI

Rozdział 1 Sztuczne sieci neuronowe. Materiały do zajęć dydaktycznych - na podstawie dokumentacji programu Matlab opracował Dariusz Grzesiak

Zmienne zależne i niezależne

WSKAZÓWKI DO WYKONANIA SPRAWOZDANIA Z WYRÓWNAWCZYCH ZAJĘĆ LABORATORYJNYCH

Zastosowanie sztucznych sieci neuronowych w prognozowaniu szeregów czasowych (prezentacja 2)

Modelowanie niezawodności prostych struktur sprzętowych

Statystyka w pracy badawczej nauczyciela Wykład 4: Analiza współzależności. dr inż. Walery Susłow walery.suslow@ie.tu.koszalin.pl

Sztuczne siei neuronowe - wprowadzenie

Sztuczne sieci neuronowe i sztuczna immunologia jako klasyfikatory danych. Dariusz Badura Letnia Szkoła Instytutu Matematyki 2010

Wymagania edukacyjne z matematyki w klasie III gimnazjum

7. CIĄGI. WYKŁAD 5. Przykłady :

synaptycznych wszystko to waży 1.5 kg i zajmuje objętość około 1.5 litra. A zużywa mniej energii niż lampka nocna.

Wykorzystanie metody przekrojów i jej wizualizacja dla celów w ochrony przeciwpowodziowej dolin rzecznych prof. dr hab. inż.. Andrzej Stateczny Akadem

OPTYMALIZACJA HARMONOGRAMOWANIA MONTAŻU SAMOCHODÓW Z ZASTOSOWANIEM PROGRAMOWANIA W LOGICE Z OGRANICZENIAMI

ROZKŁAD MATERIAŁU DO II KLASY LICEUM (ZAKRES ROZSZERZONY) A WYMAGANIA PODSTAWY PROGRAMOWEJ.

Sieci neuronowe do przetwarzania informacji / Stanisław Osowski. wyd. 3. Warszawa, Spis treści

Widzenie komputerowe

Najprostsze modele sieci z rekurencją. sieci Hopfielda; sieci uczone regułą Hebba; sieć Hamminga;

REPREZENTACJA LICZBY, BŁĘDY, ALGORYTMY W OBLICZENIACH

SZTUCZNA INTELIGENCJA

Uczenie się pojedynczego neuronu. Jeśli zastosowana zostanie funkcja bipolarna s y: y=-1 gdy z<0 y=1 gdy z>=0. Wówczas: W 1 x 1 + w 2 x 2 + = 0

Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Elektroniki

Transkrypt:

Akademia Górniczo-Hutnicza im. Stanisława Staszica Wydział Geodezji Górniczej i Inżynierii Środowiska Katedra Ochrony Terenów Górniczych, Geoinformatyki i Geodezji Górniczej Rozprawa doktorska ZASTOSOWANIE SIECI NEURONOWYCH DO PROGNOZOWANIA DEFORMACJI GÓRNICZYCH Wojciech Gruszczyński Promotor: Prof. dr hab. inż. Jacek Szewczyk Kraków 2007

Serdecznie dziękuję Panu Profesorowi Jackowi Szewczykowi za wszechstronną pomoc w trakcie realizacji i pisania niniejszej pracy

Spis treści 1 Wstęp 1 2 Sieci neuronowe - podstawowe pojęcia, zastosowania 5 2.1 Podstawowe pojęcia z zakresu techniki sieci neuronowych.... 5 2.2 Zastosowania sieci neuronowych do modelowania i prognozowania wskaźników deformacji........................ 28 3 Przegląd dotychczasowych metod prognozowania deformacji górniczych 34 3.1 Metoda Knothego.......................... 38 4 Aproksymacja obniżeń obliczonych modelem Knothego 45 5 Aproksymacja na podstawie wartości obniżeń obarczonych szumem 63 6 Modelowanie obserwowanych przebiegów wskaźników deformacji 79 6.1 Dane treningowe........................... 79 6.2 Modelowanie obniżeń, nachyleń i krzywizn............. 80 6.3 Modelowanie odkształceń...................... 83 6.4 Przykłady testowe - eksploatacja dwuwarstwowa............................ 85 6.5 Porównanie uzyskanego modelu z metodą Knothego.......................... 95 6.6 Podsumowanie wyników....................... 97 7 Wnioski 105 i

Spis rysunków 2.1 Schemat budowy neuronu naturalnego............... 6 2.2 Schemat budowy neuronu sztucznego................ 7 2.3 Przykładowe funkcje aktywacji sztucznych neuronów....... 9 2.4 Schemat budowy sieci typu feedforward.............. 10 2.5 Schemat sieci neuronowej jednowarstwowej............. 12 2.6 Schemat dwuwarstwowej sieci MLP................. 14 2.7 Schemat sieci typu RBF....................... 16 2.8 Schemat sieci typu GRNN...................... 17 3.1 Funkcja wpływów........................... 35 3.2 Linia profilu niecki jako krzywa całkowa z krzywej wpływów... 39 3.3 Parametr rozproszenia wpływów r i tzw. kąt zasięgu wpływów głównych............................... 40 3.4 Rozkład przemieszczeń i deformacji w brzeżnej części niecki według metody Knothego........................ 44 4.1 Schemat podziału na piskele kołowe................ 47 4.2 Schemat podziału na piskele kwadratowe.............. 48 4.3 Schemat rozmieszczenia punktów ponad polem eksploatacyjnym 51 4.4 Wykres zależności liczby składowych głównych przenoszących łącznie 90% zmienności zbioru danych od liczby pikseli........ 52 4.5 Wykres zależności % skumulowanej informacji od liczby uwzględnionych składowych głównych przy 400 pikselach......... 53 4.6 Wykres zależności błędu RMS na zbiorze testowym dla najlepszych sieci w zależności od rozdzielczości siatki pikseli...... 55 4.7 Wykres wartości bezwzględnych reszt w zależności od kąta skręcenia lokalnego układu współrzędnych............... 58 4.8 Wykres zależności wartości błędu RMS na zbiorze testowym od liczby wejść sieci, kształtu pikseli i typu atrybutu......... 60 4.9 Zestawienie rozkładów wartości bezwzględnych reszt dla różnych sposobów przetworzenia danych do sieci............... 62 5.1 Wzajemne ułożenie pól w dodatkowych zestawach danych dla atrybutu typu i 1........................... 65 5.2 Zależność pomiędzy błędami RMS i EGen. Dane pierwotne.... 71 5.3 Zależność pomiędzy błędami RMS i EGen. Dane uśrednione... 72 5.4 Skrajny przykład problemów mogących pojawić się przy zastosowaniu sieci MDN z kilkoma elementami mieszaniny........ 74 ii

5.5 Przykładowy rozkład wartości bezwględnej residuum dla pola numer 10................................. 77 5.6 Przykładowy rozkład modelowanego odchylenia standardowego dla pola numer 10.......................... 78 6.1 Schemat obliczania krzywizny dla odcinka dla którego wyznaczano odkształcenie........................... 85 6.2 Modelowana zależność odkształceń poziomych E [ wmax r ] od wartości ilorazu K r [ wmax r ]........................ 86 6.3 Modelowane obniżenia i nachylenia dla linii numer 12...... 89 6.4 Modelowane krzywizny i odkształcenia poziome dla linii numer 12 90 6.5 Modelowane obniżenia i nachylenia dla linii numer 13...... 91 6.6 Modelowane krzywizny i odkształcenia poziome dla linii numer 13 92 6.7 Modelowane obniżenia i nachylenia dla linii numer 14...... 93 6.8 Modelowane krzywizny i odkształcenia poziome dla linii numer 14 94 6.9 Porównanie obniżeń uzyskanych dla modelu wykorzystującego piksele kwadratowe z obliczonymi metodą Knothego....... 98 6.10 Porównanie nachyleń uzyskanych dla modelu wykorzystującego piksele kwadratowe z obliczonymi metodą Knothego....... 99 6.11 Porównanie krzywizn uzyskanych dla modelu wykorzystującego piksele kwadratowe z obliczonymi metodą Knothego....... 100 6.12 Porównanie odkształceń poziomych uzyskanych dla komitetu sieci MLP z obliczonymi metodą Knothego dla r = 100m....... 101 6.13 Porównanie odkształceń poziomych uzyskanych dla sieci MDN z obliczonymi metodą Knothego dla r = 300m........... 102 iii

Spis tabel 4.1 Zestawienie informacji o polach eksploatacyjnych wykorzystanych w symulacjach............................ 50 4.2 Zestawienie wyników aproksymacji dla pola numer 10, przy zastosowaniu różnych siatek pikseli i sposobów przetworzenia atrybutów typu i 2............................. 57 4.3 Zestawienie wyników aproksymacji dla pól testowych, przy zastosowaniu siatek pikseli w najwyższych testowanych rozdzielczościach dla obu typów atrybutów................... 61 5.1 Zestawienie informacji o dodatkowych polach eksploatacyjnych wykorzystanych w symulacjach dla atrybutu typu i 1....... 64 5.2 Zestawienie średnich wyników aproksymacji dla zbioru testowego dla sieci liniowych.......................... 67 5.3 Zestawienie średnich wyników aproksymacji dla zbioru testowego dla sieci MLP............................. 69 5.4 Zestawienie średnich wyników aproksymacji dla zbioru testowego w drugim etapie badań........................ 75 5.5 Zestawienie średnich wyników aproksymacji dla zbioru testowego ponad całymi polami......................... 76 6.1 Zestawienie informacji o danych wykorzystanych w treningu i weryfikacji................................ 80 6.2 Zestawienie błędów RMS obliczonych dla zbioru danych treningowych i weryfikacyjnych...................... 82 6.3 Zestawienie informacji o danych wykorzystanych do testowania. 85 6.4 Zestawienie wyników aproksymacji obniżeń dla danych testowych 87 6.5 Zestawienie wyników aproksymacji nachyleń dla danych testowych 88 6.6 Zestawienie wyników aproksymacji krzywizn dla danych testowych 88 6.7 Zestawienie wyników aproksymacji odkształceń poziomych dla danych testowych........................... 88 6.8 Dokładność aproksymacji dla eksploatacji jednowarstwowej... 103 iv

Rozdział 1 Wstęp Eksploatacja podziemna złóż kopalin powoduje naruszenie naturalnego stanu równowagi górotworu. Ta niestabilność jest źródłem przemieszczeń i deformacji zachodzących w górotworze i na powierzchni terenu. Deformacje górnicze wywołują zmiany w otaczającym środowisku, a często również uszkodzenia w otaczającej infrastrukturze technicznej i budynkach. Prognoza deformacji górniczych pozwala na ocenę szkód wywołanych eksploatacją górniczą przed jej wykonaniem i przedsięwzięcie profilaktyki górniczej i budowlanej pozwalającej na zmniejszenie uszkodzeń. Trudność wykonania dokładnej prognozy wiąże się z nieoznaczonością ośrodka jakim jest górotwór, zarówno eksploatowany jak i nadległy. Powoduje to, iż (z punktu widzenia prognozującego) zjawisko deformacji ma charakter silnie losowy, a odchylenia wartości obserwowanych od prognozowanych wartości średnich mają bardzo znaczące wartości. Problematyka związana z prognozowaniem ciągłych deformacji powierzchni wywołanych eksploatacją podziemną jest trudna i niezwykle istotna. Badania nad tym zagadnieniem trwają od przeszło 100 lat. Dotychczas powstało bardzo wiele modeli pozwalających na predykcję wskaźników deformacji, spośród których obecnie najbardziej popularna w Polsce jest metoda Knothego. Zarówno ta metoda, jak i wiele innych z obliczeniowego punktu widzenia wyznacza obniżenia wywołane eksploatacją podziemną jako ważoną sumę wpływów elementarnych fragmentów eksploatacji. Wartości współczynników ważenia określone są poprzez tzw. funkcję wpływów, której wartość zależy od odległości pomiędzy analizowanym punktem a rozpatrywanym fragmentem eksploatacji. Isotne jest również, iż metoda Knothego należy do grupy modeli dedukcyjnych, w których czyni się pewne założenia a następnie na tej podstawie analizuje ich implikacje. W metodach tego typu nie ma mowy o uczeniu z danych. Wiedza zakumulowana przez model wynika bezpośrednio z kształtu przyjętej funkcji wpływów określonej na podstawie obserwacji przeprowadzonych przez badacza. Z uwagi na pewne uproszczenia i uogólnienia związane z deterministycznym charakterem tych modeli, jak i złożonością zjawiska deformacji powierzchni dochodzi do systematycznych rozbieżności pomiędzy wartościami modelowanych i obserwowanych wskaźników. Te systematyczne rozbieżności mogłyby zostać usunięte przez zastosowanie odpowiednio elastycznych modeli uczących się z danych. Sztuczne sieci neuronowe stanowią grupę modeli statystycznych umożliwiających z powodzeniem (przy pewnych obostrzeniach) na modelowanie dowolnych odwzorowań. W tym stwierdzeniu kryją się dwie ważne informacje. Po pierwsze 1

modele zbudowane w oparciu o sieci neuronowe są modelami statystycznymi i co za tym idzie aproksymują na wyjściach wartości średniej warunkowej modelowanych zmiennych (uwarunkowanych wartościami na wejściach). Po drugie sieci neuronowe mogą modelować z arbitralną dokładnością dowolne odwzorowania, tj. są uniwersalnymi aproksymatorami. Warunkiem takiego ich działania jest przyjęcie odpowiedniego kryterium dokładności oraz zagwarantowanie odpowiednio dużej liczby danych w trakcie treningu, a także właściwy dobór struktury sieci. Istotne jest, iż w przypadku sieci neuronowych dochodzi do uczenia z danych tzn. parametry sieci jako wagi połączeń synaptycznych wyznaczane są w procesie uczenia na podstawie danych zawartych w zbiorze uczącym. Proces ten ma kluczowe znaczenie dla działania sieci; wiąże się z nim zarówno problematyka błędów generalizacji i efektywnej złożoności modelu, jak i liczby i charakteru danych etc. Przy spełnieniu wszelkich obostrzeń sieci modelować mogą skutecznie nie tylko nieliniowe, ale wręcz wielowartościowe funkcje. Narzędzie to daje więc olbrzymie możliwości. Dotychczas sztuczne sieci neuronowe skutecznie zastosowano w wielu dziedzinach nauki i techniki zarówno do klasyfikacji, klasteryzacji, jak i regresji. Również w dziedzinie prognozowania i modelowania obniżeń wykonano pewne prace badawcze z ich zastosowaniem. Prace te są jednak nastawione na modelowanie jedynie na konkretnych obiektach, dla których przeprowadzony był trening (za każdym razem dla jednego obiektu). Takie podejście poważnie ogranicza praktyczne zastosowanie sieci do modelowania obniżeń. Istnieje więc potrzeba przedstawienia rozwiązania, które byłoby bardziej uniwersalne, tak by sieć wytrenowaną na danych z jednego lub większej liczby obiektów można było wykorzystać na innych o podobnej charakterystyce. Takie rozwiązanie musi być powiązane raczej z punktem, dla którego wyznaczane jest obniżenie, niż z przyjętym dla obiektu układem współrzędnych. Najbardziej przypomina więc ono klasyczne podejście, w którym tworzona jest odpowiednio sparametryzowana funkcja wpływów. Zastosowanie sieci neuronowych pozwala na modelowanie bardziej złożonych odwzorowań niż dotąd stosowane. Dzięki możliwości oderwania modelu od obiektów, z których pochodzą dane treningowe i rozszerzeniu zakresu jego stosowalności na obiekty o podobnej charakterystyce, równocześnie ułatwione jest uniezależnienie prognozującego od twórcy modelu. Biorąc powyższe rozważania pod uwagę autor zdecydował się na podjęcie badań w tym zakresie i sformułowanie następującej tezy: Sieci neuronowe stanowią efektywne narzędzie do prognozowania deformacji górniczych, zarówno pod względem dokładności, jak i ekonomiki procesu obliczeniowego. Jednocześnie uwzględniając pionierski charakter badań zdecydowano o ograniczeniu ich zakresu do wskaźników asymptotycznych i położeniu nacisku na modelowanie obniżeń, jako zagadnienia najprostszego, ale i podstawowego do wyznaczenia pozostałych wskaźników deformacji. Za cel pracy postawiono raczej opracowanie metody pozwalającej na wykorzystanie sieci do prognozowania deformacji niż stworzenie pojedynczego modelu do tego celu. Wynika to z charakteru tego narzędzia, które pozwala na dopasowanie konkretnego modelu do konkretnych warunków eksploatacji poprzez trening na najbardziej zbliżonych do nich danych. Niemniej, na potrzeby pracy wykonano z użyciem sieci modele pozwalające na prognozę asymptotycznych wskaźników deformacji. Przedstawione w pracy rozwiązania pozwalają na prognozowanie obniżeń, nachyleń, krzywizn i odkształceń poziomych. Nie prowadzono badań 2

nad przemieszczeniami poziomymi ze względu na brak odpowiedniego materiału pomiarowego. Praca została podzielona na 7 rozdziałów. W rozdziale drugim przedstawiono zagadnienia z zakresu techniki sieci neuronowych związane z pracą, a także opis dotychczas prowadzonych badań w zakresie modelowania i prognozowania deformacji wywołanych eksploatacją podziemną. Rozdział trzeci zawiera przegląd dotychczas stosowanych metod wyznaczania wskaźników deformacji oraz opis niezwykle ważnej dla tej pracy metody Knothego. W rozdziałach czwartym i piątym opisano dwa etapy badań przeprowadzonych na danych teoretycznych symulowanych z wykorzystaniem metody Knothego. Poszukiwano optymalnego rozwiązania dotyczącego sposobu i formy przekazywania danych do sieci, a także oszacowano dolną granicę błędu generalizacji (wyznaczenia średniej warunkowej). W rozdziałach tych skoncentrowano się wyłącznie na modelowaniu obniżeń, pomijając problematykę związaną z pozostałymi wskaźnikami, jako wielkościami pochodnymi i/lub trudnymi do symulowania. Rozdział szósty zawiera opis badań wykonanych z wykorzystaniem danych z obserwowanych niecek obniżeniowych. Przedstawiono rozwiązania dotyczące zarówno obniżeń, jak i nachyleń, krzywizn i odkształceń poziomych właściwych. W rozdziale tym przeprowadzono również porównanie uzyskanych rozwiązań z podstawową wersją metody Knothego dla eksploatacji o kształcie półpłaszczyzny i pasa o szerokości 0.8r. Przedstawiono w nim również propozycję dalszych planów rozwoju pracy badawaczej nad zastosowaniem sieci neuronowych do prognozowania asymptotycznych wskaźników deformacji. Rozdział siódmy zawiera wysunięte na podstawie wykonanych w pracy analiz wnioski przedstawione w zwięzłej formie. Podczas prowadzenia badań nieuniknione było podjęcie kilka arbitralnych decyzji zawężających obszar badań, gdyż nie sposób przeanalizować wszystkie możliwe rozwiązania. Starano się to robić jak najrzadziej i poszukiwać metod pozwalających na jak w najwyższym stopniu niearbitralne podejście, oparte na jasnych kryteriach i wykorzystujące ściśle sprecyzowane algorytmy. Takie podejście pozwoli w przyszłości na zautomatyzowanie całego procesu. Kluczowym zagadnieniem w pracy z punktu widzenia sieci neuronowych była kontrola złożoności modelu. Przetestowano kilka spośród istniejących rozwiązań, wiele jednak nie zostało poruszonych. Z jednej strony wynikało to z ilości istniejących i wciąż rozwijanych rozwiązań, z drugiej zaś z ich ograniczonej dostępności w wykorzystywanych pakietach obliczeniowych. W przyszłości warto powrócić do części pominiętych rozwiązań, gdyż niewykluczone, iż mogą się one okazać wyjątkowo wygodne i skuteczne. W trakcie realizacji pracy wykorzystano 3 języki programowania; szczegóły ich zastosowań nie będą w dalszej części pracy eksponowane, mają bowiem tylko techniczne znaczenie. Do przetwarzania danych wykorzystano program napisany w języku Object Pascal w środowisku Turbo Delphi Explorer 2006 firmy Borland (rozwiązanie darmowe również do zastosowań komercyjnych). Część pracy związana ściśle z sieciami typu MDN powstała z wykorzystaniem języka MATLAB R (firmy MathWorks) z otwartą biblioteką NetLaB stworzoną przez Ian a Nabney a i Christopher a Bishop a. Pozostałe zastosowane w pracy sztuczne sieci neuronowe i znaczna część wyników opracowana została z wykorzystaniem StatSoft, Inc. (2005) STATISTICA (data analysis software system), version 7.1. www.statsoft.com. Skrypty automatyzujące tę część obliczeń wykonano z użyciem języka Visual Basic. Oprócz dotychczas wymienionych wykorzystano również wiele innych aplikacji, w tym przede wszystkim otwarty pakiet biurowy 3

OpenOffice.org wspierany przez Sun Microsystems oraz otwarty edytor tekstu Notepad++ (napisany przez programistę o pseudonimie Don HO). Do składu tekstu wykorzystano otwarty system L A TEX głównie w dystrybucji MiKTeX. Wszystkie wymienione rozwiązania techniczne są godne polecenia. 4

Rozdział 2 Sieci neuronowe - podstawowe pojęcia, zastosowania W rozdziale opisano zagadnienia kluczowe dla sieci neuronowych służących do regresji oraz techniki z nimi związane; oparto się przy tym na literaturze [3 5, 11 13, 20, 25, 27, 29] przyjmując oznaczenia za [5]. Pozostałe zadania, w których stosuje się sieci neuronowe, to jest klasyfikacja i klasteryzacja, zostały pominięte, bowiem sieci neuronowe nie zostały wykorzystane w tych zagadnieniach w niniejszej pracy. Technika sieci neuronowych rozwija się niezwykle dynamicznie, powstają nowe rodzaje sieci neuronowych, nowe typy jednostek, algorytmy uczenia oraz sposoby oceny i poprawy jakości generalizacji modelowanych przez sieci zależności. Opisanie całej techniki nie jest możliwe, a dla potrzeb tej pracy wydaje się też niepotrzebne. Ograniczono się do rozwiązań stosowanych w pracy i pewnych kamieni milowych tej techniki stanowiących swoistą klasykę. W podrozdziale 2.1 opisano w szczególności budowę neuronów i rodzaje stosowanych w nich funkcji aktywacji, typy stosowanych sieci neuronowych, algorytmy uczenia, pre- i postprocessing, oraz problematykę związaną z oceną i zachowaniem generalizacji modelowanej zależności. W podrozdziale 2.2 opisano zaś dotychczasowe próby zastosowania sieci do modelowania wskaźników deformacji. 2.1 Podstawowe pojęcia z zakresu techniki sieci neuronowych Na początku tego rozdziału wyraźnie podkreślane będzie rozróżnienie pomiędzy sztucznymi sieciami neuronowymi (systemami obliczeniowymi), a sieciami neuronowymi (ludzkim mózgiem). W dalszej jego części oraz w pozostałych rozdziałach pracy, terminem sieci neuronowe określane zawsze będą sztuczne sieci neuronowe. Sztuczne sieci neuronowe realizowane mogą być za pomocą układów elektronicznych, bądź też symulowane poprzez specjalne programy komputerowe. Różnice pomiędzy tymi dwoma rozwiązaniami są nieistotne, biorąc pod uwagę zakres tej pracy. Nieco upraszczając można powiedzieć, iż sztuczne sieci neuronowe jako układy elektroniczne działają szybciej od swoich symulatorów, jednakże zdecydowanie łatwiejsze w obsłudze i tańsze w zastosowaniu są sztucz- 5

Rysunek 2.1: Schemat budowy neuronu naturalnego: 1 - ciało komórki, 2 - akson, 3 - dendryty, 4 - synapsy ne sieci neuronowe w postaci programów komputerowych. Analizowane systemy nie są systemami czasu rzeczywistego, nie wymagają więc zalet przetwarzania równoległego. Z tych powodów uznano, iż lepszym rozwiązaniem na potrzeby niniejszej pracy jest stosowanie sztucznych sieci neuronowych w postaci programów komputerowych. W związku z powyższym, wszelkie przedstawione w pracy rozważania i badania dotyczą symulatorów sieci neuronowych będących programami komputerowymi. Sztuczne sieci neuronowe wzorowane były na ludzkim mózgu i zachodzących w nim procesach. Aby rozpocząć opis działania sztucznych sieci neuronowych wygodniej jest w pierwszej fazie opisu nawiązać do budowy ludzkiego mózgu i wskazać na istniejące pomiędzy nim a sztucznymi sieciami neuronowymi analogie. Sztuczne sieci neuronowe zbudowane są z wzajemnie połączonych sztucznych neuronów. Sztuczny neuron wzorowany był na neuronie naturalnym. Schematy budowy neuronu naturalnego i neuronu sztucznego przedstawiono na rysunkach 2.1 i 2.2. Pisząc w pewnym uproszczeniu, neurony naturalne (Rys. 2.1, str. 6) zbudowane są z wielu dendrytów, ciała komórki (soma) oraz jednego aksonu. Połączenia między neuronami gwarantują synapsy. Impulsy nerwowe trafiają do dendrytów neuronu za pośrednictwem synaps, które wzmacniają bądź osłabiają moc docierających do nich sygnałów. Dalej impulsy trafiają do ciała komórki. Ciało komórki reaguje na sumaryczne pobudzenie ze wszystkich swoich dendrytów, generując - o ile całkowite pobudzenie jest dostatecznie silne (lub nie generując, jeżeli jest zbyt słabe) - wyjściowy impuls nerwowy, który trafia do aksonu. W neuronie sztucznym (Rys. 2.2, str. 7) dendryty zostały zastąpione wejściami, ciało komórki - funkcją transferu, zaś akson wyjściem. Każde z wejść posiada indywidualnie przypisaną wagę (waga synaptyczna w i ), która spełnia 6

Rysunek 2.2: Schemat budowy neuronu sztucznego rolę synapsy - tj. wzmacnia lub osłabia sygnał wchodzący do wejścia. Przesyłane sygnały x i są liczbami rzeczywistymi. Przy wejściu każdy z sygnałów zostaje pomnożony przez wagę synaptyczną przypisaną do danego wejścia. Następnie wszystkie iloczyny sygnałów wejściowych przez wagi synaptyczne są sumowane. Sumę tą nazywa się całkowitym pobudzeniem (aktywacją) neuronu; została ona oznaczona na rysunku 2.2 (str. 7) jako a. Następnie całkowite pobudzenie neuronu stanowi argument funkcji aktywacji neuronu g. Sygnał y wygenerowany przez funkcję aktywacji przesyłany jest do wyjścia neuronu i stąd trafia do następnego neuronu, bądź do wyjścia sieci. Zbiór x 1,...,x d tworzy wektor wejściowy x, wartość x 0 = 1 jest stała (niezależna od podawanych na wejścia sygnałów) i wraz z wagą synaptyczną w 0 tworzy tak zwany próg (ang. bias). Nie we wszystkich rodzajach neuronów występuje bias, jednakże w wykorzystanych na potrzeby tej pracy sztucznych neuronach próg występował. Dla wygody przyjmijmy, iż wektor wejściowy x zawiera także składnik x 0. Z matematycznego punktu widzenia sztuczny neuron wykonuje następujące przekształcenie: a = d w i x i (2.1) i=0 y = g(a) (2.2) ( d ) y = g w i x i (2.3) i=0 Funkcja aktywacji g wraz z funkcją wejścia określającą sposób obliczania całkowitego pobudzenia neuronu a łącznie stanowią tak zwaną funkcję transfe- 7

ru 1. Stosowane funkcje aktywacji przybierać mogą wiele kształtów; przykładowe przedstawiono na rysunku 2.3 (str. 9). Generalnie funkcje te są niemalejące; obecnie większą wagę przywiązuje się do funkcji ciągłych i różniczkowalnych. Wykresy po lewej mają znaczenie raczej historyczne. Na rysunku nie ma jednej spośród istotnych funkcji aktywacji tj. funkcji liniowej spełniającej równanie y = g(a) = a (2.4) Pozostałe funkcje (z wyjątkiem kwantowej) opisane są wzorami odpowiednio: a) { g(a) = 0 dla a < 0 g(a) = 1 dla a 0 (2.5) b) { g(a) = 1 dla a < 0 g(a) = 1 dla a 0 (2.6) c) d) e) g(a) = 1 dla a < 1 g(a) = a dla 1 a 1 g(a) = 1 dla a > 1 g(a) = 1 1 + exp( a) (2.7) (2.8) g(a) = tanh(a) = ea e a e a + e a (2.9) Na uwagę zasługuje fakt, iż z wyjątkiem funkcji liniowej, wszystkie przedstawione funkcje aktywacji odwzorowują a w ograniczony przedział zbioru liczb rzeczywistych. Zazwyczaj jest to przedział (0; 1) lub ( 1; 1). Funkcja liniowa jako jedyna z przytoczonych pozwala na generowanie na wyjściu liczb z przedziału ( ;+ ). Istnieje też inny rodzaj sztucznego neuronu zwany neuronem radialnym, często też określa się takie neurony, jako neurony o zlokalizowanej funkcji aktywacji. Genezy tych neuronów nie można wywieść bezpośrednio z neuronu naturalnego, jednakże ze względu na ich zastosowanie w technologii sieci neuronowych również je nazywa się sztucznymi neuronami. W neuronie radialnym zadanie funkcji wejścia spełnia kwadrat odległości pomiędzy wektorem podawanym na wejście sieci a wektorem wag (wzorcem). Uzyskana wartość mnożona jest następnie przez wartość progu. Tak obliczone całkowite pobudzenie neuronu a 1 Nie ma ścisłości co do tej terminologii w literaturze, czasami na przykład funkcję wejścia nazywa się funkcją aktywacji, a funkcję aktywacji funkcją wyjścia. 8

Rysunek 2.3: Przykładowe funkcje aktywacji sztucznych neuronów: a) unipolarna, b) bipolarna, c) rampa, d) logistyczna, e) hyperboliczna, f) kwantowa przekształcane jest przez funkcję aktywacji, którą zazwyczaj w przypadku neuronów radialnych jest funkcja g(a) = e a (2.10) Pobudzenie a zazwyczaj obliczane jest według wzoru d [ a = w 0 (wi x i ) 2] (2.11) i=1 zazwyczaj bowiem obliczana odległość jest euklidesowa i tak też jest w przypadku niniejszej pracy. Istnieją jednakże rozwiązania wykorzystujące inną miarę odległości. Należy zauważyć, że wagi i próg (bias) spełniają tu zgoła inne zadanie niż w przypadku klasycznego neuronu. Wagi są tutaj współrzędnymi punktu w wielowymiarowej przestrzeni wejść, próg zaś decyduje o szybkości narastania aktywacji w miarę zbliżania się przykładu do wzorca zawartego w wagach neuronu. Neurony w sieci można łączyć na wiele sposobów jednak dla celów tej pracy wykorzystano sieci typu feedforward. Generalnie problemy rozwiązywane przez takie sieci neuronowe podzielić można na trzy grupy, tj. klasyfikację, regresję i klasteryzację. Przytoczony podział nie wyczerpuje całkowicie możliwości wykorzystania sieci neuronowych. W rozdziale skoncentrowano się na opisaniu rozwiązań związanych z regresją, jako że tego typu problemy mają kluczowe znaczenie dla niniejszej pracy; nieliczne wyjątki zostały wyraźnie zaznaczone. W sieciach typu feedforward neurony pogrupowane są w warstwy. Neurony z jednej warstwy nie łączą się ze sobą, natomiast łączą się z neuronami z innych warstw. 9

Rysunek 2.4: Schemat budowy sieci typu feedforward (o jednym kierunku przetwarzania sygnałów) Dodatkowo w sieciach typu feedforward jest jeden z góry określony kierunek przetwarzania sygnałów od wejść sieci do wyjść. Oznacza to, iż wyjścia neuronów nie mogą być połączone z wejściami neuronów z warstw poprzedzających, ani z tej samej warstwy (Rys. 2.4, str. 10). W przypadku, gdybyśmy dopuścili takie połączenia, mielibyśmy do czynienia z tak zwanymi sieciami rekurencyjnymi. Sztandarowym przykładem takiej sieci jest sieć Hopfield a. Aby sieć neuronowa modelowała zjawisko konieczny jest jej trening. Zadaniem treningu nie jest nauczenie sieci dokładnej reprezentacji danych uczących, ale raczej zbudowanie statystycznego modelu procesu generującego dane. W procesie uczenia (treningu) dobrane zostają wartości wag synaptycznych w, zaś pozostałe parametry sieci nie ulegają zmianie. W treningu bierze udział wiele przykładów uczących tworzących wspólnie ciąg uczący. Każdy z przykładów stanowi wektor danych (ciąg liczb), który reprezentuje pojedynczą obserwację na temat badanego zjawiska. Proces uczenia może być nienadzorowany lub nadzorowany (z nauczycielem). Nienadzorowany proces uczenia nie wymaga znajomości poprawnych odpowiedzi (sygnałów wyjściowych) na sygnały podawane na wejścia sieci. Klasycznym przykładem sieci neuronowej uczonej w sposób nienadzorowa- 10

ny jest sieć Kohonen a. Sieć ta używana jest do rozpoznawania struktury danych i klasteryzacji. Dla celów tej pracy istotne jest jednak uczenie nadzorowane. W nadzorowanym procesie uczenia, dla ustalenia wag sieci prezentowane są zarówno sygnały wejściowe, jak i prawidłowe odpowiedzi. Każdy przykład uczący w uczeniu nadzorowanym składa się z dwóch części, tj. wektora danych x n i wektora poprawnych odpowiedzi t n (gdzie n oznacza numer przykładu w ciągu uczącym). W procesie uczenia wektory x n są prezentowane na wejściach sieci, zaś wektory t n na jej wyjściach. Kryterium uczenia stanowi zazwyczaj funkcja błędu, która w procesie uczenia podlega minimalizacji. Najczęściej dla zagadnień związanych z regresją stosowany jest błąd sumy kwadratów obliczany według wzoru E(w) = 1 2 N n=1 k=1 c {y k (x n ;w) t n k} 2 (2.12) gdzie: k - numer wyjścia sieci, y k (x n ;w) - wartość na k-tym wyjściu sieci dla n- tego wektora danych przy wagach sieci w, t n k - poprawna (wzorcowa) odpowiedź w n-tym przykładzie, dla k-tego wyjścia. Najprostszą budowę mają tak zwane sieci liniowe; zbudowane są one zawsze z jednej warstwy neuronów liniowych (rys. 2.5, str. 12). Wprowadzenie kolejnych warstw do sieci liniowej jest bezcelowe, gdyż kombinacja liniowa funkcji liniowych jest funkcją liniową. Sieć liniowa realizuje regresję liniową wielu zmiennych. Prostota tego rodzaju sieci (mała liczba parametrów do ustalenia) powoduje jej dużą stabilność działania (względnie niewielkie uzależnienie uzyskanego rozwiązania od rozkładu szumów w danych). Nie wolno lekceważyć tego rozwiązania, gdyż w wielu zagadnieniach okazało się ono skuteczne. Ten rodzaj sieci warto przetestować na początku poszukiwania najlepszego rodzaju sieci dla danego zagadnienia. Dokładność uzyskanego modelu i jego cechy mogą dać przesłankę co do kierunku dalszych poszukiwań. Liniowa sieć neuronowa realizuje odwzorowanie: y(x) = W T x (2.13) Zazwyczaj do treningu sieci liniowych używa się techniki pseudoodwrotności; to rozwiązanie jest możliwe do zastosowania, jeżeli dla sieci liniowej jako funkcję błędu przyjęto błąd sumy kwadratów, w innych przypadkach konieczne jest zastosowanie innych algorytmów. Algorytm pseudoodwrotności pozwala na wyznaczenie wartości wag synaptycznych wprost (nie iteracyjnie); optymalne rozwiązanie istnieje i jest możliwe do wyznaczenia, o ile liczba przykładów uczących jest większa bądź równa liczbie wag sieci. Najbardziej rozpowszechnionym modelem sieci neuronowych jest MLP (ang. Multi Layer Perceptron), czyli wielowarstwowy perceptron. W pracy przyjęto konwencję liczenia warstw sieci, w której liczy się warstwy wag synaptycznych 2. 2 W literaturze istnieją dwie konwencje liczenia warstw w sieciach neuronowych. Pierwsza konwencja liczy warstwy neuronów i uznaje za dodatkową warstwę wejścia sieci. W tej pracy przyjęto jednak odmienną konwencję, według której liczy się warstwy wag synaptycznych. W tej konwencji liczba warstw zawsze będzie mniejsza o 1 niż w pierwszej konwencji. Przyjęty 11

Rysunek 2.5: Schemat sieci neuronowej jednowarstwowej 12

Warstwy sieci MLP dzielimy na warstwę wyjściową (generującą sygnały wyjściowe sieci) i warstwy ukryte (rys. 2.4, str. 10). Pochodzenie określenia warstwa ukryta jest bezpośrednio związane z procesem uczenia sieci MLP i zostanie wyjaśnione przy opisie algorytmów uczących. Sieciami MLP nazywamy bardzo dużą rodzinę sieci neuronowych, niekoniecznie zbudowanych z perceptronów, o których mowa w nazwie rodzaju sieci. Często do budowy sieci MLP wykorzystywane są neurony z liniowymi i sigmoidalnymi funkcjami aktywacji. Zostało udowodnione, iż przy nieograniczonej liczbie przykładów uczących sieć typu MLP z dwoma warstwami o odpowiednio dużej liczbie neuronów, w tym ukrytą zbudowaną z neuronów o aktywacji sigmoidalnej (rys. 2.3, d), e), str. 9) i wyjściową zbudowaną z neuronów liniowych jest w stanie aproksymować dowolną funkcję ciągłą. Dwuwarstwowa sieć MLP (rys. 2.6, str. 14) realizuje odwzorowanie: M y k = g w (2) kj g j=0 ( d i=0 w (1) ji x i) (2.14) gdzie: y k - wartość na k-tym wyjściu sieci (na wyjściu k-tego neuronu wyjściowego), g -funkcja aktywacji neuronów w warstwie wyjściowej, M - liczba neuronów w warstwie ukrytej, w (2) kj -waga pomiędzy k-tym neuronem wyjściowym a j-tym neuronem ukrytym, g - funkcja aktywacji neuronów w warstwie ukrytej, d - liczba wejść do sieci neuronowej, w (1) kj - waga pomiędzy j-tym neuronem w warstwie ukrytej a i-tym wejściem, x i - wartość na i-tym wejściu. We wzorze tym przyjęto, iż wszystkie funkcje aktywacji w danej warstwie są takie same, połączenia pomiędzy neuronami łączą wszystkie neurony z danej warstwy z warstwą sąsiednią, a wszystkie neurony z warstwy ukrytej otrzymują sygnały z wszystkich wejść sieci. Jeżeli przyjmiemy, iż w warstwie wyjściowej znajdują się neurony o liniowej funkcji aktywacji, to realizowane przez sieć odwzorowanie przyjmuje postać: Z : g(a) = a y k = M j=0 w (2) kj g ( d i=0 w (1) ji x i ) (2.15) Dla uczenia sieci jednowarstwowych konieczna jest znajomość wartości błędów na wyjściach neuronów których wagi mają zostać poprawione. Ten mechanizm możliwy jest do zastosowania bezpośrednio dla warstwy wyjściowej sieci MLP, jednakże dla znalezienia wartości wag w neuronach warstw wcześniejszych konieczne jest wyznaczenie błędów na ich wyjściach. Algorytmy dla sieci jednowarstwowych nie dają odpowiedzi na pytanie, jakie są błędy na wyjściach neuronów warstw ukrytych. Stąd też ich nazwa, jako że nie dają się bezpośrednio obserwować, gdyż są ukryte za warstwą wyjściową. Dla uczenia sieci neuronowych typu MLP powszechnie wykorzystywana jest tzw. metoda wstecznej propagacji błędu (ang. error backpropagation). w pracy sposób liczenia warstw wydaje się bardziej uzasadniony, gdyż właśnie wagi synaptyczne są parametrami podlegającymi optymalizacji w procesie uczenia i determinują właściwości funkcji modelowanej przez sieć neuronową. Według przyjętej konwencji na rysunku 2.6 (str. 14) przedstawiono sieć dwuwarstwową. 13

Rysunek 2.6: Schemat dwuwarstwowej sieci MLP 14

O ile neurony w sieci mają różniczkowalne funkcje aktywacji i zdefiniujemy funkcję błędu która jest różniczkowalną funkcją wyjść sieci (np. suma kwadratów), to błąd jest różniczkowalną funkcją wag sieci. Metoda wstecznej propagacji błędu pozwala na wyznaczenie pochodnych funkcji błędu względem wag sieci. Pochodne te pozwalają na obliczenie błędów na wyjściach neuronów w warstwach ukrytych. To pozwala na wprowadzenie korekt do wag we wszystkich połączeniach w sieci, a więc skuteczne uczenie. Nazwa metody bierze się od wykorzystania w niej propagacji błędów w sieci od wyjść do wejść, a więc w kierunku odwrotnym niż normalny kierunek przetwarzania sygnałów. Szereg algorytmów korzysta z techniki wstecznej propagacji błędów. W literaturze często połączenie techniki wstecznej propagacji błędów z algorytmem najszybszego spadku łącznie nazywane jest algorytmem wstecznej propagacji błędu. Jednakże w niniejszej pracy metodą wstecznej propagacji błędu nazywany jest sam proces obliczania pochodnych funkcji błędu względem wag sieci. Algorytmy uczące składają się z dwóch rozłącznych faz, tj. wyznaczenia pochodnych funkcji błędu i wprowadzenia korekt do wag sieci z wykorzystaniem obliczonych pochodnych. Na podkreślenie zasługuje fakt, iż wsteczna propagacja błędu może zostać wykorzystana w innych typach sieci neuronowych niż tylko MLP, a także z inną funkcją błędu niż suma kwadratów. Opisywanie poszczególnych algorytmów uczących wykracza poza zakres niniejszej pracy. Ogólnie rzecz biorąc wszystkie algorytmy uczące zmierzają do znalezienia minimum funkcji błędu. Niestety funkcja błędu zazwyczaj ma wiele minimów, w tym wiele lokalnych. Zatrzymanie procesu optymalizacji wag w lokalnym minimum jest jednym z napotykanych problemów. Rozwiązaniem jest tu startowanie algorytmu uczącego z wielu różnych punktów (wielu różnych początkowych wektorów wag) i wybór tego przebiegu, który dotarł do najniższego minimum. Kolejnym problemem jest moment przerwania algorytmu uczącego. Istnieje kilka standardowych rozwiązań tego problemu, np.: po określonej liczbie iteracji, po wcześniej ustalonym czasie obliczeń, po spadku wartości funkcji błędu poniżej określonej wartości, jeżeli względna zmiana w wartości funkcji błędu w pojedynczej iteracji spadnie poniżej pewnej wartości, kiedy wartość błędu dla przykładów kontrolnych (grupa weryfikacyjna) zacznie rosnąć. Bardziej szczegółowo te problemy zostaną opisane w dalszej części rozdziału, przy opisie problemu generalizacji modelowanych zależności. Do najbardziej popularnych algorytmów uczenia zaliczyć można algorytmy: Najszybszego Spadku, Sprzężonych Gradientów, Skalowanego Sprzężonego Gradientu, Newtona, Quasi-Newtona i Levenberga-Marquardta. Generalnie algorytmy te zawsze mają dwie fazy. W pierwszej wyznaczany jest kierunek przeszukiwania przestrzeni wag (w danym kroku). W drugiej znajdowane jest minimum funkcji błędu wzdłuż wyznaczonego kierunku przeszukiwania. Spośród przytoczonych algorytmów uczenia algorytm Levenberga-Marquardta został stworzony specjalnie dla minimalizacji błędu sumy kwadratów. Pozostałe z przytoczonych algorytmów pozwalają na minimalizację również innych funkcji błędu. Spośród sieci wykorzystujących neurony typu radialnego najbardziej popularne są sieci typu RBF (ang. Radial Basis Fuction) i GRNN (ang. Generalized Regression Neural Network). Sieci te w przeciwieństwie do sieci MLP mają z góry określoną liczbę warstw. W przypadku obu sieci w pierwszej warstwie (od strony wejść) znajdują się neurony radialne, a w pozostałych warstwach jednostki innego typu. Sieci typu RBF i GRNN są uniwersalnymi aproksyma- 15

Rysunek 2.7: Schemat sieci typu RBF torami. W przypadku obu typów sieci bardziej niż dla MLP uciążliwa staje się tzw. klątwa wymiarowości (ang. curse of dimensionality), a więc szybciej narastają niedogodności związane z dużą liczbą wymiarów danych wejściowych. Sieci te na ogół też zawierają znacznie więcej jednostek ukrytych niż sieci MLP. Kolejnym problemem związanym z tymi sieciami jest nieumiejętność odrzucania przez nie zbędnych wejść, tj. takich, które niosą mniej informacji niż szumów, bądź niosą informacje nieistotne dla modelowanego procesu. W przypadku sieci MLP wagi łączące neurony z takimi wejściami były w procesie uczenia zerowane. Dla sieci wykorzystujących neurony radialne nie ma takiej możliwości, konieczny jest więc dokładniejszy dobór zmiennych wejściowych. Zarówno sieci RBF, jak i GRNN zdecydowanie nie nadają się do ekstrapolacji; jeżeli wartości parametrów wejściowych wychodzą poza granice ich zasięgu w zbiorze uczącym to sieć prawie na pewno (z wyjątkiem zbiegów okoliczności) będzie działać niepoprawnie, modelując wyjściowe wartości jako bliskie bądź równe zero. Zjawisko to jest ściśle związane z charakterem neuronów radialnych, które generują znaczące pobudzenie jedynie w pewnym niewielkim sąsiedztwie centrum funkcji bazowej. Sieć typu RBF zawsze składa się z dwóch warstw, w pierwszej znajdują się neurony radialne, w drugiej najczęściej (klasyczne) neurony o liniowej lub sigmoidalnej funkcji aktywacji. Schemat sieci typu RBF przedstawiono na rysunku 2.7 (str. 16). 16

Rysunek 2.8: Schemat sieci typu GRNN Sieć RBF realizuje odwzorowanie: M y k (x) = g w kj φ j (x) (2.16) j=0 gdzie: φ j - funkcje bazowe (wartości z wyjść neuronów radialnych); założono, iż funkcja bazowa φ 0 jest stale równa 1 (dzięki czemu bias można wciągnąć pod sumę), g - funkcja aktywacji neuronów w warstwie wyjściowej. Sieci typu RBF mogą być trenowane albo w sposób nadzorowany z wykorzystaniem technik opisanych dla sieci MLP, albo w dwóch etapach: osobno warstwa ukryta (w sposób nienadzorowany), osobno warstwa wyjściowa (w sposób nadzorowany). Trening dwuetapowy, w którym osobno trenowane są neurony ukryte (radialne), osobno zaś neurony wyjściowe, jest zdecydowanie szybszy niż jednoetapowy trening nadzorowany. W pierwszym etapie ustalane są wagi funkcji bazowych (tj. położenie środka i rozpiętość) neuronów ukrytych. Problemy nadania współrzędnych centrów funkcji bazowych i ich rozpiętości są rozpatrywane osobno. W obu przypadkach istnieje szereg algorytmów pozwalających na ustalenie ostatecznych wartości parametrów funkcji bazowych. W drugim etapie ustalane są wagi połączeń dochodzących do neuronów wyjściowych. Sieci GRNN (ang. Generalised Regression Neural Network) zbudowane są zawsze z 3 warstw jednostek. Schemat budowy sieci typu GRNN przedstawiono na rysunku 2.8 (str. 17). Pierwszą warstwę ukrytą stanowią neurony radialne, w drugiej warstwie ukrytej zawsze znajduje się o jedną jednostkę przetwarzającą więcej niż jest 17

neuronów wyjściowych. W zależności od metody uczenia centra jednostek radialnych (funkcji bazowych) są kopiowane z podzbioru (ew. z całego zbioru) przykładów uczących lub przyjmowane są jako centroidy klastrów przykładów. W drugiej warstwie ukrytej jednostki od 1 do c odpowiadają numerom wyjść z sieci (jednostkom wyjściowym). Wagi połączeń pomiędzy neuronami radialnymi a warstwą następną (sumującą) przyjmują wartości: a) w przypadku połączeń do jednostek s 1 do s c - sumy wartości wzorcowych odpowiedzi przykładów odpowiadających danemu neuronowi. W przypadku, gdy centra kopiowane były z podzbioru (ew. całego zbioru) przykładów uczących (danych wejściowych), to każdemu neuronowi radialnemu odpowiada pojedynczy przykład uczący i właśnie wzorcowa odpowiedź (1 c) dla tego przykładu będzie stanowić wagę połączenia pomiędzy neuronem radialnym a odpowiednią jednostką (1 c) w warstwie następnej. W przypadku, gdy centra funkcji bazowych nie były kopiowane, a uzyskane metodą klasteryzacji, to wagi połączeń pomiędzy jednostkami radialnymi, a odpowiednimi jednostkami w warstwie następnej będą przyjmować wartości sum wszystkich przykładów, dla których pobudzenie danego neuronu radialnego jest największe. b) w przypadku jednostki s c+1 - wagi przyjmują wartości sumarycznej liczby przykładów, której odpowiada dany neuron radialny. Jeżeli centra funkcji bazowych kopiowane były z pojedynczych przykładów uczących, to wagi połączeń pomiędzy neuronami radialnymi, a jednostką s c+1 mają stale wartość równą 1. Jeżeli centra funkcji bazowych uzyskiwane były metodą klasteryzacji, to wagi połączeń pomiędzy jednostką s c+1 a neuronami radialnymi równe są liczbie przykładów, dla której dana jednostka radialna ma największe pobudzenie. Jednostki w drugiej warstwie ukrytej mają charakterystykę liniową (neurony klasyczne), sumują więc iloczyny docierających do nich sygnałów z jednostek radialnych i wag połączeń synaptycznych. W ten sposób jednostki s 1 do s c na wyjściach generują sygnały równe ważonym sumom (s k ) odpowiadającym wyjściom y 1 do y c. Jednostka s c+1 generuje na wyjściu (połączonym z wszystkimi jednostkami wyjściowymi) sumę wag dla obliczonych ważonych sum. Każda z jednostek wyjściowych ma dokładnie dwa wejścia; wykonują one dzielenie ważonych sum przez sumę wag, czyli realizują przekształcenie y k = s k s c+1 (2.17) W ten sposób na wyjściach sieci obliczane są średnie z wzorcowych przykładów ważone podobieństwem badanego przykładu do wzorców, na podstawie których przeprowadzone było uczenie sieci. Prześledźmy ten schemat raz jeszcze; sieć po treningu reaguje w czasie modelowania na prezentowany przykład porównując jego podobieństwo z przykładami, które zostały wykorzystane w czasie treningu sieci. Im prezentowany wektor danych jest bardziej podobny do jakiegoś przykładu wykorzystanego do uczenia sieci, tym większe jest pobudzenie i sygnał na wyjściu danego neuronu wyjściowego, a więc i waga w sumie i średniej ważonej. Jeżeli prezentowany wektor danych jest bardzo podobny do jakiegoś przykładu uczącego, to będzie również 18

dawał odpowiedź podobną do odpowiedzi wzorcowej powiązanej z tym przykładem. Odpowiedź będzie tym bliższa wzorca, im bardziej wektor uczący jest podobny do badanego wektora i im mniej ten wektor jest podobny do pozostałych przykładów uczących. Pozostają do ustalenia parametry odpowiadające za szerokość funkcji bazowych; decydują one o tym, jak szybko spada podobieństwo danego przykładu prezentowanego na wejściach sieci do przykładów uczących. W przypadku zbyt małej szerokości funkcji bazowych pomiędzy przykładami uczącymi pojawią się puste regiony, w których prezentowane przykłady nie będą wywoływały pobudzenia w neuronach radialnych. Będzie to powodować generowanie przez sieć wyników bliskich zera. W przypadku zbyt szerokich funkcji bazowych znaczący udział w średniej ważonej będą miały również mało podobne do prezentowanego przykłady uczące, co będzie powodowało generowanie na wyjściu średnich wartości mocno obciążonych. Na szczęście w dość szerokim zakresie szerokości funkcji bazowych sieć zachowuje się poprawnie. W praktyce wartość parametrów odpowiedzialnych za szerokość funkcji bazowych trzeba ustawić tak, by w pewnym stopniu funkcje te na siebie zachodziły. Można to przeprowadzić metodą prób i błędów, bądź poprzez wyspecjalizowany algorytm. Możliwe jest zarówno ustawienie szerokości wszystkich funkcji bazowych na tę samą wartość, bądź też niezależnie dla każdej z nich. Zadaniem opisanych do tej pory typów sieci (w kontekście regresji), o ile funkcją błędu jest suma kwadratów, jest aproksymacja średniej warunkowej zmiennej wyjściowej uwarunkowanej wartościami zmiennych wejściowych. O ile w zagadnieniu można bez popełniania istotnego błędu założyć stałość wariancji wzdłuż całej krzywej regresji i jednakowy jednomodalny (na ogół domyślnie Gaussowski) rozkład prawdopodobieństwa zmiennych wyjściowych, to opisane do tej pory rozwiązania są zadowalające. W niektórych przypadkach jednakże mamy do czynienia ze zmienną wzdłuż krzywej regresji funkcją rozkładu, zmienną wariancją, bądź rozkładem skośnym lub wielomodalnym. W takich przypadkach konieczne jest sięgnięcie do modeli pozwalających na szerszy statystyczny opis zjawiska. Najszerszy możliwy opis, z punktu widzenia statystycznego, może być wyrażony w danym modelu (tj. przy ustalonych zmiennych wejściowych i wyjściowych) jako rozkład prawdopodobieństwa w połączonej przestrzeni wejść i wyjść. Dla celów predykcji zmiennych wyjściowych t dla nowych wartości zmiennych wejściowych x najszerszym opisem, jaki możemy pozyskać, jest model warunkowej gęstości prawdopodobieństwa uwarunkowanej wartościami zmiennych wejściowych p(t x). Istnieje kilka rozwiązań pozwalających na aproksymację warunkowej gęstości prawdopodobieństwa, bądź przynajmniej warunkowej średniej i warunkowej (zależnej od x) wariancji. Rozwiązania te na ogół łączą, albo kilka sieci neuronowych trenowanych jednocześnie lub jedna po drugiej, bądź sieć neuronową z innym systemem odpowiedzialnym za modelowanie rozkładu. Jednym z prostszych rozwiązań pozwalających na modelowanie warunkowej wariancji jest zastosowanie dwóch sieci neuronowych trenowanych niezależnie. Pierwsza z sieci aproksymuje warunkową średnią zmiennych wyjściowych (o ile funkcją błędu jest suma kwadratów). Obliczone dla przykładów uczących średnie warunkowe są następnie odejmowane od wzorcowych odpowiedzi. Następnie różnice te są podnoszone do kwadratu i używane jako wzorcowe wartości dla drugiej sieci neuronowej, również trenowanej z użyciem funkcji błędu w postaci sumy kwadratów. Wyjścia drugiej sieci modelują warunkową średnią wyrażenia 19

{t k t k X } 2, a więc aproksymują wartość wariancji w funkcji wektora wejściowego σk 2 (x). Procedura ta jest niezwykle prosta i możliwa do wykonania za pomocą standardowych programów symulujących działanie sieci neuronowych, co jest niezwykle cenne. Modelowana wariancja jest obciążona i ma z reguły zaniżone w stosunku do rzeczywistości wartości. W ekstremalnych przypadkach to rozwiązanie może prowadzić do kompletnie błędnych wyników, w których wariancja będzie bliska zeru (niezgodnie z prawdą). Niemniej, na ogół jest to rozwiązanie warte przetestowania. Modelem pozwalającym na predykcję pełnego warunkowego rozkładu gęstości prawdopodobieństwa jest MDN (ang. Mixture Density Network). Sieci typu MDN są w istocie hybrydą sieci neuronowej i modelu mieszanego. W wersji stosowanej w niniejszej pracy zastosowanym typem sieci jest sieć MLP a modelem mieszanym GMM (ang. Gaussian Mixture Model). W modelu MDN gęstość prawdopodobieństwa danych wyjściowych jest prezentowana jako liniowa kombinacja funkcji jądrowych, według wzoru p(t x) = m α i (x)φ(t x) (2.18) i=1 gdzie m jest liczbą komponentów mieszaniny. Parametry α i (x) są nazywane współczynnikami mieszania i (co istotne) są funkcjami wektora danych wejściowych x. Dla GMM funkcje φ(t x) przyjmują postać { } 1 φ i (t x) = (2π) c/2 σi c exp t µ i(x) 2 (x) 2σi 2(x) (2.19) gdzie µ i (x) to wektor z współrzędnymi centrum funkcji jądrowej, a σ i (x) to odchylenie standardowe i-tego jądra. Dla dowolnej wartości x przedstawiony model mieszany zapewnia możliwość modelowania warunkowej gęstości prawdopodobieństwa p(t x). W modelu tym dla każdego elementu mieszaniny są trzy parametry będące funkcjami wektora x; są to współczynniki mieszania α i (x), średnie (centra) µ i (x) i odchylenia standardowe σ i (x). Parametry te są modelowane przy użyciu sieci neuronowej, o wejściach x. Połączenie tejże sieci neuronowej i modelu mieszaniny daje łącznie model MDN. W modelu tym ustalenia wymaga liczba funkcji jądrowych i liczba jednostek ukrytych w sieci neuronowej. Liczba wyjść sieci neuronowej w tym modelu jest określona wzorem (c+2) m, gdzie c - liczba zmiennych wyjściowych, m - liczba komponentów w mieszaninie. Liczbę komponentów w mieszaninie można ustalić doświadczalnie, kierując się przy tym liczbą dostępnych przykładów uczących i znajomością zjawiska. Im więcej przykładów, tym dokładniejszy model można zbudować. Należy zwrócić uwagę, że w modelu MDN jest z reguły większa liczba parametrów do wyznaczenia, niż w modelach sieci aproksymujących jedynie średnią warunkową. Istotne jest, aby współczynniki mieszania spełniały warunek m α i (x) = 1 (2.20) i=1 który jest niezbędny, aby wyjścia modelu mogły mieć właściwą interpretację. Osiąga się to poprzez zastosowanie tak zwanej funkcji softmax 20

exp(zi α α i = ) M j=1 exp(zα j ) (2.21) gdzie z α i oznaczają odpowiednie wyjścia z sieci neuronowej. Parametry σ i odpowiadające za szerokość komponentów mieszaniny, obliczane są jako funkcja wyjść sieci σ i = exp(z σ i ) (2.22) co zapobiega niekorzystnym rozwiązaniom, w których jeden lub więcej parametrów σ i zmierza do zera. Parametry µ i odpowiadają za położenie centrów komponentów mieszaniny i są przedstawiane bezpośrednio jako odpowiednie wyjścia sieci µ ik = z µ ik (2.23) Stosowana dla sieci MDN funkcja błędu ma formę E = n E n (2.24) { m } E n = ln α i (x n )φ(t n x n ) i=1 (2.25) Dla znalezienia minimum tej funkcji konieczne jest obliczenie pochodnych funkcji błędu względem wag sieci neuronowej. Do tego celu wykorzystywana jest standardowa procedura wstecznej propagacji błędów, która w połączeniu z odpowiednim algorytmem uczenia pozwala na wyznaczenie wektora wag. W pierwszej kolejności obliczane są pochodne funkcji błędów względem wyjść sieci z k. Następnie są one wykorzystywane jako błędy w standardowych algorytmach optymalizacyjnych opartych na gradiencie funkcji błędu. Zagadnieniem niezwykłej wagi przy stosowaniu sieci neuronowych jest generalizacja. Wiąże się ona z odpowiedziami na pytania: czy model będzie dobrze działał z danymi spoza zbioru uczącego? Czy i w jakim stopniu zbudowany model przedstawia reguły kierujące zjawiskiem jako takim, a w jakim stopniu odzwierciedla jedynie tendencje, które pojawiły się w konkretnych danych zastosowanych do uczenia modelu? Model, który nie gwarantuje dobrej generalizacji w praktyce najczęściej jest nieprzydatny. Błąd generalizacji można rozbić na dwie składowe, tj. obciążenie i wariancję. Przy ustalonej (skończonej) liczbie przykładów uczących spadek jednej składowej powoduje wzrost drugiej. Minimum błędu generalizacji znajduje się gdzieś pomiędzy dużą wariancją i dużym obciążeniem i jest ściśle powiązane zarówno z procesem uczenia jak i złożonością modelu. Istnieje szereg metod kontroli i zachowania dobrej generalizacji przez sieci neuronowe. W rozdziale zostaną przedstawione najpopularniejsze spośród stosowanych. W kontekście generalizacji pojawia się zagadnienie liczby koniecznych do budowy modelu przykładów uczących. Im bardziej modelowane zależności są złożone, tym większa liczba przykładów uczących jest potrzebna do budowy modelu. Duża liczba przykładów uczących pozwala na skorzystanie ze złożonych modeli (np. MDN), natomiast mała ogranicza możliwości do modeli prostszych, 21