NeuronDotNet
NeuronDotNet 3.0 is free and open source. It is licensed under
GNU GPLv3

Valid XHTML 1.0 Strict Valid CSS!

If you are interested in the next-generation technology that is capable of revolutionizing computer science, if you want to find out how to model the functionality of human brain, if you are interested in taking up an AI project involving pattern recognition such as face recognition, speech processing etc, you have come to the right place. Welcome to the world of neural networks.

NeuronDotNet is an open source engine which can be used to build different types of neural networks and use them in various applications. It also provides API to extend existing features and incorporate new algorithms. It is written in C# and is compatible with the .NET platform. You are most welcome to download the latest version, along with the documentation and complete source code. This tool exploits the potentialities of object oriented design and modular programming. The objective of the project is to support the development of real world AI applications and also to support experimental research in the field by providing a centralized framework for creation, training and usage of different types of artificial neural networks.

Artificial Neural Network is an information processing paradigm which attempts to simulate the functionality of human brain and model non-linear statistical data.

"What is the need to simulate human brain when we have computers which can perform millions of numerical calculations within a fraction of a second?"

The reason is, even though a computer can store huge amounts of data and can perform numerical calculations efficiently, there are some problems which it struggles to solve.

Let us take an example, we have text based search engines that are capable of searching millions of files across the internet for a text key. Thinking in similar lines, imagine an image searching application, where the user is given some space to draw an image and the application should search and show all images similar to the one drawn. If the user draws a tree, the search engine should return all images having a tree. Why don't we have such applications available? (Research is going on in this area. Have a look at Retrievr)

This image search belongs to a broad class of similar problems, called 'Pattern Recognition' problems. Optical character recognition, hand-writing recognition, face recognition, speech recognition, image processing, signature recognition and speaker recognition are different forms of pattern recognition.

Though a computer can store huge amounts of data, it does not know how to identify, organize, understand and interpret the data. On the other hand, human brain is incredibly efficient in identifying patterns. Just by looking at one's face, we can recognize who the person is (if we know him), but it is not so easy for a computer. This is because, there is no algorithm to map a picture (or a video) accurately to a person's identity. It is not possible to mathematically model these kind of problems. This makes it impossible to solve such problems using conventional problem solving techniques. If we want to solve pattern recognition, we have to somehow simulate human brain. The concept of artficial neural networks is an attempt to do the same.

Artificial neural networks take a different problem solving approach than that of conventional computers. They cannot be programmed to solve a specific problem. They learn by example. This gives them a remarkable property of deriving meaningful information from complicated data, and allows them to extract patterns and detect trends that are too complex to be noticed by other computing techniques.

Artificial neural networks are extensively used in applications involving function modelling, biometric pattern recognition, classification, prediction, forecasting and data clustering problems. NeuronDotNet is a tool which simplifies development of such AI Applications by providing a neural network engine for designing complex neural networks. It also provides modules which can be used to extend the existing features to include custom architectures and algorithms.

NeuronDotNet User Manual provides a brief introduction to important aspects of neural networks and a detailed information about how to design and construct neural networks, how to customize them and use them in various applications. It also explains how to use NeuronDotNet API to extend exisitng features, add custom architectures and incorporate new training algorithms.

Various sample applications are provided to demonstrate the functioning of neural networks and their applications in function modelling, classification, optimization, clustering and pattern recognition problems.