jeffheaton's picture

These are the current Encog subtasks. I am not currently working on any of these, and would like volunteer help. You can implement these on either C# or Java. We will handle translation to the other language, or you can translate yourself if you like. Some of these only require general programming knowledge. Some require more in-depth mathematics/AI knowledge. If you see one that looks interesting, please contact me and I will provide you with more information.

Save RPROP Adjustment Grid: RPROP works by keeping a delta matrix for the current adjustment factor of every connection in the network. However, if training is stopped, and then later restarted, the delta matrix must be gradually rebuilt. This can take some time. It would be better if this delta matrix could be saved to an Encog File, and then starting from scratch each time. Difficulty: Mostly requires general programming knowledge, limited math/AI knowledge required. As these are finished, they will be worked into the current 2.x release.

Implement Unit Tests for RPROP and Manhattan: These two training types currently have no unit test coverage. Difficulty: general programming knowledge.

Self Organizing Map: Add multi-dimensonal radial functions to the training methods. Currently SOM training only supports single dimensional. Difficulty: requires good understanding of SOM. You will need to read academic texts on this subject and implement from that.

Hopfield Neural Networks: Expand Hopfield neural networks to include the concept of temperature, and add Hopfield training methods based on temperature. Difficulty: requires good understanding of Hopfield neural networks. You will need to read academic texts on this subject and implement from that.

Restrictive Boltzmann Machines: Add a Boltzmann machine layer type to Encog. Difficulty: requires good understanding of Bloltzmann neural networks. You will need to read academic texts on this subject and implement from that.

FastProp: Implement a FastProp training algorithm for Encog. Difficulty: requires good understanding of Fastprop. You will need to read academic texts on this subject and implement from that.

Calculate Error in Other Ways Currently Encog uses RMS error calculation. There are other was to calculate error. Create an interface to abstract error calculation and implement a few other error calculation methods. This is a basic programming task and does not require advanced neural network knowledge.

Determine when Hopfield has Stabilized The HopfieldHolder should be able to automatically determine if the neural network has stabilized. This is a basic programming task and does not require advanced neural network knowledge.


Copyright 2005 - 2012 by Heaton Research, Inc.. Heaton Research™ and Encog™ are trademarks of Heaton Research. Click here for copyright, license and trademark information.