Week 01 – MNIST Pretraining & Binary Classification

Dates: May 25 – June 1
Internship: AI/ML Intern at SynerSense Pvt. Ltd.
Mentor: Praveen Kulkarni Sir


Focus

This week focused on unsupervised pretraining with autoencoders and transfer learning on the MNIST dataset for binary classification (even vs. odd).


Goals for the Week

  • Perform unsupervised pretraining on the MNIST dataset using an autoencoder
  • Fine-tune the pretrained encoder for binary classification (even vs. odd digits)
  • Evaluate both models and report their performance

Tasks Completed

Task Status Notes
Loaded MNIST dataset using torchvision.datasets ✅ Completed Used PyTorch DataLoader for efficient batching
Built encoder-decoder architecture for autoencoder pretraining ✅ Completed Applied ReLU activations and trained with MSE loss
Implemented early stopping during autoencoder training ✅ Completed Avoided overfitting using validation loss threshold
Saved pretrained encoder model ✅ Completed Model checkpoint saved in .pt format
Built binary classifier using pretrained encoder ✅ Completed Added fully connected layer for even/odd classification
Fine-tuned classifier using labeled MNIST ✅ Completed Used BCEWithLogitsLoss; improved performance with frozen encoder
Evaluated both models and generated classification report ✅ Completed Accuracy ~98%, Confusion matrix plotted
Documented use cases where pretraining outperforms direct training ✅ Completed Reported better feature extraction and convergence benefits

Key Learnings

  • Pretraining with an autoencoder helps extract more structured and meaningful representations.
  • Freezing encoder layers during fine-tuning helped stabilize results and speed up training.
  • Binary classification tasks benefit from unsupervised feature learning.
  • Regularization techniques like early stopping and dropout were crucial.

Problems Faced & Solutions

Problem Solution
Overfitting during unsupervised pretraining Applied early stopping and dropout layers
Poor accuracy in initial fine-tuning attempts Froze encoder layers and adjusted learning rate
Difficulty in even/odd labeling from digit labels Mapped digit labels programmatically (0,2,4,6,8 as 0; 1,3,5,7,9 as 1)
Unclear performance difference Added visualizations, confusion matrix, and precision/recall scores

📎 References


Goals for Next Week

  • Begin exploring ComfyUI for synthetic biometric generation
  • Implement visual transformations using masking and prompts
  • Compare facial realism across tools like InvokeAI and Replicate

Screenshots (Optional)

Add encoder architecture diagrams, loss plots, or confusion matrices here if available.


“Week one showed me how powerful representation learning is. Pretraining builds intuition the model can trust.”

layout: default title: Week 01 parent: Weekly Logs nav_order: 1 —

Week 01 – MNIST Pretraining & Binary Classification

Dates: May 25 – June 1
Internship: AI/ML Intern at SynerSense Pvt. Ltd.
Mentor: Praveen Kulkarni Sir


Focus

This week focused on unsupervised pretraining with autoencoders and transfer learning on the MNIST dataset for binary classification (even vs. odd).


Goals for the Week

  • Perform unsupervised pretraining on the MNIST dataset using an autoencoder
  • Fine-tune the pretrained encoder for binary classification (even vs. odd digits)
  • Evaluate both models and report their performance

Tasks Completed

Task Status Notes
Loaded MNIST dataset using torchvision.datasets ✅ Completed Used PyTorch DataLoader for efficient batching
Built encoder-decoder architecture for autoencoder pretraining ✅ Completed Applied ReLU activations and trained with MSE loss
Implemented early stopping during autoencoder training ✅ Completed Avoided overfitting using validation loss threshold
Saved pretrained encoder model ✅ Completed Model checkpoint saved in .pt format
Built binary classifier using pretrained encoder ✅ Completed Added fully connected layer for even/odd classification
Fine-tuned classifier using labeled MNIST ✅ Completed Used BCEWithLogitsLoss; improved performance with frozen encoder
Evaluated both models and generated classification report ✅ Completed Accuracy ~98%, Confusion matrix plotted
Documented use cases where pretraining outperforms direct training ✅ Completed Reported better feature extraction and convergence benefits

Key Learnings

  • Pretraining with an autoencoder helps extract more structured and meaningful representations.
  • Freezing encoder layers during fine-tuning helped stabilize results and speed up training.
  • Binary classification tasks benefit from unsupervised feature learning.
  • Regularization techniques like early stopping and dropout were crucial.

Problems Faced & Solutions

Problem Solution
Overfitting during unsupervised pretraining Applied early stopping and dropout layers
Poor accuracy in initial fine-tuning attempts Froze encoder layers and adjusted learning rate
Difficulty in even/odd labeling from digit labels Mapped digit labels programmatically (0,2,4,6,8 as 0; 1,3,5,7,9 as 1)
Unclear performance difference Added visualizations, confusion matrix, and precision/recall scores

📎 References


Goals for Next Week

  • Begin exploring ComfyUI for synthetic biometric generation
  • Implement visual transformations using masking and prompts
  • Compare facial realism across tools like InvokeAI and Replicate

Screenshots (Optional)

Add encoder architecture diagrams, loss plots, or confusion matrices here if available.


“Week one showed me how powerful representation learning is. Pretraining builds intuition the model can trust.”