Now we've discussed what kind of experiments should you run?
Let's map out the experiments we're going to try.
So, 7.2.
What experiments are we going to run?
So in light of all these, we could test all of these things, but we're going to keep it simple.
And I want you to start imagining every little hyper parameter, every setting in a machine learning
experiment could be like a little dial.
So we're going to turn three dials here.
We're going to turn three dials.
And the first one is model size.
The second one is dataset size, and the third one is training time.
So in lieu of model size, we might use efficient net B0 versus efficient net B2 and data set size.
We might use 10% of pizza, steak, sushi images.
Verse.
20% and for training time.
We've trained a lot of models for five epochs, so we might go five epochs versus ten epochs.
And now, of course, we are definitely not limited to just running these, but in my experience, these
three factors are often some of the biggest influences of your model results.
So model size, this is in terms of number of parameters.
And this is data set size, so generally more data.
Equals better results and generally longer training time.
Equals better results up to a point.
So that's a little caveat there, is that you might think, well, why are we stopping at ten epochs?
Why don't we do 10,000 epochs?
Well, generally it, it goes say you wanted to train for ten epochs.
If you train for 20 epochs, you might get better results.
But if you train for 100 epochs, your results might start to degrade.
So up to a point, but.
To begin.
We're still keeping things relatively small so that our experiments run quickly.
Now, that's a very important point.
We don't want to be waiting here all day for different modeling experiments to run.
We want to quickly test a bunch of different things, such as model size, data, set size and training
time and see what is worth pursuing.
So if we're waiting here for hours, it's going to take us a long time to figure out what doesn't work.
So why did I pick efficient net b0 versus B2?
Well, if we come in to the torch vision documentation.
And then if we go here, you could truly pick almost any of these models to compare against each other.
But I've decided to stick within the efficient net family efficient net B0 and there's B1 B1 again with
V two weights and there's B2 here.
The reason I've decided on B0 and B2 is because B2 is about double the size, not exactly double the
size, but it's close enough.
We could do B3, we could do before we could do B five.
But recall what is our overall goal of our Food Vision Mini?
We'd like to build a model that's not too big so that we could deploy it to a website or a mobile device.
Because if someone is taking a photo of their food, they're probably going to do it on their phone.
So we can't use a model that has a ridiculous number of parameters.
Although it may perform better, it might not fit on a mobile device such as this big model here.
It's got 600 million parameters versus our 5 million for efficient net B zero and 9 million for efficient
net B2.
So in lieu of all that, let's check out the keynote.
What experiments should you try?
Model architecture.
This is what we're going to be trying, tweaking this style.
We're going to be tweaking the epoch style and we're also going to be tweaking the amount of data dial.
Now, of course, we could try these other things here, but I'm going to leave that to you to explore,
such as tweaking the learning rate over time or adding in data augmentation.
So let's get an overview of what we're going to be running.
We've got experiment number here, the training data.
We're using the testing data.
Something to note here is that we're going to be using the same test set for every experiment.
That way we can compare apples to apples.
If we use a different test set for every experiment, well, then it's hard to really evaluate which
experiment did the best.
So we start off with 10% training data.
So just the experiment that we've already run, efficient net B0 for five epochs, then we keep the
data set the same.
We change the model, we keep the epochs the same, use efficient net B to.
Then we train with 10% training data.
Again, use efficient net B0 just like one and ten epochs, and we slowly start working towards number
eight here, which ends up being double the amount of training data as experiment one, double the model
size or thereabouts as experiment one and double the amount of epochs.
So do you see the trend that we're following here?
We're slowly increasing as we go.
So hopefully running these experiments is going to show us some insight into which one of these combinations
works the best.
Now, if you had to bet, if you had to guess of all these experiments, what do you think is going
to perform the best?
Will it be a smaller model trained for longer, or will it be a model that has more data, more parameters,
and train for the longest?
I'll leave that to you to think about.
But let's now, in the next video, start to prepare our data set.
So we need a 10% training data data set and a 20% training data set.
I'll see you in the next video.