Machine Learning Applications – Robotics
DeepSquare
The DeepSquare Association - Sustainable High Performance Computing as a Service
Machine Learning Applications – Robotics
“You just can't differentiate between a robot and the very best of humans.”
― Isaac Asimov, I, Robot
?We all have seen these little cute-doggy guys from Boston Dynamics, they have kind of become a tradition actually. Every once in a while, they appear in our feeds staggering and stumbling, and, every time, they resemble a little closer to something Mr. Asimov would be proud of (and you just cannot help but wonder how much time do we have left until they take over humanity).
All of this is possible thanks to Machine learning, a type of artificial intelligence that allows software applications to become more accurate at predicting outcomes without being explicitly programmed to do so, and it does not only apply to humanoid or animalistic robots, but all kinds of tools and programs that need to simulate interactive and adaptive environments. However, for the sake of clarity, let's stick to our dog-like friends and delve a little deeper into how exactly they have managed to reach such results, and why we can only expect more from them in the future.??
Imagine you have a, let’s say, robotic doggo – let’s call him Freddy – like the ones of Boston Dynamics, but with wheels instead of legs, and you want to teach him how to walk. Freddy is clueless and needs our help to just go from point A to point B, but that shouldn’t be too hard to program by hand. To go straight, both steering wheels would need to go at the same speed, to turn, one of them must be slower than the other, simple right? Let’s now place an object in the middle of Freddy’s path, or better, two objects, three, four, one thousand. Let’s tilt the ground, make it snow, cause an earthquake and throw rocks at him. Now Freddy’s task has become a bit more challenging (and slightly abusive). Sure, we could still program every solution to every obstacle manually, but that would be a daunting process, and Freddy would still be unable to overcome those obstacles we haven’t specifically taught him to dodge.
Luckily, there is a much better way to tackle these problems. By using machine learning, we can avoid torturing ourselves by going through every possible situation, providing Freddy instead with the tools that he needs to learn adapting to unexpected scenarios, and sparing ourselves time and trouble. But how is this possible? First, we need to create a simulated environment in which to train Freddy, with the exception that, this time, Freddy is not going to be alone, there are going to be hundreds, or even thousands of him. We are going to provide them with a game-inspired curriculum, a sort of list of the tasks we want them to accomplish, and let them figure out how to put the puzzle together by themselves with the help of a previously built model and the data they collect. Ideally, we are going to be running multiple iterations of increasingly complex terrains and, in each of them, our dogs will progressively manage to adapt to new situations by learning from their own mistakes, and those of their peers.
This process is, actually, not very different to how we humans learn to walk. A baby will fall hundreds of times before learning to consistently walk on both legs without falling, and with each failure, they will learn a bit more about how to adapt to their surroundings. With time, the baby will learn to walk in different kinds of environments – rooms filled with toys, carpets and floors of different textures, grassy parks, snowy fields, under the rain, or wind pressure… – despite being one of the basic principles of human motion, this is by no means easy, the amount of information that we need to process and coordinate just to walk is insane (muscle tension, equilibrium, limb coordination, spacing, etc.). With AI, the process is quite similar, we just need to find a substitute to the human brain that is capable of performing such calculations at incredible high speeds, and that is what High Performance Computing (HPC) is all about: providing the necessary compute power to run billions of calculations within acceptable time frames and efficient results. A baby might take around a year to learn how to walk, whereas by using HPC, we can train Freddy in under thirty minutes.
Without HPC, machine learning just wouldn’t be the way it is today, and, in DeepSquare, we are committed to keep delivering efficient and sustainable HPC as a service.
*? ? *? ? *
With the support of our community, we are every day closer to democratizing high-performance computing with better execution, cost, and social responsibility. To learn more about DeepSquare, check out our website. Or, if you want to connect with the team and the community, follow us on Twitter, LinkedIn or join our Telegram group.