carpentries-incubator / deep-learning-intro

Learn Deep Learning with Python
https://carpentries-incubator.github.io/deep-learning-intro/
Other
31 stars 36 forks source link

Make sure the content matches the objectives for each episode #288

Closed svenvanderburg closed 1 year ago

svenvanderburg commented 1 year ago

Necessary to meet the requirements for carpentries lab. See #264

dsmits commented 1 year ago

Episode 1:

  1. [x] Recall the sort of problems for which Deep Learning is a useful tool
  2. [x] List some of the available tools for Deep Learning
  3. [x] Recall the steps of a Deep Learning workflow
  4. [ ] Explain why it is important to test the accuracy of Deep Learning system.
  5. [x] Identify the inputs and outputs of a Deep Learning system.
  6. [x] Test that we’ve correctly installed the Keras, Seaborn and Sklearn libraries

For this one, I'd say we ditch number 4

dsmits commented 1 year ago

Episode 2:

  1. [x] Use the deep learning workflow to structure the notebook
  2. [x] Explore the dataset using pandas and seaborn
  3. [x] Use one-hot encoding to prepare data for classification in Keras
  4. [x] Describe a fully connected layer
  5. [x] Implement a fully connected layer with Keras
  6. [x] Use Keras to train a small fully connected network on prepared data
  7. [x] Plot the loss curve of the training process
  8. [x] Use a confusion matrix to measure the trained networks’ performance on a test set
dsmits commented 1 year ago

Episode 3:

  1. [x] Explain the importance of splitting the training data
  2. [x] Use the data splits to plot the training process
  3. [ ] Set the training goal for your deep neural network
  4. [x] Measure the performance of your deep neural network
  5. [x] Interpret the training plots to recognize overfitting
  6. [x] Implement basic strategies to prevent overfitting

Number 3 is there in principle but I think the lesson should explicitly explain what a training goal is and not just put it in the title of the section.

dsmits commented 1 year ago

Episode 4:

  1. [x] Understand why convolutional and pooling layers are useful for image data
  2. [ ] Use normalization as preparation step for Deep Learning
  3. [x] Implement a convolutional neural network on an image dataset
  4. [x] Plot and interpret the training process
  5. [ ] Do a visual inspection of the results of your neural network
  6. [ ] Understand strategies to improve your model based on the plots
  7. [x] Use drop-out layer to prevent overfitting