With the ongoing development of ml5-next-gen (ml5.js 1.0 has launched now, woohoo!), I thought there was no better time to create a series of beginner-friendly tutorials for those interested in learning machine learning for the first time. This project aims to provide a gateway for individuals to start their journey in both programming and machine learning. Read my original proposal and final presentation slides to learn more.
During my research, I actively engaged in creative experimentation (such as this interactive melody painter using ml5.handPose and this mouth-controlled FM synthesizer using ml5.faceMesh) with the ml5.js library, which deepened my appreciation of its accessibility and the creative possibilities it offers. I also studied the source code of ml5.js and its underlying TensorFlow.js library, along with articles and papers related to their development. This has given me a more holistic understranding of how ml5.js functions and how TensorFlow.js models are trained.
Initially, I began drafting written tutorials but later shifted my focus towards preparing for an undergraduate machine learning course that I would be teaching over the summer. The well-structured and detailed syllabus Dan Shiffman and Yining Shi developed and shared with me was instrumental in this process. Teaching the course prompted me to reconsider my tutorial strategy. Rather than duplicating the content that is already comphrehensively covered in Dan's video tutorials, I plan to focus on developing beginner-friendly code examples that use ml5.js in playful or unexpected ways. Additionally, I plan to create project-oriented tutorials that demonstrate the entire development process of some of my ml5.js experiments from start to finish. I have observed that my students learn most effectively through examples that I have created, so I believe producing more examples will be highly beneficial for learners exploring ml5.js.
I intend to adpot an iterative approach, continously refining my tutorials and my teaching strategies as I gather feedback from learners and my peers.
I would like to take this opportunity to express my gratitude to all the incredible people who have created teaching and learning materials in machine learning. Their contributions have greatly aided my own learning journey.
- Beginners Guide to Machine Learning in JavaScript by Daniel Shiffman.
- Introduction to Machine Learning for the Arts (Fall 2023) by Yining Shi.
- Intelligence and Learning by Daniel Shiffman.
- Nature of Code by Daniel Shiffman.
- Neural Networks by 3Blue1Brown (Grant Sanderson).