Czym jest NeuroSolutions?

NeuroSolutions jest wysokiej klasy graficznym programem zawierającym procedury uczenia oraz algorytmy genetyczne umożliwiające tworzenie i optymalizowanie sieci neuronowych.

W programie zaimplementowano wszystkie najnowsze technologie stosowane w sieciach neuronowych m.in.:
  • Neuro-Fuzzy – model łączący logikę rozmytą na wejściu układu z siecią neuronową. Systemy takie mogą bardzo szybko rozwiązywać słabo zdefiniowane problemy.
  • Support Vector Machine (SVM) – model odwzorowujący dane wejściowe do przestrzeni wielowymiarowej, a następnie odseparowujący dane do odpowiednich klas.
  • Conjugate Gradient – metoda uczenia drugiego rzędu, w której wyważone są proporcje pomiędzy złożonością, a szybkością uczenia (treningu) sieci. W technice tej efekty uczenia są zwykle szybsze i lepsze niż w standardowych metodach (mniejsza miara błędu MSE). W metodzie tej nie ma potrzeby ustawiania żadnych dodatkowych parametrów sieci.
  • Teacher Forcing/Iterative Prediction – metoda szczególnie przydatna przy rozwiązywaniu niektórych problemów związanych z szeregami czasowymi. W metodzie tej wyjście układu predykcji połączone jest z wejściem systemu w celu osiągnięcia większej dokładności.


CECHY PROGRAMU

  • CZASOWE SIECI NEURONOWE
    NeuroSolutions umożliwia propagację wsteczną w czasie (BPTT). Zamiast odwzorowywać punkty wejściowe na punkty wyjściowe w sposób statyczny, BPTT odwzorowuje serie sygnałów wejściowych na serie wyjść. Umożliwia to rozwiązywanie problemów zmieniających się w czasie. Przykładem zastosowania jest cyfrowe przetwarzanie sygnałów.

  • TOPOLOGIE SIECI NEURONOWYCH DEFINIOWANE PRZEZ UŻYTKOWNIKA
    NeuroSolutions umożliwia podział jednej dużej sieci, na mniejsze zbiory sieci neuronowych. Dzięki możliwości takiej modułowej pracy można uzyskać lepsze i szybsze efekty uczenia oraz dokładniejsze poznanie właściwości sieci.

  • KOMPONENTY SIECI NEURONOWYCH DEFINIOWANE PRZEZ UŻYTKOWNIKA
    Program pozwala na używanie własnych algorytmów zapisanych w bibliotekach dynamicznych DLL.
    Generacja kodu C++
    Możliwe jest stworzenie biblioteki DLL lub wygenerowanie kodu źródłowego C++ obrazującego algorytm sieci. Pozwala to na stosowanie stworzonych algorytmów poza środowiskiem programu NeuroSolutions.

  • OPTYMALIZACJA GENETYCZNA
    Program NeuroSolutions umożliwia optymalizację w oparciu o algorytmy genetyczne. Optymalizacja taka pozwala na uzyskiwanie mniejszych błędów sieci oraz większą szybkość jej działania. Optymalizowane mogą być np. liczba ukrytych jednostek, współczynniki uczenia (treningu) sieci i wybór wejść.

  • ROZSZERZONE MOŻLIWOŚCI BADAWCZE
    Programy stworzone dla sieci neuronowych i nie tylko, często są krytykowane za występowanie tzw. problemu czarnej skrzynki, oznaczającego ukrycie niektórych etapów obliczeń w programie. W programie NeuroSolutions taki problem nie występuje. Pakiet oferuje całą gamę narzędzi badawczych i kontrolnych, dających możliwość śledzenia procesu tworzenia i uczenia sieci w każdym momencie procesu jej powstawania. Narzędzia badawcze umożliwiają dostęp w czasie rzeczywistym do wewnętrznych zmiennych sieci, takich jak:
    • wejścia/wyjścia
    • wagi
    • błędy
    • stany ukryte
    • gradienty
    • czułości

  • ANALIZA CZUŁOŚCI
    Po zakończeniu procesu uczenia zachodzi konieczność sprawdzenia wpływu każdego z wejść na jego wyjścia. Analiza czułości służy kontroli wpływu poszczególnych wejść sieci neuronowych na jej zachowanie.

  • WAŻENIE PRZYPADKÓW
    W czasie treningu sieci zdarza się, że różna liczba przypadków dla poszczególnych klas może powodować niedostateczną dokładność wyników działania sieci. Jednym ze sposobów rozwiązania tego problemu jest branie różnych przypadków z różną miarą – wagą. Technika taka zwana ważeniem przypadków została zaimplementowana w programie NeuroSolutions.

  • MAKRA
    NeuroSolutions posiada wbudowany język makr, pozwalający zautomatyzować wykonywanie sekwencji operacji i zapisać je jako program do późniejszego wykorzystania. Każda czynność wykonana z użyciem myszki lub klawiatury może być zapisana w języku makra. Jest to szczególnie przydatne w przypadku wielokrotnego wykonywania tych samych czynności podczas konstruowania i wykonywania sieci.

  • AUTOMATYZACJA OLE
    NeuroSolutions w pełni obsługuje technologie OLE Automation Server. Oznacza to, że program może przyjmować komunikaty kontrolne z takich programów, jak: Visual C++, Visual Basic, Microsoft Excel, Microsoft Access i Delphi.

  • KREATORY KONSTRUOWANIA SIECI
    NeuroSolutions posiada dwa narzędzia pomagające użytkownikowi stworzyć nową sieć neuronową: NeuralExpert oraz NeuralBuilder.

    NeuralExpert – kreator ten pomaga w stworzeniu sieci, prowadząc użytkownika przez poszczególne etapy budowy sieci, koncentrując się na typie problemów, które sieć ma rozwiązać. Mając typ problemu oraz wielkość zbioru danych (określone przez użytkownika), kreator sam wybiera najodpowiedniejszą architekturę i jej rozmiar, adekwatne do określonych funkcji, które ma spełniać układ.

    NeuralBuilder – koncentruje się na architekturze budowanej sieci; kreator zawiera kilkanaście szablonów architektur sieci, w tym:
    • Multilayer Perceptron (MLP)
    • Generalized Feed Forward
    • Modular Neural Network
    • Principal Component Analysis (PCA)
    • Radia Basis Function (RBF)
    • General Regression Neural Network (GRNN)
    • Probabilistic Neural Network (PNN)
    • Self-Organizing Map Network (SOM)
    • Time-Lag Recurrent Network (TLRN)
    • Generalized Recurrent Network
    • CANFIS Network (Fuzzy Logic)
    • Support Vector Machine

    Po wyborze architektury można określić:
  • liczbę ukrytych poziomów,
  • liczbę elementów przetwarzających,
  • algorytm uczący.

    Możliwe jest także użycie algorytmu genetycznego w celu automatycznego dobrania parametrów sieci.



  •