Sieci neuronowe w sterowaniu procesami technologicznymi

Sieci neuronowe są stosowane od wielu lat z dużym powodzeniem w strategiach sterowania procesami technologicznymi. Próbując przeanalizować proces tworzenia takiej sieci, opiszemy jej architekturę, przestrzeń sterowania, zakres modelu, typy danych i wybór przydatnych zbiorów danych.
Sieci neuronowe składają się z elementów zwanych neuronami, zaprogramowanych tak, aby tworzyły odpowiedź na zewnętrzny sygnał pobudzający.
Neuron to podstawowy blok tej konstrukcji. Jego nazwa pochodzi od biologicznego odpowiednika, ale w tym przypadku neuron jest modelowany przez mały segment kodu komputerowego, zwany perceptronem. Kilka neuronów zostaje wzajemnie połączonych w sieć, która w procesie treningu zaczyna się uczyć, jak odpowiadać na sygnał pobudzający. Jest to proces iteracyjny – polega na podaniu sygnału pobudzającego, porównaniu odpowiedzi z odniesieniem i dokonaniu korekcji. Zdolność do uczenia się nadaje sieciom neuronowym wielką elastyczność w przechwytywaniu podstawowej funkcji procesu, nawet z atrybutami, które mogą nie być oczywiste, takimi jak np. instalacja, wiek czy inne, niemierzalne parametry.
Cel wykorzystywania modeli sieci neuronowych wywodzi się z ich zdolności do:
-> modelowania procesu liniowego lub nieliniowego;
-> modelowania procesu, który jest trudny do zrozumienia;
-> modelowania procesu, który jest trudny do modelowania przy użyciu równań podstawowych;
-> modelowania procesu na podstawie pomiarów pośrednich;
-> skrócenia czasu opracowania modelu dla złożonego procesu.
W niektórych sytuacjach zastosowanie modeli sieci neuronowych w procesach przemysłowych może przynieść konkretne korzyści.

Istnieją aplikacje, w których da się wykorzystać taki model dla wyeliminowania niepewnych pomiarów – może to w znaczącym stopniu oddziaływać na dochody zakładu przemysłowego. Zmiany nastaw lub parametrów roboczych w sterowanym procesie mogą być niekiedy dokonywane tylko w dyskretnych odstępach czasowych, z powodu bezwładności otrzymywania wyników pomiarów procesu sterowania. Przykładowo, w pewnych procesach technologicznych wykorzystuje się wyniki analizy laboratoryjnej jako sygnał sprzężenia zwrotnego. Otrzymywanie wyników z laboratorium nieodłącznie związane jest jednak ze zwłoką czasową. Przy pomocy danych z laboratorium sieć neuronowa może być nauczona działania jak wirtualny przyrząd pomiarowy, który da się zastosować do ciągłego sterowania procesem technologicznym.
Układy sterowania oparte na modelach procesu potrafią wykorzystywać modele sieci neuronowych w miejsce modeli podstawowych. Może to skrócić czas opracowania i jednocześnie nadal pozwala na sterowanie wieloma zmiennymi regulacji tam, gdzie wymagana jest jednoczesna regulacja punktu nastaw i trajektorii. Zawsze istnieją też przypadki procesów, które są trudne w zrozumieniu, zbyt skomplikowane lub zbyt gwałtownie się zmieniające, aby zastosować dla nich modele podstawowe. Sieci neuronowe przewyższają te modele w wyszukiwaniu odpowiedzi procesu sterowanego na wejściowy sygnał pobudzający.
Architektura sieci neuronowych
Od lat 80. XX w. zaprojektowano i przeanalizowano różne typy architektur uczących się sieci neuronowych. Wybór architektury sieci zależy od jej aplikacji. Ogólnie mówiąc, w przemysłowych aplikacjach sterowania modele takie poszukują sposobu naśladowania funkcjonowania jakiejś zmiennej procesowej – celu opartego na warunkach realizacji procesu oraz otaczających go wejść. Najprostszą architekturą dla realizacji tego zadania jest architektura sieci wielowarstwowej z aproksymacją funkcji (rys. 1). Liczba neuronów w warstwie ukrytej zależy od złożoności funkcji docelowej, ale ogólnie mieści się w zakresie od trzech do dziewięciu.

Przestrzeń sterowania
Ważnym aspektem w opracowywaniu modeli sieci neuronowych jest koncepcja przestrzeni pomiarowej i przestrzeni sterowania.
Przestrzeń pomiarowa to ograniczenia wielowymiarowe definiowane przez zakres pomiarowy każdego wejścia, reprezentującego jeden wymiar. Macierz wejść zwana jest wektorem wejściowym.
Przestrzeń sterowania znajduje się wewnątrz przestrzeni pomiarowej, a jej granice i kształt zależą od rozkładu wektora punktowego zapisów danych wektora wejściowego, wykorzystanych do uczenia sieci. Rozważmy np. model z niezależnymi wejściami p1…pk. Każde z tych wejść tworzy wymiar w przestrzeni sterowania. Dla uproszczenia załóżmy, że są tylko dwa wejścia (rys. 2).
Pokrycie przestrzeni sterowania jest determinowane przez rozkład wektora punktowego – rys. 3 (z lewej). Jeśli wejścia formują wektor punktowy poza przestrzenią sterowania, tak jak pokazano na rys. 3 (w środku), to model sieci neuronowej może nie być walidowany, dlatego że w przestrzeni tej nie odbywało się żadne uczenie sieci.

<—newpage—>Wybór zbioru danych
Podczas wyboru zapisów danych do uczenia sieci neuronowej sprawą zasadniczą jest zapewnienie, aby zbiór tych zapisów pokrywał nie tylko zakres, ale także odpowiedź docelową w całym zakresie wejściowym. Na rys. 3 (po prawej) pokazano przykład tego, jak odpowiedź docelowa na sygnały wejściowe ujawnia jego zakres i funkcję.
Kolejne etapy tworzenia zbioru danych odpowiedniego do uczenia sieci neuronowej to: wybór zmiennej docelowej, wybór elementów wektora wejściowego, interpretacja typów danych, zgłębianie danych historycznych i/lub testy parametryczne.
Typy danych. Podstawowymi typami danych – zalecanych dla architektury aproksymacji funkcji – są: binarne, całkowite i zmiennoprzecinkowe. Dane typu wyliczeniowego oraz tekstowe stanowią przypadki specjalne, ale mogą byćużyte, jeśli zostaną podzielone na pojedyncze wejścia binarne.
Wybór elementów wejściowych modelu zmiennej docelowej. Prawdopodobnie najtrudniejszym zadaniem przy tworzeniu modelu sieci neuronowej jest wybór zmiennych procesowych, które tworzą elementy danych wektora wejściowego modelu, p1…pk. Sygnałami wejściowymi modelu powinny być odporne na zakłócenia i niezależne zmienne, które mają największy wpływ na cel. Gdy proces jest prosty, wówczas zwykle wystarczy mieć odpowiednie doświadczenie, aby dokonać wyboru. Jednak w niektórych przypadkach w procesie może występować więcej niż kilka zmiennych, a wybór tych właściwych stanowi wyzwanie.

Dodatkowo należy zachować staranność, aby zminimalizować liczbę wejść, bo każde niepotrzebne wejście użyte w modelu zmniejsza jego odporność, wprowadza zakłócenia i zwiększa koszty. Istnieje kilka narzędzi, które pomagają w wykluczeniu mniej znaczących wejść.
Na rys. 4 (u góry) pokazano diagram przyczyn i skutków ze wszystkimi możliwymi czynnikami, które mogą wpłynąć na pomiar docelowy. Należy dążyć do redukcji liczby zmiennych do takiej wartości, która osiąga znaczny wpływ na cel, jak pokazano na rys. 4 (na dole). Wynikiem takiej redukcji mogą być znaczne oszczędności kosztów modelowania i przyrządów pomiarowych/czujników. Ponadto upraszcza to model.
Na rynku dostępne są programy komputerowe, które wykonują analizę wariancji (ANOVA) w celu wyznaczenia wagi wpływu każdej zmiennej na cel. Jednak wykonanie analizy ANOVA staje się coraz trudniejsze, ponieważ liczba zmiennych rośnie.
Inny dostępny na rynku program wykorzystuje sieci neuronowe do wyznaczenia wagi wejścia. Metoda ta pozwala użytkownikowi na zastosowanie tzw. podejścia strzelby śrutowej (ang. shotgun approach – pospiesznego wykorzystania szerokiego zakresu technik, które są nieselektywne i chaotyczne). Oznacza to, że – jak pokazano na rys. 5 – program wykorzystuje zbiór danych obejmujących wszystkie wejścia (co widać na rys. 4, (u góry) i identyfikuje wejścia znaczące (rys. 4, na dole).

Dane historyczne i testowanie parametryczne. Aby zdobyć dane przydatne do uczenia sieci neuronowej, można sięgnąć do niektórych danych historycznych. Jednak nie zawsze dobrze znane są warunki realizacji procesu i stan systemu sterowania, panujące w trakcie generowania tych danych. Zdecydowanie zaleca się więc, aby przed pozyskaniem zbioru zapisów danych utworzyć wartości odniesienia dla pomiarów i sterowania. Aby to zrobić, należy:
-> skalibrować wszystkie czujniki, których sygnały wyjściowe są sygnałami wejściowymi dla modelu;
-> sprawdzić, czy zawory, napędy i ogrzewacze znajdują się w prawidłowym porządku roboczym.
Wśród działań, które należy podjąć przed wykonaniem testu parametrycznego i w jego trakcie, znajdują się m.in.:
-> analiza zagrożeń przed manipulowaniem procesem;
-> zdefiniowanie ograniczenia dla zaworów, regulatorów prędkości i innych przyrządów, używanych podczas testu;
-> zapewnienie bezpiecznych warunków dla realizacji procesu w przypadku zajścia jakiegoś nieprzewidzianego zdarzenia;
-> zapisanie wszelkich ustawień filtrów przeciwzakłóceniowych;
-> zdefiniowanie czasu ustalania się odpowiedzi po każdym manewrze testu parametrycznego;
-> sprawdzenie ograniczeń bezpieczeństwa podczas wykonywania testu parametrycznego;
-> odnotowanie każdej nieoczekiwanej zwłoki czasowej pomiarów lub opóźnień transportowych;
-> upewnienie się, że wszystkie punkty danych są zapisywane przez program archiwizujący;
-> upewnienie się, że pracownicy wykonujący test mają świadomość istnienia procedury testowej i zgadzają się na jej stosowanie.

Dla nowych lub modernizowanych procesów zestawy danych są zwykle generowane podczas testowania parametrycznego systemu po rozruchu i dostrojeniu (rys. 6). Doświadczenie wykazuje, że najlepsze dane dla tego modelu są zbierane po tym, gdy określona zmienna osiągnie stan ustalony po wykonaniu testu parametrycznego.
Należy przy tym zdawać sobie sprawę z tego, że stan zbiorów danych jest związany z aktualnie posiadanym sprzętem i konfiguracją procesu. W konsekwencji dane zebrane przed wykonaniem modernizacji lub zmianą procesu mogą nie być odpowiednie dla oczekiwanego działania układu sterowania. Jeśli działanie to pogarsza się, wówczas może być wymagane ponowne wykonanie testu parametrycznego.
Zapisywanie zestawów danych do nauki. Gdy wykonano już cały test parametryczny, a dane zostały zapisane przez program do archiwizacji, celem staje się pozyskanie zapisanego zestawu danych do nauki sieci neuronowej. Na rynku dostępnych jest kilka pakietów oprogramowania do archiwizacji danych. W wielu z nich przewidziano wtyczki do współpracy z oprogramowaniem typu arkusz kalkulacyjny. Na rys. 7 pokazano wstępnie zaprojektowany arkusz takiego programu.

W drugiej części artykułu, w kolejnym numerze Control Engineering Polska, autor omówi przygotowywanie zestawu danych do nauki, model nauki i walidacji sieci neuronowej, wdrażanie modelu sieci neuronowej na platformie sterowania oraz wymagania interfejsów człowiek-maszyna (HMI).
Autor: Jimmy W. Key jest inżynierem, prezesem i właścicielem firmy Process2Control LLC.
Tekst pochodzi z nr 2/2017 magazynu "Control Engineering". Jeśli Cię zainteresował, ZAREJESTRUJ SIĘ w naszym serwisie, a uzyskasz dostęp do darmowej prenumeraty w formie drukowanej i/lub elektronicznej.