Synapsa Peltariona
Deweloperzy | Peltarion |
---|---|
System operacyjny | Microsoft Windows |
Typ | Oprogramowanie sieci neuronowych |
Licencja | Umowa licencyjna |
Strona internetowa | Strona główna Synapse |
Synapse to oparte na komponentach środowisko programistyczne dla sieci neuronowych i systemów adaptacyjnych . Stworzony przez Peltarion , Synapse umożliwia eksplorację danych , analizę statystyczną , wizualizację , wstępne przetwarzanie , projektowanie i trenowanie sieci neuronowych i systemów adaptacyjnych oraz ich wdrażanie . Wykorzystuje architekturę opartą na wtyczkach, co czyni go ogólną platformą do przetwarzania sygnału . Pierwsza wersja produktu została wydana w maju 2006 roku.
Platforma
Ze względu na konstrukcję opartą na wtyczkach, użycie Synapse może być bardzo ogólne. Synapse jest oparty na Microsoft .NET , a wszystkie komponenty Synapse są również komponentami .NET. Chociaż firma Peltarion nie wydała jeszcze oficjalnego interfejsu API dla platformy Synapse, pojawiają się komponenty tworzone przez użytkowników, z których część jest oryginalna, co świadczy o otwartości platformy. [1]
Cechy
Cykl rozwojowy w Synapse opiera się na kanonicznym cyklu eksploracji danych . Zauważalną różnicą jest jednak to, że w Synapse ten cykl nie jest liniowy , ale wspiera podejście iteracyjne , w którym użytkownik może swobodnie przechodzić między krokami. Synapse oferuje cztery różne tryby pracy, które składają się na cykl rozwojowy.
Przetwarzanie wstępne
Tryb wstępnego przetwarzania służy do eksploracji i przygotowywania danych. W tym trybie użytkownik może importować, wizualizować, eksplorować i przekształcać dane na różne sposoby. Dane są importowane przy użyciu formatu . Wersja standardowa zawiera komponenty formatu do odczytu i zapisu danych z CSV (tekstowych), baz danych SQL , obrazów i XML . Zaimportowane dane można wizualizować za pomocą komponentów wizualizatora, a do danych można zastosować filtry. filtrów obejmują zarówno proste przegrupowanie danych, jak i bardziej zaawansowane FFT i filtry usuwające wartości odstające.
Wizualizatory obejmują różne wykresy i siatki, które można ze sobą łączyć i rozgałęziać w celu wykonywania złożonych zadań eksploracji danych.
Projekt
W trybie projektowania komponenty są łączone w celu utworzenia topologii . Połączone komponenty umożliwiają przepływ sygnału tworząc maszynę do filtrowania rur. Kiedy sygnał jest ustawiony na komponencie, filtruje on w jakiś sposób sygnał, a przefiltrowany sygnał może być następnie przesłany do następnego komponentu w połączonym łańcuchu komponentów, które tworzą topologię. Komponenty mogą być statyczne lub adaptacyjne. Oprócz zwykłych filtrów mogą być źródłami lub ujściami (takimi jak wykresy lub rejestratory danych). Standardowa dystrybucja synaps obejmuje różnorodne komponenty, od prostych komponentów sieci neuronowych, takich jak warstwy wagowe i warstwy funkcyjne, po całe sieci neuronowe, takie jak samoorganizujące się mapy i bardziej złożone elementy statyczne, takie jak na przykład element logiki rozmytej . System sterowania jest wybierany i konfigurowany również w trybie projektowania.
Szkolenie
Tryb treningowy służy do trenowania (adaptacji) systemu, lub bardziej ogólnie do uruchomienia systemu sterującego regulującego przepływ informacji. Jest wizualnie podobny do trybu projektowania i wyświetlane są te same komponenty. Ponieważ komponenty obsługują ekrany kontekstowe, podczas szkolenia mogą wyglądać inaczej. Poza uruchomieniem systemu sterowania, tryb treningowy umożliwia wykonanie optymalizatorów wysokiego poziomu, takich jak algorytmy genetyczne , optymalizacja roju cząstek czy symulowane wyżarzanie . W tym trybie możliwa jest również zdalna realizacja i szkolenie.
Przetwarzanie końcowe
Tryb postprocessingu służy do analizy wytrenowanego systemu i przygotowania takiego systemu do końcowego użytku. Wydajność systemu można przetestować za pomocą analizy statystycznej, można przeanalizować wrażliwość relacji wejścia-wyjścia systemu ( analiza wrażliwości ) i wygenerować raporty.
Jednym z najważniejszych komponentów przetwarzania końcowego jest komponent wdrażania.
Zastosowanie
Komponent wdrożeniowy umożliwia eksport systemu wykonanego w Synapse do pojedynczego komponentu .NET . System w środowisku programistycznym jest skalowany w dół, tak aby zawierał tylko minimalne wymagania niezbędne do wykonania, a następnie kompilowany w zestaw . Ten zestaw może być następnie używany w dowolnej .NET Framework lub .NET Compact Framework . Ten ostatni umożliwia wdrożenie do urządzeń wbudowanych .
Przykładowy kod w C# :
Wdrożona sieć neuronowa netto = nowa Wdrożona sieć neuronowa (); // Utwórz nn obiekt Matrix input = someSensor . Pobierz dane (); // Pobierz dane z jakiejś sieci czujników . czujnik_wejściowy = wejście ; // Ustaw wejścia na nn net . Uruchom (); // Uruchom system sterowania nn someMotor . Moc = netto . Port_wyjściowy0 ; // Ustaw moc jakiegoś silnika na wyjście nn