Click Here to Download NeuroSolutions Products Services Support Order Download Home

We have recently updated the NeuroDimension website. You are currently visiting an old page. Please click here to visit the updated version of our website.
NS - Advanced Features Dynamic Link Libraries


NeuroSolutions
NeuroSolutions v2.15
NeuroSolutions for Excel
Custom Solution Wizard
Interactive Book
Source Code License
Priority Support

Features
GUI
NeuralBuilder
Probing
Advanced Features
Developer Tools
Code Generation
Dynamic Link Libraries

Contact Us

The Developers and Developers Lite levels allow you to integrate your own algorithms into NeuroSolutions through dynamic link libraries (DLLs). 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 -- all directly from NeuroSolutions! We also have a library of public DLLs available online for all NeuroSolutions users.

User-defined Algorithms

Interconnection Matrices
The adaptive weights that connect the processing elements of two layers together are stored as an interconnection matrix. This matrix can be customized, providing the ability to create fully-connected or sparse matrices.

Weight Update Procedures
The Gradient components of NeuroSolutions are used to update the network weights. These components can be customized to implement your own learning algorithms by specifying new weight update procedures.

Error Criteria
Supervised learning requires a cost function that represents an error between the network output and some desired response. Error Criteria components can be modified to implement your own cost functions.

Unsupervised Learning Rules
Unsupervised weight matrices can be customized to implement your own derivatives of Hebbian, competitive, and Kohonen learning. In fact, you can implement any unsupervised learning rule that operates on a single layer of weights.

Custom Input/Output
The input components can be modified to inject your own data directly into a simulation. The data might be coming from a set of sensors monitoring a real-world process, or simply from a specialized file format. Similarly, output components can be modified to send simulation data directly to a user-defined procedure, file or real-world process.

Customized Parameter Scheduling
NeuroSolutions allows certain network parameters, such as learning rates, to be altered during a simulation. The Scheduler components can implement user-defined schedules.

Nonlinearities
The transfer function of a processing element (PE) is often referred to as the nonlinearity. Any nonlinearity within NeuroSolutions can be modified to create your own PE.

Memory Structures
NeuroSolutions uses adaptive memory structures for the processing of temporal information. The Memory components can be customized to create user-defined memory structures with adaptive feedback.

DLL Example:
Hyperbolic Tangent Nonlinearity with User-defined Gain Factor

Before: NeuroSolutions provides you with the code for the standard Tanh function.
void performLinearAxon(float *data, int length, float *bias, float beta) {
for (int i=0; i<length; i++)
data[i] = (float)tanh(beta*data[i] + bias[i]);}

After: User modifies the provided code to add a gain factor.
void performLinearAxon(float *data, int length, float *bias, float beta) {
float gain = getFloatParameter(instance, 2, 1);
for (int i=0; i<length; i++)
data[i] = gain*(float)tanh(beta*data[i] + bias[i]);}

Requirements:
  • Microsoft Visual C++ 5.0/6.0 or higher

Pricing

 


Products | Support | Order | Download | Search | Contact

Product questions? Contact info@nd.com Website questions? Contact webmaster@nd.com
Web Site Design and Implementation Copyright © 2002 NeuroDimension, Inc.