bots and machine learning


What are chatbots and artbots? How can we play with these tools and more to create interactive machine learning projects in the browser?

• 1. July - 26. July 2019
• Based in ACUD in Berlin, Germany
• Four weeks, full-time
• Up to 10 participants accepted

Artist / Student (Full Time)*



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!

Libraries like TensorFlow.js and ml5.js have 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.

Week one focuses on bots. 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 machine learning 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. Don't let these words intimidate you, this class offers something for every skill level! 

In the final week, instructors will take the opportunity to investigate more deeply into any special topics students wish to explore. Combining what we’ve learned, students will then develop projects to show as part of a final showcase of works!

in this course,
you will be
introduced to

  • 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

course outline

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. No previous experience necessary.