quarta-feira, 15 de novembro de 2017

Acuda-me Deus que vem ai a Inteligência Artificial

Nos últimos tempos falou-se muito da Inteligência artificial.

Naturalmente, tudo comentários de pessoas que nem sabem o que é a inteligência, quanto mais, a inteligência artificial.
Entre os principais medos dessas pessoas, vem a "perda de postos de trabalho" e as "máquinas virarem-se contra a mulher, o homem e o sexo indeterminado"
Mas vamos ver estas análises são sem sentido.


Comparemos um processador de um computador com um cérebro humano.
A inteligência tem por base o nosso cérebro que, para todos os efeitos, é uma máquina (sem alma).
Sendo o cérebro uma máquina e o computador também uma máquina, será de pensar que, um dia, haverá um computador mais inteligente que um cérebro humano.
O cérebro e o computador são máquinas muito simples, feitas pela repetição de elementos, transístores no caso do computador e neurónios no caso do cérebro.


Cada transístor tem três ligações.
Cada neurónio tem cerca de 10000 ligações.
Para uma máquina emular um neurónio, terá que ter vários transístores, não sei bem quantos, mas talvez  3300.
O processador topo de gama da Intel (Xeon Broadwell-E5) tem 330 milhões transístores (médio por núcleo físico) o que será equivalente a 100000 neurónios.
Um cérebro tem 100 000 milhões de neurónios, um milhão de vezes mais que o processador Xeon.

O que faz um computador.Tem transístores que realizam a operação lógica "E" (e outras coisas).
Se entrar corrente corrente eléctrica por ambos os terminais de entrada, sai corrente eléctrica pelo terminal de saída.
Se falhar corrente em alguma das entradas, não sai corrente na saída.


Fig. 1 - O que faz um transístor (0 é sem corrente eléctrica e 1 é com corrente eléctrica)


Fig. 2 - Ilustração do operador "Soma" de dois números com 1 bit (A+B=Z+Of)

A soma de 2 números do Excel (com 15 casas significativas = 64 bits) obriga a usar 2 * 64 -1 = 127 vezes o operador Soma  da Fig. 1. No caso de uma multiplicação será necessário usar o "processador" 127 * 64 = 8128 vezes e uma potenciação obriga a 127 * 64*64 = 520192 somas.
A evolução dos processadores é no sentido de realizar operações "complexas" e em simultâneo (é o Instruction Set). Por exemplo, num processador de 2 bits, são realizadas duas somas das Fig. 2 em simultâneo (ver Fig. 3). Os processadores que usamos são de 64 bits realizam 64 somas elementares em simultâneo (no esquema da Fig. 3, precisará de 256 transístores).
Também são implementadas operações mais exigentes como multiplicações (exigirá 16256 transístores).
Pela extensão da Fig. 3 podemos imaginar a confusão que vai dentro de um processador, com milhares de milhões de transístores (e outras coisas) e milhares de milhões de ligações numa área de 6 cm2.

Ilustração do operador "Soma" de dois números com 2 bit (A1A2+B1B2=Z1Z2Of)

Se o processador trabalhar a 3 GHz e em cada ciclo de relógio for realizada, em média, uma soma de 64 bits, podem ser realizadas 3 mil milhões de somas por segundo.
O processador é extraordinário porque, partindo das coisas muito simples que um transístor faz com a electricidade, sem ter qualquer parte móvel, acede à memória para  ler o programa a executar (a lista das instruções) e, de acordo com esse programa, acede à memória para ler dados e escrever resultados. Além disso, controla o acesso aos periféricos como, por exemplo, o disco rígido e a placa gráfica.
Talvez seja a maior realização da humanidade (depois do controlo do fogo, da invenção da escrita, da descoberta da electricidade, bem, ... muita coisa é extraordinária).

Bem sei do anúncio que o número de transístores num processador duplica a cada 2 anos.
Sendo verdade, seriam precisos apenas 40 anos para termos um processador com a capacidade do cérebro humano.
O problema é que a duplicação de transístores tem sido na "batata frita" e não no processador propriamente dito. Assim, acontece pelo multiplicar do número de processadores, cores, em cada unidade de processamento, por estar lá mais e mais memória e por conter ainda outras coisas como controladores.
Por exemplo, o processador Xeon Broadwell-E5 (preço de 3500€) tem 7200 milhões de transístores com 22 núcleos físicos e 44 virtuais e com 55MB de memória SRAM na "batata frita" (que usam cerca de 2640 milhões de transístores).
E por causa da dificuldade na paralelização e pelos problemas de controlo da comunicação entre os núcleos, 100 núcleos têm uma capacidade bastante menor que 100 vezes a capacidade de um núcleo.

Comparemos o volume de um processador com o volume do nosso cérebro.
O nosso cérebro tem um volume de 1200 cm3, todo cheinho de neurónios a realizar operações, cada um ligado a 10000 outros.
O processador é uma fatiazinha muito fininha com um volume de menos de 0,01 cm3.
Em termos tecnológicos (que, naturalmente, pode mudar) não se vê como aumentar o volume dos processadores para uma máquina tridimensional.

Mas os computadores fazem coisas extraordinárias.
Se pegarmos num engenheiro bom e o pusermos a fazer contas com papel e lápis, no tempo em que o engenheiro faz uma conta, um computador de 500€ faz 500 milhões de contas.
Uma hora desse computador a calcular uma estrutura obrigaria 6000 engenheiros a fazer contas durante toda a sua vida profissional.
Um computador é capaz de ter 100000 livros em formato PDF num disco que custa 50€ (uma média de 0,05 cêntimos por livro) e encontrar em alguns segundos todos os livros onde está escrita uma determinada frase, trabalho que levaria dezenas de anos a um leitor atento.
Imaginemos milhares de pessoas por hora a entrar numa estação de metropolitano e um computador com acesso a uma câmara é capaz de as identificar todas em tempo real.
Milhares de carros a andar numa autoestrada a 120km/h e, partindo das imagens de uma câmara, o computador identifica todos os veículos, vai à conta e chumba cada um com a portagem.
Mas será isto inteligência artificial?


O que será a inteligência?
Para podermos saber se existe IA temos, primeiro, que saber o que é a inteligência.
Não é fácil definir este conceito mas, sendo que já investiguei nesta área (a minha aula nas provas de agregação foram sobre a racionalidade económica) vou tentar.
Para saber se algo é inteligente, temos que
  1) ter um problema sobre o qual sabemos o que responderia um ser perfeitamente inteligente,
  2) o que responderia um ser não inteligente e
  3) estar garantido que o ser respondeu de forma autónoma (i.e., sem intervenção de outro ser inteligente).
Um ser não inteligente responde aleatoriamente.

Vamos supor que descobrimos um extraterrestre que queremos avaliar.
Primeiro) O avaliador começa por ter um problema do qual conhece a solução, por exemplo, 100 perguntas de  escolha múltipla do tipo:
Pergunta 1 - Multiplicando 2 por 9 e dividindo por 3, obtemos o valor:
A)  5          B) 6         C) 7        D) 8         E) 9
...
Pergunta 100 - Multiplicando 3 por 7 e dividindo por 3, obtemos o valor:
A)  5          B) 6         C) 7        D) 8         E) 9
Por cada resposta certa é somado um ponto e, por cada errada, são descontados 0,25 pontos.

Segundo) Depois de sabida a nota obtida pelo extraterrestre, o avaliador calcular a probabilidade de essa nota ou uma superior ser obtida por um indivíduo não inteligente (i.e., que responde aleatoriamente).
Vamos supor que o extraterrestre teve 4 valores. A probabilidade de obter uma nota igual ou maior que esta com respostas perfeitamente aleatórias é de apenas 0,016%.
    #R code
    notas<-rep(0,1000000)
    for (i in 1:1000000)
        {resp = sample(1:5,100, rep=TRUE)
         notas[i]=1.25*length(resp[resp==1]) - 25}
   length(notas[notas>=20])/1000000 #Prob. de uma nota >=4 valores


Fig. 1 - Probabilidade de obter uma nota na escala 1/20 quando a resposta é aleatória.


Terceiro) O avaliador garantiu que o extraterrestre é autónomo (não recebeu as resposta de outro ser inteligente).

Então, o avaliador tem que concluir que o extraterrestre é inteligente (com probabilidade superior a 99,99%)  porque passou o teste da aleatoriedade e está verificada a autonomia.

Será uma árvore inteligente?
A finalidade de uma árvore é produzir sementes e, para atingir este fim, as suas folhas captam energia do Sol. Acontece que as folhas que estão à sombra gastam mais energia do que a que captam do Sol.
Se a planta for inteligente, vai ter mais folhas viradas para a luz.
Acontece que, realmente, as árvores têm mais folhas viradas a Sul e, havendo outras árvores que fazem sombra, desse lado tem menos folhas. Além disso, a resposta da árvore é autónoma (não é o jardineiro que corta as folhas que estão À sombra). Assim sendo, as árvores são inteligentes porque passam quer o teste da aleatoriedade quer o teste da autonomia. 
Este exemplo mostra que, entre o ser inteligente e ter a inteligência (e capacidades) de um cérebro humano, vai uma grande distância.
Fig. 2 - Se estes arbustos tivessem crescido de forma autónoma, com certeza que eram inteligentes

Será uma máquina de lavar inteligente?
Vou imaginar uma máquina muito à frentex.
Metemos a roupa no tambor, dizemos numa escala o que achamos da sujidade da roupa e carregamos no botão START.
Depois, a máquina faz tudo
Mete água até atingir um determinado nível e vai medindo o teor de sais para, juntamente com a nossa informação quanto à sujidades, calcular a quantidade óptima de detergente e a temperatura da água.
Vai dando voltas e mais voltas medindo sempre quão turva vai ficando a água.
Quando determinar que não fica mais turva, deita a água fora, centrifuga e mete outra água.
Volta a dar voltas e mais voltas. Se a água ficar turva novamente, mete mais detergente e dá mais voltas e voltas.
Se não ficar turva, deita a água fora e centrifuga.
Mete mais um pouco de água, dá voltas e voltas e centrifuga.
Está pronta.
Agora, a pessoa retira a roupa e, se quiser, avalia a lavagem, a centrifugação e o cheiro.
A máquina vai usar a avaliação para melhorar o seu funcionamento.
Vai ainda estar ligada em rede com outras máquinas com quem partilha a informação.
Será esta máquina inteligente?
Passa o teste da aleatoriedade mas não passa o teste da autonomia.
A máquina apenas faz o que um programa pré-carregado a manda fazer, por mais complexo que seja esse programa e mesmo que se vá adaptando, segundo um programa pré-definido, em presença de nova informação.

Os flops da ficção cientifica.
Quando era criança, nos anos 1960, todos nós tínhamos a certeza que o "Espaço 1999" iria ser uma realidade. Que no anos 2000 haveria pessoas a viver na Lua e mesmo em Marte.
Nesses anos tínhamos a certeza que, em 2000, a energia nuclear de fusão iria fornecer electricidade sem limite e quase à borla.
E ainda tínhamos a certeza  que Portugal sem as colónias de África estaria condenado à pobreza e ao atraso e que, nesse caso, Angola se tornaria país rico e próspero (pois tinha petróleo e diamantes).
Sobre quanta coisa tínhamos a certeza, tínhamos a certeza que a União Soviética iria dominar o Mundo!
Hoje, na conquista do Espaço e na energia nuclear de fusão estamos exactamente no mesmo sítio que estávamos há 40 anos
Há 20 anos, quando se soube que tinham clonado a Ovelha Dolly, já se falava em clonar pessoas, centenas de países perderam tempo a proibir que se fizesse clonagem. Passado este tempo todo, estamos exactamente como no dia em que nasceu a Dolly. Se hoje alguém tentar clonar uma ovelha, vai ter tantas dificuldades como existiam há 20 anos.
As previsões feitas pelos jornalistas e comentadores, isto é, a ficção científica, está cheia de flops e hoje ainda usamos automóveis e bicicletas que são, na sua base, iguais ao que se usava há 100

Haverá hoje Inteligência Artificial?
O meu chefe, o Pavel Brazdil, fez um doutoramento, em finais dos anos 1970, em IA, trabalho pioneiro (nessa altura os computadores eram muito fraquinhos), pelo que quando eu comecei a trabalhar, como que fui obrigado a meter-me nisso. Era uma espécie de assédio: ou trabalhas nisto ou arranjo outro que trabalhe.
Nessa altura pensava-se que, com o aumento da capacidade de cálculo, a IA pudesse aparecer mas hoje, 50 anos depois dos trabalhos pioneiros, estamos exactamente no mesmo sítio. Os computadores fazem coisas maravilhosas mas não são autónomos, apenas executam programas e processam informação de acordo com o que os seus criadores decidiram.

Mas metamos 1000 anos para o futuro!
A IA é um flop tecnológico que não avançou nada nos últimos 50 anos mas vamos pensar que daqui a 1000 anos, haverá máquinas que replicam exactamente um cérebro humano.
1000 anos é muito tempo, basta pensar os problemas que tinha a humanidade no anos 1017.
Talvez imaginemos que ainda existe partes da estrada romana que liga Lisboa a Santiago de Compostela e que haverá turistas a fazer esse caminho mas também pode acontecer que já praticamente não haja humanos.
Mantendo-se em Portugal o número de filhos por mulher dos últimos 10 anos (1,32 filhos por mulher), daqui a 1000 anos Portugal só terá 10 habitantes.
A Europa terá uma população reduzida dos actuais 750 milhões de habitantes para 750 habitantes e a população mundial não será mais do que 10000 pessoas.
Esse mundo de daqui a 1000 anos, do tempo em que os computadores serão tão inteligentes como as mulheres, os homens e os sexos indeterminados, será um mundo pós-humano, em que toda a humanidade se reduzirá, por vontade própria, a uns milhares de pessoas, talvez todos a viver na mesma cidade, uma ilha paradisíaca e máquinas inteligentes tratarão de tudo, da produção agrícola, das pescas e demais coisas que dão trabalho.

Quem é que, daqui a 1000 anos vai querer trabalhar?
Se já hoje poucos o querem fazer, penso que nessa altura, ninguém vai querer trabalhar.
Apenas gozar a vida.
Como eu gostava de viver até esses tempos


Meu amor, podes não acreditar mas hoje faço 1050 anos

15 comentários:

oNaiPs disse...

Este foi dos posts mais sem sentido que li no blog nos últimos tempos, não só trivializa os avanços científicos na área da IA dos últimos tempos, como não faz nenhum tipo de análise ao tipo de trabalhos que vão ser "substituídos" nos próximos tempos.
Estava à espera que discutissem os tão falados carros autónomos..?

Não nos vamos esquecer de outra coisa importante, Inteligência Artificial não implica Singularidade.
Hoje em dia é possível uma máquina aprender e evoluir, por exemplo, tirar conclusões sobre um assunto que à partida não estava programado para o fazer (basta ler um bocado sobre como funcionam veículos autónomos para perceber que eles não tem a informação de todas as estradas do mundo...)
Por outro lado, o ponto de Singularidade tecnológica dar-se-á quando houver uma máquina que consegue fazer passar-se por um humano sem que se perceba o que é o quê.

Anónimo disse...

Fantástica reflexão!

Económico-Financeiro disse...

Estimado oNaiPs,

Realmente, não tem havido qualquer avanço na IA mais não seja que realizar executar programas mais complexos e mais rapidamente, programas esses escritos pelos programadores.

Imagine as finanças que têm dos anos passados milhões de declarações de IRS e que fizeram milhares de inspecções tributárias.
Uma máquina pegar nas milhões de declarações de IRS e milhares de resultados das inspecções passadas e construir uma "inteligência" que diz quais as declarações de 2017 que contêm, potencialmente, fraudes não passa da execução de um programa pre-carregado.

O teste de "fazer-se passar por um humano" não existe em si porque, tem que se definir, "enganar a quem". Eu diria que o teste será "fazer-se passar por um humano a outro humano que seja inteligente".
Mas esse teste não serve porque já existem muitas máquinas simples que o passam.
Um computador de 500€ com um disco de 1TB, apenas consultando uma base de dados de todas as jogadas de xadrez conhecidas, sem qualquer raciocínio, conseguiu derrotar o campeão mundial que disse "não fui vencido por um computador, houve mão humana nisto".

A inteligência não é fazer contas (um computador passaria facilmente o meu teste das 100 perguntas) mas é fazer isso de forma autónoma, com livre arbítrio, sem ser a execução de nenhum programa previamente carregado.

Ainda estamos muito longe de fazer o que uma mosca faz, ver, cheirar, sentir as ondas do vento, voar, procurar comida, parceiro sexual, com um cérebro diminuto, quanto mais aproximarmo-nos do que o Homem faz.

Mas, como acredito que nosso cérebro é uma máquina, também acredito que daqui a 1000 anos haverá IA mas não como a nossa. Será sempre com acesso a enormes bases de dados.

Quanto aos carros sem condutor já escrevi muito sobre isso. Continua a ser a execução de um programa pré-carregado.

Rodolfo disse...

Eu até concordo que não será a revolução que as pessoas pensam (algumas), mas o ser humano também não é a execução de um programa 'pré-definido'? O que é a informação genética?

Rodolfo

Económico-Financeiro disse...

Olá Rodolfo,

Nós humanos classificamo-nos a nós próprios como inteligentes, sem necessidade de qualquer teste. Depois, comparando com o que somos capazes de fazer, testamos se as outras coisas são ou não inteligentes.
Lmebro-me de ser a linguagem que nos separava dos animais irracionais.

Claro que o nosso cérebro, de forma semelhante a uma máquina, está codificado no ADN mas não na sua totalidade. Se todos os neurónios são geneticamente iguais, a organização tem muito de aleatório (dois gémeos idênticos têm ligações neuronais diferentes).

Será que a "autonomia" passa pela aleatoriedade?
Será que as obras primas do Picasso resultam da aleatoriedade no seu cérebro ou era inevitável que aparecessem dado o seu ADN e a informação involvente?

Não sei que teste fazer, mas sei que as máquinas fazem coisas "intelectuais" que nós não somos capazes de fazer.
Mesmo assim, temos que ter um teste em que as máquinas chumbem porque não são inteligentes!
Será que estou a ser preconceituoso?

Silva disse...


Caro PCV

A I&D induzida pelas empresas é mais fiável e sustentável do que a I&D induzida pela ciência.

No início dos anos 60, JFK lançou o desafio da chegada à Lua; escolheram-se os melhores técnicos e cientistas e o objectivo foi alcançado. A exploração espacial continuou com várias missões que se seguiram mas simplesmente não havia fundos para continuar. Era insustentável. Não havia como rentabilizar.
Hoje em dia lançam-se satélites e pouco mais.

Já a I&D induzida pelas empresas, tende a durar, porque da sua rentabilização depende a sobrevivência da organização e a satisfação das necessidades dos clientes.

Consequentemente, resta destruir as barreiras que as empresas enfrentam a começar pelas mais simples reformas estruturais: abolição do salário mínimo, liberalização dos despedimentos e abolição dos descontos.

Haveria um aumento exponencial do nascimento de empresas com as consequentes melhorias que daí viriam.


Rodolfo disse...

Bem, acho um passo de gigante assumir que temos 'livre-arbítrio'. É o mesmo que acreditar que os átomos não seguem as leis físicas no nosso cérebro. Acho difícil acreditar nisso.
No entanto, se o professor estiver familiarizado com as neural networks, o algoritmo tenta imitar o nosso cérebro e as ligações neurais. Também neste algoritmo há aleatoriedade, e nunca se chega ao máximo global. Toda a lógica da IA é encontrar um mínimo local que consiga de determinado modo reproduzir os dados inseridos. Há duas razões para nem sequer se tentar encontrar mínimos globais: uma é a complexidade, que é tremenda. E outra é o facto de a 'aprendizagem' ser um processo de generalização.. o que significa que pretende não só reproduzir os dados como fazer previsões futuras, e para isso é preciso variabilidade.
Posto isto, não sei em que os algoritmos que hoje se usam sejam conceptualmente diferentes dos neurónios no nosso cérebro, a não ser a escala.

Rodolfo

Anónimo disse...

A abolição do salário mínimo poderá ser o caminho mais curto que nos conduza a uma inteligência artificial propriamente dita, mas nunca conseguiremos chegar a um mundo livre de indivíduos paranóides que continuarão a ter visões apocalípticas de um inferno constituído por salários mínimos!

Anónimo disse...

Os sapateiros podem ter opiniões avalizadas enquanto não saíam do âmbito da fabricação e conserto de sapatos. O senhor Rodolfo fique sabendo que as tais "leis físicas no nosso cérebro" incluem o Princípio da Incerteza de Heisenberg. Só pode dar asneira, pôr no mesmo saco livre-arbítrio e leis físicas. O comportamento dos átomos não é tão previsível como o senhor Rodolfo pensa!

Económico-Financeiro disse...

Estimado Pedro Renner,
Gostei em particular do adágio romano (do sapateiro).
Sobre a igualdade Rendimento = Consumo + Poupança, gosto mais da igualdade Produção = Consumo + Investimento.
De qualquer modo, a ciência faz a divisão de forma instrumental, tem a ver com a possibilidade de o homem decidir entre consumo e Investimento.
Não tendo o homem essa capacidade de decisão, o modelo trata da produção líquida de depreciação, por exemplo, usar os factores de produção A, B que existem nas quantidade QA e QB para produzir os bens X e Y nas quantidade QX e QY segundo uma regra em que o homem tem capacidade de decisão sobre a quantidade de QA e QB que é usada na produção de cada bem:
QX = f(QA.X,QB.X)
QY = f(QA.Y,QB.Y)
Verificando-se a restrição
QA.X+QA.Y = QA
QB.X+QB.Y = QB
Haverá sempre recursos escassos, mais não seja as mãos suaves de uma massagista, pelo que haverá sempre preços e decisões económicas sobre as quantidades produzidas/consumidas e os preços.
Claro que, na praia, ninguém pensa comprar nem vender água do mar.
Obrigado,
pc

Rodolfo disse...

Também acho que o futuro não será muito desenvolvido se tiver apenas 1000 pessoas. É o mesmo que ter 1000 neurónios e pensar-se que se conseguirá ser muito inteligente. O que interessa é o número de neurónios e as ligações entre eles.. e na economia não é diferente, interessa é o número de pessoas e as ligações entre elas. Se vamos ser muito desenvolvidos, penso que vai ter de ser com muitas mais pessoas :)

Unknown disse...

Depois deste post perdeu-me como leitor.
Fico com a impressão de que não estudou o assunto devidamente e que, partindo da opinião que já tinha formada sobre a IA, tentou arranjar argumentos que podia para a justificar.
Isto parece-me muito pouco científico. Para isso vou ali para o snack-bar.

Económico-Financeiro disse...

O Luís, peço-lhe que não faça isso.
Em ciência nunca há conclusões em absoluto, o conhecimento científico é o que pode ser posto em questão (e revisto, "falsifiado").
Por exemplo, relativamente à física de Newton que aprendemos na escola, Einstein provou que estava errada para grandes velocidades e grandes campos gravitacionais e Schrodinger provou que estava errada para pequenos corpos.

Leia, discorde, vá ao snack-bar, volte e pense que, sendo eu muito menos que Newton, também posso estar errado!

Silva disse...


"O comentador sr. Silva acima acha que o Feudalismo Mercantilista, ainda anterior a Adam Smith mas transportado aos tempos atuais, ser solução a considerar."

Caro Pedro Renner

Não consigo descortinar nenhum sentido nem lógica na questão.

oNaiPs disse...

Económico-Financeiro,

Para contestar a sua ideia de que o computador "pre-calcula" tudo, fique entao a saber que um "programa" chamado AlphaGo, feito pela google no ano passado salvo erro, venceu um jogador humano, e que todas as combinacoes possiveis para esse jogo e' um numero muito superior a todas as moleculas existentes no universo...

O AlphaGo "aprende" as jogadas observando milhares/milhoes de jogos.
https://en.wikipedia.org/wiki/AlphaGo

Basta fazer uma pesquisa por "neural networks" ou "deep learning" que rapidamente verifica que ja ha muitos anos se replica o funcionamento dos nossos neuronios para IA. A explicacao sobre como um processador funciona a baixo nivel e' completamente irrelevante tendo em conta que daria para implementar IA de 1000 maneiras possiveis (o CPU e' so uma delas).
Para a proxima de-se pelo menos ao trabalho pesquisa minima antes de assumir tanta barbaridade.

Enviar um comentário

Twitter Delicious Facebook Digg Stumbleupon Favorites More

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Best Hostgator Coupon Code