Robots from simulation into reality

Transfer Learning for Robotics with Generative Adversarial Networks

As a kid, I remember watching Star Wars and thinking “damn, those robots are crazy-sophisticated”. They were smart and able to walk in various different environments. Contrary to most people, this didn’t scare me but instead got me really excited … but I was shocked to know that machines aren’t actually that intelligent in real life (yet).


Artificial General Intelligence (AGI)

This is what we’re trying to accomplish with artificial intelligence and robotics, in a field called Artificial General Intelligence (AGI) which focuses on generalizing human cognitive abilities in software. So far we’ve tried various different techniques in unsupervised learning, generative models and reinforcement learning.

  • SingularityNET: research in unsupervised learning, neural-symbolic systems and designing a language for a cognitive architecture.

Transfer Learning for Robot Control

One of the key aspects of human intelligence is the capacity to adapt to new situations based on similar past experiences.

  • large amounts of time is needed to supervise the robot and create relevant training data.
  • simulation environments often come with the capability of providing annotations to the training data (e.g. joint states, object orientation/pose etc.) — these aren’t always accurate or don’t translate perfectly in real life.
  • training GANs for image translation by minimizing the task loss of generated target domain images.

Simulation Set-Up

The interesting problem here is to predict joint velocities for a 3DOF arm from an input image. Joint velocities is a vector that describes the relative angular velocity of one segment relative to another segment.

Training images.

GANs for Image Translation and Pairing across Domains

Generative adversarial networks (GANs) have been used to generate pictures of a particular domain from random vectors. Our input is an image from the source domain and the output is an image from the target domain. In our case, that means our source and target domain images to be semantically related.

GANs for translation and pairing across domains.
Model Overview
Top: target domain image y, middle: generate source domain image F(y), bottom: reconstructed target domain image G(F(y)).

Training Robot with Generated Source-Target Pairs

The labels from the source domain can be used for the paired generated target domain image. We can do this by extracting a feature vector from an image using a neural network.

Example of the source domain and the various target domains being tested on.
  • Target domain translations: The target domain images y, generated source domain image F(y), and reconstructed target domain image G(F(y). L2 loss between feature layers are minimized.

Putting it all together

So far we’ve talked about training a GAN for image translation and pairing across domains.

  • generate target domain images G(x) that recreates target domain characteristics.

Hi. I’m Alishba.

I’m a 16-year-old AI + Robotics, Blockchain developer and researcher!!

I’m a developer & innovator who enjoys building products and researching ways we can use AI, Blockchain & robotics to solve problems in healthcare and energy!