
Todos nos lembramos dos exercícios de atormentação da escola em aritmética. Levará pelo menos um minuto para multiplicar números como 3.752 e 6.901 com lápis e papel. É claro que hoje, quando temos telefones em mãos, podemos verificar rapidamente se o resultado de nosso exercício deve ser 25.892.552. Os processadores de telefones modernos podem executar mais de 100 bilhões de operações por segundo. Além disso, esses chips consomem apenas alguns watts, o que os torna muito mais eficientes do que nossos cérebros lentos, consumindo 20 watts e exigindo muito mais tempo para alcançar o mesmo resultado.
Obviamente, o cérebro não evoluiu para fazer aritmética. Portanto, ele faz mal. Mas ele lida com o processamento de um fluxo constante de informações vindas do nosso ambiente. E ele reage a isso - às vezes mais rápido do que podemos perceber. Não importa quanta energia um computador comum consome - será difícil lidar com o que é facilmente dado ao cérebro - por exemplo, entender o idioma ou subir as escadas.
Se eles pudessem criar máquinas cujas habilidades computacionais e eficiência energética seriam comparáveis ao cérebro, tudo mudaria drasticamente. Os robôs se moviam habilmente no mundo físico e se comunicavam conosco em uma linguagem natural. Os sistemas em grande escala coletariam enormes quantidades de informações sobre negócios, ciência, medicina ou governo, descobrindo novos padrões, encontrando relações causais e fazendo previsões. Aplicativos móveis inteligentes como Siri e Cortana podem confiar menos em nuvens. Essa tecnologia poderia permitir a criação de dispositivos com baixo consumo de energia, complementando nossos sentidos, fornecendo medicamentos e emulando sinais nervosos, compensando danos ou paralisia de órgãos.
Mas não é cedo para definir metas tão ousadas? Nosso entendimento do cérebro é muito limitado para que possamos criar tecnologias baseadas em seus princípios? Acredito que a emulação das características mais simples dos circuitos nervosos possa melhorar drasticamente o desempenho de muitas aplicações comerciais. A precisão dos computadores para copiar os detalhes biológicos da estrutura do cérebro para se aproximar do seu nível de velocidade é uma questão em aberto. Mas os sistemas atuais, inspirados na estrutura do cérebro, ou neuromórficos, se tornarão ferramentas importantes para encontrar uma resposta para ele.
Um recurso importante dos computadores convencionais é a separação física da memória que armazena dados e instruções e a lógica que processa essas informações. Não existe essa divisão no cérebro. As computações e o armazenamento de dados ocorrem simultaneamente e localmente, em uma extensa rede composta por aproximadamente 100 bilhões de células nervosas (neurônios) e mais de 100 trilhões de conexões (sinapses). Na maioria das vezes, o cérebro é determinado por essas conexões e como cada um dos neurônios responde ao sinal de entrada dos outros neurônios.
Falando sobre as extraordinárias possibilidades do cérebro humano, geralmente queremos dizer a aquisição recente de um longo processo evolutivo - o
neocórtex (novo córtex). Essa camada fina e extremamente dobrada forma a camada externa do cérebro e executa tarefas muito diferentes, incluindo o processamento de informações recebidas dos sentidos, o controle das habilidades motoras, o trabalho com a memória e o aprendizado. Uma gama tão ampla de possibilidades está disponível em uma estrutura bastante homogênea: seis camadas horizontais e um milhão de colunas verticais de 500 μm de largura, consistindo de neurônios que integram e distribuem informações codificadas em pulsos elétricos ao longo das antenas que crescem a partir delas - dendritos e axônios.
Como todas as células do corpo humano, o neurônio tem um potencial elétrico da ordem de 70 mV entre a superfície externa e o interior. Essa tensão da membrana muda quando um neurônio recebe um sinal de outros neurônios associados a ele. Se a tensão da membrana aumentar para um valor crítico, ela forma um pulso, ou um aumento de tensão que dura vários milissegundos, da ordem de 40 mV. Esse impulso se propaga ao longo do axônio de um neurônio até atingir a sinapse, uma estrutura bioquímica complexa que conecta o axônio de um neurônio ao dendrito de outro. Se o impulso satisfaz certas restrições, a sinapse o converte em outro impulso, descendo os dendritos ramificados do neurônio que recebe o sinal e altera a tensão da membrana na direção positiva ou negativa.
A conectividade é uma característica crítica do cérebro.
O neurônio piramidal , um tipo especialmente importante de célula de neocórtex humano, contém cerca de 30.000 sinapses, ou seja, 30.000 canais de entrada de outros neurônios. E o cérebro está constantemente se adaptando. O neurônio e as propriedades da sinapse - e até a estrutura da própria rede - mudam constantemente, principalmente sob a influência dos dados de entrada dos sentidos e do feedback ambiental.
Os computadores modernos de uso geral são digitais, não analógicos; A classificação do cérebro não é tão simples. Os neurônios acumulam uma carga elétrica, como capacitores em circuitos eletrônicos. Este é claramente um processo analógico. Mas o cérebro usa explosões como unidades de informação, e isso é basicamente um esquema binário: a qualquer hora, em qualquer lugar, há uma explosão ou não. Em termos de eletrônica, o cérebro é um sistema com sinais mistos, com computação analógica local e transmissão de informações usando rajadas binárias. Como o burst tem apenas 0 ou 1 valores, ele pode percorrer uma longa distância sem perder essas informações básicas. Também se reproduz, atingindo o próximo neurônio na rede.
Outra diferença importante entre o cérebro e o computador é que o cérebro lida com o processamento de informações sem que um relógio central sincronize sua operação. Embora observemos eventos sincronizados - ondas cerebrais - eles se organizam, surgindo como resultado do trabalho das redes neurais. Curiosamente, os sistemas modernos de computadores estão começando a adotar a assincronia inerente ao cérebro, a fim de acelerar os cálculos, realizando-os em paralelo. Mas o grau e o objetivo de paralelizar esses dois sistemas é extremamente diferente.
A idéia de usar o cérebro como modelo para a computação tem raízes profundas. As primeiras tentativas foram baseadas em um
neurônio de limite simples que gera um valor se a soma dos dados de entrada ponderada exceder o limite e o outro se não o fizer. O realismo biológico dessa abordagem, concebido por Warren McCullough e
Walter Pitts na década de 1940, é muito limitado. No entanto, este foi o primeiro passo para aplicar o conceito de um neurônio desencadeante como um elemento de computação.
Em 1957,
Frank Rosenblatt propôs outra versão de um neurônio limiar, o
perceptron . Uma rede de nós interconectados (neurônios artificiais) é composta de camadas. Camadas visíveis na superfície da rede interagem com o mundo externo como entradas e saídas, e as camadas ocultas realizam todos os cálculos.
Rosenblatt também sugeriu o uso de uma característica principal do cérebro: contenção. Em vez de empilhar todas as entradas, os neurônios no perceptron podem dar uma contribuição negativa. Esse recurso permite que redes neurais usem uma única camada oculta para resolver problemas de XOR na lógica, na qual a saída é verdadeira se apenas uma das duas entradas binárias for verdadeira. Este exemplo simples mostra que a adição de realismo biológico pode adicionar novos recursos computacionais. Mas que funções do cérebro são necessárias para o seu trabalho e quais são vestígios inúteis da evolução? Ninguem sabe.
Sabemos que resultados computacionais impressionantes podem ser alcançados sem tentar criar realismo biológico. Os pesquisadores de aprendizagem profunda percorreram um longo caminho no uso de computadores para analisar grandes quantidades de dados e extrair certos atributos de imagens complexas. Embora as redes neurais que eles criaram tenham mais entradas e camadas ocultas do que nunca, elas ainda são baseadas em modelos de neurônios extremamente simples. Suas amplas possibilidades refletem não o realismo biológico, mas a escala das redes contidas nelas e o poder dos computadores usados em seu treinamento. Porém, as redes de aprendizado profundo ainda estão muito longe das velocidades computacionais, eficiência energética e recursos biológicos de aprendizado cerebral.
A enorme lacuna entre o cérebro e os computadores modernos é mais enfatizada por simulações cerebrais em larga escala. Nos últimos anos, várias dessas tentativas foram feitas, mas todas foram severamente limitadas por dois fatores: energia e tempo de simulação. Por exemplo, considere uma
simulação realizada por Markus Daisman e seus colegas há vários anos usando 83.000 processadores em um supercomputador K no Japão. A simulação de 1,73 bilhão de neurônios consumiu 10 bilhões de vezes mais energia que a área equivalente do cérebro, embora eles usassem modelos extremamente simplificados e não realizassem nenhum treinamento. E essas simulações geralmente funcionavam mais de 1000 vezes mais lentamente que o cérebro biológico em tempo real.
Por que eles são tão lentos? Simulações cerebrais em computadores convencionais exigem o cálculo de bilhões de equações diferenciais interconectadas e descrevem a dinâmica de células e redes: processos analógicos como mover uma carga através de uma membrana celular. Os computadores que usam a lógica booleana - alterando a energia para obter precisão - e compartilhando memória e computação, são extremamente ineficientes na modelagem do cérebro.
Essas simulações podem se tornar uma ferramenta para a cognição do cérebro, transferindo os dados obtidos em laboratório para simulações com as quais podemos experimentar e, em seguida, comparar os resultados com as observações. Mas se esperamos seguir uma direção diferente e usar as lições da neurobiologia para criar novos sistemas de computação, precisamos repensar como projetamos e criamos computadores.
Neurônios em silício.Copiar o trabalho do cérebro usando eletrônicos pode ser mais viável do que parece à primeira vista. Acontece que cerca de 10 fJ (10 a
15 joules) são gastos na criação de um potencial elétrico na sinapse. O portão de um transistor MOS (metal-óxido-semicondutor), que é muito maior e consome mais energia do que os usados na CPU, requer apenas 0,5 fJ para carregar. Acontece que a transmissão sináptica é equivalente a carregar 20 transistores. Além disso, no nível do dispositivo, os circuitos biológicos e eletrônicos não diferem muito. Em princípio, você pode criar estruturas como sinapses e neurônios a partir de transistores e conectá-los de maneira a obter um cérebro artificial que não absorva quantidades tão flagrantes de energia.
A ideia de criar computadores usando transistores que funcionam como neurônios surgiu nos anos 80 com o professor Carver Mead, da Caltech. Um dos principais argumentos de Mead a favor dos computadores "neuromórficos" foi que os dispositivos semicondutores podem, de um certo modo, seguir as mesmas leis físicas dos neurônios e que o comportamento analógico pode ser usado para cálculos com alta eficiência energética.
O grupo de Mead também inventou uma plataforma de comunicação neural na qual as explosões são codificadas apenas por seus endereços de rede e tempo de ocorrência. Este trabalho foi inovador, pois foi o primeiro a tornar o tempo um recurso necessário das redes neurais artificiais. O tempo é um fator chave para o cérebro. Os sinais precisam de tempo de propagação, as membranas precisam de tempo de reação e é o tempo que determina a forma dos potenciais pós-sinápticos.
Atualmente, vários grupos de pesquisa ativos, por exemplo, o grupo
Giacomo Indiveri da Escola Técnica Superior Suíça e
Kwabena Boagen de Stanford, seguiram os passos de Mead e introduziram com sucesso elementos de redes corticais biológicas. O truque é trabalhar com transistores usando uma corrente de baixa tensão que não atinja seu valor limite, criando circuitos analógicos que copiam o comportamento do sistema nervoso, consumindo um pouco de energia.
Pesquisas adicionais nessa direção podem encontrar aplicação em sistemas como a interface cérebro-computador. Mas há uma enorme lacuna entre esses sistemas e o tamanho real da rede, conectividade e capacidade de aprendizado do cérebro animal.
Portanto, na região de 2005, três grupos de pesquisadores começaram a desenvolver sistemas neuromórficos que eram significativamente diferentes da abordagem original de Mead. Eles queriam criar sistemas em larga escala com milhões de neurônios.
O computador mais próximo dos computadores comuns é o projeto
SpiNNaker , liderado por Steve Ferber, da Universidade de Manchester. Este grupo desenvolveu seu próprio chip digital, composto por 18 processadores ARM operando a 200 MHz - cerca de um décimo da velocidade das CPUs modernas. Embora os núcleos do ARM venham do mundo dos computadores clássicos, eles simulam rajadas enviadas por roteadores especiais projetados para transmitir informações de forma assíncrona - exatamente como o cérebro. A implementação atual, que faz parte do Projeto Cérebro Humano da União Europeia, e concluída em 2016, contém 500.000 núcleos ARM. Dependendo da complexidade do modelo de neurônios, cada núcleo é capaz de simular até 1000 neurônios.
O chip
TrueNorth , desenvolvido por
Darmendra Maud e seus colegas no IBM Research Laboratory em Almaden, se recusa a usar microprocessadores como unidades computacionais e é na verdade um sistema neuromórfico no qual computação e memória estão interligadas. O TrueNorth ainda permanece um sistema digital, mas é baseado em neurocontours especialmente projetados que implementam um modelo de neurônio específico. O chip contém 5,4 bilhões de transistores, é construído com a tecnologia Samsung
CMOS de 28 nm (estrutura complementar de óxido de metal-semicondutor). Os transistores emulam 1 milhão de circuitos neurais e 256 milhões de sinapses simples (bit único) em um único chip.
Eu diria que o próximo projeto,
BrainScaleS , foi muito longe dos computadores convencionais e chegou perto do cérebro biológico. Nós trabalhamos neste projeto com meus colegas da Universidade de Heidelberg para a iniciativa européia "O Cérebro Humano". BrainScaleS implementa processamento de sinal misto. Combina neurônios e sinapses, nas quais os transistores de silício atuam como dispositivos analógicos com a troca de informações digitais. O sistema de tamanho completo consiste em substratos de silicone de 8 polegadas e permite emular 4 milhões de neurônios e 1 bilhão de sinapses.
O sistema pode reproduzir nove modos diferentes de resposta dos neurônios biológicos e é desenvolvido em estreita colaboração com os neurocientistas. Diferentemente da abordagem analógica de Mead, o BrainScaleS funciona no modo acelerado, sua emulação é 10.000 vezes mais rápida que o tempo real. Isso é especialmente conveniente para estudar o processo de aprendizagem e desenvolvimento.
É provável que o aprendizado se torne um componente crítico dos sistemas neuromórficos. Agora, os chips feitos na imagem do cérebro, bem como as redes neurais rodando em computadores comuns, são treinados ao lado com a ajuda de computadores mais poderosos. Mas se queremos usar sistemas neuromórficos em aplicações reais - por exemplo, em robôs que terão que trabalhar lado a lado conosco, eles precisarão aprender e se adaptar rapidamente.
Na segunda geração do nosso sistema BrainScaleS, implementamos a oportunidade de treinamento criando "processadores de flexibilidade" no chip. Eles são usados para alterar uma ampla gama de parâmetros de neurônios e sinapses. Esse recurso nos permite ajustar os parâmetros para compensar diferenças de tamanho e propriedades elétricas ao passar de um dispositivo para outro - aproximadamente como o próprio cérebro se ajusta às mudanças.
Os três sistemas de larga escala que descrevi se complementam. O SpiNNaker pode ser configurado de forma flexível e usado para testar diferentes neuromodelos; o TrueNorth possui uma alta densidade de integração; o BrainScaleS foi projetado para treinamento e desenvolvimento contínuos. A busca pela maneira correta de avaliar a eficácia de tais sistemas ainda está em andamento. Mas os primeiros resultados são promissores. A equipe TrueNorth da IBM calculou recentemente que a transmissão sináptica em seu sistema leva 26 pJ. E, embora seja 1000 vezes mais energia necessária em um sistema biológico, é quase 100 000 vezes menos energia usada para transmissão em simulações em computadores de uso geral.
Ainda estamos em um estágio inicial de compreensão do que esses sistemas podem fazer e como aplicá-los à solução de problemas reais. Ao mesmo tempo, precisamos encontrar maneiras de combinar muitos chips neuromórficos em grandes redes com recursos aprimorados de aprendizado e, ao mesmo tempo, reduzir o consumo de energia. Um dos problemas é a conectividade: o cérebro é tridimensional e nossos circuitos são bidimensionais. A questão da integração tridimensional de circuitos agora está sendo estudada ativamente, e essas tecnologias podem nos ajudar.
Os dispositivos que não são baseados em CMOS -
memristors ou PCRAM (
memória com alteração de estado de fase ) podem se tornar outra ajuda.
Hoje, os pesos que determinam a resposta das sinapses artificiais aos sinais recebidos são armazenados na memória digital comum, que ocupa a maior parte dos recursos de silício necessários para construir uma rede. Mas outros tipos de memória podem nos ajudar a reduzir o tamanho dessas células de micrômetro para nanômetro. E a principal dificuldade dos sistemas modernos será apoiar as diferenças entre diferentes dispositivos. Os princípios de calibração desenvolvidos pela BrainScaleS podem ajudar.Acabamos de iniciar nossa jornada no caminho para sistemas neuromórficos práticos e úteis. Mas o esforço vale a pena. Se for bem-sucedido, não apenas criaremos poderosos sistemas de computação; podemos até obter novas informações sobre o trabalho de nosso próprio cérebro.