Peltarion Synapse
Encyclopedia
Synapse is a component-based development environment
for neural network
s and adaptive system
s. Created by Peltarion
, Synapse allows data mining
, statistical analysis
, visualization
, preprocessing, design
and training of neural networks and adaptive systems and the deployment
of them. It utilizes a plug-in based architecture
making it a general platform for signal processing
. The first version of the product was released in May 2006.
cycle. A notable difference however is that in Synapse that cycle is not linear
, but supports an iterative approach where the user can freely move between the steps. Synapse features four different operating modes that make up the development cycle.
(text) files, SQL
databases, images
and XML
. The imported data can be visualized through visualizer components and filters can be applied to the data. The filter
components range from simple data rearrangement to more advanced FFT
and outlier removal filters.
The visualizers include a variety of plots
and grids, which can be interconnected and branched out to perform complex data mining tasks.
. Linked components enable a signal flow creating a pipe filter machine. When a signal is set on a component, it filters the signal in some way and the filtered signal can then be piped to the next component in the linked chain of components that form the topology. The components can be either static or adaptive. Besides regular filters, they can be sources or sinks (like plots or data loggers). The standard distribution of synapse comes with a variety of components, ranging from simple neural network components such as weight layers and function layers, to whole neural networks such as self-organizing map
s and more complex static elements like for instance the fuzzy logic
component. The control system
is chosen and configured in design mode as well.
and simulated annealing
. Remote execution and training is also possible in this mode.
) and reports can be generated.
One of the most important postprocessing components is the deployment component.
. This assembly can then be used in any .NET framework or .NET Compact Framework
application. The latter allows the deployment to embedded devices
.
Example code in C#:
Neural network software
Neural network software is used to simulate, research, develop and apply artificial neural networks, biological neural networks and in some cases a wider array of adaptive systems.-Simulators:...
for neural network
Neural network
The term neural network was traditionally used to refer to a network or circuit of biological neurons. The modern usage of the term often refers to artificial neural networks, which are composed of artificial neurons or nodes...
s and adaptive system
Adaptive system
The term adaptation arises mainly in the biological scope as a trial to study the relationship between the characteristics of living beings and their environments...
s. Created by Peltarion
Peltarion
Peltarion Corporation is a European software development corporation with its headquarters in Stockholm, Sweden. It specializes in neural networks and adaptive systems and makes software tools for developing them....
, Synapse allows data mining
Data mining
Data mining , a relatively young and interdisciplinary field of computer science is the process of discovering new patterns from large data sets involving methods at the intersection of artificial intelligence, machine learning, statistics and database systems...
, statistical analysis
Statistics
Statistics is the study of the collection, organization, analysis, and interpretation of data. It deals with all aspects of this, including the planning of data collection in terms of the design of surveys and experiments....
, visualization
Visualization (graphic)
Visualization is any technique for creating images, diagrams, or animations to communicate a message. Visualization through visual imagery has been an effective way to communicate both abstract and concrete ideas since the dawn of man...
, preprocessing, design
Design
Design as a noun informally refers to a plan or convention for the construction of an object or a system while “to design” refers to making this plan...
and training of neural networks and adaptive systems and the deployment
Software deployment
Software deployment is all of the activities that make a software system available for use.The general deployment process consists of several interrelated activities with possible transitions between them. These activities can occur at the producer site or at the consumer site or both...
of them. It utilizes a plug-in based architecture
Software architecture
The software architecture of a system is the set of structures needed to reason about the system, which comprise software elements, relations among them, and properties of both...
making it a general platform for signal processing
Signal processing
Signal processing is an area of systems engineering, electrical engineering and applied mathematics that deals with operations on or analysis of signals, in either discrete or continuous time...
. The first version of the product was released in May 2006.
Platform
Due to its plug in-based design, the usage of Synapse can be very general. Synapse is based on the Microsoft .NET framework and all Synapse components are also .NET components. Although Peltarion has yet to release an official API for the Synapse platform, user made components are emerging, some of them being original, demonstrating the openness of the platform.http://www.webcitation.org/query?url=http://www.geocities.com/mikec3145/index.html%23The_Synapse_Rooster_Experiment&date=2009-10-26+02:38:26Features
The development cycle in Synapse is based on the canonical data miningData mining
Data mining , a relatively young and interdisciplinary field of computer science is the process of discovering new patterns from large data sets involving methods at the intersection of artificial intelligence, machine learning, statistics and database systems...
cycle. A notable difference however is that in Synapse that cycle is not linear
Linear
In mathematics, a linear map or function f is a function which satisfies the following two properties:* Additivity : f = f + f...
, but supports an iterative approach where the user can freely move between the steps. Synapse features four different operating modes that make up the development cycle.
Preprocessing
The preprocessing mode is for data mining and data preparation. In this mode the user can import, visualize, explore and transform data in a variety of ways. Data is imported through the use of format components. The standard release includes format components for reading and writing data from CSVComma-separated values
A comma-separated values file stores tabular data in plain-text form. As a result, such a file is easily human-readable ....
(text) files, SQL
SQL
SQL is a programming language designed for managing data in relational database management systems ....
databases, images
Digital image
A digital image is a numeric representation of a two-dimensional image. Depending on whether or not the image resolution is fixed, it may be of vector or raster type...
and XML
XML
Extensible Markup Language is a set of rules for encoding documents in machine-readable form. It is defined in the XML 1.0 Specification produced by the W3C, and several other related specifications, all gratis open standards....
. The imported data can be visualized through visualizer components and filters can be applied to the data. The filter
Filter (software)
A filter is a computer program to process a data stream. Some operating systems such as Unix are rich with filter programs. Even Windows has some simple filters built into its command shell, most of which have significant enhancements relative to the similar filter commands that were available in...
components range from simple data rearrangement to more advanced FFT
Fast Fourier transform
A fast Fourier transform is an efficient algorithm to compute the discrete Fourier transform and its inverse. "The FFT has been called the most important numerical algorithm of our lifetime ." There are many distinct FFT algorithms involving a wide range of mathematics, from simple...
and outlier removal filters.
The visualizers include a variety of plots
Chart
A chart is a graphical representation of data, in which "the data is represented by symbols, such as bars in a bar chart, lines in a line chart, or slices in a pie chart"...
and grids, which can be interconnected and branched out to perform complex data mining tasks.
Design
In design mode components are linked to construct a topologyTopology
Topology is a major area of mathematics concerned with properties that are preserved under continuous deformations of objects, such as deformations that involve stretching, but no tearing or gluing...
. Linked components enable a signal flow creating a pipe filter machine. When a signal is set on a component, it filters the signal in some way and the filtered signal can then be piped to the next component in the linked chain of components that form the topology. The components can be either static or adaptive. Besides regular filters, they can be sources or sinks (like plots or data loggers). The standard distribution of synapse comes with a variety of components, ranging from simple neural network components such as weight layers and function layers, to whole neural networks such as self-organizing map
Self-organizing map
A self-organizing map or self-organizing feature map is a type of artificial neural network that is trained using unsupervised learning to produce a low-dimensional , discretized representation of the input space of the training samples, called a map...
s and more complex static elements like for instance the fuzzy logic
Fuzzy logic
Fuzzy logic is a form of many-valued logic; it deals with reasoning that is approximate rather than fixed and exact. In contrast with traditional logic theory, where binary sets have two-valued logic: true or false, fuzzy logic variables may have a truth value that ranges in degree between 0 and 1...
component. The control system
Control system
A control system is a device, or set of devices to manage, command, direct or regulate the behavior of other devices or system.There are two common classes of control systems, with many variations and combinations: logic or sequential controls, and feedback or linear controls...
is chosen and configured in design mode as well.
Training
The training mode is used for training (adapting) the system, or more generally to start the control system that regulates the information flow. It is visually similar to design mode and the same components are displayed. As the components have support for context sensitive displays, they can have a different visual appearance in training. In addition to running the control system, training mode allows the execution of high-level optimizers such as genetic algorithms, particle swarm optimizationParticle swarm optimization
In computer science, particle swarm optimization is a computational method that optimizes a problem by iteratively trying to improve a candidate solution with regard to a given measure of quality...
and simulated annealing
Simulated annealing
Simulated annealing is a generic probabilistic metaheuristic for the global optimization problem of locating a good approximation to the global optimum of a given function in a large search space. It is often used when the search space is discrete...
. Remote execution and training is also possible in this mode.
Postprocessing
The postprocessing mode is for analyzing a trained system and the preparation of such a system for end use. System performance can be tested using statistical analysis, the sensitivity of the input-output relations of a system can be analyzed (sensitivity analysisSensitivity analysis
Sensitivity analysis is the study of how the variation in the output of a statistical model can be attributed to different variations in the inputs of the model. Put another way, it is a technique for systematically changing variables in a model to determine the effects of such changes.In any...
) and reports can be generated.
One of the most important postprocessing components is the deployment component.
Deployment
The deployment component allows the export of a system made in Synapse to a single .NET component. The system in the development environment is downscaled so that it only contains the minimal necessary requirements for execution and then compiled into an assembly.NET assembly
In the .NET framework, an assembly is a compiled code library used for deployment, versioning, and security. There are two types: process assemblies and library assemblies . A process assembly represents a process that will use classes defined in library assemblies...
. This assembly can then be used in any .NET framework or .NET Compact Framework
.NET Compact Framework
The Microsoft .NET Compact Framework is a version of the .NET Framework that is designed to run on resource constrained mobile/embedded devices such as personal digital assistants , mobile phones, factory controllers, set-top boxes, etc...
application. The latter allows the deployment to embedded devices
Embedded system
An embedded system is a computer system designed for specific control functions within a larger system. often with real-time computing constraints. It is embedded as part of a complete device often including hardware and mechanical parts. By contrast, a general-purpose computer, such as a personal...
.
Example code in C#: