Neural Network Trainer
How does the Neural Network Trainer work and why do I need it?
The neural networks in the FCA and GM vehicles take certain inputs like engine speed, cam angle, etc., run some calculations, and provide an estimated volumetric efficiency given those inputs. The parameters which define the neural network are called weights and biases. While the neural network can interpret those parameters and use them to run calculations, to a human, those numbers provide little to no meaning. The goal of the Neural Network Trainer is to allow tuners to modify the neural network in their vehicles using a method they are familiar with: VE Tables.
When a file is initially generated, the Neural Network Trainer will generate VE Tables for the provided neural network parameters. The tuner then modifies the initial VE tables as desired and uploads the new file for training. The Neural Network Trainer will find new parameters for the neural network which fit the provided VE tables as closely as possible. At that point, the new neural network parameters can be written to the vehicle and the tuner can test the changes.
How to change the range of input and output parameters like RPM, PRatio, etc.?
- For FCA vehicles: Open the “Engine > Airflow > Neural Network” tab. The “Training Values” section contains the allowed range for all the input and output variables of the neural network
- For GM vehicles: Open the “Engine > Airflow > Speed Density” tab. “Input Layer > Min Range, HL” contains the minimum allowed range for the input variables. “Input Layer > Max Range, HL” contains the maximum allowed range for the input variables. The range for the output VE can be modified by changing the “Outer Layer > Min Range, HL” and the “Outer Layer > Max Range, HL” values.
- Note: the input and output value ranges must be changed before creating the initial file in the Neural Network Trainer. If the values are changed after a file was created, it will be necessary to create a new file by clicking the “Create New File for Training from Tune” button.
Do I really need to modify all 25 VE tables for FCA vehicles?
Depending on the desired accuracy, users may disable some of the VE tables for training. This can be done by unchecking the “Use Table for Training” checkbox in the Neural Network Trainer. For some vehicles like the Dodge Hellcat, only 5 tables need to be trained because the intake and exhaust camshafts are linked together. To view the possible combinations of intake and exhaust camshaft angles for your FCA vehicle, open the “Engine > Airflow > Variable Camshaft” tab and open the “Intake Camshaft, Desired Angle, Normal” and “Exhaust Camshaft, Desired Angle, Normal” tables. These tables will show what is the target intake and exhaust camshaft angle for each engine rpm and aircharge value.
Why isn’t this tool part of VCM Suite?
Training a neural network is a very resource intensive task. For the training process to run in a reasonable amount of time, we use high performance servers which can train a neural network in under 2 minutes. This way tuners can continue modifying vehicles without having to buy an expensive computer.
What VCM Scanner parameters represent the inputs to the Neural Network?
- For FCA vehicles: RPM, Pressure Ratio, Intake Cam Angle, Exhaust Cam Angle
- For GM vehicles: RPM, Cylinder Airmass, Intake Cam Angle from Open Position
Note: “Intake Cam Angle from Open Position” is only available in VCM Suite versions 4.9.389 and newer.
How do I get fuel trims for a certain intake and exhaust camshaft angle using VCM Scanner?
Right click on the Graph area in VCM Scanner and select Graphs Layout. Go to ST Fuel Trim or LT Fuel trim depending on which one you want to use. In the “Filtering” section click on “New Variable” and select “Intake Cam Angle”. Depending on the vehicle, the variable might have a slightly different name. Next set a range of values for which you would like to filter out the fuel trims. This is how the filtering function would look if we want to get the fuel trims between 104 and 106 degrees of intake cam angle: “[2172.161]>104 and [2172.161]<106”. Next add the Exhaust Cam Angle variable and add a similar condition for the desired exhaust cam angle range. More conditions can be added by using the “and” keyword between each condition.