• Nie Znaleziono Wyników

Algorytm ekspercki z wykorzystaniem sieci neuronowych .1 Krótka charakterystyka sieci neuronowych

W dokumencie I INŻYNIERIA ŚRODOWISKA (Stron 185-190)

ZASTOSOWANIE SIECI NEURONOWYCH DO WSPOMAGANIA ZARZĄDZANIA OBIEKTAMI

3. ALGORYTM TWORZENIA LISTY RANKINGOWEJ OBIEKTÓW WYMAGAJĄCYCH DZIAŁAŃ REMONTOWYCH

3.2 Algorytm ekspercki z wykorzystaniem sieci neuronowych .1 Krótka charakterystyka sieci neuronowych

Sztuczne sieci neuronowe [4, 5, 6, 7] były początkowo konstruowane jako bardzo uproszczone modele ludzkiego mózgu. Obecnie nie traktuje się ich już jako próby matematycznego zamodelowania biologicznych sieci neuronowych, pewne cechy wspólne są jednak nadal widoczne. Sztuczna sieć neuronowa jest zbudowana z szeregu sztucznych neuronów pogrupowanych w warstwy, kolejne warstwy neuronów są ze sobą połączone podobnie jak neurony w sieci biologicznej. Pierwsza warstwa neuronów sztucznej sieci neuronowej otrzymuje i skaluje dane wejściowe oraz przekazuje je do kolejnej, tzw. ukrytej warstwy. W warstwie ukrytej ma miejsce właściwe przetwarzanie danych:

każdy neuron w tej warstwie sumuje dane wyjściowe ze wszystkich neuronów warstwy wejściowej (przemnożone przez wagę połączenia między danymi neuronami) wraz z dodatkowy wejściem noszącym nazwę biasu,

otrzymana suma jest argumentem nieliniowej funkcji aktywacji neuronu, której wynik jest podawany na wyjście neuronu.

Wartości wyjściowe z neuronów warstwy ukrytej są podawane przez połączenia synaptyczne do neuronów w warstwie wyjściowej, gdzie są ostatecznie przetwarzane (podobnie jak w warstwie ukrytej, jedynie funkcja aktywacji dla warstwy wyjściowej z reguły jest liniowa) i podawane na wyjście sieci.

Jeżeli rozważymy przykładową sieć, której zadaniem jest transformacja 3-elementowego wektora wejściowego w skalar, to jej architekturę (liczbę oraz wzajemne położenie neuronów i połączenia pomiędzy nimi) można zapisać w postaci 3-h-1, gdzie 3 oznacza liczbę neuronów w warstwie wejściowej (zawsze równą wymiarowi wektora wejściowego), 1 oznacza liczbę neuronów wyjściowych (zawsze równą wymiarowi wektora wyjściowego), zaś h oznacza liczbę neuronów w warstwie ukrytej.

Pomiędzy warstwą wejściową o 3 neuronach i warstwą ukrytą o h neuronach jest 3h połączeń (każdy neuron z warstwy wejściowej z każdym neuronem warstwy ukrytej, bez połączeń wewnątrz danej warstwy), każde z nich ma swoją własną wagę w, przez którą jest przemnażana wartość wyjściowa neuronu z warstwy wejściowej przed przekazaniem jej neuronowi warstwy ukrytej. Pomiędzy warstwą ukrytą a wyjściową jest 1h połączeń i 1h niezależnych wag w. Dodatkowo na wejścia wszystkich neuronów w warstwach ukrytej i wyjściowej będą podawane dodatkowe wartości nazwane biasami b. Zarówno wagi jak i biasy są niezależnymi parametrami sieci, których wartości ustala się w tak zwanym procesie uczenia. Łączna liczba nieznanych parametrów sieci 3-h-1 wynosi W+B=(3h+1h)+(h+1)=5h+1 gdzie W i B to odpowiednio liczba wszystkich wag i biasów.

Iteracyjny proces ustalania wartości parametrów sieci nosi nazwę uczenia. Startowe wartości parametrów są generowane losowo z założonego przedziału, najczęściej (-1,1). W kolejnych krokach iteracji na wejście sieci podawane są przykładowe (wzorcowe) wektory wejściowe, wartości otrzymane na wyjściu sieci są porównywane ze znanymi, wzorcowymi wartościami wyjściowymi. Każda iteracja jest zakończona aktualizacją parametrów sieci (wag i biasów) na podstawie różnicy pomiędzy otrzymanym z sieci wektorem wyjściowym a wektorem wzorcowym. Algorytm opisujący zmiany wprowadzane do wag i biasów nosi nazwę algorytmu uczącego. Parę złożoną z wektora wejściowego i odpowiadającego mu wektora wyjściowego nazywa się wzorcem. Aby algorytm uczący był zbieżny do globalnego minimum należy zapewnić odpowiednie uwarunkowanie procesu, co oznacza, że liczba wzorców (przykładowych wektorów wejściowych i wyjściowych) musi być większa od liczby swobodnych parametrów uczonej sieci neuronowej.

Po zakończeniu uczenia sieci należy zweryfikować jej działanie na wzorcach, które nie były prezentowane sieci w procesie uczenia. Ma to na celu sprawdzenie, czy nauczona sieć prawidłowo operuje także na danych, które nie były wykorzystywane w procesie uczenia (oceniana jest tak zwana zdolność sieci do generalizacji).

W rozważanym zagadnieniu zastosowano sieć warstwową (neurony są zgrupowane w warstwach), jednokierunkową (sygnał przechodzi przez sieć w jednym kierunku: od wejść do wyjść, nie ma żadnych sprzężeń zwrotnych), o wstecznej propagacji błędu (swobodne parametry sieci są ustalane na podstawie błędów obliczonych dla wektorów wyjściowych).

3.2.2 Założenia i dobór optymalnej architektury sieci neuronowej

Przyjęto, że szeregowanie drogowych obiektów inżynierskich w kolejności do napraw opierać się będzie na trzech głównych współczynnikach, tj.:

 stan techniczny,

 bezpieczeństwo,

 znaczenie obiektu dla sieci dróg.

Wektor wejściowy do sieci neuronowych będzie miał więc trzy elementy, jedyne wyjście będzie interpretowane jako liczba punktów pozwalająca umieścić dany obiekt mostowy na odpowiednim miejscu listy rankingowej.

W celu ustalenia optymalnej architektury sieci oraz wartości jej parametrów (wag i biasów) potrzebna jest baza danych, która zawiera rzetelne informacje obejmujące pełny zakres zmiennych wejściowych występujących z dużym prawdopodobieństwem w rzeczywistości. Baza powinna obejmować dane wejściowe i odpowiadające zmienne wyjściowe (wzorce). W omawianym zadaniu dysponowano łącznie 103 wzorcami, z czego 62 wykorzystano podczas uczenia sieci, do weryfikacji wykorzystano 21 wzorców (obiektów) a do testowania 21 wzorców (obiektów). Końcowe testowanie wykonano na dodatkowych wzorcach, które zostały utworzone po zakończeniu procesu doboru i uczenia sieci.

Aby określić optymalną architekturę założono, że będzie ona postaci 3-h-1, gdzie 3 to liczba wejść, h to liczba neuronów w jedynej warstwie ukrytej, 1 to liczba wyjść (pozycja w rankingu). Podczas procesu doboru optymalnej wartości h (liczby neuronów ukrytych) dla każdej rozważanej architektury (mówiąc inaczej dla każdej rozważanej wartości h) proces uczenia powtórzono 100 razy zaczynając za każdym razem od innych, losowo wygenerowanych startowych wartości parametrów swobodnych sieci. Wielokrotne powtórzenie procesu uczenia ma na celu sprawdzenie, czy dla każdego losowo wygenerowanego zestawu parametrów swobodnych proces uczenia prowadzi do tego samego, globalnego minimum. Jeżeli wyniki kolejnych powtórzeń są zbliżone można uznać, że uczenie prowadzi do minimum globalnego.

Rysunek 3.1a przedstawia błąd średniokwadratowy pomiędzy wzorcową pozycją w rankingu a pozycją określona przez nauczoną sieć neuronową (błąd jest uśredniony dla 100 przebiegów uczenia wykonywanych dla ustalonego h).

Rys. 3.1. Błąd średniokwadratowy pomiędzy wzorcową pozycją w rankingu a pozycją określoną przez nauczoną sieć w zależności od liczby neuronów w warstwie ukrytej (a) oraz wyniki uczenia, testowania i walidacji sieci neuronowej (b)

Górna linia odpowiada wynikom otrzymanym dla wzorców testujących, środkowa – dla wzorców walidacyjnych, dolna – dla wzorców uczących (wykorzystywanych podczas dostrajania parametrów sieci). Przy wzrastającej liczbie neuronów ukrytych dokładność uczenia wzrasta, natomiast dokładność testowania po początkowym wzroście (spadku błędu) zaczyna rosnąć (błąd wzrasta). To klasyczne zjawisko obserwowane podczas uczenia sieci

nazywane jest ponadprzystosowaniem (overfitting). Jego przyczyną może być zbyt mała liczba wzorców uczących lub zbyt duża liczba kroków iteracji w procesie uczenia. Do dalszej analizy jako optymalną liczbę neuronów ukrytych wybrano h=3.

3.2.3 Uczenie i testowanie sieci o wybranej architekturze

Z poprzedniego kroku przyjęto, że optymalną liczbą neuronów ukrytych jest h=3, ustalono więc architekturę 3-3-1. Rysunek 3.1b przedstawia wyniki uczenia (okręgi), testowania i walidacji (trójkąty) tej sieci. Na osi poziomej są odłożone wzorcowe pozycje w rankingu (określone przez specjalistę) zaś na osi pionowej wartości otrzymane z sieci.

W przypadku idealnego odwzorowania rankingu wzorcowego punkty reprezentujące zarówno uczenie jak i walidację powinny się znaleźć w pobliżu linii o równaniu x=y. Jak widać na wykresie odwzorowanie jest bardzo dobre. Ważne jest również to, że wzorce wybrane do testowania znajdują się zarówno na obu końcach rozważanego zakresu jak i w jego środku.

3.2.4 Analiza wyników obliczeń

Na rysunkach 3.2 do 3.4 zestawiono porównanie „Listy ekspertów” z listą uzyskaną na podstawie obliczeń algorytmem eksperckim.

Rys. 3.2. Porównanie pozycji na liście rankingowej ekspertów i liście wg algorytmu eksperckiego (sieci neuronowe) – obiekty od O-1 do O-35

0

Rys. 3.3. Porównanie pozycji na liście rankingowej ekspertów i liście wg algorytmu eksperckiego (sieci neuronowe) – obiekty od O-36 do O-70

0

Rys. 3.4. Porównanie pozycji na liście rankingowej ekspertów i liście wg algorytmu eksperckiego (sieci neuronowe) – obiekty od O-71 do O-103

Średni błąd określenia miejsca obiektu na liście rankingowej utworzonej z wykorzystaniem sieci neuronowych wynosi 1.1 pozycji, maksymalny błąd wynosi 7 pozycji. Na rys. 3.5. porównano błędy uzyskane w wyniku obliczeń trzema algorytmami.

Algorytm ekspercki, oparty na sieciach neuronowych daje zdecydowanie najlepsze i zadowalające wyniki.

Rys. 3.5 Zestawienie błędów określenia pozycji na liście rankingowej

4. PODSUMOWANIE I WNIOSKI

Kluczem do tworzenia miarodajnych list rankingowych jest wiarygodna, poprawna baza danych. W związku z tym konieczne jest systematyczne prowadzenie kontroli poprawności danych, prowadzenie dodatkowych szkoleń dla inspektorów mostowych (szczególnie w zakresie ocen przydatności do użytkowania) oraz gromadzenie i przetwarzanie danych z przeglądów w sposób poprawny i regularny.

Ponieważ algorytm ekspercki, oparty na sieciach neuronowych daje najlepsze i zadowalające efekty został wskazany jako podstawowy do tworzenia listy rankingowej.

Algorytm ten jest obecnie (2010-2011 r.) wdrażany w administracji GDDKiA. Po wdrożeniu, zostanie przeprowadzona analiza wyników obliczeń na bazie ponad 4 tys. obiektów mostowych, która z pewnością umożliwi jego udoskonalenie. Zalecono, aby w pierwszych latach tworzenia list rankingowych, w celach porównawczych, stosowano również pozostałe

dwa algorytmy. Zalecenie takie nie pociąga zwiększonych kosztów tworzenia list rankingowych – wszystkie algorytmy opierają się na tej samej bazie danych.

Opracowany algorytm będzie również stosowany nie tylko w odniesieniu do obiektów mostowych. Obejmie również pozostałe rodzaje drogowych obiektów inżynierskich – tj.

przepusty, tunele i konstrukcje oporowe, których na sieci dróg krajowych jest kolejnych kilka tysięcy.

Oczywiście celem algorytmu jest jedynie wspomaganie zarządzania drogowymi obiektami inżynierskimi i ułatwienie obiektywnego wyboru spośród zbioru kilku tysięcy obiektów tych, które wymagają napraw w pierwszej kolejności. Algorytm nie zastąpi kadry inżynierskiej zarządzającej infrastrukturą drogową, ma jedynie pomagać podejmować racjonalne decyzje a tym samym przyczynić się do poprawy bezpieczeństwa i do coraz bardziej efektywnego wykorzystania środków budżetowych.

PIŚMIENNICTWO

[1] Woodward R. J., et al.: Bridge Management in Europe (BRIME) – Final Report, Project funded by the European Commission under the Transport Rtd. Programme of the 4th Framework Program, 2001.

[2] Instrukcje przeprowadzania przeglądów drogowych obiektów inżynierskich, GDDKiA, Warszawa 2005 (opr. Janas L., Jarominiak A., Michalak E.).

[3] Janas L., Michalak E.: Zasady stosowania skali ocen punktowych stanu technicznego i przydatności do użytkowania drogowych obiektów inżynierskich, GDDKiA, Warszawa 2008.

[4] Haykin S., Neural Networks: a Comprehensive Foundation, Prentice Hall International, Inc., 2nd ed., 1999.

[5] Fedele, R.; Miller, B. & Maier, G. (2006), 'Health assessment of concrete dams by overall inverse analyses and neural networks', International Journal of Fracture 137(1-4),151-172.

[6] Ziemiański, L.; Miller, B. & Piątkowski, G. (2007), Intelligent Computational Paradigms in Earthquaqe Engineering, Idea Publishing Group, chapter Application of Neurocomputing to Parametric Identification Using Dynamic Responses, pp. 362—392.

[7] Miller, B. (2010), Application of Semi-Bayesian Neural Networks in the Identification of Load Causing Beam Yielding, in Konstantinos Diamantaras; Wlodek Duch &

Lazaros Iliadis, ed., 'Artificial Neural Networks - ICANN 2010', Springer Berlin / Heidelberg, , pp. 97-100.

NEURAL NETWORKS APPLICATION TO THE BRIDGE MANAGEMENT

W dokumencie I INŻYNIERIA ŚRODOWISKA (Stron 185-190)