Google is testing the new robot that can program itself
The human operator can enter instructions such as "pick up the yellow block" and the robot will do the rest.
Google is Testing The New Robot That Can Program Itself.
Writing working code can be challenging. Even a relatively simple language like HTML requires the programmer to understand the syntax and special tools available. Writing code to control a robot is even more complicated, and often consists of several steps: there is code to recognize objects, code to trigger actuators that move the robot’s limbs, code to indicate when a task is completed, and so on. Something as simple as programming a robot to pick up yellow blocks instead of red blocks is impossible if you don’t know the robot’s programming language.
But Google robotics researchers are looking for a way to fix it. They have developed a robot that can write its own programming code based on natural language instructions. Instead of going into the bot’s configuration file to change block_target_color from #FF0000 to #FFFF00, you can simply type “get yellow block” and the bot will do the rest.
Code as Policies (or CaP for short) is a coding-specific language model developed by Google’s Pathways Language Model (PaLM) to interpret natural language instructions and convert them into executable code. Google researchers train the model by providing sample instructions (formatted as code comments written by developers to explain what the code does for each audience) and appropriate code. From here, it can extract new instructions and “automatically generate new code that reassembles API calls, synthesizes new functions, and expresses feedback loops to assemble new behavior at runtime,” Google engineers explain in a blog post published this week In With. Others Words, prompts such as comments may indicate possible bot code.
To get CaP to write new code for a specific task, the team gave him “hints”, e.g. B. Which APIs or tools are available for them, and some paired examples with programming statements. From here he can write new code for new instructions. This is done through “hierarchical code generation” which causes it to “recursively define new features, accumulate its own libraries over time, and independently design dynamic codebases.” This means that once given a set of instructions, it can develop code that can later be reconfigured for similar instructions.
CaP can also use certain language-specific arithmetic and logic operations. For example, models trained in Python can use appropriate if/else and for/while loops when needed, and use third-party libraries for additional functionality. It can also convert ambiguous descriptions such as “faster” and “left” into the exact numeric values ​​needed to complete the task. And because CaP is built on a simple language model, it has some non-coding capabilities – such as understanding emoticons and non-English languages.
Read More :
Google spam algorithm update now released
So far, CaP is still very limited possibilities. It relies on the language model it is based on to provide context for its instructions. If they don’t make sense or use parameters he doesn’t support, he can’t write code. Likewise, it appears to only be able to process a few parameters at once; More complex action flows that require dozens of parameters are simply not possible. There are also security concerns: Programming a robot to write its own code is somewhat similar to Skynet. If he thought it best to complete the task by turning very fast with outstretched arms and having someone nearby, someone could be injured.
Nonetheless, this is a very interesting study. One of the most difficult tasks for a robot is the generalization of the behavior it is learning. Programming the robot to play ping pong makes it unable to play other games such as baseball or tennis. Although CaP is still far from having broad real-world applications, it enables robots to perform a wide range of complex robotic tasks without task-specific training. It’s a big step towards one day being able to teach robots that can play one game how to play another – without having to break everything down into new human-written code.