Bots can be understood as internet-based software applications imbued with character and persona – what Donna Haraway would describe as “materialised figurations.” Bots often follow and reinforce figurations of the humanlike, conversational, assistive and servient. We are exposed to bots daily, whether in customer service chat windows or ubiquitous and opinionated anonymous social media accounts.
Machine learning (ML) is a branch of artificial intelligence concerned with the design of data-driven programs that autonomously demonstrate intelligent behavior in a variety of domains. ML systems are all around us. When you deposit a check, scan your fingerprint, or post a picture on social media, autonomous algorithms are deployed on the spot to sift through and make sense of your constant interactions with technology.
As computational technologies advance, bots are often mischaracterized as agents with ML, making it hard to distinguish between programmed devices and artificial intelligence. Together, we will learn about bots and ML, understand their differences and explore ways in which ML can transform bots. By integrating these separate components into a common creation, we can repurpose these tools and harness their capabilities for creative expression and empowerment.
Libraries like TensorFlow.js and ml5.js unlocked new opportunities for interactive machine learning projects in the browser. The goal of this class is to learn and understand common machine learning techniques and apply them to generate creative outputs in the browser.
In the first week, we’ll get started developing characterisations and roles for bots and immediately begin prototyping them. We’ll explore and invent new figurations for bots, and implement these using bot development tools. Following this, more complex bot architectures can be sketched out, speculatively drawing upon a broader range of APIs and software modules in mashup configurations.
In following weeks, we will focus on learning and understanding common ML techniques and applying them to generate creative outputs within the browser. We will start with running models in the browser using high-level APIs from ml5.js and exploring the Layer APIs from TensorFlow.js to create models using custom data. Libraries like TensorFlow.js and ml5.js will be used to unlock new opportunities for interactive ML projects.
In the final week, combining what we’ve learned, students will continue developing projects as well as collaborate together to integrate their ideas into a group project, with the instructors taking the opportunity to investigate deeper into any special topics the students wish to explore.
Artist / Student (Full Time)*
Women and persons from LGBTQ+ and other under-represented communities in the tech field highly encouraged to apply!
*Includes in-class materials, use of space, and professional mentorship
In this course, you will learn
- Critical and conceptual development of projects*
- History of bots on the web*
- Difference between chatbots and artbots and how to create them*
- Libraries like TensorFlow.js, ml5.js, p5.js for creating web-based ML projects*
- Runway ML, Style transfer, Pix2pix and other up-to-date ML practices possible in the browser*
- An amazing network and community of like-minded creative beings and potential future collaborators
- *No previous experience necessary
Week 1:Introduction to Machine Learning, chatBots and artBots
Week 2: ml5.js, KNN image classifier, poseNet, Style Transfer and Pix2pix
Week 3: RunwayML, Sketch RNN, Doodle Classifier, tf.js, create our own Neural Network from scratch.
Week 4:Project development, group work, and special topics, preparing for final showcase open to the public.
Who is this program for?
This course is for anyone who is interested in building creative bots and machine learning projects in the browser and programming beginners who would like to learn more about these topics. This class aims to make bots and ML more approachable for a broad audience of artists, designers, creative coders, and programming beginners.
For each model or technique, we will learn how they work, how to use them and how to train our own models. The class will balance its focus between building and understanding how bots and ML works behind the scenes.
Some familiarity with the basic concepts of programming is helpful but is not necessary. We will use ml5 in the class, which is inspired by more user-friendly programming tools such as processing and p5.js.