N-Expert

 

Narzędzie analityczne wykorzystujące technologię sztucznych sieci neuronowych
 

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.

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).

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.


Architektura systemu
 

Opisana metoda obliczeń rozproszonych została już przez nas wykorzystana w praktyce w systemie wspomagającym zarządzanie papierami wartościowymi Porsenna.

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Å„.


Schemat przetwarzania danych
 

Korekcja danych

Jakość prognoz w ogromnym stopniu zależy od wiarygodnoÅ›ci danych, które zostaÅ‚y użyte w procesie ich uczenia. 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).

 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.

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. 

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Ä….

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.

 

 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.