At the beginning of 2018, I curated a list of five accessible tools aimed at anyone with basic Python scripting abilities for _Docubase. I was a beginner in the field of machine learning and overwhelmed by its complexity. Machine learning can be a fantastic tool for creators, but integrating AI into your workflow is a challenge for those who don’t have much coding experience. Two years later I recognize it was naive of me to think that it is possible to just “discover the complex ideas and building blocks of deep learning and machine learning technology” with only basic familiarity with Python. The responsibility to uncover and challenge the stories behind the machine learning algorithms is not on the individual itself but on the creative community as a whole. Luckily, wonderful people are thinking creatively about how we can bring everyone into the process of working with complex technologies. It is our responsibility towards one another. I hope this will encourage more people to join the conversation and diversify the voices that manufacture our reality. In the last two years, more accessible platforms have been developed; therefore, we find it necessary to update this list. If I missed something, or you have some suggestions, please contact me at email@example.com.
What started as Cristobal Valenzuela’s thesis project continued into a brilliant product with a simple goal: to put machine learning in the hands of creators. In order to start to play and to explore, no code is required at all. It lets anyone with a computer to start creating with the latest machine learning models with an excellent user-friendly interface. For the more adventurous ones, this software is a full developer kit that can also provide options for integrations and trainings. RunwayML, connected to a cloud service, is constantly being updated with new models to explore and engage with. If artists can overcome technical barriers, they can start thinking of new creative ways to use those models, and that is RunwayML exact mission.
ML-agents by Unity
The Unity Machine Learning Agents Toolkit (ML-Agents) is an open-source project for training intelligent agents in a game environment. It is fairly easy to install within the game engine software, and after doing so a variety of training scenarios are possible, depending on how agents and rewards are set up. Unity provides several pre-trained environments and agents to start and play with, and there are already a bunch of easy and fun tutorials to follow online.
Still on my list. This free and open-source software allows you to build interactive systems based on human actions and gestures instead of programming code. It’s a listening software that recognizes movements and composes visual and audio outputs, using regression, classification, and other supervised analysis models. Wekinator operates like a switchboard — it lives between different sources of input and output that use the open sound control protocol, making it easier to create complex relationships between someone’s movements and sounds in a creative, independent, and nonlinear way.
Pandas, Python data framework.
We live in an era of data-driven and information technology. Sometimes we just need a useful, efficient tool to help untangle the mess of big data so we can see clearly the stories that exist underneath it. One of the libraries that was on my list last time is Scikit-Learn. After playing with Pandas, I would like to replace it. I’m sure there are pros and cons between the two, but for accessibility purposes, Pandas is the absolutely winner! Pandas is an open-source software library written for the Python programming language for data manipulation and analysis. It relies on Numpy and Matplotlib, two of the main libraries in the Python ecosystem. In a nutshell, it is Excel for Python with rows and columns. It is easy to use and a super flexible, robust data analysis and data visualization tool.
OpenAI GYM is a python library that provides a large number of test-game environments to work with a Reinforcement Learning (RL) agent’s algorithms and shared interfaces for writing general algorithms and testing them. You do need to have some understanding of Python, but the documentation is pretty accessible and the problem OpenAI is trying to tackle is to remove the barrier of setting up training environments for RL agents. Working with RL can be extremely difficult, and this might increase engagement in the field of AI and provide tools with which everyone can learn about the basics of AI.
If you are equipped with a bit more programming knowledge of C++ or Python, you can access data and training sets, as well as build complex cognitive computational models through a variety of API’s provided by IBM Cloud. It is an open-source implementation of IBM Watson’s Open Cloud Architecture services. Its technology can analyze high-level concepts of abstraction and data which aren’t directly referenced in the input. The services include Personality Insights, Natural Language Understanding, Visual Recognition, and several customization capabilities.
Here are examples of creative projects made with IBM Cloud support.
This is not a tool or piece of software but a free book about machine learning for artists with a collection of effective resources and ideas to facilitate a greater public understanding of the subject and make it much more accessible. ML4A is an initiative by Gene Kogan, an artist and a programmer who collaborates with numerous open-source software projects.
Additional educational interactive web tools:
- GauGAN network by Nvidia: http://gaugan.org/gaugan2/
- You can explore how categorized images are generated by using the paintbrush.
- Pix2Pix network: https://affinelayer.com/pixsrv/
- You can explore how image-to-image translation is being translated with a Conditional Adversarial Network.
- Explore the latent space of the various image layers in this Deep Conventional Generative Adversarial Network: https://carpedm20.github.io/faces/
- This Person Does Not Exist might seem like a random portraits site, but every single photo on the site has been created by using a special kind of artificial intelligence algorithm called generative adversarial networks (GANs).