Se neurônios e sinapses podem ser implementados usando transistores, o que nos impede de criar redes neurais arbitrariamente grandes usando os mesmos métodos com os quais as GPUs são feitas?
Em essência, vimos como as redes neurais virtuais extraordinariamente bem implementadas nos processadores sequenciais funcionam (até as GPUs são máquinas sequenciais, mas com grandes quantidades de núcleos).
Pode-se imaginar que usando os princípios de design da GPU - que consiste basicamente em milhares de unidades de processamento programáveis que funcionam em paralelo - poderíamos criar "unidades de processamento de neurônios" muito mais simples e colocar milhões ou bilhões dessas NPUs em um único chip grande. Eles teriam sua própria memória (para armazenar pesos) e seriam conectados a algumas centenas de outros neurônios compartilhando um ônibus. Eles poderiam ter uma frequência de, por exemplo, 20 Hz, o que lhes permitiria compartilhar um barramento de dados com muitos outros neurônios.
Obviamente, existem alguns desafios de engenharia elétrica aqui, mas parece-me que todas as grandes empresas de tecnologia devem estar explorando essa rota agora.
Muitos pesquisadores de IA dizem que a superinteligência está chegando por volta de 2045. Acredito que o raciocínio deles é baseado na lei de Moore e no número de neurônios que somos capazes de implementar em software rodando nos computadores mais rápidos que temos.
Mas o fato é que hoje estamos fabricando chips de silício com bilhões de transistores neles. O SPARK M7 possui 10 bilhões de transistores.
Se implementar um neurônio (não programável) e algumas centenas de sinapses requer, por exemplo, 100.000 transistores, então podemos criar uma rede neural em hardware que emula 100.000 neurônios.
Se projetarmos um chip para que possamos simplesmente torná-lo fisicamente maior se quisermos mais neurônios, parece-me que redes neurais arbitrariamente grandes são simplesmente uma questão de orçamento.
Somos tecnicamente capazes de criar, em hardware, redes neurais arbitrariamente grandes com a tecnologia atual?
Lembre-se: eu não estou perguntando se essa rede será de fato muito inteligente. Estou apenas perguntando se podemos de fato criar redes neurais arbitrariamente grandes e altamente interconectadas, se decidirmos pagar à Intel para fazer isso?
A implicação é que, no dia em que algum cientista for capaz de criar inteligência geral em software, podemos usar nossos recursos de hardware para aumentar essa inteligência geral para níveis humanos e além.
fonte
Respostas:
A abordagem que você descreve é chamada de computação neuromórfica e é um campo bastante movimentado .
O TrueNorth da IBM tem até neurônios de pico.
O principal problema com esses projetos é que ninguém sabe o que fazer com eles ainda.
Esses projetos não tentam criar chips otimizados para executar uma rede neural. Isso certamente seria possível, mas a parte mais cara é o treinamento e não o funcionamento de redes neurais. E para o treinamento, você precisa de enormes multiplicações de matrizes, algo em que as GPUs já são muito boas. ( O TPU do Google seria um chip otimizado para executar NNs.)
Para fazer pesquisas sobre algoritmos que podem ser implementados no cérebro (quase não sabemos nada sobre isso), você precisa de flexibilidade, algo que esses chips não possuem. Além disso, o desafio da engenharia provavelmente está no fornecimento de muitas sinapses, basta comparar o número médio de sinapses por neurônio de TrueNorth, 256, e o cérebro, 10.000.
Portanto, você pode criar um chip projetado após alguma arquitetura neural e seria mais rápido, mais eficiente, etc…, mas para fazer isso, você precisará saber qual arquitetura funciona primeiro. Sabemos que o aprendizado profundo funciona; portanto, o Google usa hardware personalizado para executar seus aplicativos e eu certamente poderia imaginar um hardware de aprendizado personalizado chegando a um smartphone perto de você no futuro. Para criar um chip neuromórfico para IA forte, você precisa desenvolver uma IA forte primeiro.
fonte
Espero que você não esteja falando das redes neurais que estão vencendo todas as competições em aprendizado de máquina (MLPs, CNNs, RNNs, Deep Residual Networks, ...). Eles já foram usados como modelo para os neurônios, mas estão muito vagamente relacionados ao que acontece nas células cerebrais reais.
Redes de cravação devem estar muito mais próximas de neurônios reais. Ouvi dizer que o modelo Hodgkin-Huxley é bastante realista. No entanto - em contraste com os modelos que eu citei acima - parece não haver um algoritmo de treinamento eficaz para pular redes.
Não é tão simples assim:
f(x) = sin(x*x + 1)
. Para um ser humano, existem basicamente três cálculos:r1 = x*x
,r2 = r1 + 1
,r3 = sin(r2)
. Mesmo se você tiver três pessoas trabalhando no cálculo do resultado, você não será mais rápido do que a pessoa mais rápida nesse grupo. Por quê? Porque você precisa dos resultados da última computação.fonte
Embora um único transistor possa se aproximar da função básica de um único neurônio, não posso concordar que qualquer elemento eletrônico possa simular as sinapses / axônios. Os transistores são gravados em uma superfície plana e podem ser interconectados apenas a adjacentes ou próximos por transistores. Os axônios no cérebro percorrem grandes distâncias (em comparação com o tamanho do próprio neurônio) e não se restringem a uma superfície bidimensional. Mesmo se pudéssemos aproximar o número de transistores em um processador ao número de neurônios no cérebro, não estamos nem perto do número de conexões. Também se pode argumentar que os sinais analógicos no cérebro transmitem mais informações por unidade de tempo, em comparação com os impulsos binários de um chip. Além disso, o cérebro realmente tem plasticidade, ou seja, as conexões entre os neurônios podem ser enfraquecidas / descartadas ou endireitadas / criadas,
fonte
Você pode considerar esta lista :
fonte