XXXI MKM

Transkrypt

XXXI MKM
XXXI MKM
XXXI MIĘDZYUCZELNIANA
KONFERENCJA METROLOGÓW
Białystok, 7-10 września 1999
Eligiusz PAWŁOWSKI
Politechnika Lubelska
Wydział Elektryczny
Katedra Automatyki i Metrologii
e-mail: [email protected]
UCZENIE I WERYFIKACJA SZTUCZNEJ SIECI NEURONOWEJ
W UKŁADZIE TESTERA JAKOŚCI WYROBU
W pracy przedstawiono rezultaty eksperymentów mających na celu próbę
zastosowania sztucznej sieci neuronowej do przetwarzania danych w testerze
jakości wyrobu. Zasada działania testera polega na pomiarze w funkcji czasu
poboru mocy przez badane urządzenie (sterowane programatorem czasowym)
oraz porównaniu go z przebiegiem wzorcowym, przy czym zastosowanie
sztucznej sieci neuronowej umożliwia rozpoznawanie urządzeń sprawnych i
uszkodzonych oraz wskazanie podzespołów będących przyczyną awarii.
1. WPROWADZENIE
Algorytmy przetwarzania danych oparte na strukturze sztucznych sieci neuronowych
są efektywnym narzędziem znajdującym zastosowanie w wielu dziedzinach nauki, techniki
i ekonomii. Ich podstawy działania i najczęstsze zastosowania są opisywane w licznych
pozycjach literatury [1], .. , [7]. Z powodzeniem stosowane są one przede wszystkim w
rozwiązywaniu zadań klasyfikacji obiektów, rozpoznawania obrazów, kompresji danych,
predykcji, aproksymacji itp. Pomimo tego, że sztuczne sieci neuronowe ze swej natury nie
sprawdzają się dobrze w zastosowaniach wymagających wysokich dokładności obliczeń, to
znajdują one jednak coraz więcej zastosowań również w technice pomiarowej. Nie nadają
one się co prawda do zastosowania w wielu typowych zadaniach przetwarzania danych
pomiarowych, dobrze jednak radzą sobie z zagadnieniami o nieliniowych i niezupełnie
znanych relacjach wejścia - wyjścia, zagadnieniach identyfikacji, optymalizacji oraz przy
niedokładnie określonych lub rozmytych danych, jak również przy braku wystarczająco
sprecyzowanych modeli matematycznych analizowanych zagadnień. W szczególności,
pojawia się coraz więcej publikacji na temat zastosowania sztucznych sieci neuronowych
do detekcji uszkodzeń w urządzeniach technicznych [8], .. , [10]. Tego rodzaju
zastosowaniem jest również próba praktycznego wykorzystania sztucznej sieci neuronowej
do przetwarzania danych w testerze jakości wyrobu [11], [12]. Testowanie jakości wyrobu
ma istotne znaczenie dla producenta, gdyż umożliwia zmniejszenie liczby sprzedanych
wadliwych egzemplarzy, co istotnie obniża koszty reklamacji i napraw gwarancyjnych.
392
E. Pawłowski
2. ZASADA DZIAŁANIA TESTERA
Badanym obiektem jest zmywarka do naczyń sterowana programatorem czasowym.
Zasadę działania zmywarki oraz układ testera szczegółowo opisano w pracy [11].
Zastosowana idea sprawdzania polega na pomiarze czasu trwania kolejnych cykli pracy
urządzenia oraz pobieranej w nich mocy elektrycznej. Każdy cykl pracy zmywarki jest
określony poprzez wartości sygnałów z czujników (temperatury, poziomu wody itp.), które
zapewniają osiągnięcie danego kroku programatora oraz przez zbiór załączonych w tym
cyklu odbiorników energii. Zmywarkę można uznać za sprawną jeżeli prawidłowo
osiągnęła wszystkie wymagane stany pracy podczas kontrolnego pełnego cyklu mycia.
Podstawą do oceny poprawności pracy zmywarki są pomiary pobieranej łącznej mocy
czynnej przez odpowiednie odbiorniki oraz czasy ich załączenia i wyłączenia. W
całkowicie sprawnej zmywarce występuje 17 kolejno po sobie następujących cykli pracy, z
których każdy określony jest poprzez znamionowe wartości pobieranej mocy P i czasu
trwania t, z odpowiednią dopuszczalną tolerancją.
3. ZASTOSOWANIE SZTUCZNEJ SIECI NEURONOWEJ
Zastosowany w testerze algorytm przetwarzania danych pomiarowych ma za zadanie
przedstawiane ich w postaci przebiegu schodkowego, w którym czasy trwania t[1..17]
kolejnych schodków oraz reprezentowane przez te schodki średnie moce P[1..17]
odpowiadają kolejnym cyklom pracy zmywarki [11]. Jeśli uzyskane w wyniku testu
wszystkie kolejne wartości czasów tn i mocy Pn mieszczą się w przedziałach uznanych za
dopuszczalne, to w sposób jednoznaczny można uznać dany egzemplarz za sprawny i
jednocześnie, jeśli przynajmniej w jednym cyklu pracy dopuszczalne tolerancje czasu lub
mocy zostały przekroczone, to zmywarka taka jest uznawana za wadliwą. Rozpoznawanie
w ten sposób wadliwych urządzeń jest zadaniem stosunkowo prostym, sprowadzającym się
do porównania wartości uzyskanych z pomiarów z wartościami granicznymi. Nie jest
natomiast możliwe w tak prosty sposób stwierdzenie, który z elementów składowych
urządzenia uległ uszkodzeniu. W tym celu można zastosować odpowiednio
zaprojektowaną i wytrenowaną sztuczną sieć neuronową [12], a zasadniczym problemem
jest zaprojektowanie optymalnej struktury tej sieci oraz dobranie wartości współczynnika
sigmoidalnej funkcji aktywacji neuronów oraz współczynnika szybkości uczenia w regule
delta. W tym celu zaplanowano i przeprowadzono odpowiednie badania symulacyjne.
4. BADANIA SYMULACYJNE
Na wstępnym etapie eksperymentów przyjęto nieco uproszczony model badanego
urządzenia. Ponieważ oryginalny pełny cykl mycia składa się z czterech podobnych do
siebie etapów, do celów badań zredukowano go do 6 cykli zawierających wszystkie
charakterystyczne etapy oraz przewidziano uszkodzenie tylko jednego elementu
składowego w postaci grzałki. Zaprojektowano i napisano program realizujący sieć
neuronową zawierającą warstwę wejściową i wyjściową oraz jedną warstwę ukrytą, przy
czym liczba neuronów ukrytych może być ustalana podczas eksperymentu. Zastosowano
sigmoidalną funkcję aktywacji [1] i algorytm uczenia z nadzorowaniem metodą wstecznej
propagacji błędów. Celem zrealizowanych badań było przebadanie właściwości sieci
neuronowej w zależności od liczby neuronów ukrytych, rozkładu wag początkowych,
Uczenie i weryfikacja sztucznej sieci neuronowej ...
393
kroku uczenia η w regule delta oraz wartości współczynnika β logistycznej funkcji
aktywacji neuronów.
Eksperyment został podzielony na trzy etapy A, B, C, przy czym etap trzeci C jest
egzaminem dla wybranej z poprzednich eksperymentów sieci. W etapie A wykorzystano
specjalnie przygotowany program symulujący działanie testowanej zmywarki, za pomocą
którego wygenerowano pliki z danymi będącymi ciągami uczącymi dla sieci neuronowej.
Pliki te zapisano na dysku twardym komputera i użyto ich w dalszych eksperymentach.
Etap B stanowił zasadniczą część eksperymentu. Przebadano w nim wpływ liczby
neuronów ukrytych na skuteczność uczenia się sieci, wpływ kroku uczenia na szybkość i
skuteczność uczenia się sieci oraz zależność skuteczności nauki od wag początkowych
(przedziału z jakiego były losowane wagi początkowe). Po wykonaniu wszystkich
eksperymentów wybrana została sieć, która nauczyła się najlepiej stawianego zadania.
Przyjęto, że jeśli liczba kroków uczenia przekroczy 300000, a sieć nie nauczy się
rozpoznawać prawidłowo próbek zawartych w zbiorze testowym, to nauczanie zostaje
przerwane i przyjmuje się, że sieć taka nie nauczyła się rozwiązywać postawionego
problemu. Należy zwrócić uwagę, że sieć na wyjściu nigdy nie osiąga wartości
ekstremalnych „0” i „1”, odpowiadających grzałce uszkodzonej i sprawnej, a jedynie zbliża
się do tych wartości. Określono więc odpowiednie przedziały ufności w których
odpowiedzi sieci były uznawane za poprawne. W pierwszej części eksperymentu B1
wszystkie odpowiedzi sieci, które nie różnią się więcej niż o 0.01 od wartości
ekstremalnych „0” i „1” przyjmowano za prawidłowe. Takie założenie pozwala
stosunkowo szybko nauczyć sieć (w mniejszej liczbie prezentacji) dla różnych kroków
uczenia. Następnie dla ustalonych kroków zacieśniono przedział ufności do 0,0003 i
uczono sieć dla różnej liczby neuronów ukrytych. Z tak przeprowadzonego eksperymentu
wybrano sieć o ustalonym współczynniku uczenia i ustalonej liczbie neuronów ukrytych.
W drugiej części eksperymentu B2 dla wybranej sieci sprawdzono wpływ współczynnika β
na szybkość i skuteczność nauki sieci. W ten sposób określono dla jakiego współczynnika
β sieć uczy się najlepiej stawianego zadania. W ostatniej części eksperymentu B3 zbadano
wpływ wag początkowych na jakość uczenia się sieci. Ostatecznie na podstawie wyników
doświadczeń wybrano sieć potrafiącą najlepiej rozwiązywać postawione zadanie (wzięto
pod uwagę szybkość i jakość uczenia).
5. UZYSKANE REZULTATY
W przeprowadzonych eksperymentach najlepsze wyniki uczenia osiągano dla
współczynników uczenia η od 2.5 do 3.5. Dla mniejszych wartości kroku uczenia sieć
uczyła się długo, natomiast dla większych w ogóle nie potrafiła się nauczyć. Najszybciej
sieć uczyła się dla 2, 4 i 8 neuronów ukrytych. Przykładowo, na Rys.1. przedstawiono błąd
średniokwadratowy ε na wyjściu sieci z 4 neuronami ukrytymi w zależności od liczby
prezentacji. Na Rys.2. przedstawiono natomiast odchylenie średniokwadratowe O1 wektora
wag od wektora jednostkowego, co pozwala zaobserwować proces stabilizowania się
wartości wag w procesie uczenia wokół pewnych ustalonych wartości. Szczególnie
istotnym wskaźnikiem jest przedstawiona na Rys.3. skuteczność S uczenia się sieci, która
E. Pawłowski
394
ε [-]
1.00
O1 [-]
0.8560
0.8555
0.80
0.8550
0.60
0.8545
0.40
0.8540
0.20
0.8535
0.00
1
10
100
1000
10000
1
100000
liczba
prezentacji
Rys.1. Rozkład błędu ε na wyjściu
sieci z 4 neuronami ukrytymi
S [%]
ε [-]
100
10
100
1000
10000
100000
liczba
prezntacji
Rys.2. Rozkład odchylenia wag O1
w sieci z 4 neuronami ukrytymi
0.7
80
0.6
60
0.5
40
0.4
20
0.3
0
0
20000
40000
60000
80000
100000
liczba
prezentacji
Rys.3. Skuteczność uczenia się
sieci z 4 neuronami ukrytymi
1
10
100
1000
10000
100000
liczba
prezentacji
Rys.4. Rozkład błędu ε na wyjściu
sieci dla współczynnika β=0.1
w procentach wyraża liczbę prawidłowo rozpoznanych stanów urządzenia podczas testów
sprawdzających, wykonywanych co kilkaset prezentacji danych uczących.
Charakterystyczne jest to, że malenie błędu ε na wyjściu sieci oraz stabilizacja wartości
Uczenie i weryfikacja sztucznej sieci neuronowej ...
395
wag następują stosunkowo łagodnie, natomiast skuteczność uczenia S zwiększa się
wyraźnie skokowo. Wynika to z faktu, że te wskaźniki jakości uczenia się sieci mają
zupełnie różny charakter jakościowy: błąd ε może przybierać praktycznie dowolne
wartości, natomiast przy obliczaniu skuteczności uczenia S stosowane są bardzo wąskie
przedziały dopuszczalnych wartości. Dla porównania na Rys.4. przedstawiono błąd
średniokwadratowy ε na wyjściu sieci z 4 neuronami ukrytymi w zależności od liczby
prezentacji, ale dla bardzo małej wartości współczynnika β=0.1 logistycznej funkcji
aktywacji neuronów. Ta sieć nigdy nie nauczy się postawionego zadania.
6. PODSUMOWANIE
Celem zrealizowanych prac było zaprojektowanie i przetestowanie sztucznej sieci
neuronowej dla testera jakości urządzenia technicznego. Do celów pracy opracowano
również cyfrowy model badanego obiektu, który umożliwił wygenerowanie odpowiedniej
liczby danych wzorcowych, użytych następnie do trenowania badanej sieci.
Zaprojektowaną sieć przetestowano dla kilkudziesięciu wartości jej podstawowych
parametrów. Zbadano wpływ liczby neuronów w warstwie ukrytej oraz kroku uczenia η i
współczynnika β funkcji logistycznej na szybkość procesu uczenia sieci i jakość nauki. W
wyniku tych eksperymentów wybrano sieć o najlepszych parametrach.
Stwierdzono zależność skuteczności nauki sieci od ilości neuronów ukrytych, zbyt
mała liczba neuronów ukrytych powoduje nieskuteczność nauki, zaś zastosowanie zbyt
dużej ich liczby wydłuża proces nauki 2- lub nawet 3-krotnie. Zaprojektowana sieć uczyła
się najlepiej dla 4 neuronów ukrytych. W przeprowadzonych badaniach wyraźnie
zaobserwowano również wpływ kroku uczenia na jakość nauki: mały krok powodował
wydłużenie nauki, zbyt duży zaś czynił naukę nieskuteczną. Skuteczność nauki sieci
zależała również od współczynnika β funkcji logistycznej, przy czym jako funkcję
aktywacji przetestowano unipolarną funkcję sigmoidalną. Dla bardzo małych β sieć nie
potrafiła się nauczyć zadania. Zaobserwowano, że wraz ze wzrostem β jakość nauki rośnie,
aż do wartości około β =16, powyżej której zmiany są już niewielkie.
Skuteczność nauki sieci nie zależy w sposób oczywisty od przedziału wag
początkowych. W każdym przypadku sieć uczy się stawianego zadania jednakowo
dokładnie i szybko. Zauważono jedynie, że w niektórych losowaniach, zarówno w dużych
jak i w małych przedziałach, zdarzały się wagi początkowe, dla których sieć nie potrafiła
się nauczyć. Dla dużych przedziałów losowania występowała większa niestabilność błędu,
nie wpływało to jednak istotnie na skuteczność nauki sieci.
Praktycznie potwierdziła się przydatności sztucznej sieci neuronowej do oceny
prawidłowości działania urządzeń, w których skład wchodzi wiele współpracujących ze
sobą odbiorników energii elektrycznej. Zastosowane rozwiązanie, choć dotyczące mało
skomplikowanego obiektu, przyniosło zadowalające rezultaty. Zaprojektowana sieć
neuronowa skutecznie uczyła się rozwiązywać przedstawione zadanie. Bardzo istotne jest
to, że po nauczeniu sieć bezbłędnie rozpoznawała uszkodzenie obiektu spowodowane
uszkodzeniem grzałki wodnej. Do nauczenia sieci użyto bardzo wielu przykładów (kilkaset
tysięcy) należy jednak podkreślić, że uzyskanie tak dużej liczby danych nie wymaga
badania rzeczywistych układów, co praktycznie nie byłoby możliwe. W każdym bowiem
przypadku podobnym do prezentowanego można opracować odpowiedni model obiektu i
E. Pawłowski
396
w ten sposób wygenerować odpowiednio duży zbiór uczący a następnie szybko (w kilka
godzin) i skutecznie nauczyć sieć neuronową rozwiązywania wielu nawet bardzo
skomplikowanych zadań.
LITERATURA
[1] R.Tadeusiewicz: Sieci neuronowe. Akademicka Oficyna Wydawnicza RM, Warszawa
1993.
[2] J.Korbicz, A.Obuchowski, D.Uciński: Sztuczne sieci neuronowe. Akademicka Oficyna
Wydawnicza PLJ, Warszawa 1994.
[3] S. Osowski: Sieci neuronowe w ujęciu algorytmicznym. WNT, Warszawa 1996.
[4] T. Masters: Sieci neuronowe w praktyce. WNT, Warszawa 1996.
[5] J.Hertz, A.Krogh, R.G.Palmer: Wstęp do teorii obliczeń neuronowych. WNT,
Warszawa 1995.
[6] J.Żurada, M.Barski, W.Jędruch: Sztuczne sieci neuronowe. PWN, Warszawa 1996.
[7] R. Tadeusiewicz: Sieci neuronowe. Cykl artykułów w Magazynie Komputerowym
ENTER, Wyd. LUPUS, Warszawa, styczeń-grudzień 1996r.
[8] A.Bernieri, M.D’Apuzzoi: A Neural Network Approach for Identification and Fault
Diagnosis on Dynamic Systems, IEEE Trans. Instrum. Meas., vol. 43, no.6, 1994.
[9] A.Bernieri, G.Betta,: A Neural Network Approach to Instrument Fault Detection and
Isolation, IEEE Trans. Instrum. Meas., vol. 44, no.3, 1995.
[10] A.Bernieri, G.Betta, C.Liguori: On-Line Fault Detection and Diagnosis Obtained by
Implementing Neural Algorithms on a Digital Signal Processor, IEEE Trans. Instrum.
Meas., vol. 45, no.5, 1996.
[11] J.R.Jasik, E.Pawłowski, K.Toborek: Komputerowy tester zmywarek do naczyń. PAK
1994, nr 6, str.125-128.
[12] E.Pawłowski: Zastosowanie sztucznej sieci neuronowej w przemysłowym testerze
jakości wyrobu. Materiały konferencyjne XXVIII MKM’96, Wyd. Politechniki
Częstochowskiej, Częstochowa 22-25 IX 1996r.
LEARNING AND VERYFICATION AN ARTIFICIAL NEURAL
NETWORK IN INDUSTRIAL QUALITY TESTER
This paper presents a neural network approach and application for industrial quality
tester. The architecture of multilayer feedforward neural network and
backpropagation training algorithm is described. The design method for a neural
network structure, including numbers of hidden layers, numbers of neurons, learning
coefficient and activation function, is proposed and verification.