The acronym AI (Artificial Intelligence) seems to be everywhere. AI cars, AI automation, AI in the cloud, etc. Sometimes AI is conflated with other buzzwords like VR, AR, and so on. Is AI hype?
Yes AI has been hyped up. But Machine Learning, a subset of AI is quite real, and with real applications for Technical Directors and Technical Artists. In this article I’ll explain:
What is the difference between Artificial Intelligence, Machine Learning, and Deep Learning?
What can Machine Learning do and what are the minimum requirements for it to work?
How to start using Machine Learning yourself?
Note that important Machine Learning lingo is in ALL-CAPS so, you might want to come back to this article as a sort of glossary after going over materials on this site.
AI vs. ML vs. DL
Artificial Intelligence is a field in computer science that studies synthetic intelligent agents that can perceive the environment, learn from it, and act upon it. Many times when people talk about AI, they are really talking about a rapidly developing segment of AI called Machine Learning (ML).
Machine Learning is the subset of AI that studies techniques that make it possible for computers to learn from data, instead of using explicit programming instructions. Machine Learning is what your phone uses for facial and voice recognition.
Machine Learning techniques can be of two types: STATISTICAL or CONNECTIONIST. Statistical methods are just what the name implies. Some prominent statistical methods are PCA, HMM, and Bayesian Networks. The connectionist approach is all about Neural Networks. I’ll tell you how you can train a Neural Networks at the end of this article. So, stay with me.
Finally, Deep Learning is an approach to creating and training Neural Networks that rely on more complex network structures and less on something known as parameter tuning, or feature engineering. I’ll post more articles on these soon enough.
What can Machine Learning do?
Machine Learning is about programming a computer with information that is implicit in data. Therefore, data is paramount. The data can be of two types LABELED and UNLABELED.
Labeled datasets can use SUPERVISED learning algorithms, while unlabeled datasets need UNSUPERVISED learning algorithms.
Unsupervised learning is useful in finding existing patterns in the data. An excellent example of the use of ML with unlabeled data in a 3d context is the work of Loper et al. (2015). The authors used a dataset consisting of 2000 scanned human bodies (per gender) and, using a statistical technique called PCA, found that they could describe scanned bodies with less than 5% error using only 10 blendshapes. You can experiment with the results of this work in Maya, clicking here.
Supervised learning, on the other hand, is useful in solving problems where one wants to get a specific answer (output) from certain data (input). Keeping examples within the same research group authors Sreuber et al. (2016) labeled those same scanned bodies through crowdsourcing, using describing words such as fat, skinny, tall, short and so on. The authors used SVM (another statistical method) to correlate the labels to the scanned bodies and in practice created a method for generating 3d models from a set of written words. For more info on this project click here.
How to use this tech?
3DeepLearner is all about making Machine Learning easy for Technical Directors and Technical Artists. We are creating content that enables people to use Machine Learning (with a focus on Neural Networks and Deep Learning) in the context of 3D Animation, Games and VFX. Here are some articles that will enable you to do just that:
You can start your first tutorial on training a neural network and running it in Maya.
Or, you can dive deep into the foundations of how neural networks work.