Deep learning models have proven their recently unmatched performance in various use cases (see Object Detection, Semantic Segmentation & Pose Estimation for examples). However, it is known that their hunger for data is enormous. In a normal case, datasets of several hundred to millions of images including manually generated desired outputs (labels) are required to train a model. This problem poses a significant barrier in productively using Deep Learning. Data efficiency is especially a problem in robotics as collecting new data often requires actuators to be employed. This makes generating data points time-consuming and wears the equipment out. We at GESTALT Robotics believe that for a practical usage, robots have to be able to learn new knowledge without intense human supervision. Feel free to contact us and discuss your use case and how it can benefit from data-efficient Artificial Intelligence (AI). Why not send us an email at firstname.lastname@example.org or give us a call at +49 30 616 515 60?
Techniques to increase data efficiency
One-Shot Learning and Few-Shot Learning
One-shot learning and few-shot learning represent tasks where systems attempt to learn from one or only a few examples instead of thousands. To achieve this, we humans use all our knowledge we have acquired before – even seemingly unrelated data. Consider the example of recognizing a new type of fruit. Intuitively, we would go through our "database" of known fruits and look for the one which resembles it most. Basically, we try to find the most similar data points. This approach can also be implemented into an AI system - however, we have to find a way to express what "similar" means. Metric learning is a branch in Machine Learning dedicated to this specific problem. The goal is to learn a similarity metric, which imitates the human understanding of object similarity. Siamese and triplet networks are fed with image pairs from the same and distinct classes and are trained to output a numerical value, which shall represent the perceived similarity of two images.
In metric learning, we are not interested in the exact class of an object, but only how similar it is to the known ones. In the example, a wallet is compared to another set of wallets. The thickness of the arrows indicates the similarity. In our case, the wallet would be assigned to the same instance closest to its source.
Instead of using all available previous knowledge, the alternative is to make the system collect data on its own. In Reinforcement Learning, the robot automatically learns a strategy by interacting with its environment. The environment defines rewards for the robot's actions. The robot then tries to maximize the rewards gained with the learned strategy. For example, in a navigation task, we provide a higher reward the quicker the robot navigates to a destination. The available actions are "go forward/backward" and "turn left/right". The learning algorithm will then develop a strategy how to go to the destination with the least number of actions. The training data is collected while the robot performs its actions. The more the robot tries out, the more it learns about the consequences of its moves. Being able to predict the outcome of one's actions allows to choose the one with the best benefit.
How does reinforcement learning work? First, the robot perceives its environment estimating its state and the reward it gets. Based on this information, it chooses an action to apply onto the environment. As an example, it could decide to move forward. The chosen action changes the environment, which then yields a new state and new (negative) rewards. For example, the robot sees that it has run into an obstacle. Thus, the next time it chooses an action, it will avoid going further forward. Moreover, it will remember the actions which lead to particular situations. Over the time of experimenting, the system will behave more and more intelligently.
Applications & Use Cases
Person- and Object Re-Identification
Social robots have to be able to adapt to the person they serve. Therefore, they have to be able to recognize the identity from a huge set of people. Since the number of identities (corresponding to classes) to be recognized is high, the number of samples per class is low. On top, new identities to be recognized are continuously added. Metric learning can be applied to achieve this.
Fast customization of machine learning systems
As provider of AI services, we receive various requests for the same recognition task, however, with different target classes. Besides, data availability is mostly an issue. We apply data efficient learning techniques to overcome the dilemma of data sparsity and be able to quickly deliver models for slightly varying tasks. See Customized AI for further information.
In addition to traditional approaches, we at GESTALT also apply data efficient methods to enable you a practical usage of Machine Learning. You can contact us under email@example.com or give us a call at +49 30 616 515 60 – we would love hearing from you.