While Artificial Intelligence systems continue to improve, one AI is doing that in a unique way. Microsoft and the University of Cambridge partnered on DeepCoder, a deep learning AI meant to mimic the learning patterns found in the human brain.
DeepCoder pieces together code from other programs to problem solve. Developers said it’s not to mechanize human programmers but to help people create who don’t have extensive coding knowledge.
For right now, DeepCoder works really well at solving simpler problems like ones done at programming competitions:
“￼Building an IPS system requires solving two problems. First, the search problem: to find consistent programs we need to search over a suitable set of possible programs. We need to define the set (i.e., the program space) and search procedure. Second, the ranking problem: if there are multiple programs consistent with the input-output examples, which one do we return? Both of these problems are dependent on the specifics of the problem formulation. Thus, the first important decision in formulating an approach to program synthesis is the choice of a Domain Specific Language.”
As of right now, the DeepCoder system can only solve problems that can be fixed in five lines of code or less.
DeepCoder isn’t the first AI to succeed in deep learning. Google created a system called DeepMind to beat a master player of the Chinese board game Go. The AlphaGo system recognizes that Go is a googol times more complicated than chess. Thus, the AI has a hundredfold more available options at any given point in the game.
Between DeepMind’s mid-game learning abilities and DeepCoder’s quick adaptation and problem-solving, the future of AI looks bright (albeit a little intimidating).
“We foresee many extensions of DeepCoder…and are optimistic about the future prospects of using machine learning to synthesize programs,” said the Microsoft and Cambridge computer scientists.
To better understand deep learning algorithms and how they work compared to traditional algorithms, check out this video below: