20 outubro, 2019

O algoritmo não se complexifica

Os algoritmos de Machine e Deep Learning aprendem a adaptar suas respostas e sempre criam respostas ajustadas aos seus novos desafios preditivos, mas não podem se complexificar. Ou seja, embora os modelos que os abrigam sejam em si mesmos complexos, eles estão fadados a permanecer no mesmo nível de complexidade. A complexificação do algoritmo — mesmo numa rede neuronal — depende de algum acréscimo de código. Portanto, é o programador quem adiciona mais código e determina o grau de complexidade das redes de algoritmos. Ele pode ajustar os hiperparâmetros, adicionar mais camadas, mudar de biblioteca, escrever sua própria biblioteca e seu próprio algoritmo (um pouco da história do algoritmo Random Forest, pra quem se interessar) — há muitos ajustes possíveis —, mas a inteligência humana, criativa, se complexifica ou descomplexifica autônoma e arbitrariamente, segundo seus interesses. Ela não é fixa e estável como a relação entre o algoritmo que nós criamos e suas respostas e tampouco depende de agentes externos. A complexidade do aprendizado humano está a anos luz de tudo que se propõe nesses terrenos e envolve elementos irredutíveis a qualquer aspecto ou lei matemática ou mesmo lógica (a base da programação dos algoritmos). Os algoritmos podem aprofundar infinitamente sua capacidade de aprender, podem saber diferenciar retinas femininas e masculinas com uma precisão impressionante (ou os padrões próprios às retinas de diabéticos), por exemplo, mas não podem sair desse limite de complexidade. Portanto, não podem dizer nenhuma outra coisa a mais. Eles complexificam a produção (output) de pesos que alimentam o modelo preditivo com uma precisão impressionante, fazendo distinções tão finas que seriam impossíveis para a mente humana. Embora seja inconcebível para nós compreender o grau de complexidades dessas distinções, os modelos matemáticos formalizados de aprendizagem de máquina não são capazes de conectar essa “capacidade” a mais nada, não podem associá-la a nenhuma outra "competência" espontaneamente porque não podem regular seu nível interno de complexidade. Estão determinados, assim como qualquer expressão de inteligência artificial.
A igreja da Paróquia de San Idelfonso (Madrid) identificada pela aplicação que executa um modelo de Computer Vision treinado no oráculo da base de dados de imagem do Google, esse poço sem fundo. Naturalmente, eles sem rótulos e tudo mais.

A metáfora (ou o modelo, pra alguns) da mente como software é limitada, mas ela tem a vantagem de oferecer um bom ponto de apoio para o pensamento, para compreender a complexidade de uma inteligência natural. (Esse modelo da mente impulsiona o desenvolvimento dessas tecnologias que tem uma orientação natural e evolutiva.) Se fossemos capazes de traduzir a mente em código, em software, ele jamais poderia ser um código fixo, como o de um modelo bem treinado de Computer Vision. (Sugiro que vocês também experimentem usar o modelo de Computer Vision treinado com a gigantesca base de dados do Google, ele reconhece quase tudo — inclusive emoções.) O código de nossa mente teria que ser um código dinâmico. Mas o código não pode ser dinâmico sem a intervenção de um programador que, conforme seus interesse, atualize esse código ao largo do tempo pois ele é seu — ele o criou. A dinamicidade do código não é nada mais do que a percepção histórica do seu desenvolvimento e de suas mudanças. Portanto, não é nenhuma dimensão estritamente formal e autônoma a responsável por essa dinamicidade. Os algoritmos não são capazes de (criar|implementar) seus próprios códigos e de se atualizar. Já é suficientemente difícil escrever um programa que imprima seu próprio código (mentira!), o chamado Quine program, quem dirá escrever um código capaz de se auto implementar. Um programa que escreva seu próprio código supõe mais que a mera capacidade para seguir regras, exige a capacidade de criá-las — uma disposição para dominar e entender os complexos jogos sociais e intersubjetivos onde a programação tem um lugar e um propósito. A programação e seus derivados não são nada mais que uma ínfima parte da cultura humana, embora a mitologia lógico-matemática que lhe empresta força alimente a obsessão por independência (e superveniênia).

Quando os computadores forem capazes de escrever seu próprio código, de ajustar o nível de complexidade do seu próprio código, aí sim nós nos veremos forçados a reconhecer que eles são seres conscientes, mas isso não me parece provável. No dia em que isso acontecer nós teremos criado uma consciência. Nós, humanos, teremos criado uma consciência. Eu não duvido nem por um segundo da imensa capacidade intelectual da humanidade, da capacidade individual e colaborativa desses bilhões de seres que nasceram e nascerão, e da força propulsora do seu trabalho cumulativo. Mas a verdade é que como espécie nós não somos mais que parasitas frente ao sistema (ecológico) em que vivemos. Algo me diz que parasitas não serão capazes de criar uma consciência, mesmo que alguns deles sejam brilhantes. Mas quem sabe?

Quase nada do que eu disse acima é novo, a maior parte está nos comentários de Hilary Putnam sobre Inteligência Artificial, especialmente em Artificial Intelligence: Much ado about not very much, em Words and life. Muita coisa se passou desde que Putnam publicou esse artigo, no começo dos anos 90, mas boa parte das novidades são inovações de hardware que tornaram possível executar as complexas e exigentes operações matemáticas por trás dos modelos preditivos. Não seria possível executar algoritmos e redes de algoritmos capazes de um aprendizado profundo se não pudéssemos processar quantidades colossais de dados usando cluster de máquinas de modo relativamente simples e facilmente escável (com tecnologias como, por exemplo, Hadoop e Spark). No entanto, figuras importantes no desenvolvimento das tecnologias de Inteligência Artificial (como Demis Hassabis, de Deepmind) tem exposto planos ambiciosos que vão na contramão dos limites esboçados. Machine cognition, Inteligência de Enxame, a própria Inteligência Artificial Geral (AIG, na sua sigla em inglês) de que fala Demis, são tentantivas de criar algo significativamente diferente e contornar o problema apresentado por Putnam, o problema de relação entre inteligência e aquisição de uma linguagem natural. Como dotar entidades artificiais de inteligência similar à humana sem formá-los intensivamente tal como são formadas as nossas crianças ao aprender uma linguagem natural? Pode ser que alguém já tenha uma resposta tecnológica a esse problema, uma resposta que eu desconheço porque meu conhecimento é bem limitado, mas a verdade é que as coisas parecem estar onde Putnam as deixou, há muito barulho por muito pouco.

@

Os comentários de Putnam são brilhantes e condensam de tal maneira áreas tão diversas (embora relacionadas) que dá pra passar horas explorando cada um dos seus parágrafo. Vou selecionar e traduzir apenas um dos comentário que eu mais gosto sobre as dificuldades a que me refiro:
Notem que a visão pessimista acerca do aprendizado da linguagem se equipara à visão pessimista de que a indução [outro problema que ele aborda no texto] não é uma única habilidade mas antes a manifestação de uma complexa natureza humana cuja simulação computacional requeriria um vasto sistema de subrotinas — um sistema tão vasto que gerações de pesquisadores seriam necessárias para formalizar mesmo a menor das partes desse sistema.
Embora Putnam se pergunte nesse mesmo texto se "noções quase estéticas como 'elegância' e 'simplicidade' podem realmente ser formalizadas?", ele tem uma crença maior na formalização do que me permite meu credo wittgensteiniano. Para mim, as próprias premissas que amparam a crença cega na formalização, e a aposta no modelamento da inteligência, já são coisas insustentáveis. Um dia volto a isso.

Nenhum comentário :

Postar um comentário