Skip to content

Latest commit

 

History

History

05-neural-networks

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 

Training a Neural Network

Slides

Objectives

  • Learn steps to construct a "vanilla" neural network and train a classification model with ml5.js.
  • Understand Neural Network architecture.
    • What is a perceptron?
    • What is a multi-layered perceptron?
    • What are activation functions?
  • Understand the terminology of the training process.
  • Understand the difference between training and inference.
  • Understand the distinction between different types of layers in a neural network.
    • What is a convolutional layer?
    • What is a pooling layer?
  • Learn to train an image classifier with ml5.js, with and without convolutional layers.
  • Revisit and examine the concepts of classification and regression as applied to real-time interaction.

Tools

Artificial Neural Networks

Code Examples

Supplemental Materials

Video Tutorials

🚨 Note: ml5.js tutorials below were taught using an older version of ml5.js, refer to the ml5.js Resources Wiki page for more information. 🚨

Neural Network Concepts

ml5.js Neural Network

Convolutional Neural Networks

Video Tutorials

Datasets

Supplemental Materials

Related Projects

Code Examples

Working with Datasets

Convolution Neural Network Layers

Training Image Classifiers

ml5.js project

Due Thursday, Oct 10

  1. Watch Machine Learning for Human Creative Practice by Dr. Rebecca Fiebrink at Eyeo 2018. Reflect on the question: How can machine learning support and expand people’s creative practices?

Write a response to this question and outline an initial idea for your project. Do you plan to build on a previous assignment or start something new? Post a link to your response on the ml5.js Project Step 1 Wiki page.

Due Thursday, Oct 17

  1. Develop a p5.js sketch with ml5.js, using one or more of the models we’ve covered in the first half of the semester. Here are some ideas to get you started:

    • Create a simple movement-controlled game using hand, body, or face keypoints. Think about how different gestures might influence gameplay or character actions.
    • Design a musical instrument that responds to hand, body, or face keypoints, allowing gestures to control sound parameters such as pitch, volume, or effects. Explore creating melodies or soundscapes.
    • Build an augmented mirror or photo booth by overlaying p5.js elements on real-time video. Use segmentation or keypoint data to add visuals that respond to movements.
    • Make an interactive painting tool controlled by hand, body, or face keypoints. Experiment with effects like trailing particles or dynamic brushes that change shape and color based on gestures.
    • Chain models by using the output of one model as input to another with ml5.neuralNetwork(). For example, capture body or hand poses to create a custom classifier that drives an interaction. How could regression be applied to modify continuous elements like color gradients or speed?
    • Use transfer learning with Teachable Machine to train a custom image classifier on objects from your surroundings. Experiment with using these classifications to trigger interactions, visuals, or sounds in your sketch.
  2. Document your project in a blog post and come prepared to share your work for ~5 minutes. You are not required to have a slide deck, however, you might find slides useful to help you plan and structure your demo. Add a link to your documentation to the ml5.js Project Step 2 Wiki page.

Consider including:

  • Title
  • Sketch link
  • One sentence description
  • Summary (250-500 words)
  • Visual documentation such as a recorded screen capture / video / GIFs.
  • Inspiration: How did you become interested in this idea? Quotes, photographs, products, projects, people, music, political events, social ills, etc.
  • Process: How did you make this? What did you struggle with? What were you able to implement easily and what was difficult?
  • Code references: What examples, tutorials, references did you use to create the project? (You must cite the source of any code you use in code comments. Please note the following additional expectations and guidelines at the bottom of this page.)
  • Next steps: If you had more time to work on this, what would you do next?