L01 | English F3 Student Learning Log

Persona: I'm a Form 3 (Grade 9) student and I only read English. I know basic Python (variables, for loops, lists) and school algebra up to quadratics. I learn from the official pages, the videos with captions, and the book. Kaggle notebook steps are written as a practice log that follows the official notebooks.

What I understood (in my own words)

  • A computer sees a photo as a big grid of numbers, one for each pixel colour.
  • Before deep learning, people had to hand-write rules like 'birds have wings'. Now the model finds the rules itself by looking at many examples.
  • With fastai, a few lines of code download images, clean them, train a model and make predictions.
  • resnet18 is a model someone already trained. We only fine-tune it, like teaching someone who can already draw to draw our cartoon character.
  • The validation set matters: the model only really 'knows' something if it gets photos it has never seen right.

Where I got stuck, and how I got unstuck

Where I got stuckHow I solved it
The long list of DataBlock arguments looked scaryI wrote the five arguments in a table with what each one means, then matched them to the notebook line by line.
I didn't see how fine_tune differs from trainingI rewatched that part with captions and read chapter 1. Training from scratch starts from a blank page; fine-tuning starts from a model that already knows a lot.
Some code ran for a long time with no outputI learned to check that the Kaggle GPU accelerator was switched on in the notebook settings.

My answers to the exercises

Q1. In your own words: why was telling birds from forests hard for computers before 2015, but takes minutes now?

Before 2015, teams of experts spent years designing features like edges and shapes by hand, and it still didn't work well. Deep learning learns the features from the images itself. With pretrained models and GPUs, a couple of hundred photos and a few minutes are enough.

Q2. What five things does a DataBlock tell fastai? Give the Is it a bird? example for each.

  1. blocks: input is an image, output is a category (ImageBlock, CategoryBlock). 2) get_items: get_image_files finds every image in the folder. 3) splitter: RandomSplitter keeps 20% aside for validation. 4) get_y: parent_label uses the folder name, bird or forest. 5) item_tfms: Resize makes every image 192×192.

Q3. What are a pretrained model and fine-tuning? Explain with an everyday analogy.

A pretrained model is like a friend who already plays tennis well. Fine-tuning is teaching them badminton: they already track the ball and move their feet, so they only need to adjust their swing.

Q4. Describe the machine learning training loop in words: inputs, weights, model, results, loss, update.

Inputs (photos) plus weights go into the model, which gives results (bird or not). We compare the results with the correct labels to get the loss, use the loss to adjust the weights, then repeat many times.

Q5. Hands-on: adapt Is it a bird? to two things you care about. Write your search terms, folder names and the difficulty you expect.

I'd classify skateboards vs scooters. Search terms: 'skateboard photo', 'kick scooter photo'. Folders: dest/skateboard and dest/scooter. Expected difficulty: electric scooters and kick scooters look different, and some photos show a person riding with the board hidden, so I'd need to clean the data.

My Zettelkasten card

Card|Building something that works first makes the theory stick

You can learn deep learning by starting with the result. Lesson 1 skipped the maths and had me train a bird-vs-forest classifier in five minutes. Once I saw it get the answers right, I actually wanted to know what was happening inside.

When I learned Python at school, we spent weeks on print statements and variables before building anything, and a lot of my classmates gave up. This time I ran the whole notebook first, then went back to look up each DataBlock argument. I remembered them much better because I knew what each line was for. The limit is that running a notebook isn't the same as understanding it. If I only press 'Run' and never change anything, I'll forget it by next week.

My next step this week: change the notebook to classify skateboards vs scooters, change at least three things, and note which photo the model gets wrong.

🔗 Related notes to grow next: → Learning: 'Changing one line and rerunning teaches more than rereading' → Data: 'The photos a model gets wrong show where the data is weak' → Everyday life: 'Many daily decisions are really classification problems'


Back to lesson note:L01_開始上手_202611041526

Built with LogoFlowershow