Inteligência artificial aprende a programar a si mesma roubando código de outros programas

Por , em 12.03.2017

A cada dia parecemos ter mais motivos para começar a temer a revolução da inteligência artificial e dos robôs. A notícia da vez é que o sistema de aprendizagem de uma máquina ganhou a habilidade de escrever seu próprio código.

Criado por pesquisadores da Microsoft e da Universidade de Cambridge, o sistema, chamado DeepCoder, resolveu desafios básicos do tipo usado em concursos de programação. Este tipo de abordagem poderia tornar muito mais fácil para que pessoas possam construir programas simples sem saber programação.

Stephen Hawking: Inteligência artificial e robôs vão dizimar empregos da classe média

“Repentinamente, as pessoas poderiam ser muito mais produtivas”, explica à revista “New Scientist” Armando Solar-Lezama, do Instituto de Tecnologia de Massachusetts, que não estava envolvido no trabalho. “Elas poderiam construir sistemas que [seriam] impossíveis de construir antes”.

Um dos criadores da DeepCoder, Marc Brockschmidt da Microsoft Research em Cambridge, no Reino Unido, aponta que, em última análise, os resultados da pesquisa poderiam permitir que aqueles que não são programadores simplesmente descrevessem uma ideia para um programa e deixassem que o sistema a construísse.

Como funciona

O DeepCoder usa uma técnica chamada síntese de programa: criar novos programas reunindo linhas de código retiradas de softwares existentes – assim como um programador poderia fazer. Dada uma lista de entradas e saídas para cada fragmento de código, o DeepCoder aprende que pedaços de código são necessários para alcançar o resultado desejado.

Inteligência artificial do Google aprendeu a se tornar “altamente agressivo” em situações de estresse

Uma vantagem de dar tal liberdade a uma inteligência artificial é que ela pode pesquisar mais amplamente e profundamente do que um programador humano, então poderia montar o código-fonte de uma maneira que os seres humanos podem não ter pensado. Além disso, o DeepCoder aprende a pesquisar bancos de dados de código-fonte e classificar os fragmentos de acordo com sua provável utilidade, segundo seu ponto de vista.

Tudo isso torna o sistema muito mais rápido do que seus antecessores. O DeepCoder criou programas de trabalho em frações de segundo, enquanto sistemas mais antigos levam minutos para testar várias combinações diferentes de linhas de código antes de reunir algo que possa funcionar. E como a IA aprende quais combinações de código-fonte funcionam e quais não funcionam conforme vai avançando, ela melhora cada vez que se depara um novo problema.

Aplicações futuras

Esta tecnologia poderia ter muitas aplicações. Em 2015, os pesquisadores do MIT criaram um programa que corrigia automaticamente bugs de software substituindo linhas defeituosas de código por linhas de outros programas que estavam funcionando perfeitamente. Brockschmidt diz que as versões futuras poderiam tornar muito fácil a construção de programas de rotina que colhem informações de sites ou classificam automaticamente as fotos do Facebook, por exemplo, sem que os programadores humanos precisem levantar um dedo

“O potencial de automação que esse tipo de tecnologia oferece pode realmente significar uma enorme redução na quantidade de esforço que leva para desenvolver códigos”, afirma Solar-Lezama. No entanto, ele não acha que esses sistemas vão colocar os empregos dos programadores em risco. Com a síntese de programas automatizando algumas das partes mais tediosas da programação, ele acredita que os programadores poderão dedicar seu tempo a um trabalho mais sofisticado.

Em apenas três dias, inteligência artificial resolve um mistério da biologia

No momento, o DeepCoder só consegue resolver desafios de programação que envolvem cerca de cinco linhas de código. Porém, algumas linhas são tudo o que é necessário para alguns programas bastante complicados.

“Gerar um grande pedaço de código de uma só vez é difícil e potencialmente irreal”, aponta Solar-Lezama. “Mas grandes pedaços de código são construídos por unindo muitos pedacinhos de código”. [New Scientist]

3 comentários

  • Cesar Grossmann:

    “Programa da Microsoft aprende a roubar código de outros programas.” Por que isto não me espanta?

  • Paulo Felix:

    E o Arnold Schwarzenegger já não é mais tão veloz e forte…

  • Luiz Lucas:

    Já imagino o Davy Jones falando: “Fedeu de vez!”

Deixe seu comentário!