Analizator N-Expert


W stronę sztucznej inteligencji



BMS Creative - Analizator N-Expert

N-Expert jest zaawansowanym narzędziem służącym do analizowania i prognozowania przebiegu różnych zjawisk, dla których zbudowanie ścisłych modeli matematycznych jest bardzo trudne lub wręcz niemożliwe. Mogą to więc być zjawiska społeczne, ekonomiczne lub nawet przyrodnicze, czy techniczne, o dużym stopniu złożoności.


Oprogramowanie stanowi efekt naszych kilkunastoletnich doświadczeń w dziedzinie prognozowania przy użyciu sztucznych sieci neuronowych i jest bezpośrednim rezultatem projektu "System kognitywny wspomagający tworzenie prognoz, w oparciu o technologię sztucznych sieci neuronowych", realizowanego w ramach Sektorowego Programu Operacyjnego Wzrost konkurencyjności przedsiębiorstw, lata 2004-2006, Priorytet 1 Rozwój przedsiębiorczości i wzrost innowacyjności poprzez wzmocnienie instytucji otoczenia biznesu, Działanie 1.4 Wzmocnienie współpracy między sferą badawczo-rozwojową a gospodarką.

Pierwowzór systemu N-Expert stanowił wcześniejszy N-Predictor, za którego stworzenie zostaliśmy zakwalifikowani do ścisłego finału konkursu "Innovator Małopolski 2006", zorganizowanego przez Centrum Transferu Technologii przy Politechnice Krakowskiej. W rezultacie przeprowadzonych w ramach konkursu audytów uzyskaliśmy "Opinię o Innowacyjności Technologii". Doceniono przede wszystkim możliwość praktycznego wykorzystania N-Predictora do prognozowania i modelowania procesów, dla których nie ma analitycznych modeli matematycznych.


N-Expert - wyniki uczenia sieci neuronowych

Prezentacja wyników prognozowania

 

 

Opis systemu


N-Expert
 wykorzystuje technologię sztucznych sieci neuronowych typu perceptronowego, uczonych wieloetapowo, przy użyciu zmodyfikowanej metody wstecznej propagacji błędów. Trenowane sieci zostały opisane kilkoma istotnymi parametrami, które są na bieżąco wyliczane i służą do sterowania procesem treningu.


System daje użytkownikowi stosunkowo niewielkie możliwości wyboru architektury sieci neuronowych, metod ich uczenia oraz parametrów pracy. Nie jest to jednak wcale jego wadą, gdyż duża swoboda manewru, jaką oferują niektóre z rozwiązań dostępnych na rynku, wynika zwykle z niemożności zaproponowania poprawnych wartości parametrów, zapewniających skuteczne działanie sieci. N-Expert ustala je automatycznie dzięki specjalnie przez nas opracowanemu i sprawdzonemu w praktycznych zastosowaniach algorytmowi RDO (Reduced Data Optimization).

N-Expert - schemat procesu uczenia sieci neuronowych

Schemat uczenia sztucznych sieci neuronowych

 

Z uwagi na to, że proces uczenia sieci neuronowych jest zazwyczaj długotrwały i - w zależności od stopnia złożoności problemu - może trwać nawet setki godzin, skuteczne wykorzystywanie oprogramowania neuronowego wymaga nierzadko użycia bardzo szybkich komputerów, co oczywiście wiąże się z wysokimi kosztami. Z tego względu w systemie N-Expert zastosowano specjalną technologię rozdzielania obliczeń pomiędzy zwykłe komputery klasy PC, pracujące w sieci lokalnej (grid computing). Tak jak obrazuje to poniższy schemat, specjalny moduł nadzorujący, który komunikuje się bezpośrednio z bazą danych, dystrybuuje obliczenia pomiędzy poszczególne stacje robocze, gdzie pracują tzw. klienci NNA (Neural Network Advisor). Otrzymują oni odpowiednie zadania do wykonania i są ustawicznie kontrolowani przez moduł nadzorujący, przy czym cała komunikacja opiera się na technologii D-COM.


N-Expert - architektura systemu

Architektura systemu

 

Wbrew niektórym obiegowym opiniom nie jest wcale tak, że do prognozowania wystarczy sam, lepszy lub gorszy, symulator sieci neuronowych. W istocie niezwykle ważne jest to, czego używa się do ich uczenia, a także to, co robi się potem z uzyskanymi wynikami. Dlatego N-Expert zawiera rozbudowane narzędzia przetwarzania wstępnego oraz analizowania rezultatów przewidywań.

N-Expert - schemat przetwarzania danych

Schemat przetwarzania danych



Korekcja danych

Jakość prognoz w ogromnym stopniu zależy od wiarygodności danych, które zostały użyte w procesie uczenia sieci. Wydaje się więc, że dane te powinny być po prostu prawdziwe. W praktyce sytuacja nie jest jednak tak jednoznaczna. Po pierwsze, dane na ogół obarczone są różnymi błędami pomiarowymi, wobec czego nie oddają wiernie rzeczywistości. Po drugie, procesy rzeczywiste zawierają zazwyczaj pewne elementy przypadkowości, które z definicji nie podlegają prognozowaniu, ale też nie powinny być używane do trenowania sieci neuronowych, gdyż niczego nie uczą, a jedynie wprowadzają niepotrzebny zamęt. Tego rodzaju nieprawidłowości niwelowane są tak, by odpowiadały one raczej  „temu, co powinno być”, a niekoniecznie „temu, co było” (jeśli oczywiście mechanizm nieprawidłowości jest znany i wykracza poza stosowany paradygmat).

N-Expert - formatka korekcji danych

 Korekcja danych

 


Analiza składowych głównych

Dane, które podaje się na wejścia sieci neuronowych, na ogół są ze sobą w pewnym stopniu skorelowane. Stosując dobrze znaną statystykom metodę składowych głównych, można zbudować z nich nowe zmienne, nie wykazujące już korelacji. Operacja ta polega de facto na wyborze w odpowiedniej przestrzeni wektorowej nowej bazy, ortogonalnej w sensie iloczynu skalarnego wykorzystywanego do obliczania korelacji. Użycie nowych zmiennych poprawia jakość prognoz, jednak przede wszystkim operowanie składowymi głównymi pozwoli uporządkować je od najbardziej do najmniej znaczących. Ponieważ podawanie na wejścia sieci neuronowych zbyt wielu danych niejednokrotnie pogarsza jakość prognoz, można odrzucać te składowe, które wnoszą relatywnie mało informacji, powodując jedynie zbędny szum.

N-Expert - formatka analizy składowych głównych

Analiza składowych głównych

 

 

Transformaty Fouriera i falkowa

Prognozowany proces z założenia daje się opisać przy pomocy funkcji czasu, której dokładna postać jest oczywiście nieznana. Jeżeli spełnione są pewne dość naturalne założenia o charakterze matematycznym, funkcję taką można przedstawić w postaci szeregu funkcji stanowiących bazę ortonormalną w odpowiedniej przestrzeni Hilberta. Doskonale znanym przykładem jest tu oczywiście rozwinięcie w szereg Fouriera. W przypadku, gdy prognozowana wielkość wykazuje pewną periodyczność, która z kolei (znacznie wolniej) ewoluuje w czasie, można wyliczyć współczynniki szeregu dla przeszłych okresów i prognozować zachowanie tych współczynników. W fizyce podejście takie nazywa się przybliżeniem adiabatycznym. Oczywiście, w zależności od problemu, należy tak dobrać funkcje   (mogą to być zwykłe funkcje trygonometryczne, ale także np. falki), by cały szereg był możliwie szybko zbieżny. 

N-Expert - formatka transformaty falkowej

Transformata falkowa

 

 

Uczenie sieci

Stworzona przez naszą firmę metoda uczenia sieci neuronowych RDO stanowi udoskonalenie algorytmów: propagacji wstecznej ze zmiennymi współczynnikami oraz Parka-Yuna-Kima, polegające na tym, że do dostrajania parametrów używa się błędów popełnianych przez sieć nie tylko na zestawach uczących, lecz również na zestawach służących do jej testowania. Nie przyspiesza to wprawdzie procesu, jednak znacznie poprawia możliwości predykcyjne układu, o czym wyraźnie świadczą rezultaty uzyskiwane przez nas w praktyce. Oprócz tego uczenie jest przez cały czas automatycznie monitorowane przez analizę dwóch parametrów charakteryzujących proces: tzw. niedoskonałość i zgodność sieci. Jeśli ich wartości zaczynają się zachowywać w sposób wysoce nieprawidłowy, sieć jest likwidowana, a w jej miejsce generuje się nową.

N-Expert - formatka konfiguracji parametrów uczenia sieci neuronowych

Konfiguracja parametrów uczenia

 


Analiza błędów, ryzyko i korekcja wyników

Jak wiadomo, przewidywania nie przedstawiają żadnej wartości, jeśli nie jest znana ich dokładność. W przypadku używania sieci neuronowych można wprawdzie stosukowo łatwo oszacować metodami statystyki matematycznej błąd prognozy, lecz na ogół nie przekłada się on w prosty sposób na najbardziej interesującą dla użytkownika wielkość, to znaczy realny koszt, który musi on ponieść w efekcie nietrafności przewidywań. Wprowadza się zatem tzw. funkcję kary, która mierzy ów koszt, a następnie koryguje się prognozę minimalizując karę. Korekcja taka ma miejsce oczywiście tylko wtedy, gdy funkcja kary jest niesymetryczna.

 N-Expert - formatka konfiguracji funkcji kary

 Funkcja kary


Aby dowiedzieć się więcej, zobacz również stronę poświęconą sieciom neuronowym oraz nasze publikacje. Jeśli jesteś zainteresowany zakupem oprogramowania, skontaktuj się z Działem Sprzedaży.

 

Unia dla przedsiębiorczych - logo

Rozwój oprogramowania N-Expert został częściowo sfinansowany z funduszu Unii Europejskiej SPO WKP 1.4.1.

 

 

Nasz portal instaluje pliki ciasteczek (cookies) – tutaj dowiesz się o nich więcej. Przeglądając te strony wyrażasz zgodę na używanie przez nas wspomnianych plików.

When browsing our webpages you accept cookies from this site