From ExtremeTech: Google’s DeepMind AI division has already built machines that can wreck you in StarCraft II and predict millions of protein structures, but now it’s taking on an even harder task: writing coherent code. In an apparent effort to put themselves out of a job, DeepMind researchers have created an AI that can write code, and it performs surprisingly well in programming challenges. It’s neither the best nor worst when compared with humans participating in the same challenges, but the StarCraft AI was only a middling player at first.
While machine learning has advanced by leaps and bounds, it’s hard to create an AI that’s good at more than one thing. So, a machine could be trained with data to handle one class of programming challenges, but it would fail when given a different problem to tackle. So, the team decided to skip all the training on algorithms and code structure, instead treating it more like a translation problem.
Programming challenges usually include a description of the task, and the resulting code submitted by a human participant is technically just an expression of the description. The AI works in two phases: It takes the description and converts it to an internal representation. Then, it uses that representation to generate functional code based on the data it was shown in training. And there was a lot of data.
View: Full Article