PlatinumZealot wrote: ↑28 Apr 2024, 15:17
So onto the car design . Machine learning is what you would use for these very "constrained" and "guided" problems (regulations!) of a physical nature to help you make decisions. You could generate a fancy rear wing if you want with generative AI but that might be very out there, you have to test if it it works and you might have to test hundreds of these! but you can use machine learning to
make the model of how to design a rear wing, and then choose the best design.
You can actually design a generative AI that makes performance predictions as well.
Let's say I want to design a Rear Wing, and my objective is to maximise the downforce, and they allocate my 10k CFD runs.
Using regulations, we can define the space of shapes for the rear wing using variables. Let's say 50 variables define the final shape of the rear wing. All of the variables are continuous with fixed ranges. Here, even if we opted to choose 3 random values (let's hope no team is doing a step-sweep search on multi-dim hyperparameter search
) for each variable it is nearly impossible to try all of the designs in CFD because we would end up 3^50 different configurations.
Here what we can do is, generate 9k random rear wing configuration (x_{i}), and measure the downforce of the rear wings (y_{i}) with CFD. Then we can learn (train using ml algorithms) a function f_{down_force} that takes a rear wing configuration and predicts the downforce value of that rear wing.
Then we can learn a new generative model that conditions the downforce level and produces a plausible rearwing that matches the downforce. Here we would learn a generative ml model g (z|y), where z is a random vector and y is the conditioning variable (downforce). This g function basically would learn to generate rear wings that match the conditioning downforce level.
The training of function g would be like this, generate a random rear wing (x_{j}) with downforce level y_{j}, first x_{j} should follow a similar distribution as x_{i}s and second the downforce level should match y_{j}. The downforce level of x_{j} would be measured using the f_{down_force} function that I learned in the previous step.
Then after the training of g is done, I would generate 1k wings with the maximum downforce values, and test these wings on the CFD/Wind tunnel.