Em breve, não estaremos mais programando computadores, e sim treinando-os, como cachorros. O machine learning – aprendizado de máquina, é a nova tecnologia que já permite isso. Mas, como isso é possível? Como pode uma máquina aprender?

Antes da invenção do computador, a maioria dos psicólogos experimentais acreditavam que o cérebro era uma caixa preta inalcançável. Podíamos analisar o comportamento de um indivíduo – anuncie comida e ele irá salivar – mas o que acontecia dentro do cérebro, pensamentos, sentimentos, estava além do alcance dos cientistas. Assim, estes “comportamentalistas” focaram no estudo do estímulo e resposta, desistindo de estudar o funcionamento da mente em si.

Então, nos anos 50, alguns psicólogos, linguistas, e primeiros estudiosos da informação e Inteligência Artificial, propuseram uma nova concepção da mente. Para eles, a mente não seria simplesmene uma coleção de respostas condicionadas, mas absorvia informação, a processava, e então agia sobre ela. O cérebro teria sistemas para gravar, armazenar, e reaver memórias. Operaria com uma sintaxe lógica e formal. Seria, afinal, como um computador.

The person thinks of the computer. A vector illustration

A chamada revolução cognitiva ganhou maior aceitação à medida que os computadores se tornaram equipamento padrão em laboratórios de psicologia. E com a popularização dos computadores, até leigos passaram a fazer comparações entre a capacidade de armazenamento de um cérebro humano e a de um computador, e piadinhas como “isto estava na minha memória RAM” ou “eu sou multi-core”. É inevitável comparar o funcionamento do nosso cérebro com o dos computadores.

E se nossos cérebros são tão como computadores, será que não podemos fazer os computadores serem um pouco mais como o cérebro?

BrainComputer

O que dita o comportamento de um computador é a sua programação. O código é lógico, determinista e manipulável.

À medida que os softwares se espalharam pelo mundo tivemos nossas ações, pensamentos e experiências convertidos em uma enorme massa de dados: matéria prima para milhares de engenheiros de software explorarem e codificarem sobre.

Codificar nossas atividades sociais pode nos ajudar a entender nossos laços mais íntimos: Mark Zuckemberg, criador do Facebook, sugere que pode haver “uma lei matemática fundamental por baixo das relações humanas, que governa o balanço de com quem, ou o quê, nos importamos”.

Em 2013, uma década após a decodificação do genoma humano, Craig Venter anunciou que estaria escrevendo código que o permitiria criar organismos sintéticos: “Está ficando claro que todas as células vivas que conhecemos neste planeta são máquinas biológicas orientadas pelo software do DNA”.

Neste mundo, a habilidade de escrever código se tornou não apenas um talento desejável, mas uma linguagem que permite entender melhor o funcionamento do mundo que nos cerca, e até de nós mesmos.

“Se programadores não controlam o mundo, eles controlam as coisas que controlam o mundo” – Paul Ford.

Mas quer você se sinta confortável com este estado das coisas ou não, quer você faça parte desta privilegiada casta de entendedores, ou que mal se sinta capaz de lidar com as configurações do seu smartphone, isso está prestes a mudar. Nossas máquinas estão começando a falar uma nova linguagem que até os engenheiros mais experientes não conseguem compreender completamente.

Já há alguns anos, as maiores companhias em tecnologia estão perseguindo a técnica chamada “machine learning” – aprendizado de máquina. Na programação tradicional, um programador escreve instruções explícitas, passo a passo, para o computador seguir. Com o aprendizado de máquina, os programadores não mais escrevem instruções para os computadores. Eles os treinam.

Se você quiser ensinar uma rede neural a reconhecer um gato, por exemplo, você não precisa dizer a ela para identificar bigodes, orelhas, pêlos, e olhos. Você simplesmente mostra a ela milhares e milhares de fotos de gatos, e eventualmente ela irá começar a reconhecer gatos. Caso ela esteja confundindo raposas com gatos, você não reescreve o código, mas apenas continua treinando-a, dizendo sim quando está certo, e não quando está errado. Assim como uma criança.

Está assustado agora?

bubble_gallery_sorted_v2

Imagens de galáxias classificadas por cientistas foram usadas como base de treino para um algorítmo que pôde então passar a classificar sozinho, e melhor, novas imagens de galáxias.

Essa abordagem não é nova – existe há décadas – mas recentemente se tornou imensamente mais poderosa, devido ao aumento absurdo da quantidade de dados disponíveis para se explorar, à criação de redes neurais profundas, e redes de computadores massivamente distribuídas, imitando as camadas de conexões entre neurônios no cérebro.

Você pode não ter percebido, mas o aprendizado de máquina já alimenta grande parte das nossas atividades online. O Facebok o utiliza para determinar quais histórias aparecem em seu feed de notícias, e o Google Photos para identificar rostos. O aprendizado de máquina é responsável pelo tradutor do Skype, da Microsoft, convertendo fala em diferentes línguas em tempo real. Carros auto-guiados utilizam o aprendizado de máquina para evitar acidentes. Até a busca do Google – por tantos anos uma enorme pilha de regras escritas por humanos – já começou a contar com a ajuda de redes neurais profundas: em Fevereiro (2016), a companhia substituiu seu antigo chefe da busca pelo especialista em machine learning John Giannandrea, e iniciou um programa para re-treinar seus engenheiros nas novas técnicas.

Mas o negócio é o seguinte: com o aprendizado de máquina, o engenheiro nunca sabe precisamente como o computador realiza sua tarefa. As operações da rede neural são invisíveis e impenetráveis. Uma caixa preta.

O algorítmo de “machine learning” é como uma caixa preta, que recebe uma entrada, muitos dados de treino, e com isso gera uma saída. Mas não conseguimos inspecionar o que acontece lá dentro.

Conforme essas caixas pretas se tornam responsáveis por mais e mais de nossas tarefas digitais diárias, elas não vão apenas mudar nosso relacionamento com a tecnologia, mas como pensamos sobre nós mesmos e nosso lugar no mundo que nos cerca.

Até na genética a idéia de um código linear e determinista já foi derrubada. Com a descoberta da epigenética, e técnicas como a CRISPR, sabemos que o DNA é mutável, editável, e vai se ajustando conforme as experiências ao longo da vida, de certa forma, aprendendo.

Se os programadores eram como deuses, ditando as leis que regiam os sistemas de computadores, agora eles são como pais, ou treinadores de animais. E, como qualquer pai ou treinador de cães pode lhe dizer, é uma relação muito mais misteriosa e difícil de se compreender.

Quero saber quando lançarão o programa "O encantador de máquinas".

Quero saber quando lançarão o programa “O encantador de máquinas”.

Andy Rubin, co-criador do sistema Android, é um programador veterano e está investindo em machine learning. Ele admite que essa tecnologia muda o significado de ser um engenheiro:

“Depois que uma rede neural aprende a reconhecer fala, um programador não pode ir lá dentro e descobrir como isso aconteceu. É exatamente como o cérebro. Não dá para cortar sua cabeça fora e ver o que você está pensando”

Quando engenheiros olham dentro de uma rede neural profunda o que eles enxergam é um oceano de números: um enorme conjunto de camadas de cálculos que – por derivar constantemente as relações entre bilhões de dados – geram palpites sobre o mundo.

A Inteligência Artificial não era para funcionar assim. Até alguns anos atrás, pesquisadores assumiam que, para criar inteligência, só precisávamos preencher uma máquina com a lógica certa. Escrevendo regras suficientes, eventualmente conseguiríamos um sistema sofisticado o bastante para entender o mundo.

42? Alguém? [Em"O Guia do Mochileiro das Galáxias", humanos constroem o "Pensador Profundo", computador capaz de descobrir a resposta para o sentido da vida, o universo, e tudo mais]

Na ficção, “O Guia do Mochileiro das Galáxias”, humanos constroem o “Pensador Profundo”, computador capaz de descobrir a resposta para o sentido da vida, o universo, e tudo mais.

Eles ignoraram e até desprezaram, os primeiros entusiastas do aprendizado de máquina que argumentavam a favor de despejar na máquina dados e mais dados, até que elas chegassem nas próprias conclusões.

Sim, agora estou com medo.

Por anos, os computadores não eram poderosos o suficiente para provar nenhuma das duas abordagens, então tornou-se uma discussão filosófica.

“Redes neurais não tinham nenhum símbolos ou regras, apenas números. Isso alienou muitas pessoas.” – Sebastian Thrun, antigo professor de IA em Stanford e criador do carro auto-guiado da Google.

Mas as implicações de uma “linguagem” de máquina incompreensível não são apenas filosóficas. Nas últimas duas décadas, aprender a programar tem sido um dos caminhos mais certos para assegurar um emprego.

Programador = emprego fácil?

Programador = emprego garantido?

Já um mundo tomado por máquinas em redes de aprendizado profundo requer uma força de trabalho diferente. Analistas já estudam o impacto que o machine learning causará no mercado de trabalho, à medida que as máquinas deixam as habilidades clássicas de programação no plano de fundo.

A programação tradicional não desaparecerá completamente, é claro – até para criar uma rede neural é necessário um bocado de programação -, mas será como uma habilidade de base, necessária para construir a fundação onde as redes neurais possam operar.

Assim como a física Newtoniana não foi apagada pela mecânica quântica, a programação continuará sendo uma ferramenta poderosa, embora incompleta. E quando se trata de questões específicas ou além da sua capacidade, o aprendizado de máquina fará a maior parte do trabalho.

Mas, é claro, humanos ainda precisam treinar essas redes. E saber fazer isso ainda é uma habilidade rara. O trabalho requer um entendimento de matemática de alto nível,  e uma intuição para questões cognitivas.

“É como uma forma de arte, tirar o melhor desses sistemas, e há apenas algumas centenas de pessoas no mundo que conseguem fazer isso realmente bem”, diz o líder do DeepMind da Google, Demis Hassabis. Mas até este pequeno número de pessoas extraordinárias já foi suficiente para transformar a indústria da tecnologia em apenas alguns anos.

Quaisquer que sejam as consequências profissionais dessas mudanças, as consequências culturais serão ainda maiores. Se o avanço dos softwares escritos por humanos levou ao culto aos programadores e à noção de que a experiência humana poderia ser reduzida a uma série de instruções compreensíveis, o aprendizado de máquina nos manda na direção oposta. O código que rege essas redes desafia a compreensão humana.

programmingmagic

Investigações acusam a Google de exercer influência sobre os resultados das buscas, mas uma acusação dessas é difícil de se provar quando os próprios engenheiros são incapazes de dizer exatamente como os algoritmos de busca operam.

Essa onda de indeterminação já podia ser prevista há tempos. Não é novidade que até os algorítmos mais simples podem ter comportamentos imprevisíveis – uma compreensão originada na teoria do caos e geradores de números aleatórios. Ao longo dos últimos anos, à medida que as redes se tornaram mais entrelaçadas e suas funções cada vez mais complexas, o código está se tornando parecido com uma força invisível, as máquinas com entidades cada vez mais elusivas  e incontroláveis.

Isto pode ser bastante alarmante. Até agora os controladores dos sistemas eram pessoas, engenheiros, mas ainda humanos. (haha). O que acontece quando o nosso controle sobre as máquinas se torna indireto? Quanta autonomia podemos dar a elas? Se somos incapazes de compreender toda a complexidade de operações realizadas pelas nossas próprias criações, poderemos realmente elaborar uma maneira de infligir nelas leis inquebráveis?

As companhias que constroem essas redes já enfrentam problemas com comportamentos difíceis de controlar. A Google precisou se desculpar quando seu reconhecimento de imagens começou a classificar fotos de negros como gorilas. A “correção” foi feita simplesmente impedindo o sistema de classificar qualquer coisa como gorila. O ato de pedir descupas por comparar um negro a um gorila faz parte do comportamento ético, humano. Devemos começar a treinar as máquinas para esse tipo de comportamento também?

O recente caso da IA "Tay", da Microsoft, que acabou "aprendendo" coisas não muito legais com os usuários da internet.

No recente caso da “Tay”, criada pela Microsoft, a IA acabou “aprendendo” coisas não muito legais com os usuários da internet.

Para alguns, tudo isso sugere a vinda de uma era em que nós perdemos autoridade sobre nossas máquinas.

“Você pode imaginar uma tecnologia dessas superando mecados financeiros, ultrapassando pesquisadores humanos, manipulando líderes humanos, e desenvolvendo armas que nem somos capazes de compreender”, escreveu Stephen Hawking – ecoado por Elon Musk e Bill Gates, entre outros. “Enquanto o impacto a curto prazo da IA depende de quem a controla, o impacto a longo prazo depende de se ela pode ser controlada de alguma forma”.

Máquinas descontroladas.

Máquinas descontroladas.

Mas não se desespere, não é o início da Skynet (ainda). Estamos apenas aprendendo as regras do comprometimento com uma nova tecnologia. Engenheiros já estão trabalhando em modos de visualizar o que está acontecendo por dentro das redes neurais. E mesmo que nós nunca compreendamos exatamente como essas redes “pensam”, não significa que estaremos vulneráveis a elas. No futuro, não vamos nos preocupar tanto com as diretrizes dos seus comportamentos, mas com o comportamento em si. O código se tornará menos importante do que os dados que usamos para treiná-las.

Se na programação clássica tínhamos que tomar muito cuidado com cada linha de código, hoje temos que tomar o mesmo cuidado com cada dado que oferecemos a um aprendizado de máquina. É uma questão de mudança de paradigma.

Fonte: Wired