NeuroSolutions


NeuroSolutions is a neural network development environment developed by NeuroDimension. It combines a modular, icon-based network design interface with an implementation of advanced learning procedures, such as conjugate gradients, Levenberg-Marquardt and backpropagation through time. The software is used to design, train and deploy neural network models to perform a wide variety of tasks such as data mining, classification, function approximation, multivariate regression and time-series prediction.

Neural network construction wizards

NeuroSolutions provides three separate wizards for automatically building neural network models:

Data Manager

The Data Manager module allows the user to import data from Microsoft Access, Microsoft Excel or text files and perform various preprocessing and data analysis operations. From the Data Manager, the user can load the data directly into a NeuroSolutions breadboard or use the data to create a new neural network.

NeuralBuilder

The NeuralBuilder centers the design specifications on the specific neural network architecture the user wishes to build. Some of the most common architectures include:
Once the neural network architecture is selected, the user can customize parameters such as the number of hidden layers, the number of processing elements and the learning algorithm. If the user is unsure what the parameters should be set to, a genetic algorithm can be used to optimize the settings.

NeuralExpert

The NeuralExpert centers the design specifications around the type of problem the user would like the neural network to solve. Given this problem type and the size of the user's data set, the NeuralExpert intelligently selects the neural network size and architecture that will likely produce a good solution. There is also an optional beginner level that hides some of the more advanced operations such as cross validation and genetic optimization.

User-defined neural networks

NeuroSolutions is based on the concept that neural networks can be broken down into a fundamental set of neural components. Individually these components are relatively simplistic, but several components connected together can result in networks capable of solving very complex problems. The network construction wizards will connect these components based on the user's specifications. However, once the network is built the interconnections can be arbitrarily changed and components can be added or removed. NeuroSolutions will also allow you to integrate your own algorithms through dynamic link libraries. Every NeuroSolutions component implements a function conforming to a simple protocol in C. To add a new component you simply modify the template function for the base component and compile the code into a DLL.

Neural network deployment

NeuroDimension, Inc. provides three ways for NeuroSolutions to deploy a custom neural network solution to your application:

Code generation

NeuroSolutions can automatically generate C++ source code for a neural network designed within its graphical user interface. This provides the flexibility to customize the neural network code for the particular application. Since the generated code is ANSI-compliant, the user can deploy the neural network solution to other platforms such as UNIX.

DLL generation

The Custom Solution Wizard is an optional add-on product that will take a neural network designed within NeuroSolutions and encapsulate it into a dynamic link library that conforms to a simple protocol. The DLL can then be embedded into the users own C++, Visual Basic, Microsoft Excel, Microsoft Access or Internet application. The key advantage to this approach is that the user does not need to be an advanced programmer to use it.

OLE automation

This technology provides the ability to programmatically control NeuroSolutions from any external application that supports Automation, such as Microsoft Excel, Microsoft Access, and applications developed with Visual Basic or Visual C++. In the simplest case, the application developer could send NeuroSolutions the data to process, tell it to begin processing, and then retrieve the results back into the application. Because of its extensive protocol, NeuroSolutions could be instructed to do much more complex tasks.