Request a Personalized Demo

Learn how to accurately convert your designs with Scan2CAD

  • This field is for validation purposes and should be left unchanged.
  • Join thousands of happy customers worldwide

Troubleshooting neural networks

 

If a neural network you have trained is consistently failing to recognize a specific character or characters, try the following.

 

Check that you thinned the example characters before adding them to the training set

If you have forgotten to thin the example characters before adding them to the training set the neural network is unlikely to be able to learn to recognize them. If this has happened you will have to create the training set again.

 

Continue to train the neural network

Because of the random nature of font training the neural network may, by chance, learn to recognize some characters better than others. This is particularly true if you have a large training set. Continuing training gives the network another chance to learn to recognize characters that it recognizes poorly.

To continue training a neural network, select Train Menu > Train Neural Net. Type a Target Percentage larger than the one you used when you trained the network the first time. For example, if you trained the network to 95% accuracy initially, try 96 or 97%.

You cannot continue to train a neural network if you have edited the training set or added new characters to it since training the neural network initially. If you have edited or added to the training set you must use Train Menu > Initialize Neural Net to start a new neural network and then train the neural network again from scratch.

 

Check that the character is correctly assigned in the training set

If you have added an example letter A to the training set but have accidentally told Scan2CAD that it is a letter B, the neural network will have problems recognizing one or both of these characters. Check that the character is correctly assigned.

 

Check that the incorrectly recognized character is adequately represented in the training set

If you have included ten examples of the letter A in the training set but only one example of the letter B, the random nature of font training means that the neural network is less likely to learn to recognize the letter B than the letter A.

 

To check whether a character is adequately represented in the training set:

1. Select Train Menu > View/Edit Training Set.
2. Scroll through the characters in the training set or step through the characters using the Up Arrow and Down Arrow keys (to sort the characters into ASCII value order click on the Sort Shapes button).

 

 

How many examples of the incorrectly recognized character are there in the training set compared to other characters?

3. If there are only a few examples of the incorrectly recognized character in the training set, add more examples.
4. Save the modified training set using Train Menu > Save Training Set.
5. Use Train Menu > Initialize Neural Net to start a new neural network.
6. Use Train Menu > Train Neural Net to train the new network.        
7. Save the new network using Train Menu > Save Neural Net As.

 

Add more examples of the character to the training set

The neural network may fail to recognize a character because it is too different from the examples of that character in the training set – in other words the character displays more variation than the network has been trained to expect. In this case add the characters that the neural network has failed to recognize to the training set as examples, as follows:

 

1. Thin the raster image using Train Menu > Thin Image.
2. Select Train Menu > Pick>Training Set and use it to add the incorrectly recognized characters to the training set.
3. Save the modified training set using Train Menu > Save Training Set.
4. Use Train Menu > Initialize Neural Net to start a new neural network.
5. Use Train Menu > Train Neural Net to train the new network.        
6. Save the new network using Train Menu > Save Neural Net As.

 

Additional notes

Remember that a neural network cannot be trained to recognize “joined up” writing or poor quality text. It can only be trained to recognize distinct and complete characters that do not touch, run or bleed into each other.
If the images contain different fonts, characters that vary considerably in size, or normal and italic versions of the same font, you may need to train different neural networks to cater for these differences.
If you train two neural networks using the same training set, the two neural networks will give slightly different results. This is because training starts in a randomized way and the neural networks evolve to reflect this.
If you have two neural networks and one is weak at recognizing a couple of characters and the other is weak at recognizing a different couple of characters, you can use both networks at the same time and allow Scan2CAD to recognize each character using the best network for that character. Contact scan2cad.com/support for more information.

 

Have questions on this topic? Talk to us