Description
Objective
- Solve image classification with convolutional neural networks.
- Improve the performance with data augmentations.
- Understand how to utilize unlabeled data and how it benefits.
- The images are collected from the food-11 dataset classified into 11 classes.
- The dataset here is slightly modified:
- Training set: 280 * 11 labeled images + 6786 unlabeled images
- Validation set: 60 * 11 labeled images
- Testing set: 3347 images
- DO NOT utilize the original dataset or labels.
○ This is cheating.
Kaggle link: here
Requirements
- This homework is in three levels:
- Easy
○ Medium
○ Hard
- You can easily finish the easy level by running the example code.
- For the rest, we recommend you start with the same code.
- We already prepared some TODO blocks for you.
- DO NOT pre-train your model on other datasets.
- If you use some well-known model architecture (e.g., ResNet), make sure NOT to load pre-trained weights as initialization.
Requirements – Easy
- Build a convolutional neural network using labeled images with provided codes.
- Public simple baseline: 44.862 (accuracy, %)
Requirements – Medium
- Improve the performance using labeled images with different model architectures or data augmentations.
- Public medium baseline: 52.807 (accuracy, %)
- You can achieve the baseline by adding a few lines to the example code.
Requirements – Hard
- Improve the performance with additional unlabeled images.
- Public strong baseline: 82.138 (accuracy, %)
- Do it on your own (by finishing TODO blocks in the example code).
- Using unlabeled testing data here is allowed.
- Hint: semi-supervised learning, self-supervised learning
Semi-supervised Learning
- There are many ways to do semi-supervised learning.
- g., generate pseudo-labels for unlabeled data and train with them.
Pseudo-labels
Useful Resources
- Semi-supervised learning
- https://speech.ee.ntu.edu.tw/~tlkagk/courses/ML_2016/Lecture/semi%20(v3).pdf
○ https://www.youtube.com/watch?v=fX_guE7JNnY&ab_channel=Hung-yiLee
○ MixMatch: https://arxiv.org/abs/1905.02249 ○ Noisy student: https://arxiv.org/abs/1911.04252
- PyTorch
- https://pytorch.org/
- Torchvision
- http://pytorch.org/vision/stable/index.html







