A Microsoft e a Universidade de Cambridge criaram uma rede neural capaz de escrever programas sem um conhecimento prévio de código. Chamado de DeepCoder, o sistema funciona pegando linhas de código de programas existentes e combinando-as em seguida.
Embora o sistema só consiga produzir pequenos pedaços de código (cinco linhas), isso foi suficiente para testá-lo em problemas do mundo real usado por desenvolvedores.
Os autores da novidade afirmaram que “fizeram progressos significativos” na capacidade de resolver problemas de competição de programação online. Por exemplo, o sistema foi capaz de criar um programa que poderia comparar os resultados dos exames de duas pessoas e contar quantas perguntas uma pessoa acertou mais que a outra.
[awprm urls=https://imasters.com.br/noticia/sinapse-artificial-pode-ser-chave-para-computacao-que-imita-cerebro-humano/,https://imasters.com.br/noticia/ia-ja-consegue-criar-software-de-inteligencia-artificial/]
No trabalho, os pesquisadores decidiram que uma linguagem de programação como Python ou C++ era muito complexa devido à variedade de opções possíveis dentro delas. Em vez disso, eles se concentraram em Linguagens Específicas de Domínio (Domain Specific Languages), que são mais fechadas e específicas para o resultado desejado. A equipe diz que seu DSL é “vagamente inspirado” nas linguagens SQL ou LINQ.
Nesses sistemas, o código tem funções de alto nível que podem ser usadas em sequências para alterar dados nos problemas que eles estão tentando resolver. Quando o código foi escolhido, foi criado um conjunto de dados de exemplos existentes.
O conjunto de dados foi então alimentado em um sistema de machine learning que pesquisou profundamente através do código-fonte e selecionou quais elementos poderiam ser úteis para resolver o problema que tinha sido atribuído. “Depois de observar entradas e saídas”, disse o estudo, “ele pode ser usado para procurar um programa que corresponda aos exemplos de entrada-saída”.
Os cientistas da Microsoft e da Universidade de Cambridge dizem que o DeepCoder só está lidando com “problemas mais simples” na codificação, mas eles veem um futuro brilhante para o sistema. “Prevemos muitas extensões do DeepCoder e estamos otimistas em relação às perspectivas futuras de usar machine learning para sintetizar programas”, divulgou o The Wired.