I have a neural network I designed, and previously I got this network working with some considerable simplification to its design which I was not fond of making.

However I noted that during training if I just let the training engine respond to its horrible initial inferenced moves there would be points where it would simply stop moving because of initial and sometimes side effects relating to actions that conflicted and did opposite things being outputted.

I placed some code which I never really used that responded to 'critical events', and would overfit until the most important outputs were resolve. Eg if the output said 'move left and move right' or 'rotate up and rotate down' or 'out of range or fire when the target is perfectly aligned' i'd fixate on training and training with the correct outputs until the model state shifted to eliminate these stalemates.

Would the side effects of this eventually work themselves out as they were gradually eliminated ?

As to work them out what I was doing was essentially overfitting to resolve issues with an inferenced value.

I don't think further information is really necessary to understand what I'm asking.

The network in question controls a simulated targeting system, its outputs are simple, its inputs are simple. It works well enough if you train it to an optimal path.

But the idea here is to let it mess up, until it hits a snag.

@NikosM. the model in question is linear, it uses the sigmoid function as its activation function, the process interprets values from 0.5 to less than 0.74 as False and >0.75 as yes the model takes the current turret rotation, and the polar coordinate value of the target, it also takes a muzzle velocity and a target distance which indicates the direct line distance between the target and the current landing area.

outputs are Up, Down (Elevation of muzzle), Left, Right (Horizontal Rotation), Out of Range , and Fire Now.

This model does train with some success but this question is more non specific.

In one of the training modes I try, I take whatever garbage output the model gives me, let the turret do it and train it with a calculated correction value. In some of the cases the model spits out information which is opposing. It tells the model to go up and down, left and right or oor and fire. I consider these 'critical' outputs and begin training with the correct value till one of them changes as it should trying to simulate practicing away a very very bad failure in performance, this of course is overfitting when I hit the model with 200 or so training events on the same data. However because its correcting a pretty serious deadlock, I was wondering if eventually the effects of overfitting in this case would be mitigated by continued training on more data points.

The training program generates data, random targets, and calculates the values to feed the program which are based off the available calculatable data and constant values related to the turrets operation.

So I don't understand why this is considered helpful because the question seems like a general one, but okay.

The neural networks smallest working goddamn part lol Is defined as follows in pytorch.

 self.linear_relu_stack = nn.Sequential(
            nn.Linear(8, 22),

It uses the MSELoss function and SGD optimizer.

  • $\begingroup$ I fgind it hard to understand what is the question. On top of that there is no mention of the custom network and how it works, so very hard to answer $\endgroup$
    – Nikos M.
    Oct 21, 2021 at 15:40
  • $\begingroup$ ok I'll elaborate $\endgroup$
    – John Sohn
    Oct 22, 2021 at 12:58
  • $\begingroup$ How do you expect a mathematical answer, only providing vague outlines and not even one equation of how your custom network works.. $\endgroup$
    – Nikos M.
    Oct 22, 2021 at 13:55
  • $\begingroup$ Unless you think what you ask can be answered rigorously using any black-box model, so your model is actually irrelevant to the question. I assure you this is not the case. $\endgroup$
    – Nikos M.
    Oct 22, 2021 at 13:57
  • 1
    $\begingroup$ @NikosM. is what I added what you mean ? The layer definitions loss function and optimizer ? $\endgroup$
    – John Sohn
    Oct 24, 2021 at 2:09


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.