ZASTOSOWANIE SZTUCZNYCH SIECI NEURONOWYCH ORAZ ARCHITEKTURY OPENCL W SPEKTRALNEJ I FALKOWEJ ANALIZIE PRĄDU SILNIKA LSPMSM

Podobne dokumenty
WIDMOWA I FALKOWA ANALIZA PRĄDU SILNIKA LSPMSM Z WYKORZYSTANIEM OPENCL

Sztuczna Inteligencja Tematy projektów Sieci Neuronowe

DEKOMPOZYCJA HIERARCHICZNEJ STRUKTURY SZTUCZNEJ SIECI NEURONOWEJ I ALGORYTM KOORDYNACJI

Temat: Sieci neuronowe oraz technologia CUDA

PREZENTACJA MODULACJI AM W PROGRAMIE MATHCAD

APLIKACJA NAPISANA W ŚRODOWISKU LABVIEW SŁUŻĄCA DO WYZNACZANIA WSPÓŁCZYNNIKA UZWOJENIA MASZYNY INDUKCYJNEJ

NEURAL NETWORK ) FANN jest biblioteką implementującą SSN, którą moŝna wykorzystać. w C, C++, PHP, Pythonie, Delphi a nawet w środowisku. Mathematica.

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

IMPLEMENTATION OF THE SPECTRUM ANALYZER ON MICROCONTROLLER WITH ARM7 CORE IMPLEMENTACJA ANALIZATORA WIDMA NA MIKROKONTROLERZE Z RDZENIEM ARM7

Porównanie wydajności CUDA i OpenCL na przykładzie równoległego algorytmu wyznaczania wartości funkcji celu dla problemu gniazdowego

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

Podstawy Sztucznej Inteligencji (PSZT)

i3: internet - infrastruktury - innowacje

Spis treści 1. Wstęp 2. Ćwiczenia laboratoryjne LPM

Zastosowania sieci neuronowych

CYFROWE PRZTWARZANIE SYGNAŁÓW (Zastosowanie transformacji Fouriera)

WZORCOWANIE MOSTKÓW DO POMIARU BŁĘDÓW PRZEKŁADNIKÓW PRĄDOWYCH I NAPIĘCIOWYCH ZA POMOCĄ SYSTEMU PRÓBKUJĄCEGO

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

KONCEPCJA WYKORZYSTANIA SZTUCZNYCH SIECI NEURONOWYCH W DIAGNOSTYCE PRZEKŁADNI ZĘBATYCH

Wykład wprowadzający

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

Uczenie sieci typu MLP

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

Uniwersytet w Białymstoku Wydział Ekonomiczno-Informatyczny w Wilnie SYLLABUS na rok akademicki 2012/2013

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

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

Sieci neuronowe jako sposób na optymalizacje podejmowanych decyzji. Tomasz Karczyoski Wydział W-08 IZ

Metody Sztucznej Inteligencji II

HAŁASU Z UWZGLĘDNIENIEM ZJAWISK O CHARAKTERZE NIELINIOWYM

Sztuczne sieci neuronowe (SNN)

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

WIZUALIZACJA 3D STRUKTURY SZTUCZNEJ SIECI NEURONOWEJ Z WYKORZYSTANIEM OPENGL

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

SYSTEMY OPERACYJNE: STRUKTURY I FUNKCJE (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX)

Uczenie sieci neuronowych i bayesowskich

Wstęp do głębokich sieci neuronowych. Paweł Morawiecki IPI PAN

System wspomagania harmonogramowania przedsięwzięć budowlanych

Analiza ilościowa w przetwarzaniu równoległym

Wybrane zastosowania sztucznych sieci neuronowych na rynku walutowym, rynku terminowym i w gospodarce przestrzennej

BADANIA MODELOWE OGNIW PALIWOWYCH TYPU PEM

Algorytmy i Struktury Danych

CUDA Median Filter filtr medianowy wykorzystujący bibliotekę CUDA sprawozdanie z projektu

Algorytmy sztucznej inteligencji

Transformata Fouriera. Sylwia Kołoda Magdalena Pacek Krzysztof Kolago

SIEĆ NEURONOWA JAKO NARZĘDZIE APROKSYMACJI I KLASYFIKACJI DANYCH. Jakub Karbowski Gimnazjum nr 17 w Krakowie

INFORMATYKA, TECHNOLOGIA INFORMACYJNA ORAZ INFORMATYKA W LOGISTYCE

SIEĆ NEURONOWA DO OCENY KOŃCOWEJ PRZEDSIĘWZIĘCIA (PROJEKTU)

Inteligentne systemy decyzyjne: Uczenie maszynowe sztuczne sieci neuronowe

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

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

Tom 6 Opis oprogramowania Część 8 Narzędzie do kontroli danych elementarnych, danych wynikowych oraz kontroli obmiaru do celów fakturowania

Podstawy OpenCL część 2

Zastosowania sieci neuronowych - automatyka identyfikacja sterowanie

Elementy inteligencji obliczeniowej

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32

Deep Learning na przykładzie Deep Belief Networks

PROGRAMOWANIE WSPÓŁCZESNYCH ARCHITEKTUR KOMPUTEROWYCH DR INŻ. KRZYSZTOF ROJEK

MODEL MATEMATYCZNY ZAGREGOWANEGO ELEMENTU UKŁADU ELEKTRYCZNEGO W CYFROWYCH SYMULATORACH PRACUJĄCYCH W CZASIE RZECZYWISTYM

Tom 6 Opis oprogramowania

ZASTOSOWANIE PROGRAMU SMATH W ANALIZIE STANÓW USTALONYCH W OBWODACH ELEKTRYCZNYCH

Temat: ANFIS + TS w zadaniach. Instrukcja do ćwiczeń przedmiotu INŻYNIERIA WIEDZY I SYSTEMY EKSPERTOWE

Adaptive wavelet synthesis for improving digital image processing

Elektronika i Telekomunikacja I stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny)

BADANIA MODELOWE OGNIW SŁONECZNYCH

ANALIZA WPŁYWU NIESYMETRII NAPIĘCIA SIECI NA OBCIĄŻALNOŚĆ TRÓJFAZOWYCH SILNIKÓW INDUKCYJNYCH

METODA MACIERZOWA OBLICZANIA OBWODÓW PRĄDU PRZEMIENNEGO

AUTO-STROJENIE REGULATORA TYPU PID Z WYKORZYSTANIEM LOGIKI ROZMYTEJ

Przetwarzanie Równoległe i Rozproszone

Tom 6 Opis oprogramowania

PL B1. Sposób i układ pomiaru całkowitego współczynnika odkształcenia THD sygnałów elektrycznych w systemach zasilających

Sprzęt komputerowy 2. Autor prezentacji: 1 prof. dr hab. Maria Hilczer

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Integracja systemu CAD/CAM Catia z bazą danych uchwytów obróbkowych MS Access za pomocą interfejsu API

Programowanie procesorów graficznych GPGPU

SZTUCZNA INTELIGENCJA

Równoległy algorytm wyznaczania bloków dla cyklicznego problemu przepływowego z przezbrojeniami

Praca dyplomowa magisterska

Budowa komputera. Magistrala. Procesor Pamięć Układy I/O

Dariusz Brzeziński Instytut Informatyki, Politechnika Poznańska

HARMONICZNE W PRĄDZIE ZASILAJĄCYM WYBRANE URZĄDZENIA MAŁEJ MOCY I ICH WPŁYW NA STRATY MOCY

SYMULACJA ZAKŁÓCEŃ W UKŁADACH AUTOMATYKI UTWORZONYCH ZA POMOCĄ OBWODÓW ELEKTRYCZNYCH W PROGRAMACH MATHCAD I PSPICE

ĆWICZENIE 5: Sztuczne sieci neuronowe

Inteligentne systemy informacyjne

Budowa komputera. Magistrala. Procesor Pamięć Układy I/O

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

Podsystem graficzny. W skład podsystemu graficznego wchodzą: karta graficzna monitor

TRANSFORMATA FALKOWA WYBRANYCH SYGNAŁÓW SYMULACYJNYCH

Akademia Górniczo-Hutnicza im. Stanisława Staszica w Krakowie Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej

PROPOZYCJA ZASTOSOWANIA WYMIARU PUDEŁKOWEGO DO OCENY ODKSZTAŁCEŃ PRZEBIEGÓW ELEKTROENERGETYCZNYCH

MODELOWANIE RZECZYWISTOŚCI

Transformacja Fouriera i biblioteka CUFFT 3.0

MODEL SYMULACYJNY ENERGOELEKTRONICZNEGO ZASILACZA AWARYJNEGO UPS O STRUKTURZE TYPU VFI

NATĘŻENIE POLA ELEKTRYCZNEGO PRZEWODU LINII NAPOWIETRZNEJ Z UWZGLĘDNIENIEM ZWISU

9. Dyskretna transformata Fouriera algorytm FFT

Zastosowanie Informatyki w Medycynie

Optymalizacja ciągła

INŻYNIERIA OPROGRAMOWANIA

PRZEWODNIK PO PRZEDMIOCIE

6. Algorytmy ochrony przed zagłodzeniem dla systemów Linux i Windows NT.

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

Transkrypt:

POZNAN UNIVE RSITY OF TE CHNOLOGY ACADE MIC JOURNALS No 91 Electrical Engineering 2017 DOI 10.21008/j.1897-0737.2017.91.0028 Wojciech PIETROWSKI* Grzegorz D. WIŚNIEWSKI* Konrad GÓRNY* ZASTOSOWANIE SZTUCZNYCH SIECI NEURONOWYCH ORAZ ARCHITEKTURY OPENCL W SPEKTRALNEJ I FALKOWEJ ANALIZIE PRĄDU SILNIKA LSPMSM W artykule przedstawiono autorskie algorytmy obliczeń równoległych które zostały zastosowane w oprogramowaniu do diagnostyki silnika LSPMSM. Oprogramowanie umożliwia spektralną i falkową analizę prądu maszyny a także posiada wbudowane mechanizmy sztucznych sieci neuronowych (SSN) które to mogą służyć jako element decyzyjny systemu diagnostycznego. Ponadto przybliżono tematykę związaną ze strukturą zastosowanej sieci neuronowej, algorytmami nauczania sztucznych sieci neuronowych oraz standardem OpenCL. SŁOWA KLUCZOWE: analiza widmowa, analiza falkowa, silnik LSPMSM, OpenCL, obliczenia równoległe, sztuczne sieci neuronowe, algorytm wstecznej propagacji błędu 1. WPROWADZENIE Zagadnienia związane z diagnostyką maszyn elektrycznych są znane od lat, a wraz z rozwojem techniki, wciąż zyskują na znaczeniu. Coraz większy nacisk kładziony jest na zapewnienie bezawaryjnej pracy maszyn roboczych, dlatego też w diagnostyce maszyn elektrycznych coraz częściej używane są takie narzędzia jak sztuczne sieci neuronowe czy algorytmy obliczeń równoległych. Obecnie w diagnostyce silników dominuje podejście oparte o analizę sygnałów uzyskanych bezpośrednio z badanego obiektu, np. przebieg prądu. Analiza tych informacji związana jest niejednokrotnie z koniecznością przetwarzania dużej ilości danych, co skutkuje wciąż rosnącym zapotrzebowaniem na moc obliczeniową. Jednym ze sposobów na poprawę wydajności oprogramowania do diagnostyki silników jest zastosowanie algorytmów obliczeń równoległych oraz sztucznych sieci neuronowych które mogą służyć jako element decyzyjny systemu diagnostycznego. * Politechnika Poznańska.

312 Wojciech Pietrowski, Grzegorz D. Wiśniewski, Konrad Górny 2. STANDARD PROGRAMOWANIA HETEROGENICZNEGO OPENCL OpenCL (ang. Open Computing Language) jest otwartym, standardem programowania równoległego, obejmującym procesory centralne, układy graficzne i inne układy na przykład FPGA (ang. Field Programmable Gate Array). OpenCL to platforma programistyczna, w której skład wchodzą: język programowania, API (ang. Application Programming Interface) oraz biblioteki. W celu opisania podstawowych założeń programów opartych o OpenCL należy posłużyć się podziałem struktury programu i przypisaniem do następujących modeli: platformy, pamięci i wykonania [1]. Model platformy OpenCL zawiera jeden host (CPU), który połączony jest z jednym lub więcej urządzeniem obliczeniowym. Każde z urządzeń obliczeniowych dzieli się na określoną ilość jednostek obliczeniowych CU (ang. Computing unit), te z kolei dzielą się na wiele elementów przetwarzających PE (ang. processing elements). Obliczenia na urządzeniu OpenCL odbywają się wewnątrz elementów przetwarzających. Model wykonania programu opartego o OpenCL można podzielić na dwie części. Pierwsza, wykonywana przez procesor centralny CPU określana jest mianem programu host natomiast ta wykonywana przez urządzenie obliczeniowe określona jest jako program kernela. Do zadań programu host należy: definicja kontekstu, w obrębie którego wykonuje się kernel, transfer danych między zadeklarowanym urządzeniem obliczeniowym a hostem oraz nadzór nad wykonywaniem kernela. Podstawą określenia modelu wykonania programu opartego o architekturę OpenCL jest sposób wykonania programu kernela. Programowanie układów graficznych ściśle łączy pojęcie wątka z pojęciem kernela. W przypadku architektury OpenCL pojedynczy wątek nazywany jest work item. Podczas wykonywania kernela następuje inicjalizacja przestrzeni określającej indeksy poszczególnych wątków, a dla każdego z indeksów funkcja kernela wykonywana jest tylko raz [1, 2]. Model pamięci OpenCL opisuje strukturę, zawartość i zachowanie pamięci wykorzystywanej przez platformę opartą o architekturę OpenCL. Program oparty o OpenCL definiuje kontekst, w którym zawarty jest host, a także jedno lub wiele urządzeń obliczeniowych, kolejkę rozkazów, oraz pamięć wykorzystywana w jego obrębie. Model pamięci OpenCL można zdefiniować w czterech częściach: regiony pamięci, czyli pamięć w obrębie kontekstu widoczna zarówno dla host jak i urządzeń obliczeniowych, obiekty pamięci definiowane przez API OpenCL, współdzielona pamięć wirtualna oraz spójność modelu która określa reguły dostępu do wartości a także definiuje reguły synchronizacji [1].

Zastosowanie sztucznych sieci neuronowych oraz architektury... 313 3. SZTUCZNE SIECI NEURONOWE Sztuczne sieci neuronowe (SSN) można rozpatrywać jako uproszczony model ludzkiego mózgu. W skład sztucznej sieci neuronowej wchodzą elementy służące do przetwarzania informacji zwane neuronami oraz połączenia między neuronami, które posiadają parametr określony jako waga. Pomimo uproszczeń w odniesieniu do ludzkiego mózgu sztuczne sieci neuronowe stanowią efektywne i wciąż rozwijające się narzędzie które można wykorzystać do diagnostyki maszyn elektrycznych. Parametry sieci neuronowych, które są modyfikowane w procesie uczenia, jak i ich struktura, zależą od zastosowania. Zadaniem nauczonej sieci neuronowej jest wygenerowanie odpowiedzi układu na zadany sygnał wejściowy [4]. 3.1. Model neuronu i zasada działania sztucznych sieci neuronowych Neuron jest podstawowym elementem SSN którego zadaniem jest przetwarzanie informacji. Pojedynczy neuron można zdefiniować w następujący sposób: do każdego z neuronów w sieci doprowadzana jest pewna liczba wartości wejściowych, a każde z wejść do neuronów posiada parametr nazywany wagą. To właśnie z modyfikacją wag związane jest pojęcie uczenia sieci, każdy z neuronów przeprowadza operację sumowania z wagami swoich wszystkich wejść, a otrzymany w ten sposób sygnał nazywany jest sygnałem pobudzającym, neuron przekształca sygnał pobudzający przy użyciu funkcji aktywacji. Wartość obliczona przez tę funkcję jest wartością wyjściową neuronu. Model neuronu przedstawiony jest na rysunku rys. 1 [3]. Rys. 1. Model neuronu: x 0, x 1, x 2, x 3 sygnały wejściowe do neuronu, w 0, w 1, w 2, w 3 wagi poszczególnych wejść neuronu, e sygnał pobudzający, funkcja aktywacji neuronu, y(e) sygnał wyjściowy [5]

314 Wojciech Pietrowski, Grzegorz D. Wiśniewski, Konrad Górny 3.2. Algorytm wstecznej propagacji błędu Algorytm wstecznej propagacji błędu to jedna z najpopularniejszych metod nauczania sztucznych sieci neuronowych. Swoją nazwę zawdzięcza sposobowi, w jaki obliczane są błędy w poszczególnych warstwach sieci. Na początku błąd obliczany jest dla warstwy wyjściowej, czyli ostatniej w strukturze sieci. Następnie błędy kolejnych warstw ukrytych oraz warstwy wejściowej wyliczane są, jako funkcja błędów warstwy, w której błędy zostały policzone wcześniej. Tak więc błąd propaguje wstecz od warstwy wyjściowej, przez warstwy ukryte, aż do warstwy wejściowej. Uczenie sieci polega na dobieraniu wektora wag w taki sposób, aby zminimalizować funkcję błędu. Funkcję tą określono jako błąd średniokwadratowy dla ostatniej warstwy sieci. Aby dokonać minimalizacji funkcji błędu średniokwadratowego, korzysta się z metody najszybszego spadku dla dowolnej wagi dowolnego neuronu, opisanej wzorem: gdzie: ( k ) ij w ( k ) ij ( k ) ij ( k ) ij ( n 1) w ( n ) ( ( n )) (1) w i ta waga j go neuronu k tej warstwy, współczynnik uczenia, n numer iteracji, gradient funkcji [3]. 4. SZTUCZNE SIECI NEURONOWE I OBLICZENIA RÓWNOLEGŁE W DIAGNOSTYCE W prezentowanym artykule skupiono się na spektralnej oraz falkowej analizie sygnału prądowego silnika LSPMSM z wykorzystaniem autorskiego oprogramowania. Oprogramowanie oprócz algorytmu sekwencyjnego posiada zaimplementowane sztuczne sieci neuronowe oraz algorytmy obliczeń równoległych. Program host realizowany jest przez procesor centralny (CPU) natomiast program kernela realizuje układ graficzny (GPU). W programie komputerowym użyto jednokierunkowej SSN składającej się z trzech warstw. W warstwie wyjściowej znajduje się jeden neuron będący również wyjściem z sieci. Algorytm nauczania sieci neuronowej zastosowany w programie opiera się na momentowym algorytmie wstecznej propagacji błędu. Dodatkowo program wyposażony jest w możliwość wczytywania wartości wejściowych i wartości celu sieci neuronowej z zewnętrznego pliku tekstowego co zwiększa jego funkcjonalność. W celu weryfikacji poprawności działania SSN istnieje również możliwość wygenerowania przebiegów sinusoidalnych poliharmonicznych ze znaną zawartością wyższych harmonicznych na podstawie których obliczany jest współczynnik THD będący również wartością celu przy testowaniu oprogramowania. Program ze względu na dostępność niezbędnych bibliotek OpenCL napisano w języku C++ w środowisku Visual Studio 2015. Jako sygnał wejściowy do programu wykorzystano przebiegi prądów fazowych silnika LSPMSM [6].

Zastosowanie sztucznych sieci neuronowych oraz architektury... 315 4.1. Spektralna analiza sygnału Dyskretna transformata Fouriera (DFT) pozwala na przetworzenie stacjonarnych sygnału z dziedziny czasu na dziedzinę częstotliwości. Otrzymany wynik jest podstawą dla dalszej analizy. Realizowanie DFT zastosowanej w programie przedstawia wzór (2). x( m ) N 1 n 0 N 1 n m n m x( n )cos 2 j x( n ) sin 2 (2) N N gdzie: x(m) sygnał wyjściowy, x(n) sygnał dyskretny poddawany analizie, n kolejne próbki, m indeks próbki na wyjściu, N całkowita liczba próbek dyskretnego sygnału poddawanego analizie. Algorytm obliczeń równoległych umożliwiający analizę widmową stacjonarnego sygnału prądowego przedstawiony został na rys. 2. n 0 Rys. 2. Algorytm wykonywania programu z zastosowaniem obliczeń równoległych i transformaty Fourier a Algorytm przedstawiony na rysunku 2 można uogólnić do trzech etapów: operacje na wczytanych plikach takie jak: wizualizacja oraz konwersja danych do formatów obsługiwanych przez środowisko OpenCL, inicjalizacja środowiska OpenCL: obejmująca między innymi identyfikację dostępnych platform i urządzeń obliczeniowych, tworzenie konceptu, tworzenie kolejki poleceń czy zmiennych pamięciowych, obliczenia na dedykowanym urządzeniu które obejmują: buforowanie zmiennych z urządzenia host do urządzenia obliczeniowego, wykonywanie funkcji kernela, zwrot wyników z urządzenia do host, wyczyszczenie nieużywanych obszarów pamięci oraz interpretacja wyników. Interface programu komputerowego wraz z przykładowymi wynikami przedstawiono na rys. 3, 4, 5, 6. Platforma obliczeniowa wyposażona jest w dwa urządzenia obliczeniowe procesor centralny oraz procesor graficzny, kompatybilne ze standardem OpenCL w wersji 1.2.

316 Wojciech Pietrowski, Grzegorz D. Wiśniewski, Konrad Górny Rys. 3. Interface okna głównego wraz z wczytanym przebiegiem Rys. 4. Analiza spektralna z wykorzystaniem algorytmu sekwencyjnego Rys. 5. Analiza spektralna z wykorzystaniem algorytmu równoległego

Zastosowanie sztucznych sieci neuronowych oraz architektury... 317 Rys. 6. Wynik uczenia SNN W tabelach 1 oraz 2 przedstawiono zarówno czasy obliczeń algorytmów sekwencyjnego i równoległego jak i wyniki nauczania sztucznej sieci neuronowej. W testach wykorzystano konfigurację sprzętową: procesor Intel Core i5 4670k 3,4 GHz, układ graficzny Radeon R9 270X o 1280 procesorach strumieniowych. Tabela 1. Porównanie czasu obliczeń algorytmów obliczeniowych Sygnał Czas obliczeń CPU Czas obliczeń GPU Czas CPU/ Czas GPU [s] Sygnał 1 4,761 0,61 7,8 Sygnał 2 4,755 0,605 7,8 Sygnał 3 4,755 0,605 7,8 Tabela 2. Porównanie wartości celu z wartościami wyjściowymi SSN Lp Wejście 1 Wejście 2 Wejście 3 Wejście 4 Wartość celu Wartość wyjściowa z sieci 1 1 0 1 1 0 0,001 2 1 0,1 1 1 0,013 0,012 3 1 0,2 1 1 0,053 0,054 4 1 0,3 1 1 0,12 0,119 5 1 0,4 1 1 0,211 0,212 6 1 0,5 1 1 0,327 0,326 7 1 0,6 1 1 0,465 0,465 8 1 0,7 1 1 0,624 0,624 9 1 0,8 1 1 0,803 0,803 10 1 0,9 1 1 1 0,999 [s]

318 Wojciech Pietrowski, Grzegorz D. Wiśniewski, Konrad Górny Wyniki zestawione w tabeli 1 jednoznacznie wykazują przewagę algorytmu równoległego wykonywanego na procesorze graficznym nad algorytmem sekwencyjnym wykonywanym na procesorze centralnym. 4.2. Falkowa analiza sygnału Jednym ze sposobów przetwarzania sygnałów jest wykorzystywanie do tego celu transformaty falkowej. Jej popularność ciągle wzrasta przez co jest coraz częściej wykorzystywana w diagnostyce maszyn elektrycznych. Dzięki zastosowaniu transformacji falkowej otrzymamy dekompozycję sygnału, w której zawarte są informacje o częstotliwościach poszczególnych składników widmowych sygnału. Jądro przekształcenia (czyli funkcja) nie reprezentuje nieskończenie wąskiego przedziału częstotliwości, ale przedział częstotliwości o szerokości odwrotnie proporcjonalnej do czasu trwania falki. A więc transformacja falkowa dostarcza nam informacji o lokalizacji w czasie składowych widmowych sygnału. Dyskretna transformacja falkowa wykorzystana w programie określona jest wzorem (3): DWTx j,n N 1 n 0 * j, n x( n ) ( n ) (3) * gdzie: x(n) sygnał wejściowy, j, n funkcja falkowa, N całkowita liczba próbek, n numer próbki, DWTx j,n wynik przeprowadzonej transformaty. Na podstawie algorytmu dyskretnej transformaty falkowej przedstawionego na rysunku rys. 7 opracowano program komputerowy. Jego zadaniem jest przetworzenie sygnału wejściowego, w taki sposób, aby otrzymać aproksymacje i detale wczytanego sygnału na różnych poziomach dekompozycji. Rys. 7. Algorytm obliczeń równoległych transformaty falkowej

Zastosowanie sztucznych sieci neuronowych oraz architektury... 319 Przebiegi wczytane do programu oraz te otrzymane w wyniku dekompozycji sygnału wejściowego przedstawiono na rysunkach 8, 9, 10. Do przeprowadzenia analizy falkowej wczytano dane zawierające przebiegi niestacjonarne obserwowane przy załączeniu napięcia zasilania silnika. Rys. 8. Sygnał wczytany z pliku zewnętrznego Rys. 9. Aproksymacje dla pierwszego poziomu dekompozycji

320 Wojciech Pietrowski, Grzegorz D. Wiśniewski, Konrad Górny Rys. 10. Detale dla pierwszego poziomu dekompozycji 5. PODSUMOWANIE W artykule zaprezentowano program komputerowy umożliwiający spektralną oraz falkową analizę prądu silnika LSPMSM w oparciu o elementy sztucznej inteligencji oraz algorytmy obliczeń równoległych. Zaprezentowano wyniki uczenia sztucznej sieci neuronowej w oparciu o momentowy algorytm wstecznej propagacji błędu oraz zestawiono czasy obliczeń dla algorytmu sekwencyjnego oraz równoległego. Wyniki prezentowane w tabelach pokazują bardzo dużą zbieżność wyników otrzymanych jako wyjście ze sztucznej sieci neuronowej z wartościami funkcji celu sieci oraz przewagę algorytmu równoległego nad algorytmem sekwencyjnym poprzez skrócenie czasu obliczeń niemal ośmiokrotnie. LITERATURA [1] Khronos OpenCL working group: The OpenCL Specification, July 21, 2015. [2] Denkowski M., Mikołajczak P.: Programowanie procesorów graficznych GPU, Uniwersytet Marii Curie Skłodowskiej, Instytut Informatyki, Lublin 2012. [3] Duch W., Korbicz J., Rutkowski L., Tadeusiewicz R.: Biocybernetyka i inżynieria biomedyczna 2000 Tom 6 Sztuczne sieci neuronowe. Wydawnictwo Akademicka Oficyna Wydawnicza EXIT, Warszawa 2000. [4] Tadeusiewicz R.: Sieci neuronowe. Wydawnictwo Akademicka Oficyna Wydawnicza, Warszawa 1993. [5] http://wazniak.mimuw.edu.pl/index.php?title=sztuczna_inteligencja/si_modu% C5%82_12[Data dostępu 02.01.2017]

Zastosowanie sztucznych sieci neuronowych oraz architektury... 321 [6] Idziak P., Nowak M., Pietrowski W., Spectral analysis of phase currents of LSPMSM at asymmetric voltage supply, Pomiary Automatyka Kontrola nr 10, 2013, pp. 1032 1035. APLICATION OF ARTIFICIAL NEURAL NETWORKS AND OPENCL IN SPECTRAL AND WAVELET ANALYSIS OF PHASE CURRENT OF LSPMSM MACHINE The paper presents algorithms of parallel computing which have been used in program for diagnosis of LSPMSM machine. The software allows to spectral and wavelet analysis of phase current of LSPMSM motor. Moreover, the program has a built-in artificial neural network which is a decisive element of the diagnostic system. In addition, the article brought closer to issues related to the structure and learning algorithms of artificial neural networks and OpenCL. (Received: 29. 01. 2017, revised: 16. 02. 2017)