title: Backpropagation 2-Dimensional Neuron Network C++
body: <p>I am learning about Two Dimensional Neuron Network so I am facing many obstacles but I believe it is worth it and I am really enjoying this learning process.</p>
  
  <p>Here's my plan: To make a 2-D NN work on recognizing images of digits. Images are 5 by 3 grids and I prepared 10 images from zero to nine. For Example this would be number 7: </p>
  
  <p><a href="https://i.stack.imgur.com/RUxt4.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/RUxt4.png" alt="Number Seven"></a></p>
  
  <p>Number 7 has indexes 0,1,2,5,8,11,14 as 1s (or 3,4,6,7,9,10,12,13 as 0s doesn't matter) and so on. Therefore,  my input layer will be a 5 by 3 neuron layer and I will be feeding it zeros <strong>OR</strong> ones only (not in between and the indexes depends on which image I am feeding the layer).</p>
  
  <p>My output layer however will be one dimensional layer of 10 neurons. Depends on which digit was recognized, a certain neuron will fire a value of one and the rest should be zeros (shouldn't fire). </p>
  
  <p>I am done with implementing everything, I have a problem in computing though and I would really appreciate any help. I am getting an extremely high error rate and an extremely low (negative) output values on all output neurons and values (error and output) do not change even on the 10,000th pass.</p>
  
  <p>I would love to go further and post my Backpropagation methods since I believe the problem is in it. However to break down my work I would love to hear some comments first, I want to know if my design is approachable. </p>
  
  <ul>
  <li><p>Does my plan make sense?</p></li>
  <li><p>All the posts are speaking about ranges ( <code>0-&gt;1</code>, <code>-1 -&gt;+1</code>, <code>0.01 -&gt; 0.5</code> etc ), will it work for either <strong><code>{ 0 |</code></strong> .OR. <strong><code>| 1 }</code></strong> on the output layer and not a range? if yes, how can I control that?</p></li>
  <li><p>I am using <strong><code>TanHyperbolic</code></strong> as my transfer function. Does it make a difference between this and <strong><code>sigmoid</code></strong>, other functions.. etc?</p></li>
  </ul>
  
  <p>Any ideas/comments/guidance are appreciated and thanks in advance</p>