Excuse my long post. This is so important and joyful for me and I will appreciate any help.
I am researching 2-D Neuron Networks and I really like it ! 2-D Neuron Network.
I want to know the best out of it. I want to implement a simple C++ Image Processing Windows Application on Visual Studio 2015. My plan is to do anything, maybe a digit recognition, or maybe just a simple task for knowing the dominating color in an image. (whatever is easier to learn 2-D Neuron Network - its Implementations and approaches)
I have never implemented a Neuron Networks before, especially 2-D NN. However, I read a lot and I know the idea behind it.
I feel lost on how and where to start with 2-D and I would really appreciate any guidance, discussion or/and ideas to start implementing.
I did online researches about implementations but couldn't find a C++ 2-D guide. Although I now know that I need to implement a neuron class, a Layer class and a Network class. Then, a training function to feedforward the network. Then a test function to test an image.
I went through these:
1-D Neuron Network in C# - Library
http://www.codeproject.com/Articles/16447/Neural-Networks-on-C
1-D Neuron Network in C# - simple OCR application
http://www.codeproject.com/Articles/11285/Neural-Network-OCR
Technical Paper about Artificial Neuron Networks
http://www.codeproject.com/Articles/15304/Unicode-Optical-Character-Recognition
2-D Neuron Network in C++ and Python for Linux
https://github.com/davidrmiller/neural2d#2D
1-D Neuron Network Implementations and Tutorials
https://takinginitiative.wordpress.com/2008/04/23/basic-neural-network-tutorial-c-implementation-and-source-code/
1-D Neuron Network course in Python - Digit Recognition
https://www.coursera.org/course/neuralnets
now I am absorbing this:
http://stats.stackexchange.com/questions/39037/how-does-neural-network-recognise-images
Concerns:
- I prepared my base code (Cpp and Header files, for each class - empty classes/functions at the moment), this is the right beginning?
- Do I need to have exact number of neurons in the input layer exactly as my input image? (each Pixel on each Input-Neuron)
- Do I need to have 2-D output layer? or having 5 Neuron-Layer will be okay for 5 possible colors (Black, White, Red, Green, Blue) - (10 Neuron-Layer for 10 possible digits for the other application)
Any reply post is appreciated.