Results 1 to 3 of 3

Thread: NN Trainer Question....tables don't seem to consider values used in tune

  1. #1
    Tuner in Training
    Join Date
    Sep 2020
    Posts
    20

    NN Trainer Question....tables don't seem to consider values used in tune

    What is really going on under the covers of the trainer??

    As an experiment, I set all my intake cam position to a single value across the entire table, and did the same for the exhaust.

    Then in NN training values set min/max of intake and exhaust to the respective values above.

    I created the NN files in VCM and ran them through the trainer and the output were tables very similar (some nearly the same) to the set of tables I get with completely different cam and training values.

    Furthermore, now in the NN VE table editor in the drop down for intake and exhaust I have 5 values that say 130 and 5 that say 100, yet the tables are all different. If the NN trainer is actually considering cam values in any meaningful way, I'd expect these 25 tables to all be the same when it creates the initial tables.

    So given the above behavior, how can I trust that when making adjustments to tables built with more dynamic values, that the tables indicated by a given cam position actually correspond to what the ECU will reference when the engine is running.

    In the above experiment the car would be trying to run with 25 completely different VE tables, all labeled the same, with cams that never move. How does that work?

    Test engine, 3.6 DOHC engine.

  2. #2
    Quote Originally Posted by hoover View Post
    What is really going on under the covers of the trainer??

    As an experiment, I set all my intake cam position to a single value across the entire table, and did the same for the exhaust.

    Then in NN training values set min/max of intake and exhaust to the respective values above.

    I created the NN files in VCM and ran them through the trainer and the output were tables very similar (some nearly the same) to the set of tables I get with completely different cam and training values.

    Furthermore, now in the NN VE table editor in the drop down for intake and exhaust I have 5 values that say 130 and 5 that say 100, yet the tables are all different. If the NN trainer is actually considering cam values in any meaningful way, I'd expect these 25 tables to all be the same when it creates the initial tables.

    So given the above behavior, how can I trust that when making adjustments to tables built with more dynamic values, that the tables indicated by a given cam position actually correspond to what the ECU will reference when the engine is running.

    In the above experiment the car would be trying to run with 25 completely different VE tables, all labeled the same, with cams that never move. How does that work?

    Test engine, 3.6 DOHC engine.

    I'd like to help by first answering your last question: Your experimental tune probably won't work; don't try it haha. On a more serious note, keep those experimental files FAR away from your working files.

    OK here's my "user level" understanding for what it's worth...

    I don't think the NNT (the part where you send data to the server, and it sends back new weights and biases) uses the training values at all. As far as the NNT server is concerned, the Training Values are simply labels at most and might not even be part of the files sent to/from the server. I think the NNT keeps track of the relationship between the tables, but doesn't need the actual pratio, RPM, or cam position numbers to do its thing. I believe the server is purely a mathematical/computational tool, just trying to find a set of weights and biases that most closely match the data you feed it. It's up to you to take the data and apply the right training values to make the results do something meaningful.

    You can actually open your original tune file (with the original training values) and then open the file you received from the NNT server. You will find that the table data in the 25 tables (the VE values) will be exactly the same as the server sent you, but the breakpoints and table cam position labels will match the original tune file.

    The Training Values are used by the ANN (via the PCM) to not only mark the breakpoints of the VE tables and cam positions, but the ANN uses the breakpoints as an address to find the best table, the closest pratio, RPM... and then "looks up" the VE value at that instant. I'm sure the ANN also effectively interpolates between tables and between values within the tables, like the PCM does for other tune parameters.

    Again, this is obviously a "user" explanation. I don't know what's actually going on in the code. I do know that the NNT is a nice way for non-experts to use a fairly sophisticated network to manipulate a 5-dimensional surface; too bad we can't visualize more than 3D.

    I've found that the Training Values should be your first priority to get correct, before continuing on with tuning. I actually logged my Intake and Exhaust Cam Center Positions and collected some data, in order to find the actual indicated cam position values to use as Training Values. Once you're confident you have the best training values, leave them alone - if you change them after tuning, you'll either need to re-tune, or re-scale the data for the new breakpoints (using Excel or some other app), or the ANN will end up at the wrong spot in the table data, giving you incorrect VE estimates.

    Hope all that made sense. Let me know how it goes.

    EDIT: You also said that you set your cam positions to one value. I think you're referring to the tables under the "Variable Camshaft" tab. If so, then neither the ANN nor the NNT use those tables. Those tables are simply where you want the cams to be at any instant. The PCM uses those tables to move your cams to those commanded positions. The ANN then takes the actual cam positions (via the cam position sensors) as an input and feeds it into its calculations for VE. I think that the NNT does absolutely nothing with any of the cam position data.
    Last edited by rockystock; 07-21-2021 at 10:55 PM. Reason: Added more info...

  3. #3
    Tuner in Training
    Join Date
    Sep 2020
    Posts
    20
    Thanks for the perspective. This was very helpful, especially if I think of the NN VE tables and trainer as simply just a set of reference tables that are looked up based on where the actual cams are at any given time, and nothing more intelligent than that.