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.